diff options
-rw-r--r-- | cinderclient/v1/shell.py | 9 | ||||
-rw-r--r-- | cinderclient/v1/volumes.py | 4 |
2 files changed, 12 insertions, 1 deletions
diff --git a/cinderclient/v1/shell.py b/cinderclient/v1/shell.py index 3b85c40..3dd8556 100644 --- a/cinderclient/v1/shell.py +++ b/cinderclient/v1/shell.py @@ -172,6 +172,14 @@ def do_show(cs, args): '--snapshot_id', help=argparse.SUPPRESS) @utils.arg( + '--source-volid', + metavar='<source-volid>', + default=None, + help='Create volume from volume id (Optional, Default=None)') +@utils.arg( + '--source_volid', + help=argparse.SUPPRESS) +@utils.arg( '--image-id', metavar='<image-id>', default=None, @@ -227,6 +235,7 @@ def do_create(cs, args): volume = cs.volumes.create(args.size, args.snapshot_id, + args.source_volid, args.display_name, args.display_description, args.volume_type, diff --git a/cinderclient/v1/volumes.py b/cinderclient/v1/volumes.py index fb98418..c9c4271 100644 --- a/cinderclient/v1/volumes.py +++ b/cinderclient/v1/volumes.py @@ -102,7 +102,7 @@ class VolumeManager(base.ManagerWithFind): """ resource_class = Volume - def create(self, size, snapshot_id=None, + def create(self, size, snapshot_id=None, source_volid=None, display_name=None, display_description=None, volume_type=None, user_id=None, project_id=None, availability_zone=None, @@ -121,6 +121,7 @@ class VolumeManager(base.ManagerWithFind): :param availability_zone: Availability Zone to use :param metadata: Optional metadata to set on volume creation :param imageRef: reference to an image stored in glance + :param source_volid: ID of source volume to clone from """ if metadata is None: @@ -140,6 +141,7 @@ class VolumeManager(base.ManagerWithFind): 'attach_status': "detached", 'metadata': volume_metadata, 'imageRef': imageRef, + 'source_volid': source_volid, }} return self._create('/volumes', body, 'volume') |