github.com/ali-iotechsys/cli@v20.10.0+incompatible/internal/test/builders/volume.go (about)

     1  package builders
     2  
     3  import (
     4  	"github.com/docker/docker/api/types"
     5  )
     6  
     7  // Volume creates a volume with default values.
     8  // Any number of volume function builder can be passed to augment it.
     9  func Volume(builders ...func(volume *types.Volume)) *types.Volume {
    10  	volume := &types.Volume{
    11  		Name:       "volume",
    12  		Driver:     "local",
    13  		Mountpoint: "/data/volume",
    14  		Scope:      "local",
    15  	}
    16  
    17  	for _, builder := range builders {
    18  		builder(volume)
    19  	}
    20  
    21  	return volume
    22  }
    23  
    24  // VolumeLabels sets the volume labels
    25  func VolumeLabels(labels map[string]string) func(volume *types.Volume) {
    26  	return func(volume *types.Volume) {
    27  		volume.Labels = labels
    28  	}
    29  }
    30  
    31  // VolumeName sets the volume labels
    32  func VolumeName(name string) func(volume *types.Volume) {
    33  	return func(volume *types.Volume) {
    34  		volume.Name = name
    35  	}
    36  }
    37  
    38  // VolumeDriver sets the volume driver
    39  func VolumeDriver(name string) func(volume *types.Volume) {
    40  	return func(volume *types.Volume) {
    41  		volume.Driver = name
    42  	}
    43  }