summaryrefslogtreecommitdiff
path: root/openstackclient/volume
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/volume')
-rw-r--r--openstackclient/volume/v1/volume_transfer_request.py49
-rw-r--r--openstackclient/volume/v2/volume_transfer_request.py49
2 files changed, 98 insertions, 0 deletions
diff --git a/openstackclient/volume/v1/volume_transfer_request.py b/openstackclient/volume/v1/volume_transfer_request.py
index a985f8e5..4d6f2161 100644
--- a/openstackclient/volume/v1/volume_transfer_request.py
+++ b/openstackclient/volume/v1/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)))
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)))