mirror of https://github.com/docker/cli.git
41 lines
1.7 KiB
Go
41 lines
1.7 KiB
Go
package volumespec
|
|
|
|
// VolumeConfig are references to a volume used by a service
|
|
type VolumeConfig struct {
|
|
Type string `yaml:",omitempty" json:"type,omitempty"`
|
|
Source string `yaml:",omitempty" json:"source,omitempty"`
|
|
Target string `yaml:",omitempty" json:"target,omitempty"`
|
|
ReadOnly bool `mapstructure:"read_only" yaml:"read_only,omitempty" json:"read_only,omitempty"`
|
|
Consistency string `yaml:",omitempty" json:"consistency,omitempty"`
|
|
Bind *BindOpts `yaml:",omitempty" json:"bind,omitempty"`
|
|
Volume *VolumeOpts `yaml:",omitempty" json:"volume,omitempty"`
|
|
Image *ImageOpts `yaml:",omitempty" json:"image,omitempty"`
|
|
Tmpfs *TmpFsOpts `yaml:",omitempty" json:"tmpfs,omitempty"`
|
|
Cluster *ClusterOpts `yaml:",omitempty" json:"cluster,omitempty"`
|
|
}
|
|
|
|
// BindOpts are options for a service volume of type bind
|
|
type BindOpts struct {
|
|
Propagation string `yaml:",omitempty" json:"propagation,omitempty"`
|
|
}
|
|
|
|
// VolumeOpts are options for a service volume of type volume
|
|
type VolumeOpts struct {
|
|
NoCopy bool `mapstructure:"nocopy" yaml:"nocopy,omitempty" json:"nocopy,omitempty"`
|
|
Subpath string `mapstructure:"subpath" yaml:"subpath,omitempty" json:"subpath,omitempty"`
|
|
}
|
|
|
|
// ImageOpts are options for a service volume of type image
|
|
type ImageOpts struct {
|
|
Subpath string `mapstructure:"subpath" yaml:"subpath,omitempty" json:"subpath,omitempty"`
|
|
}
|
|
|
|
// TmpFsOpts are options for a service volume of type tmpfs
|
|
type TmpFsOpts struct {
|
|
Size int64 `yaml:",omitempty" json:"size,omitempty"`
|
|
}
|
|
|
|
// ClusterOpts are options for a service volume of type cluster.
|
|
// Deliberately left blank for future options, but unused now.
|
|
type ClusterOpts struct{}
|