summaryrefslogtreecommitdiff
path: root/openstackclient/compute/v2
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-11-02 19:41:24 +0000
committerGerrit Code Review <review@openstack.org>2018-11-02 19:41:24 +0000
commit1894a3cb17ce561a2109ced7e6969a49cf3a0064 (patch)
tree9aba1053e5df0169f833f13922eff70dff491458 /openstackclient/compute/v2
parent594eeae2dec0f7a43952db22c574bd0726a9dbd5 (diff)
parentf82c5b85ce9d6fee62550044fbabe54155e4b367 (diff)
downloadpython-openstackclient-1894a3cb17ce561a2109ced7e6969a49cf3a0064.tar.gz
Merge "Add --key-name and --key-unset option for server rebuild API."
Diffstat (limited to 'openstackclient/compute/v2')
-rw-r--r--openstackclient/compute/v2/server.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py
index 4f672428..4b0aedd7 100644
--- a/openstackclient/compute/v2/server.py
+++ b/openstackclient/compute/v2/server.py
@@ -1534,6 +1534,22 @@ class RebuildServer(command.ShowOne):
action='store_true',
help=_('Wait for rebuild to complete'),
)
+ key_group = parser.add_mutually_exclusive_group()
+ key_group.add_argument(
+ '--key-name',
+ metavar='<key-name>',
+ help=_("Set the key name of key pair on the rebuilt instance."
+ " Cannot be specified with the '--key-unset' option."
+ " (Supported by API versions '2.54' - '2.latest')"),
+ )
+ key_group.add_argument(
+ '--key-unset',
+ action='store_true',
+ default=False,
+ help=_("Unset the key name of key pair on the rebuilt instance."
+ " Cannot be specified with the '--key-name' option."
+ " (Supported by API versions '2.54' - '2.latest')"),
+ )
return parser
def take_action(self, parsed_args):
@@ -1558,6 +1574,16 @@ class RebuildServer(command.ShowOne):
if parsed_args.property:
kwargs['meta'] = parsed_args.property
+ if parsed_args.key_name or parsed_args.key_unset:
+ if compute_client.api_version < api_versions.APIVersion('2.54'):
+ msg = _('--os-compute-api-version 2.54 or later is required')
+ raise exceptions.CommandError(msg)
+
+ if parsed_args.key_unset:
+ kwargs['key_name'] = None
+ if parsed_args.key_name:
+ kwargs['key_name'] = parsed_args.key_name
+
server = server.rebuild(image, parsed_args.password, **kwargs)
if parsed_args.wait:
if utils.wait_for_status(