File tree Expand file tree Collapse file tree
doc/source/command-objects
openstackclient/identity/v3 Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -79,6 +79,7 @@ List projects
7979
8080 os project list
8181 [--domain < domain> ]
82+ [--user < user> ]
8283 [--long]
8384
8485 .. option :: --domain <domain >
@@ -87,6 +88,12 @@ List projects
8788
8889 .. versionadded :: 3
8990
91+ .. option :: --user <user >
92+
93+ Filter projects by :option: `\< user\> <--user> ` (name or ID)
94+
95+ .. versionadded :: 3
96+
9097.. option :: --long
9198
9299 List additional fields in output
Original file line number Diff line number Diff line change @@ -162,6 +162,11 @@ def get_parser(self, prog_name):
162162 metavar = '<domain>' ,
163163 help = 'Filter projects by <domain> (name or ID)' ,
164164 )
165+ parser .add_argument (
166+ '--user' ,
167+ metavar = '<user>' ,
168+ help = 'Filter projects by <user> (name or ID)' ,
169+ )
165170 parser .add_argument (
166171 '--long' ,
167172 action = 'store_true' ,
@@ -178,9 +183,24 @@ def take_action(self, parsed_args):
178183 else :
179184 columns = ('ID' , 'Name' )
180185 kwargs = {}
186+
187+ domain_id = None
181188 if parsed_args .domain :
182- kwargs ['domain' ] = common .find_domain (identity_client ,
183- parsed_args .domain ).id
189+ domain_id = common .find_domain (identity_client ,
190+ parsed_args .domain ).id
191+ kwargs ['domain' ] = domain_id
192+
193+ if parsed_args .user :
194+ if parsed_args .domain :
195+ user_id = utils .find_resource (identity_client .users ,
196+ parsed_args .user ,
197+ domain_id = domain_id ).id
198+ else :
199+ user_id = utils .find_resource (identity_client .users ,
200+ parsed_args .user ).id
201+
202+ kwargs ['user' ] = user_id
203+
184204 data = identity_client .projects .list (** kwargs )
185205 return (columns ,
186206 (utils .get_item_properties (
You can’t perform that action at this time.
0 commit comments