
                              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 " S
 S\5      rg)z@Base class for gkemulticloud API clients for Attached resources.    )absolute_import)division)unicode_literals)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/   r0   r   ,GoogleCloudGkemulticloudV1AttachedOidcConfig)r1   r3   r5   oidcs       r6   r&   _AttachedClientBase._OidcConfig7   s{    ^006F %%d+D{{G{4fVn v}} 	CCMfM r9   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)r1   r3   secret_namesecret_namespacer5   s        r6   r+    _AttachedClientBase._ProxyConfigD   sw     33D9K%==dC&

..
C
C( D f ..
F
F 
 r9   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/   r0   7GoogleCloudGkemulticloudV1AttachedClustersAuthorization)r1   r3   admin_usersadmin_groupsr5   ugs          r6   r(   "_AttachedClientBase._AuthorizationV   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)ra   rb   labelsr   )	r!   GetSystemComponentLabelsGetSystemComponentTolerationsr   $GoogleCloudGkemulticloudV1Toleration_ConvertTolerationOperator_ConvertTolerationEffectGoogleCloudGkemulticloudV1Label0GoogleCloudGkemulticloudV1SystemComponentsConfig)r1   r3   rf   re   r5   tra   s          r6   r.   +_AttachedClientBase._SystemComponentsConfigp   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   ri   KeyOperatorValueValuesEnum)r1   operators     r6   rj   ._AttachedClientBase._ConvertTolerationOperator   s    ~~8#^^@@[[
  ~~7"^^@@[[
  >>>>YY" r9   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)rv   r   ri   EffectValueValuesEnum)r1   rd   standardized_effects      r6   rk   ,_AttachedClientBase._ConvertTolerationEffect   s     ,,.l*^^@@VV
  k)^^@@VV
  00^^@@VV
%  >>>>TT r9   r   N)__name__
__module____qualname____firstlineno____doc__r7   r&   r+   r(   r.   rj   rk   __static_attributes__r   r9   r6   r
   r
      s(    :2$48r9   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)r1   r5   	__class__s     r6   r   ClustersClient.__init__   s.    	.$(262LLDDDM0Dr9   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RelativeNamer7   r$   r   GetValidateOnlyr   Creater1   r2   r3   reqs       r6   r   ClustersClient.Create   sp    
..
T
T!!#00226--3
 &88**40 U C ==$$r9   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   :GkemulticloudProjectsLocationsAttachedClustersPatchRequestr7   r   r   GetUpdateMask%ATTACHED_CLUSTER_ARGS_TO_UPDATE_MASKSr   r   r   Patchr   s       r6   UpdateClustersClient.Update   sy    
..
S
S26--3
 %%',,+CC
 **40 T 	C ==s##r9   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)r1   location_reffleet_membership_refr3   r   s        r6   r   ClustersClient.Import   s    
..
T
T((*?C~~  @E  @E0==?*==dC'77=))$/..t4 @E @
 U 	C ==$$r9   )r   r   )r   r   r   r   r   r   r   r   r   r   __classcell__)r   s   @r6   r   r      s    >1

%$% %r9   r   N)r   
__future__r   r   r   .googlecloudsdk.api_lib.container.gkemulticloudr   r   -googlecloudsdk.command_lib.container.attachedr   r!   2googlecloudsdk.command_lib.container.gkemulticloud
ClientBaser
   r   r   r9   r6   <module>r      sB    G &  ' A F Q DN&++ Nb.%( .%r9   