diff options
author | Brent Baude <bbaude@redhat.com> | 2020-03-20 12:37:37 -0500 |
---|---|---|
committer | Brent Baude <bbaude@redhat.com> | 2020-03-20 18:27:08 -0500 |
commit | c3a9ff11743c1ee25515ced348ec635fb7703aa0 (patch) | |
tree | 380dedfa9ffb337ebe197b15c218b3a1bfc627b6 /pkg/domain/infra/abi/volumes.go | |
parent | 7a095af92a6a39845b1c362222b23632f3e17001 (diff) | |
download | podman-c3a9ff11743c1ee25515ced348ec635fb7703aa0.tar.gz podman-c3a9ff11743c1ee25515ced348ec635fb7703aa0.tar.bz2 podman-c3a9ff11743c1ee25515ced348ec635fb7703aa0.zip |
podmanv2 volume create
add volume create
Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'pkg/domain/infra/abi/volumes.go')
-rw-r--r-- | pkg/domain/infra/abi/volumes.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/pkg/domain/infra/abi/volumes.go b/pkg/domain/infra/abi/volumes.go new file mode 100644 index 000000000..0783af441 --- /dev/null +++ b/pkg/domain/infra/abi/volumes.go @@ -0,0 +1,38 @@ +// +build ABISupport + +package abi + +import ( + "context" + + "github.com/containers/libpod/libpod" + "github.com/containers/libpod/pkg/domain/entities" + "github.com/containers/libpod/pkg/domain/infra/abi/parse" +) + +func (ic *ContainerEngine) VolumeCreate(ctx context.Context, opts entities.VolumeCreateOptions) (*entities.IdOrNameResponse, error) { + var ( + volumeOptions []libpod.VolumeCreateOption + ) + if len(opts.Name) > 0 { + volumeOptions = append(volumeOptions, libpod.WithVolumeName(opts.Name)) + } + if len(opts.Driver) > 0 { + volumeOptions = append(volumeOptions, libpod.WithVolumeDriver(opts.Driver)) + } + if len(opts.Label) > 0 { + volumeOptions = append(volumeOptions, libpod.WithVolumeLabels(opts.Label)) + } + if len(opts.Options) > 0 { + parsedOptions, err := parse.ParseVolumeOptions(opts.Options) + if err != nil { + return nil, err + } + volumeOptions = append(volumeOptions, parsedOptions...) + } + vol, err := ic.Libpod.NewVolume(ctx, volumeOptions...) + if err != nil { + return nil, err + } + return &entities.IdOrNameResponse{IdOrName: vol.Name()}, nil +} |