summaryrefslogtreecommitdiff
path: root/openstackclient/volume/v2
diff options
context:
space:
mode:
authorHuanxuan Ao <huanxuan.ao@easystack.cn>2016-08-29 19:55:28 +0800
committerHuanxuan Ao <huanxuan.ao@easystack.cn>2016-09-22 17:11:53 +0800
commit3ef7e29dd01a848ad08ce1b66deb9c5c3b1a4b1e (patch)
tree04e80b840329e9bda4a36b4e13b7afc9d085986c /openstackclient/volume/v2
parent69c4f605ecce597af3a574d2f7c27c1dbaa17989 (diff)
downloadpython-openstackclient-3ef7e29dd01a848ad08ce1b66deb9c5c3b1a4b1e.tar.gz
Implement "volume transfer request show/accept" command
Add "volume transfer request show" and "volume transfer accept" commands in volume v1 and v2. Also add the unit tests, docs, release note and functional tests Implements: bp cinder-command-support Co-Authored-By: Sheel Rana <ranasheel2000@gmail.com> Change-Id: I5787fc486b3401307125caa316f517b9c96a95a5
Diffstat (limited to 'openstackclient/volume/v2')
-rw-r--r--openstackclient/volume/v2/volume_transfer_request.py49
1 files changed, 49 insertions, 0 deletions
diff --git a/openstackclient/volume/v2/volume_transfer_request.py b/openstackclient/volume/v2/volume_transfer_request.py
index 8e79807c..9008fe3c 100644
--- a/openstackclient/volume/v2/volume_transfer_request.py
+++ b/openstackclient/volume/v2/volume_transfer_request.py
@@ -27,6 +27,34 @@ from openstackclient.i18n import _
LOG = logging.getLogger(__name__)
+class AcceptTransferRequest(command.ShowOne):
+ """Accept volume transfer request."""
+
+ def get_parser(self, prog_name):
+ parser = super(AcceptTransferRequest, self).get_parser(prog_name)
+ parser.add_argument(
+ 'transfer_request',
+ metavar="<transfer-request>",
+ help=_('Volume transfer request to accept (name or ID)'),
+ )
+ parser.add_argument(
+ 'auth_key',
+ metavar="<auth-key>",
+ help=_('Authentication key of transfer request'),
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ volume_client = self.app.client_manager.volume
+ transfer_request_id = utils.find_resource(
+ volume_client.transfers, parsed_args.transfer_request).id
+ transfer_accept = volume_client.transfers.accept(
+ transfer_request_id, parsed_args.auth_key)
+ transfer_accept._info.pop("links", None)
+
+ return zip(*sorted(six.iteritems(transfer_accept._info)))
+
+
class CreateTransferRequest(command.ShowOne):
"""Create volume transfer request."""
@@ -120,3 +148,24 @@ class ListTransferRequest(command.Lister):
return (column_headers, (
utils.get_item_properties(s, columns)
for s in volume_transfer_result))
+
+
+class ShowTransferRequest(command.ShowOne):
+ """Show volume transfer request details."""
+
+ def get_parser(self, prog_name):
+ parser = super(ShowTransferRequest, self).get_parser(prog_name)
+ parser.add_argument(
+ 'transfer_request',
+ metavar="<transfer-request>",
+ help=_('Volume transfer request to display (name or ID)'),
+ )
+ return parser
+
+ def take_action(self, parsed_args):
+ volume_client = self.app.client_manager.volume
+ volume_transfer_request = utils.find_resource(
+ volume_client.transfers, parsed_args.transfer_request)
+ volume_transfer_request._info.pop("links", None)
+
+ return zip(*sorted(six.iteritems(volume_transfer_request._info)))