summaryrefslogtreecommitdiff
path: root/openstackclient/volume/v1
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-06-20 15:19:56 +0000
committerGerrit Code Review <review@openstack.org>2022-06-20 15:19:56 +0000
commitec95b58482ae0853998c06dfd335db2456997644 (patch)
tree519c5006dc0f26df73bc51fac9ba7de05136a480 /openstackclient/volume/v1
parent15608a26963f03bbb5b0427a0b81761dccd190e7 (diff)
parentde4a69a29ff4657d0c3cd95ca9f35ff24f653b5f (diff)
downloadpython-openstackclient-ec95b58482ae0853998c06dfd335db2456997644.tar.gz
Merge "Refactor "volume backup restore" command"
Diffstat (limited to 'openstackclient/volume/v1')
-rw-r--r--openstackclient/volume/v1/volume_backup.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/openstackclient/volume/v1/volume_backup.py b/openstackclient/volume/v1/volume_backup.py
index 1a83a3c0..790cb463 100644
--- a/openstackclient/volume/v1/volume_backup.py
+++ b/openstackclient/volume/v1/volume_backup.py
@@ -231,18 +231,23 @@ class RestoreVolumeBackup(command.Command):
parser.add_argument(
'volume',
metavar='<volume>',
- help=_('Volume to restore to (name or ID)')
+ nargs='?',
+ help=_('Volume to restore to (name or ID) (default to None)')
)
return parser
def take_action(self, parsed_args):
volume_client = self.app.client_manager.volume
- backup = utils.find_resource(volume_client.backups,
- parsed_args.backup)
- destination_volume = utils.find_resource(volume_client.volumes,
- parsed_args.volume)
- return volume_client.restores.restore(backup.id,
- destination_volume.id)
+ backup = utils.find_resource(
+ volume_client.backups, parsed_args.backup,
+ )
+ volume_id = None
+ if parsed_args.volume is not None:
+ volume_id = utils.find_resource(
+ volume_client.volumes,
+ parsed_args.volume,
+ ).id
+ return volume_client.restores.restore(backup.id, volume_id)
class ShowVolumeBackup(command.ShowOne):