diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-03-16 05:19:15 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-03-16 05:19:15 +0000 |
| commit | d88284c86d5a750a82b207da321f9df249e90ac0 (patch) | |
| tree | 21911263c4a769600d29fe89d8801d0f2e065a50 /openstackclient/network | |
| parent | add66dc132b6fd14f2ff599137464a73743eb9be (diff) | |
| parent | a7c76878da02da406c9ccbcd62cc40def1108faa (diff) | |
| download | python-openstackclient-d88284c86d5a750a82b207da321f9df249e90ac0.tar.gz | |
Merge "Add project options to security group create"
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/security_group.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/openstackclient/network/v2/security_group.py b/openstackclient/network/v2/security_group.py index f8162477..92498144 100644 --- a/openstackclient/network/v2/security_group.py +++ b/openstackclient/network/v2/security_group.py @@ -17,6 +17,7 @@ import argparse import six from openstackclient.common import utils +from openstackclient.identity import common as identity_common from openstackclient.network import common from openstackclient.network import utils as network_utils @@ -107,6 +108,15 @@ class CreateSecurityGroup(common.NetworkAndComputeShowOne): ) return parser + def update_parser_network(self, parser): + parser.add_argument( + '--project', + metavar='<project>', + help="Owner's project (name or ID)" + ) + identity_common.add_project_domain_option_to_parser(parser) + return parser + def _get_description(self, parsed_args): if parsed_args.description is not None: return parsed_args.description @@ -114,9 +124,20 @@ class CreateSecurityGroup(common.NetworkAndComputeShowOne): return parsed_args.name def take_action_network(self, client, parsed_args): + # Build the create attributes. attrs = {} attrs['name'] = parsed_args.name attrs['description'] = self._get_description(parsed_args) + if parsed_args.project is not None: + identity_client = self.app.client_manager.identity + project_id = identity_common.find_project( + identity_client, + parsed_args.project, + parsed_args.project_domain, + ).id + attrs['tenant_id'] = project_id + + # Create the security group and display the results. obj = client.create_security_group(**attrs) display_columns, property_columns = _get_columns(obj) data = utils.get_item_properties( |
