summaryrefslogtreecommitdiff
path: root/cmd/podman/volume_create.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/podman/volume_create.go')
-rw-r--r--cmd/podman/volume_create.go37
1 files changed, 7 insertions, 30 deletions
diff --git a/cmd/podman/volume_create.go b/cmd/podman/volume_create.go
index e0ff4c341..fe5d69e0b 100644
--- a/cmd/podman/volume_create.go
+++ b/cmd/podman/volume_create.go
@@ -4,8 +4,7 @@ import (
"fmt"
"github.com/containers/libpod/cmd/podman/cliconfig"
- "github.com/containers/libpod/cmd/podman/libpodruntime"
- "github.com/containers/libpod/libpod"
+ "github.com/containers/libpod/libpod/adapter"
"github.com/pkg/errors"
"github.com/spf13/cobra"
)
@@ -33,6 +32,7 @@ be created at.`
func init() {
volumeCreateCommand.Command = _volumeCreateCommand
+ volumeCreateCommand.SetUsageTemplate(UsageTemplate())
flags := volumeCreateCommand.Flags()
flags.StringVar(&volumeCreateCommand.Driver, "driver", "", "Specify volume driver name (default local)")
flags.StringSliceVarP(&volumeCreateCommand.Label, "label", "l", []string{}, "Set metadata for a volume (default [])")
@@ -41,13 +41,7 @@ func init() {
}
func volumeCreateCmd(c *cliconfig.VolumeCreateValues) error {
- var (
- options []libpod.VolumeCreateOption
- err error
- volName string
- )
-
- runtime, err := libpodruntime.GetRuntime(&c.PodmanCommand)
+ runtime, err := adapter.GetRuntime(&c.PodmanCommand)
if err != nil {
return errors.Wrapf(err, "error creating libpod runtime")
}
@@ -57,36 +51,19 @@ func volumeCreateCmd(c *cliconfig.VolumeCreateValues) error {
return errors.Errorf("too many arguments, create takes at most 1 argument")
}
- if len(c.InputArgs) > 0 {
- volName = c.InputArgs[0]
- options = append(options, libpod.WithVolumeName(volName))
- }
-
- if c.Flag("driver").Changed {
- options = append(options, libpod.WithVolumeDriver(c.String("driver")))
- }
-
labels, err := getAllLabels([]string{}, c.Label)
if err != nil {
return errors.Wrapf(err, "unable to process labels")
}
- if len(labels) != 0 {
- options = append(options, libpod.WithVolumeLabels(labels))
- }
opts, err := getAllLabels([]string{}, c.Opt)
if err != nil {
return errors.Wrapf(err, "unable to process options")
}
- if len(options) != 0 {
- options = append(options, libpod.WithVolumeOptions(opts))
- }
- vol, err := runtime.NewVolume(getContext(), options...)
- if err != nil {
- return err
+ volumeName, err := runtime.CreateVolume(getContext(), c, labels, opts)
+ if err == nil {
+ fmt.Println(volumeName)
}
- fmt.Printf("%s\n", vol.Name())
-
- return nil
+ return err
}