From 65ba808f413388aece0b4a1dd6d69da8397aa23a Mon Sep 17 00:00:00 2001 From: Abbas Yazdanpanah Date: Mon, 17 Jul 2023 00:44:25 +0200 Subject: [PATCH] CLI: make snapshot name requiered in creating volume snapshots - Make snapshot name argument requiered - Update documentation and helps --- command/volume_snapshot_create.go | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/command/volume_snapshot_create.go b/command/volume_snapshot_create.go index 7e912f348ac0..f37eb3eef6ca 100644 --- a/command/volume_snapshot_create.go +++ b/command/volume_snapshot_create.go @@ -19,17 +19,16 @@ type VolumeSnapshotCreateCommand struct { func (c *VolumeSnapshotCreateCommand) Help() string { helpText := ` -Usage: nomad volume snapshot create [snapshot_name] +Usage: nomad volume snapshot create snapshot_name Create a snapshot of an external storage volume. This command requires a - volume ID or prefix. If there is an exact match based on the provided volume - ID or prefix, then the specific volume is snapshotted. Otherwise, a list of - matching volumes and information will be displayed. The volume must still be - registered with Nomad in order to be snapshotted. + volume ID or prefix and snapthost name. If there is an exact match based on + the provided volume ID or prefix, then the specific volume is snapshotted. + Otherwise, a list of matching volumes and information will be displayed. The + volume must still be registered with Nomad in order to be snapshotted. - If an optional snapshot name is provided, the argument will be passed to the - CSI plugin to be used as the ID of the resulting snapshot. Not all plugins - accept this name and it may be ignored. + Snapshot name will be passed to the CSI plugin to be used as the ID of the + resulting snapshot. When ACLs are enabled, this command requires a token with the 'csi-write-volume' capability for the volume's namespace. @@ -100,16 +99,13 @@ func (c *VolumeSnapshotCreateCommand) Run(args []string) int { // Check that we at least one argument args = flags.Args() - if l := len(args); l == 0 { - c.Ui.Error("This command takes at least one argument: [snapshot name]") + if l := len(args); l <= 1 { + c.Ui.Error("This command takes two argument: ") c.Ui.Error(commandErrorText(c)) return 1 } volID := args[0] - snapshotName := "" - if len(args) == 2 { - snapshotName = args[1] - } + snapshotName := args[1] // Get the HTTP client client, err := c.Meta.Client()