package builders import ( "github.com/docker/docker/api/types" ) // Volume creates a volume with default values. // Any number of volume function builder can be pass to augment it. func Volume(builders ...func(volume *types.Volume)) *types.Volume { volume := &types.Volume{ Name: "volume", Driver: "local", Mountpoint: "/data/volume", Scope: "local", } for _, builder := range builders { builder(volume) } return volume } // VolumeLabels sets the volume labels func VolumeLabels(labels map[string]string) func(volume *types.Volume) { return func(volume *types.Volume) { volume.Labels = labels } } // VolumeName sets the volume labels func VolumeName(name string) func(volume *types.Volume) { return func(volume *types.Volume) { volume.Name = name } } // VolumeDriver sets the volume driver func VolumeDriver(name string) func(volume *types.Volume) { return func(volume *types.Volume) { volume.Driver = name } }