summaryrefslogtreecommitdiff
path: root/openstackclient/volume/v2
diff options
context:
space:
mode:
authorHuanxuan Ao <huanxuan.ao@easystack.cn>2016-06-30 15:06:58 +0800
committerHuanxuan Ao <huanxuan.ao@easystack.cn>2016-07-01 10:06:10 +0800
commit6364df4cbd33a20ea1c729e0031b1aebd3fcd6df (patch)
treef9158e1326dd8823bcf056975a90a9abb69695cf /openstackclient/volume/v2
parent4b61efe3f9f6158c6062ff3c56bb5116b7f08d87 (diff)
downloadpython-openstackclient-6364df4cbd33a20ea1c729e0031b1aebd3fcd6df.tar.gz
Add "--snapshot" option to "backup create" command in volumev2
Add "--snapshot" option to "backup create" command to support backing up a snapshot. Change-Id: Ibecbf1902599875f422d372d529835f73211d3ec Closes-Bug: #1597184
Diffstat (limited to 'openstackclient/volume/v2')
-rw-r--r--openstackclient/volume/v2/backup.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/openstackclient/volume/v2/backup.py b/openstackclient/volume/v2/backup.py
index 519913a9..a8da4080 100644
--- a/openstackclient/volume/v2/backup.py
+++ b/openstackclient/volume/v2/backup.py
@@ -49,6 +49,11 @@ class CreateBackup(command.ShowOne):
help=_("Optional backup container name")
)
parser.add_argument(
+ "--snapshot",
+ metavar="<snapshot>",
+ help=_("Snapshot to backup (name or ID)")
+ )
+ parser.add_argument(
'--force',
action='store_true',
default=False,
@@ -60,12 +65,17 @@ class CreateBackup(command.ShowOne):
volume_client = self.app.client_manager.volume
volume_id = utils.find_resource(
volume_client.volumes, parsed_args.volume).id
+ snapshot_id = None
+ if parsed_args.snapshot:
+ snapshot_id = utils.find_resource(
+ volume_client.volume_snapshots, parsed_args.snapshot).id
backup = volume_client.backups.create(
volume_id,
container=parsed_args.container,
name=parsed_args.name,
description=parsed_args.description,
force=parsed_args.force,
+ snapshot_id=snapshot_id,
)
backup._info.pop("links", None)
return zip(*sorted(six.iteritems(backup._info)))