summaryrefslogtreecommitdiff
path: root/openstackclient/network/v2/security_group.py
diff options
context:
space:
mode:
authorNam Nguyen Hoai <namnh@vn.fujitsu.com>2016-08-16 16:00:32 +0700
committerHa Van Tu <tuhv@vn.fujitsu.com>2016-12-01 14:59:10 +0700
commitce079d22617f3129bfdf5165b9f124d7cc7dbc2e (patch)
treefc5b290591939b828c51f5ad7a02693510cae9ac /openstackclient/network/v2/security_group.py
parentd6e058fa1f6323ef73354f0aea0e09efb647bc7e (diff)
downloadpython-openstackclient-ce079d22617f3129bfdf5165b9f124d7cc7dbc2e.tar.gz
Add '--project' and '--project-domain' options to os cmds
This patch added '--project' and '--project-domain' options to filter subnets resulted by 'os subnet list', 'os floating ip create' and 'os security group list' commands. Co-Authored-By: Ha Van Tu <tuhv@vn.fujitsu.com> Change-Id: I727663d49ffa6aa042fdeb60797f18bb753b0372 Closes-Bug: #1613231 Closes-Bug: #1610909 Closes-Bug: #1613629 Partially-Implements: blueprint network-commands-options
Diffstat (limited to 'openstackclient/network/v2/security_group.py')
-rw-r--r--openstackclient/network/v2/security_group.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/openstackclient/network/v2/security_group.py b/openstackclient/network/v2/security_group.py
index 554dd61d..a02d73bb 100644
--- a/openstackclient/network/v2/security_group.py
+++ b/openstackclient/network/v2/security_group.py
@@ -201,6 +201,13 @@ class ListSecurityGroup(common.NetworkAndComputeLister):
default=False,
help=argparse.SUPPRESS,
)
+ parser.add_argument(
+ '--project',
+ metavar='<project>',
+ help=_("List security groups according to the project "
+ "(name or ID)")
+ )
+ identity_common.add_project_domain_option_to_parser(parser)
return parser
def update_parser_compute(self, parser):
@@ -228,7 +235,16 @@ class ListSecurityGroup(common.NetworkAndComputeLister):
) for s in data))
def take_action_network(self, client, parsed_args):
- return self._get_return_data(client.security_groups())
+ filters = {}
+ if parsed_args.project:
+ identity_client = self.app.client_manager.identity
+ project_id = identity_common.find_project(
+ identity_client,
+ parsed_args.project,
+ parsed_args.project_domain,
+ ).id
+ filters['tenant_id'] = project_id
+ return self._get_return_data(client.security_groups(**filters))
def take_action_compute(self, client, parsed_args):
search = {'all_tenants': parsed_args.all_projects}