
                         x    S 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	 " S S\	5      r
g	)
z@Base class for gkemulticloud API clients for Attached resources.    )client)update_mask)flagsc                   B    \ rS rSrSrS rS rS rS rS r	S r
S	 rS
rg)_AttachedClientBase   z2Base class for Attached gkemulticloud API clients.c                    U R                   R                  nU R                  X#5      U R                  U5      [        R
                  " U5      U R                  U5      UR                  [        R                  " U5      U R                  U5      [        R                  " U5      U R                  U5      [        R                  " US5      [        R                  " U5      U R                  U5      U R!                  U5      U R#                  X#5      U R%                  U5      S.n['        UR)                  5       5      (       a  U R                   R                  " S0 UD6$ S $ )NT)annotationsbinaryAuthorizationplatformVersionfleetnamedescription
oidcConfigdistributionauthorizationloggingConfigmonitoringConfigproxyConfigsecurityPostureConfigtagssystemComponentsConfig )	_messages)GoogleCloudGkemulticloudV1AttachedCluster_Annotations_BinaryAuthorizationattached_flagsGetPlatformVersion_FleetattachedClustersIdr   GetDescription_OidcConfigGetDistribution_Authorization
GetLoggingGetMonitoringConfig_ProxyConfig_SecurityPosture_TagBindings_SystemComponentsConfiganyvalues)selfcluster_refargscluster_typekwargss        >lib/googlecloudsdk/api_lib/container/gkemulticloud/attached.py_Cluster_AttachedClientBase._Cluster   s   >>KKL((<#88>)<<TBT"..++D1&&t,&66t<,,T2))$5!55d;((.!%!6!6t!<!!$5"&">">t"DF& v}} 	@@J6J     c                    S[         R                  " U5      0n[         R                  " U5      nU(       a  UR                  SS9US'   [	        UR                  5       5      (       a  U R                  R                  " S0 UD6$ S $ )N	issuerUrlzutf-8)encodingjwksr   )r   GetIssuerUrlGetOidcJwksencoder,   r-   r   ,GoogleCloudGkemulticloudV1AttachedOidcConfig)r.   r0   r2   oidcs       r3   r#   _AttachedClientBase._OidcConfig4   s{    ^006F %%d+D{{G{4fVn v}} 	CCMfM r6   c                     [         R                  " U5      n[         R                  " U5      nU(       d  U(       a8  SU R                  R	                  UUS90nU R                  R
                  " S0 UD6$ g )NkubernetesSecret)r   	namespacer   )r   GetProxySecretNameGetProxySecretNamespacer   *GoogleCloudGkemulticloudV1KubernetesSecret-GoogleCloudGkemulticloudV1AttachedProxyConfig)r.   r0   secret_namesecret_namespacer2   s        r3   r(    _AttachedClientBase._ProxyConfigA   sw     33D9K%==dC&

..
C
C( D f ..
F
F 
 r6   c                    [         R                  " U5      n[        R                  " U5      nU(       d  U(       d  g 0 nU(       a-  U Vs/ s H  nU R                  R                  US9PM     snUS'   U(       a-  U Vs/ s H  nU R                  R                  US9PM     snUS'   [        UR                  5       5      (       d  g U R                  R                  " S0 UD6$ s  snf s  snf )N)username
adminUsers)groupadminGroupsr   )
r   GetAdminUsersr   GetAdminGroupsr   -GoogleCloudGkemulticloudV1AttachedClusterUser.GoogleCloudGkemulticloudV1AttachedClusterGroupr,   r-   7GoogleCloudGkemulticloudV1AttachedClustersAuthorization)r.   r0   admin_usersadmin_groupsr2   ugs          r3   r%   "_AttachedClientBase._AuthorizationS   s     ..t4K''-L|F
 	 a ..
F
F G  	f\   a ..
G
Ga
G
Pf] v}}NN 	
	
s   	#C!=#C&c                    [         R                  " U5      n[         R                  " U5      nU(       d  U(       d  g 0 nU(       aZ  U Vs/ s HI  nU R                  R	                  US   US   U R                  US   5      U R                  US   5      S9PMK     snUS'   U(       a0  U Vs/ s H  nU R                  R                  UX&   S9PM!     snUS'   U R                  R                  " S	0 UD6$ s  snf s  snf )
Nr            )keyvaluekeyOperatoreffecttolerations)r^   r_   labelsr   )	r   GetSystemComponentLabelsGetSystemComponentTolerationsr   $GoogleCloudGkemulticloudV1Toleration_ConvertTolerationOperator_ConvertTolerationEffectGoogleCloudGkemulticloudV1Label0GoogleCloudGkemulticloudV1SystemComponentsConfig)r.   r0   rc   rb   r2   tr^   s          r3   r+   +_AttachedClientBase._SystemComponentsConfigm   s   44T:F >>tDK+F  a ..
=
=A$aD99!A$?221Q48	 >  f]  
 c	 ..
8
8K 9  fX >>JJ 
 #s   	AC2*&C7c                 0   UR                  5       S:X  a%  U R                  R                  R                  S5      $ UR                  5       S:X  a%  U R                  R                  R                  S5      $ U R                  R                  R                  S5      $ )NexistsKEY_OPERATOR_EXISTSequalKEY_OPERATOR_EQUALKEY_OPERATOR_UNSPECIFIED)lowerr   rf   KeyOperatorValueValuesEnum)r.   operators     r3   rg   ._AttachedClientBase._ConvertTolerationOperator   s    ~~8#^^@@[[
  ~~7"^^@@[[
  >>>>YY" r6   c                 n   UR                  5       nUS:X  a%  U R                  R                  R                  S5      $ US:X  a%  U R                  R                  R                  S5      $ US:X  a%  U R                  R                  R                  S5      $ U R                  R                  R                  S5      $ )N
noscheduleEFFECT_NO_SCHEDULE	noexecuteEFFECT_NO_EXECUTEprefernoscheduleEFFECT_PREFER_NO_SCHEDULEEFFECT_UNSPECIFIED)rs   r   rf   EffectValueValuesEnum)r.   ra   standardized_effects      r3   rh   ,_AttachedClientBase._ConvertTolerationEffect   s     ,,.l*^^@@VV
  k)^^@@VV
  00^^@@VV
%  >>>>TT r6   r   N)__name__
__module____qualname____firstlineno____doc__r4   r#   r(   r%   r+   rg   rh   __static_attributes__r   r6   r3   r   r      s(    :2$48r6   r   c                   >   ^  \ rS rSrSrU 4S jrS rS rS rSr	U =r
$ )ClustersClient   z6Client for Attached Clusters in the gkemulticloud API.c                 r   > [         [        U ]
  " S0 UD6  U R                  R                  U l        SU l        g )NattachedClustersr   )superr   __init___client#projects_locations_attachedClusters_service_list_result_field)r.   r2   	__class__s     r3   r   ClustersClient.__init__   s.    	.$(262LLDDDM0Dr6   c                    U R                   R                  UR                  5       R                  5       U R	                  X5      UR
                  [        R                  " U5      S9nU R                  R                  U5      $ )zCreates an Attached cluster.)parent)googleCloudGkemulticloudV1AttachedClusterattachedClusterIdvalidateOnly)
r   ;GkemulticloudProjectsLocationsAttachedClustersCreateRequestParentRelativeNamer4   r!   r   GetValidateOnlyr   Creater.   r/   r0   reqs       r3   r   ClustersClient.Create   sp    
..
T
T!!#00226--3
 &88**40 U C ==$$r6   c                    U R                   R                  U R                  X5      UR                  5       [        R
                  " U[        R                  5      [        R                  " U5      S9nU R                  R                  U5      $ )zUpdates an Attached cluster.)r   r   
updateMaskr   )r   :GkemulticloudProjectsLocationsAttachedClustersPatchRequestr4   r   r   GetUpdateMask%ATTACHED_CLUSTER_ARGS_TO_UPDATE_MASKSr   r   r   Patchr   s       r3   UpdateClustersClient.Update   sy    
..
S
S26--3
 %%',,+CC
 **40 T 	C ==s##r6   c                 p   U R                   R                  UR                  5       U R                   R                  UR                  5       [        R
                  " U5      [        R                  " U5      U R                  U5      [        R                  " U5      S9S9nU R                  R                  U5      $ )z-Imports an Attached cluster fleet membership.)fleetMembershipr   r   r   r   )r   6googleCloudGkemulticloudV1ImportAttachedClusterRequest)r   ;GkemulticloudProjectsLocationsAttachedClustersImportRequestr   6GoogleCloudGkemulticloudV1ImportAttachedClusterRequestr   r   r$   r(   r   r   r   Import)r.   location_reffleet_membership_refr0   r   s        r3   r   ClustersClient.Import   s    
..
T
T((*?C~~  @E  @E0==?*==dC'77=))$/..t4 @E @
 U 	C ==$$r6   )r   r   )r   r   r   r   r   r   r   r   r   r   __classcell__)r   s   @r3   r   r      s    >1

%$% %r6   r   N)r   .googlecloudsdk.api_lib.container.gkemulticloudr   r   -googlecloudsdk.command_lib.container.attachedr   r   2googlecloudsdk.command_lib.container.gkemulticloud
ClientBaser   r   r   r6   r3   <module>r      s<    G B F Q DN&++ Nb.%( .%r6   