
    O                        S r SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSK	J
r
  SSKJr  SS	KJr  S
r\R                  \R                   \/r\
R$                  \
R&                  " \
R(                  R*                  \
R(                  R,                  \
R(                  R.                  5       " S S\
R0                  5      5       5       rg)*Generate an IAM login token for Cloud SQL.    )absolute_import)division)unicode_literalsN)util)base)flags)generate_login_token_utilz0https://www.googleapis.com/auth/sqlservice.loginc                   x    \ rS rSrSr\R                  " S5      \R                  " S5      S.r\S 5       r	S r
Srg	)
GenerateLoginToken!   r   zc          {command} generates an IAM token to use for logging in to Cloud SQL instances.
          aQ            To generate an IAM login token using gcloud credentials, run:

            $ {command}

          To generate an IAM login token using application default credentials, run:

            $ {command} --application-default-credential

          To generate an IAM login token using gcloud credentials for instance `my-instance`, run:

            $ {command} --instance=my-instance

          To generate an IAM login token using application default credentials for instance `my-instance`, run:

            $ {command} --instance=my-instance --application-default-credential
          )DESCRIPTIONEXAMPLESc                     [         R                  " U 5        U R                  SSSS9  U R                  R	                  S5        g)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 --application-default-credential
store_truez@Use application default credentials to generate the login token.)actionhelpz$value[teriminator="",private](token)N)r	   AddOptionalInstanceadd_argumentdisplay_info	AddFormat)parsers    'lib/surface/sql/generate_login_token.pyArgsGenerateLoginToken.Args@   sF     
f%
*O  Q !!"HI    c                     UR                   (       a  [        R                  " [        5      $ [        R                  " [        5      nSU0$ )zDRuns the command to reschedule maintenance for a Cloud SQL instance.token)application_default_credentialr
   generate_login_token_from_adc_SCOPES%generate_login_token_from_gcloud_auth)selfargsr   s      r   RunGenerateLoginToken.RunO   s:    **&DDWMM'MM
eur    N)__name__
__module____qualname____firstlineno____doc__textwrapdedentdetailed_helpstaticmethodr   r%   __static_attributes__r'   r   r   r   r   !   sO     3 //   //  -2 J Jr   r   )r,   
__future__r   r   r   r-   googlecloudsdk.api_lib.authr   	auth_utilgooglecloudsdk.callioper   googlecloudsdk.command_lib.sqlr	   r
   
_SQL_LOGINOPENIDUSER_EMAIL_SCOPEr!   DefaultUniverseOnlyReleaseTracksReleaseTrackGABETAALPHACommandr   r'   r   r   <module>rA      s    1 &  '  9 ( 0 D?
Y77
D D%%(($*;*;*@*@%%++-2 2- 2r   