diff options
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/compute/v2/server.py | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index a4cca661..5cc73284 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -201,36 +201,6 @@ def _prep_server_detail(compute_client, image_client, server, refresh=True): return info -# TODO(stephenfin): Migrate this to osc-lib -class KeyValueAppendAction(argparse.Action): - """A custom action to parse arguments as key=value pairs - - Ensures that ``dest`` is a dict and values are lists of strings. - """ - - def __call__(self, parser, namespace, values, option_string=None): - # Make sure we have an empty dict rather than None - if getattr(namespace, self.dest, None) is None: - setattr(namespace, self.dest, {}) - - # Add value if an assignment else remove it - if '=' in values: - key, value = values.split('=', 1) - # NOTE(qtang): Prevent null key setting in property - if '' == key: - msg = _("Property key must be specified: %s") - raise argparse.ArgumentTypeError(msg % str(values)) - - dest = getattr(namespace, self.dest) - if key in dest: - dest[key].append(value) - else: - dest[key] = [value] - else: - msg = _("Expected 'key=value' type, but got: %s") - raise argparse.ArgumentTypeError(msg % str(values)) - - class AddFixedIP(command.Command): _description = _("Add fixed IP address to server") @@ -719,7 +689,7 @@ class CreateServer(command.ShowOne): parser.add_argument( '--hint', metavar='<key=value>', - action=KeyValueAppendAction, + action=parseractions.KeyValueAppendAction, default={}, help=_('Hints for the scheduler (optional extension)'), ) |
