
                         >   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlmZ ddl
mZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ  ej&                  ej(                  j*                  ej(                  j,                         G d dej.                               Zy)z,Command to get credentials of a GEC cluster.    )absolute_import)division)unicode_literals)util)cluster)base)flags)
kubeconfig)resource_args)log)	resourcesc                   x    e Zd ZdZej
                  ej                  j                  d      dZe	d        Z
d Zy)GetCredentialsz-Get credentials of an edge-container cluster.zEdge Container)kind)EXAMPLESDESCRIPTIONc                     t        j                  |d       t        j                  |       t        j                  |       y )Nzto get credentials)r   AddClusterResourceArgr	   AddAuthProviderCmdPathAddOfflineCredential)clsparsers     <lib/surface/edge_cloud/container/clusters/get_credentials.pyArgszGetCredentials.Args+   s/    ''0DE	  (	v&    c                 *   t        j                          t        j                  j	                  |j
                  j                  j                         j                         d      }t        j                  | j                               }t        j                  | j                               }|j                  |j                               }|j                  j                  |      }t!        j"                  |j$                  |j&                  |j(                        }t        j*                  |      r|j,                  |j,                  j.                  t1        j2                  d       y|j5                         }|j                         |_        |j                  j7                  |      }	|d|	j8                  z   dz   z  }t!        j:                  |||	       t1        j<                  d|	j>                  z          yt!        j@                  | j                         |j(                  |j$                  |j&                        }
t!        jB                  |j(                  |j$                  |j&                        }t!        jD                  |||jF                  |
|       y)	z!Runs the get-credentials command.z)edgecontainer.projects.locations.clusters)
collection)nameNzMOffline credential is currently supported only in local control plane cluster__offlinez'This offline credential will expire at )$container_utilCheckKubectlInstalledr   REGISTRYParseRelativeNameCONCEPTSr   ParseRelativeNamer   GetMessagesModuleReleaseTrackGetClientInstance0EdgecontainerProjectsLocationsClustersGetRequestprojects_locations_clustersGetr
   GenerateContext
projectsIdlocationsId
clustersIdIsOfflineCredentialcontrolPlanelocalr   errorFEdgecontainerProjectsLocationsClustersGenerateOfflineCredentialRequestGenerateOfflineCredentialuserId&GenerateKubeconfigForOfflineCredentialwarning
expireTimeGenerateAuthProviderCmdArgsGenerateExecAuthCmdArgsGenerateKubeconfigauth_provider_cmd_path)selfargscluster_refmessagescluster_clientreqrespcontextoffline_credential_reqoffline_credential_respcmd_argsexec_auth_argss               r   RunzGetCredentials.Run1   s?   ((*$$66##%224> 7 K
 %%d&7&7&9:H++D,=,=,?@N

C
C%%' D C 5599#>D(( 7 79O9OG ""4(				"d&7&7&=&=&E		$	
 

Y
Y
[  (3'?'?'A$

4
4
N
N$ 
 .555
BBg77
0 
kk
3#../
 77





 
 

 
 

!
!	h "99

 
 

 
 

!
!n ##
44hr   N)__name__
__module____qualname____doc__r
   COMMAND_EXAMPLECOMMAND_DESCRIPTIONformatdetailed_helpclassmethodr   rL    r   r   r   r       sL    5 ,,33:: ; - ' '
:r   r   N)rP   
__future__r   r   r    googlecloudsdk.api_lib.containerr   r!   +googlecloudsdk.api_lib.edge_cloud.containerr   googlecloudsdk.callioper   /googlecloudsdk.command_lib.edge_cloud.containerr	   r
   r   googlecloudsdk.corer   r   ReleaseTracksr)   ALPHAGACommandr   rV   r   r   <module>ra      sx    3 &  ' C ? < ( A F I # ) D%%++T->->-A-ABJT\\ J CJr   