diff options
| author | Zuul <zuul@review.openstack.org> | 2018-11-02 19:41:24 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2018-11-02 19:41:24 +0000 |
| commit | 1894a3cb17ce561a2109ced7e6969a49cf3a0064 (patch) | |
| tree | 9aba1053e5df0169f833f13922eff70dff491458 /openstackclient/compute | |
| parent | 594eeae2dec0f7a43952db22c574bd0726a9dbd5 (diff) | |
| parent | f82c5b85ce9d6fee62550044fbabe54155e4b367 (diff) | |
| download | python-openstackclient-1894a3cb17ce561a2109ced7e6969a49cf3a0064.tar.gz | |
Merge "Add --key-name and --key-unset option for server rebuild API."
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/server.py | 26 |
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( |
