@@ -145,7 +145,8 @@ def get_parser(self, prog_name):
145145 parser .add_argument (
146146 'project' ,
147147 metavar = '<project/class>' ,
148- help = 'Show this project or class (name/ID)' ,
148+ nargs = '?' ,
149+ help = 'Show quotas for this project or class (name or ID)' ,
149150 )
150151 type_group = parser .add_mutually_exclusive_group ()
151152 type_group .add_argument (
@@ -164,12 +165,22 @@ def get_parser(self, prog_name):
164165 )
165166 return parser
166167
168+ def _get_project (self , parsed_args ):
169+ if parsed_args .project is not None :
170+ identity_client = self .app .client_manager .identity
171+ project = utils .find_resource (
172+ identity_client .projects ,
173+ parsed_args .project ,
174+ ).id
175+ elif self .app .client_manager .auth_ref :
176+ # Get the project from the current auth
177+ project = self .app .client_manager .auth_ref .project_id
178+ else :
179+ project = None
180+ return project
181+
167182 def get_compute_volume_quota (self , client , parsed_args ):
168- identity_client = self .app .client_manager .identity
169- project = utils .find_resource (
170- identity_client .projects ,
171- parsed_args .project ,
172- ).id
183+ project = self ._get_project (parsed_args )
173184
174185 try :
175186 if parsed_args .quota_class :
@@ -189,11 +200,7 @@ def get_network_quota(self, parsed_args):
189200 if parsed_args .quota_class or parsed_args .default :
190201 return {}
191202 if self .app .client_manager .is_network_endpoint_enabled ():
192- identity_client = self .app .client_manager .identity
193- project = utils .find_resource (
194- identity_client .projects ,
195- parsed_args .project ,
196- ).id
203+ project = self ._get_project (parsed_args )
197204 return self .app .client_manager .network .get_quota (project )
198205 else :
199206 return {}
0 commit comments