
    1                         S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ	r	  SSK
Jr   " S	 S
\R                  5      rg)z"The super-group for the Cloud CLI.    )absolute_import)division)unicode_literals)actions)base)common_args)
propertiesc                   (    \ rS rSrSr\S 5       rSrg)Gcloud   a  Manage Google Cloud resources and developer workflow.

The `gcloud` CLI manages authentication, local configuration, developer
workflow, and interactions with the Google Cloud APIs.

For a quick introduction to the `gcloud` CLI, a list of commonly
used commands, and a look at how these commands are structured, run
`gcloud cheat-sheet` or see the
[`gcloud` CLI cheat sheet](https://cloud.google.com/sdk/docs/cheatsheet).
c           
      @   U R                  SS[        R                  S[        R                  " [
        R                  R                  R                  5      S9  U R                  SS[        R                  SS[        R                  " [
        R                  R                  R                  5      S	9  U R                  S
S[
        R                  R                  R                  [
        R                  R                  R                  [
        R                  R                  R                  /SS[        R                  " [
        R                  R                  R                  5      S9  U R                  SSS[        R                  " [
        R                  R                  R                   5      S9  U R                  SSS[        R                  " [
        R                  R                  R"                  5      S9  [$        R&                  " 5       R)                  U 5        U R                  SS[        R                  S[        R                  " [
        R                  R*                  R,                  5      S9  U R                  SSS [        R                  [        R.                  " [
        R                  R                  R0                  S5      SS9  U R3                  5       nUR                  SS [        R                  " [
        R                  R                  R4                  5      SS9  g )Nz	--accountACCOUNTz0Google Cloud user account to use for invocation.)metavarcategoryhelpactionz--universe-domainUNIVERSE_DOMAINzUniverse domain to target.T)r   r   r   hiddenr   z--force-endpoint-modeENDPOINT_MODEzRegional endpoint mode to use.)r   choicesr   r   r   z--impersonate-service-accountSERVICE_ACCOUNT_EMAILSa          For this `gcloud` invocation, all API requests will be
        made as the given service account or target service account in an
        impersonation delegation chain instead of the currently selected
        account. You can specify either a single service account as the
        impersonator, or a comma-separated list of service accounts to
        create an impersonation delegation chain. The impersonation is done
        without needing to create, download, and activate a key for the
        service account or accounts.

        In order to make API requests as a service account, your
        currently selected account must have an IAM role that includes
        the `iam.serviceAccounts.getAccessToken` permission for the
        service account or accounts.

        The `roles/iam.serviceAccountTokenCreator` role has
        the `iam.serviceAccounts.getAccessToken permission`. You can
        also create a custom role.

        You can specify a list of service accounts, separated with
        commas. This creates an impersonation delegation chain in which
        each service account delegates its permissions to the next
        service account in the chain. Each service account in the list
        must have the `roles/iam.serviceAccountTokenCreator` role on the
        next service account in the list. For example, when
        `--impersonate-service-account=`
        ``SERVICE_ACCOUNT_1'',``SERVICE_ACCOUNT_2'',
        the active account must have the
        `roles/iam.serviceAccountTokenCreator` role on
        ``SERVICE_ACCOUNT_1'', which must have the
        `roles/iam.serviceAccountTokenCreator` role on
        ``SERVICE_ACCOUNT_2''.
        ``SERVICE_ACCOUNT_1'' is the impersonated service
        account and ``SERVICE_ACCOUNT_2'' is the delegate.
        )r   r   r   z--access-token-fileACCESS_TOKEN_FILEa          A file path to read the access token. Use this flag to
        authenticate `gcloud` with an access token. The credentials of
        the active account (if exists) will be ignored. The file should
        only contain an access token with no other information.
        z--billing-projectBILLING_PROJECTa               The Google Cloud project that will be charged quota for
             operations performed in `gcloud`. If you need to operate on one
             project, but need quota against a different project, you can use
             this flag to specify the billing project. If both
             `billing/quota_project` and `--billing-project` are specified,
             `--billing-project` takes precedence.
             Run `$ gcloud config set --help` to see more information about
             `billing/quota_project`.
             z--quietz-qan          Disable all interactive prompts when running `gcloud` commands. If input
        is required, defaults will be used, or an error will be raised.

        Overrides the default core/disable_prompts property value for this
        command invocation. This is equivalent to setting the environment
        variable `CLOUDSDK_CORE_DISABLE_PROMPTS` to 1.
        )defaultr   r   r   z--trace-tokenzKToken used to route traces of service requests for investigation of issues.)r   r   r   )add_argumentr   COMMONLY_USED_FLAGSr   StorePropertyr	   VALUEScoreaccountuniverse_domainregionalLEGACYAUTOREGIONAL_ONLYendpoint_modeauthimpersonate_service_accountaccess_token_filer   ProjectArgumentAddToParserbillingquota_projectStoreConstPropertydisable_promptsadd_mutually_exclusive_grouptrace_token)parsertrace_groups     lib/surface/__init__.pyArgsGcloud.Args(   s   
))?$$Z%6%6%;%;%C%CD  F !)))$$Z%6%6%;%;%K%KL  N &&--&&++&&44

 .$$Z%6%6%?%?%M%MN  
P$ '("F $$"">>@M  'AP # $$Z%6%6%;%;%M%MN  	P !--f5
!))	 $$%%335  6$ ))))""22D:    557K$$Z%6%6%;%;%G%GH	       N)__name__
__module____qualname____firstlineno____doc__staticmethodr5   __static_attributes__r8   r7   r4   r   r      s    	 } }r7   r   N)r=   
__future__r   r   r   googlecloudsdk.callioper   r   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer	   Groupr   r8   r7   r4   <module>rE      s1     ) &  ' + ( < *JTZZ Jr7   