diff options
| author | Tang Chen <chen.tang@easystack.cn> | 2016-03-24 19:22:07 +0800 |
|---|---|---|
| committer | Tang Chen <chen.tang@easystack.cn> | 2016-04-09 16:25:50 +0800 |
| commit | b3649a54cd59dc069c76cbbcd876a1610aee00c0 (patch) | |
| tree | 7bba85fc7df7e0242b117892e885f18d8fcefaf7 /openstackclient/network | |
| parent | 6c739466239d6a6565498e5a7bdc25706e91329b (diff) | |
| download | python-openstackclient-b3649a54cd59dc069c76cbbcd876a1610aee00c0.tar.gz | |
Add --address-scope option "subnet pool create/set"
This patch adds --address-scope option to "subnet pool create/set"
commands, and --no-address-scope option to "subnet pool set"
command to clear the address scope setting.
Change-Id: Ie2c370a50b52574fa6ec268083ad013b7544361e
Partial-Bug: #1544586
Partial-Bug: #1544591
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/subnet_pool.py | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/openstackclient/network/v2/subnet_pool.py b/openstackclient/network/v2/subnet_pool.py index 6b6fc090..497b7f7f 100644 --- a/openstackclient/network/v2/subnet_pool.py +++ b/openstackclient/network/v2/subnet_pool.py @@ -35,6 +35,8 @@ _formatters = { def _get_attrs(client_manager, parsed_args): attrs = {} + network_client = client_manager.network + if parsed_args.name is not None: attrs['name'] = str(parsed_args.name) if parsed_args.prefixes is not None: @@ -46,6 +48,12 @@ def _get_attrs(client_manager, parsed_args): if parsed_args.max_prefix_length is not None: attrs['max_prefixlen'] = parsed_args.max_prefix_length + if parsed_args.address_scope is not None: + attrs['address_scope_id'] = network_client.find_address_scope( + parsed_args.address_scope, ignore_missing=False).id + if 'no_address_scope' in parsed_args and parsed_args.no_address_scope: + attrs['address_scope_id'] = None + # "subnet pool set" command doesn't support setting project. if 'project' in parsed_args and parsed_args.project is not None: identity_client = client_manager.identity @@ -105,7 +113,13 @@ class CreateSubnetPool(command.ShowOne): help="Owner's project (name or ID)", ) identity_common.add_project_domain_option_to_parser(parser) - + parser.add_argument( + '--address-scope', + metavar='<address-scope>', + help="Set address scope associated with the subnet pool " + "(name or ID). Prefixes must be unique across address " + "scopes.", + ) return parser def take_action(self, parsed_args): @@ -204,7 +218,19 @@ class SetSubnetPool(command.Command): help='Set subnet pool name', ) _add_prefix_options(parser) - + address_scope_group = parser.add_mutually_exclusive_group() + address_scope_group.add_argument( + '--address-scope', + metavar='<address-scope>', + help="Set address scope associated with the subnet pool " + "(name or ID). Prefixes must be unique across address " + "scopes.", + ) + address_scope_group.add_argument( + '--no-address-scope', + action='store_true', + help="Remove address scope associated with the subnet pool", + ) return parser def take_action(self, parsed_args): |
