diff options
Diffstat (limited to 'cinderclient/v2/shell.py')
| -rw-r--r-- | cinderclient/v2/shell.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/cinderclient/v2/shell.py b/cinderclient/v2/shell.py index 1e0ddb3..95db39d 100644 --- a/cinderclient/v2/shell.py +++ b/cinderclient/v2/shell.py @@ -64,3 +64,46 @@ def _treeizeAvailabilityZone(zone): return result +# TODO(e0ne): remove copy-paste of this function in a next cinderclient release +def _print_volume_image(image): + utils.print_dict(image[1]['os-volume_upload_image']) + + +@utils.arg('volume', + metavar='<volume>', + help='Name or ID of volume to snapshot.') +@utils.arg('--force', + metavar='<True|False>', + const=True, + nargs='?', + default=False, + help='Enables or disables upload of ' + 'a volume that is attached to an instance. ' + 'Default=False.') +@utils.arg('--container-format', + metavar='<container-format>', + default='bare', + help='Container format type. ' + 'Default is bare.') +@utils.arg('--container_format', + help=argparse.SUPPRESS) +@utils.arg('--disk-format', + metavar='<disk-format>', + default='raw', + help='Disk format type. ' + 'Default is raw.') +@utils.arg('--disk_format', + help=argparse.SUPPRESS) +@utils.arg('image_name', + metavar='<image-name>', + help='The new image name.') +@utils.arg('--image_name', + help=argparse.SUPPRESS) +@utils.service_type('volumev2') +def do_upload_to_image(cs, args): + """Uploads volume to Image Service as an image.""" + volume = utils.find_volume(cs, args.volume) + _print_volume_image(volume.upload_to_image(args.force, + args.image_name, + args.container_format, + args.disk_format)) |
