
    !                     `   d Z ddlmZ ddlmZ ddlmZ  ej                  ej                  j                        ej                   G d dej                                      Z ej                  ej                  j                        ej                   G d dej                                      Zy	)
zQuotaInfo get command.    )
quota_info)base)flagsc                   &    e Zd ZdZed        Zd Zy)DescribeAlpha  Retrieve the QuotaInfo of a quota for a project, folder or organization.

  ## EXAMPLES

  To get the details about quota `CpusPerProject` for service
  `example.$$UNIVERSE_DOMAIN$$` and `projects/my-project`, run:

    $ {command} CpusPerProject --service=example.$$UNIVERSE_DOMAIN$$
    --project=my-project


  To get the details about quota `CpusPerProject` for service
  `example.$$UNIVERSE_DOMAIN$$` and `folders/123`, run:

    $ {command} CpusPerProject --service=example.$$UNIVERSE_DOMAIN$$
    --folder=123
  c                     t        j                         j                  |        t        j                  | d       t        j                         j                  |        yzArgs is called by calliope to gather arguments for this command.

    Args:
      parser: An argparse parser that you can use to add arguments that go on
        the command line after this command. Positional arguments are allowed.
    zquota info to describeNr   QuotaIdAddToParserAddResourceFlagsServiceparsers    #lib/surface/quotas/info/describe.pyArgszDescribeAlpha.Args+   =     
MMO'	6#;<	MMO'    c                     t        j                  |j                  |j                  |j                  |j
                  |j                  t        j                  j                        S zRun command.

    Args:
      args: argparse.Namespace, The arguments that this command was invoked
        with.

    Returns:
      The requested QuotaInfo for specified container and service.
    )release_track)
r   GetQuotaInfoprojectfolderorganizationserviceQUOTA_IDr   ReleaseTrackGAselfargss     r   RunzDescribeAlpha.Run7   sK     ""''** r   N__name__
__module____qualname____doc__staticmethodr   r$    r   r   r   r      s     $ 	( 	(r   r   c                   &    e Zd ZdZed        Zd Zy)DescribeBetar   c                     t        j                         j                  |        t        j                  | d       t        j                         j                  |        yr
   r   r   s    r   r   zDescribeBeta.Argsa   r   r   c                     t        j                  |j                  |j                  |j                  |j
                  |j                  t        j                  j                        S r   )
r   r   r   r   r   r   r   r   r   BETAr!   s     r   r$   zDescribeBeta.Runm   sK     ""'',, r   Nr%   r+   r   r   r-   r-   L   s     $ 	( 	(r   r-   N)r)   googlecloudsdk.api_lib.quotasr   googlecloudsdk.callioper   !googlecloudsdk.command_lib.quotasr   ReleaseTracksr   ALPHAUniverseCompatibleDescribeCommandr   r0   r-   r+   r   r   <module>r8      s     4 ( 3 D%%++,1D(( 1  -1h D%%**+04'' 0  ,0r   