
    $s                         S r SSKJr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	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\R0                  5      rg)zAUtilities for gkeonprem API clients for VMware cluster resources.    )	GeneratorOptional)
exceptions)
list_pager)client)update_mask)version_util)parser_extensions)flags)
properties)gkeonprem_v1_messagesc                     ^  \ rS rSrSrU 4S jrS\R                  S\\	R                  SS4   4S jrS\R                  S\	R                  4S jrS\R                  S\	R                  4S	 jrS\R                  S\	R                  4S
 jrS\R                  S\	R                  4S jrS\R                  S\	R                  4S jrS\R                  S\	R                  4S jrS\R                  S\	R                  4S jrS\R                  S\	R(                  4S jrS\R                  4S jrS\R                  4S jrS\R                  4S jrS\R                  4S jrS\R                  4S jrS\R                  4S jrS\R                  4S jrS\R                  4S jrS\R                  4S jrS\R                  4S jrS\R                  4S jr S\R                  4S jr!S\R                  4S jr"S\R                  4S jr#S\R                  4S jr$S\R                  4S jr%S\R                  4S  jr&S\R                  4S! jr'S\R                  4S" jr(S\R                  S\)\	RT                     4S# jr+S\R                  4S$ jr,S\R                  4S% jr-S& r.S\R                  4S' jr/S\	R`                  4S( jr1S) r2S\R                  4S* jr3S\R                  4S+ jr4S\R                  4S, jr5S\R                  4S- jr6S\R                  4S. jr7S\R                  4S/ jr8S\R                  4S0 jr9S\R                  4S1 jr:S\R                  4S2 jr;S\R                  4S3 jr<S\R                  4S4 jr=S\R                  S\	R|                  4S5 jr?S\R                  S\	R|                  4S6 jr@S\R                  4S7 jrAS\R                  4S8 jrBS9 rCS\	R                  4S: jrES;rFU =rG$ )<ClustersClient    z.Client for clusters in GKE On-Prem VMware API.c                 d   > [         [        U ]
  " S0 UD6  U R                  R                  U l        g )N )superr   __init___client!projects_locations_vmwareClusters_service)selfkwargs	__class__s     Alib/googlecloudsdk/api_lib/container/gkeonprem/vmware_clusters.pyr   ClustersClient.__init__#   s&    	.$(262LLBBDM    argsreturnNc           
         UR                   (       a  UR                   O1[        R                  R                  R                   R	                  5       nSR                  USS9n[        R                  " US9n U R                  R                  U5      nSUR                  5       ;  a>  [        R                  R                  R                  R	                  5       (       d  SUl        [        R                   " U R#                  U5      S9n[$        R&                  " U R                  US[(        R                  " US5      [(        R                  " US	5      S
S9$ ! [        R                  [        R                  4 a     Nf = f)z-Lists Clusters in the GKE On-Prem VMware API.z'projects/{project}/locations/{location}zus-west1)projectlocation)parentr"   -vmwareClusters	page_sizelimitpageSize)field
batch_sizer'   batch_size_attribute)r!   r   VALUEScoreGetformatmessagesAGkeonpremProjectsLocationsVmwareClustersQueryVersionConfigRequestr   QueryVersionConfigapitools_exceptionsHttpUnauthorizedErrorHttpForbiddenErrorGetSpecifiedArgsDictcontainer_vmwarer"   3GkeonpremProjectsLocationsVmwareClustersListRequest_location_namer   YieldFromListr   )r   r   r!   r#   dummy_request_list_reqs          r   ListClustersClient.List'   sA    **;*;*@*@*H*H*L*L*N  7==* > F ^^M
--
*
*=
9a 	$3355!!22;;??AAdmKK""4(H ##99T;/iig&' ' 	11..  s   5E $E98E9c                 J   U R                  U5      U R                  U5      [        R                  " US5      [        R                  " US5      S.n[        R
                  " S0 UD6n[        R                  " U R                  U5      US9nU R                  R                  U5      $ )z#Enrolls a VMware cluster to Anthos.
local_namevalidate_only)adminClusterMembershipvmwareClusterId	localNamevalidateOnly)r#   enrollVmwareClusterRequestr   )
_admin_cluster_membership_name_user_cluster_idr   r.   r0   EnrollVmwareClusterRequest5GkeonpremProjectsLocationsVmwareClustersEnrollRequest_user_cluster_parentr   Enroll)r   r   r   enroll_vmware_cluster_requestreqs        r   rM   ClustersClient.EnrollU   s     #'"E"Ed"K006YYt\2		$8	F %-$G$G %
%! 
H
H((.#@C ==$$r   c                    U R                  U5      [        R                  " US5      [        R                  " US5      [        R                  " US5      S.n[        R                  " S0 UD6nU R
                  R                  U5      $ )z&Unenrolls an Anthos cluster on VMware.forceallow_missingrB   )namerR   allowMissingrF   r   )_user_cluster_namer   r.   r0   7GkeonpremProjectsLocationsVmwareClustersUnenrollRequestr   Unenrollr   r   r   rO   s       r   rX   ClustersClient.Unenrollf   st     ''-4)		$8		$8	F 
J
J 
C ==!!#&&r   c                 :   U R                  U5      [        R                  " US5      [        R                  " US5      [        R                  " US5      [        R                  " US5      S.n[        R                  " S0 UD6nU R
                  R                  U5      $ )z$Deletes an Anthos cluster on VMware.rS   rB   rR   ignore_errors)rT   rU   rF   rR   ignoreErrorsr   )rV   r   r.   r0   5GkeonpremProjectsLocationsVmwareClustersDeleteRequestr   DeleterY   s       r   r_   ClustersClient.Deletes   s     ''-		$8		$84)		$8F 
H
H 
C ==$$r   c                     U R                  U5      [        R                  " US5      U R                  U5      U R	                  U5      S.n[
        R                  " S0 UD6nU R                  R                  U5      $ z$Creates an Anthos cluster on VMware.rB   )r#   rF   vmwareClusterrD   r   )	rL   r   r.   _vmware_clusterrI   r0   5GkeonpremProjectsLocationsVmwareClustersCreateRequestr   CreaterY   s       r   rf   ClustersClient.Create   st     ++D1		$8--d3006	F 
H
H 
C ==$$r   c                     UR                  5       R                  5       [        R                  " US5      UUR	                  5       S.n[
        R                  " S0 UD6nU R                  R                  U5      $ rb   )	ParentRelativeNamer   r.   Namer0   re   r   rf   )r   r   vmware_clustervmware_cluster_refr   rO   s         r   CreateFromImportClustersClient.CreateFromImport   sn     %++-::<		$8'-224	F 
H
H 
C ==$$r   c                 J   U R                  U5      [        R                  " US5      [        R                  " U[        R
                  5      [        R                  " US5      U R                  U5      S.n[        R                  " S0 UD6nU R                  R                  U5      $ )NrS   rB   rT   rU   
updateMaskrF   rc   r   )rV   r   r.   r   get_update_mask#VMWARE_CLUSTER_ARGS_TO_UPDATE_MASKSrd   r0   4GkeonpremProjectsLocationsVmwareClustersPatchRequestr   PatchrY   s       r   UpdateClustersClient.Update   s    ''-		$8!11+AA
 		$8--d3F 
G
G 
C ==s##r   c                    / SQnU R                  U5      [        R                  " US5      SR                  U5      [        R                  " US5      US.n[        R
                  " S0 UD6nU R                  R                  U5      $ )N)descriptionon_prem_versionannotationscontrol_plane_nodeanti_affinity_groupsstoragenetwork_configload_balancerdataplane_v2auto_repair_configauthorizationrS   ,rB   rq   r   )rV   r   r.   joinr0   ru   r   rv   )r   r   rl   top_level_mutable_fieldsr   rO   s         r   UpdateFromFileClustersClient.UpdateFromFile   s~    
  ''-		$8hh78		$8'F 
G
G 
C ==s##r   c                     U R                  U5      U R                  U5      U R                  U5      R                  5       S.n[        R
                  " S0 UD6nU R                  R                  U5      $ )N)#createConfig_adminClusterMembershipupgradeConfig_clusterNamer#   r   )rH   rV   _location_refrj   r0   r1   r   r2   rY   s       r   r2   !ClustersClient.QueryVersionConfig   so    
 //5%)%<%<T%B$$T*779F 
T
T 
C ==++C00r   c                    0 SU R                  U5      _SU R                  U5      _S[        R                  " US5      _S[        R                  " US5      _SU R	                  U5      _SU R                  U5      _SU R                  U5      _S	U R                  U5      _S
U R                  U5      _SU R                  U5      _SU R                  U5      _SU R                  U5      _SU R                  U5      _SU R                  U5      _SU R                  U5      _SU R                  U5      _SU R!                  U5      _n[#        UR%                  5       5      (       a  [&        R(                  " S0 UD6$ g)z'Constructs proto message VmwareCluster.rT   rC   rz   onPremVersionversionr|   controlPlaneNodeantiAffinityGroupsr   networkConfigloadBalancervcenterdataplaneV2vmTrackingEnabledautoRepairConfigr   enableControlPlaneV2upgradePolicyNr   )rV   rH   r   r.   _annotations!_vmware_control_plane_node_config_vmware_aag_config_vmware_storage_config_vmware_network_config_vmware_load_balancer_config_vmware_vcenter_config_vmware_dataplane_v2_config_vm_tracking_enabled_vmware_auto_repair_config_authorization_enable_control_plane_v2_upgrade_policyanyvaluesr0   VmwareClusterr   r   r   s      r   rd   ClustersClient._vmware_cluster   s   ''- $"E"Ed"K 	uyy}5 	43	
 	t((. 	DBB4H 	d55d; 	4..t4 	44T: 	99$? 	4..t4 	t77= 	T66t< 	D;;DA 	,,T2  	 = =d C!" 	--d3#F& 6==?##-f--r   c           
         [         R                  " US5      [         R                  " US5      [         R                  " US5      [         R                  " US5      [         R                  " US5      [         R                  " US5      [         R                  " US5      S.n[         R                  " U5      (       a  [        R                  " S
0 UD6$ g	)z-Constructs proto message VmwareVCenterConfig.vcenter_ca_cert_datavcenter_clustervcenter_datacentervcenter_datastorevcenter_foldervcenter_resource_poolvcenter_storage_policy_name)
caCertDatacluster
datacenter	datastorefolderresourcePoolstoragePolicyNameNr   )r   r.   IsSetr0   VmwareVCenterConfigr   s      r   r   %ClustersClient._vmware_vcenter_config   s     ii&<=99T#45ii&:;YYt%89))D"23		$(?@"YYt-JKF {{6))3F33r   c                     SUR                  5       ;  a  gUR                  n[        R                  " UR	                  SS5      S9$ )z4Constructs proto message VmwareClusterUpgradePolicy.z--upgrade-policyNzcontrol-plane-only)controlPlaneOnly)GetSpecifiedArgNamesupgrade_policyr0   VmwareClusterUpgradePolicyget)r   r   r   s      r   r   ClustersClient._upgrade_policy  sE    !:!:!<<((N..'++,@$G r   c                     SUR                  5       ;   a  gSUR                  5       ;   a  gSnUR                  S   S:X  a5  [        R                  " UR                  5      R                  U5      (       a  gg)	zXWhile creating a 1.15+ user cluster, default enable_control_plane_v2 to True if not set.enable_control_plane_v2Tdisable_control_plane_v2Fz1.15.0-gke.0createN)r6   command_pathr	   Versionr   feature_available)r   r   default_enable_control_plane_v2s      r   r   'ClustersClient._enable_control_plane_v2  sp     D$=$=$??!T%>%>%@@&4#(\-A-A.78.9 r   c                 >    [         R                  " US5      (       a  gg )Nenable_vm_trackingTr   r.   r   r   s     r   r   #ClustersClient._vm_tracking_enabled  s    yy+,,r   c                 x    [         R                  " US5      (       a  g[         R                  " US5      (       a  gg )Nenable_auto_repairTdisable_auto_repairFr   r   s     r   auto_repair_enabled"ClustersClient.auto_repair_enabled$  s/    yy+,,yy,--r   c                     SU R                  U5      0n[        R                  " U5      (       a  [        R                  " S0 UD6$ g)z0Constructs proto message VmwareAutoRepairConfig.enabledNr   )r   r   r   r0   VmwareAutoRepairConfigr   s      r   r   )ClustersClient._vmware_auto_repair_config+  sC     	4++D1F {{6,,6v66r   c                    / n[         R                  " US5      nU(       a0  U H(  n[        R                  " US9nUR	                  U5        M*     U$ UR
                  S   S:X  a  g[        R                  R                  R                  R                  5       nU(       a'  [        R                  " US9nUR	                  U5        U$ g)z.Constructs repeated proto message ClusterUser.admin_users)usernamer   updateN)
r   r.   r0   ClusterUserappendr   r   r,   r-   account)r   r   cluster_user_messagesr   
admin_usercluster_user_messagegcloud_config_core_accountdefault_admin_user_messages           r   _cluster_usersClustersClient._cluster_users4  s    ))D-0K#*'33ZH$$%9: $ #" ( ",!2!2!7!7!?!?!C!C!E!#+#7#7-$  ""#=>""r   c                     SU R                  U5      0n[        R                  " U5      (       a  [        R                  " S0 UD6$ g)z'Constructs proto message Authorization.
adminUsersNr   )r   r   r   r0   Authorizationr   s      r   r   ClustersClient._authorizationM  sC     	d))$/F {{6##-f--r   c                 x    [         R                  " US5      (       a  g[         R                  " US5      (       a  gg)z,Constructs proto field dataplane_v2_enabled.enable_dataplane_v2Tdisable_dataplane_v2FNr   r   s     r   _dataplane_v2_enabled$ClustersClient._dataplane_v2_enabledV  s/    yy,--yy-..r   c                 x    [         R                  " US5      (       a  g[         R                  " US5      (       a  gg)z+Constructs proto field advanced_networking.enable_advanced_networkingTdisable_advanced_networkingFNr   r   s     r   _advanced_networking#ClustersClient._advanced_networking^  s/    yy344yy455r   c                     [         R                  " US5      [         R                  " US5      S.n[         R                  " U5      (       a  [        R                  " S0 UD6$ g)z1Constructs proto message VmwareDataplaneV2Config.r   r   )dataplaneV2EnabledadvancedNetworkingNr   )r   r.   r   r0   VmwareDataplaneV2Configr   s      r   r   *ClustersClient._vmware_dataplane_v2_configf  sQ     $ii.CD#ii.JKF {{6--777r   c                 x    [         R                  " US5      (       a  g[         R                  " US5      (       a  gg)z,Constructs proto field vsphere_csi_disabled.disable_vsphere_csiTenable_vsphere_csiFNr   r   s     r   _vsphere_csi_disabled$ClustersClient._vsphere_csi_disabledp  s/    yy,--yy+,,r   c                     SU R                  U5      0n[        R                  " U5      (       a  [        R                  " S0 UD6$ g)z-Constructs proto message VmwareStorageConfig.vsphereCsiDisabledNr   )r  r   r   r0   VmwareStorageConfigr   s      r   r   %ClustersClient._vmware_storage_configx  sC     	d88>F {{6))3F33r   c                 x    [         R                  " US5      (       a  g[         R                  " US5      (       a  gg)z+Constructs proto field aag_config_disabled.disable_aag_configTenable_aag_configFNr   r   s     r   _aag_config_disabled#ClustersClient._aag_config_disabled  s/    yy+,,yy*++r   c                     SU R                  U5      0n[        R                  " U5      (       a  [        R                  " S0 UD6$ g)z)Constructs proto message VmwareAAGConfig.aagConfigDisabledNr   )r  r   r   r0   VmwareAAGConfigr   s      r   r   !ClustersClient._vmware_aag_config  sC     	T66t<F {{6%%///r   c                 x    [         R                  " US5      (       a  g[         R                  " US5      (       a  gg)z2Constructs proto field auto_resize_config.enabled.enable_auto_resizeTdisable_auto_resizeFNr   r   s     r   _auto_resize_enabled#ClustersClient._auto_resize_enabled  s/    yy+,,yy,--r   c                     SU R                  U5      0n[        R                  " U5      (       a  [        R                  " S0 UD6$ g)z0Constructs proto message VmwareAutoResizeConfig.r   Nr   )r  r   r   r0   VmwareAutoResizeConfigr   s      r   _vmware_auto_resize_config)ClustersClient._vmware_auto_resize_config  sC     	4,,T2F {{6,,6v66r   c                 0   U R                  U5      [        R                  " US5      [        R                  " US5      [        R                  " US5      U R                  U5      S.n[        R                  " U5      (       a  [
        R                  " S0 UD6$ g)z6Constructs proto message VmwareControlPlaneNodeConfig.cpusmemoryreplicas)autoResizeConfigr  r  r  vsphereConfigNr   )r  r   r.   $_vmware_control_plane_vsphere_configr   r0   VmwareControlPlaneNodeConfigr   s      r   r   0ClustersClient._vmware_control_plane_node_config  sy    
 !;;DA		$'))D(+IIdJ/BB4HF {{622<V<<r   c                     SUR                  5       ;  a  gUR                  R                  SS5      UR                  R                  SS5      S.n[        R                  " S0 UD6$ )z9Constructs proto message VmwareControlPlaneVsphereConfig.control_plane_vsphere_configNr   zstorage-policy-name)r   r   r   )r6   r%  r   r0   VmwareControlPlaneVsphereConfigr   s      r   r!  3ClustersClient._vmware_control_plane_vsphere_config  sf     &T-F-F-HH 66::;M!>>BB!4
F 33=f==r   c                 R    [         R                  " US5      nU R                  U5      $ )z=Constructs proto message AnnotationsValue for create command.r|   )r   r.   _dict_to_annotations_message)r   r   r|   s      r   _create_annotations"ClustersClient._create_annotations  s#    ))D-0K,,[99r   c                 Z  ^ / SQn[        U4S jU 5       5      (       a  gTR                  R                  R                  5       nU R	                  U5      n0 nUR
                  (       a5  UR
                  R                   H  nUR                  XVR                  '   M     STR                  5       ;   a8  TR                  R                  5        H	  u  pxXU'   M     U R                  U5      $ STR                  5       ;   a  [        R                  R                  5       $ STR                  5       ;   aG  UR                  5        VVs0 s H  u  pxUTR                   ;  d  M  Xx_M     n	nnU R                  U	5      $ STR                  5       ;   a  U R                  TR"                  5      $ gs  snnf )z=Constructs proto message AnnotationsValue for update command.)add_annotationsclear_annotationsremove_annotationsset_annotationsc              3   H   >#    U  H  oTR                  5       ;  v   M     g 7f)N)r6   ).0flagr   s     r   	<genexpr>5ClustersClient._update_annotations.<locals>.<genexpr>  s!      <LDD--//<Ls   "Nr-  r.  r/  r0  )allCONCEPTSr   ParseDescriber|   additionalPropertiesvaluekeyr6   r-  itemsr)  r0   r   AnnotationsValuer/  r0  )
r   r   annotation_flagscluster_refcluster_responsecurr_annotations
annotationr<  r;  updated_annotationss
    `        r   _update_annotations"ClustersClient._update_annotations  s     <L   --''--/K}}[1##(44II*+5+;+;( J D5577,,224*# % 5../?@@	 9 9 ;	;##4466	!:!:!<	< -2244jc/// #*4  
 ../BCC	d779	9..t/C/CDDs   F'F'c                     / nU(       d  g UR                  5        H;  u  p4UR                  [        R                  R                  R                  X4S95        M=     [        R                  R	                  US9nU$ )N)r<  r;  )r:  )r=  r   r0   r   r>  AdditionalProperty)r   r|   additional_property_messagesr<  r;  annotation_value_messages         r   r)  +ClustersClient._dict_to_annotations_message  s~    #% !'')
"))

 
 
1
1
D
D E  *  (55FF9  G   $#r   c                     UR                   S   S:X  a  U R                  U5      $ UR                   S   S:X  a  U R                  U5      $ g)z*Constructs proto message AnnotationsValue.r   r   r   N)r   r*  rE  r   s     r   r   ClustersClient._annotations  sM    (%%d++			2	(	*%%d++r   c                     UR                  SS5      nU(       d  [        S5      eUR                  SS5      nU(       d  [        S5      eX#S.n[        R                  " S0 UD6$ )z&Constructs proto message VmwareHostIp.hostnameNz9Missing field [hostname] in Static IP configuration file.ipz3Missing field [ip] in Static IP configuration file.)rO  rP  r   )r   InvalidConfigFiler0   VmwareHostIp)r   host_iprO  rP  r   s        r   _vmware_host_ipClustersClient._vmware_host_ip  sh    {{:t,H
E  
T4	 B
?  #-F  *6**r   c                    UR                  SS5      nU(       d  [        S5      eUR                  SS5      nU(       d  [        S5      eUR                  S/ 5      nU(       d  [        S5      eUUU Vs/ s H  oPR                  U5      PM     snS.n[        R                  " U5      (       a  [
        R                  " S	0 UD6$ gs  snf )
z'Constructs proto message VmwareIpBlock.gatewayNz8Missing field [gateway] in Static IP configuration file.netmaskz8Missing field [netmask] in Static IP configuration file.ipsz4Missing field [ips] in Static IP configuration file.rW  rX  rY  r   )r   rQ  rT  r   r   r0   VmwareIpBlock)r   ip_blockrW  rX  host_ipsrS  r   s          r   _vmware_ip_blockClustersClient._vmware_ip_block  s    ll9d+G
D  ll9d+G
D  ||E2&H
@ 
 =EFX'$$W-XFF
 {{6##-f--	 Gs   3Cc                 ^   UR                   nUR                  SS 5      nU(       d  [        S5      eUR                  S/ 5      nU(       d  [        S5      eSU Vs/ s H  oPR                  U5      PM     sn0n[        R
                  " U5      (       a  [        R                  " S0 UD6$ g s  snf )NstaticIPConfigz?Missing field [staticIPConfig] in Static IP configuration file.ipBlocksz9Missing field [ipBlocks] in Static IP configuration file.r   )static_ip_config_from_filer   rQ  r^  r   r   r0   VmwareStaticIpConfig)r   r   file_contentstatic_ip_config	ip_blocksr\  r   s          r   "_vmware_static_ip_config_from_file1ClustersClient._vmware_static_ip_config_from_file4  s     22L#''(8$?
K  !$$Z4I
E 
 	YOY**84YOF {{6**4V44	 Ps   B*c                 (   [         R                  " 5       nUR                   Hg  n[         R                  " US   US   US    Vs/ s H  n[         R                  " US   US   S9PM      snS9nUR
                  R                  U5        Mi     U$ s  snf )NrW  rX  rY  r      rP  rO  rZ  )r0   rd  static_ip_config_ip_blocksr[  rR  rb  r   )r   r   vmware_static_ip_config_messager\  rP  vmware_ip_block_messages         r   "_vmware_static_ip_config_ip_blocks1ClustersClient._vmware_static_ip_config_ip_blocksK  s     '/&C&C&E#33 ( 6 69%9% !'" ##r!ur!u='! &..556MN 4 +*s   %Bc                     SUR                  5       ;   a  U R                  U5      $ SUR                  5       ;   a  U R                  U5      $ g)z.Constructs proto message VmwareStaticIpConfig.rc  rm  N)r6   rh  rp  r   s     r   _vmware_static_ip_config'ClustersClient._vmware_static_ip_config[  sI    #t'@'@'BB44T::#t'@'@'BB44T::r   c                     S[         R                  " US5      0n[         R                  " U5      (       a  [        R                  " S0 UD6$ g)z,Constructs proto message VmwareDhcpIpConfig.r   enable_dhcpNr   )r   r.   r   r0   VmwareDhcpIpConfigr   s      r   _vmware_dhcp_ip_config%ClustersClient._vmware_dhcp_ip_confige  sC     	599T=1F {{6((2622r   c                     [         R                  " US/ 5      [         R                  " US/ 5      [         R                  " US/ 5      S.n[         R                  " U5      (       a  [        R                  " S0 UD6$ g)z*Constructs proto message VmwareHostConfig.dns_serversntp_serversdns_search_domains)
dnsServers
ntpServersdnsSearchDomainsNr   )r   r.   r   r0   VmwareHostConfigr   s      r   _vmware_host_config"ClustersClient._vmware_host_confign  sd     iimR8iimR8!IId,@"EF
 {{6&&000r   c           
      ^   SUR                  5       ;  a  gUR                  R                  SS5      UR                  R                  SS5      UR                  R                  S/ 5       Vs/ s H  n[        R                  " US   US   S9PM      snS	.n[        R
                  " S
0 UD6$ s  snf )z-Constructs proto message ControlPlaneIpBlock.control_plane_ip_blockNrW  rX  rY  r   rk  rl  rZ  r   )r6   r  r   r0   rR  r[  )r   r   rP  r   s       r   _control_plane_ip_block&ClustersClient._control_plane_ip_blocky  s    t'@'@'BB ..229dC..229dC 1155eR@
@ !!RURU;@
F !!+F++
s   *%B*c                     SU R                  U5      0n[        UR                  5       5      (       a  [        R                  " S0 UD6$ g)z4Constructs proto message VmwareControlPlaneV2Config.controlPlaneIpBlockNr   )r  r   r   r0   VmwareControlPlaneV2Configr   s      r   _vmware_control_plane_v2_config.ClustersClient._vmware_control_plane_v2_config  sE     	t;;DAF 6==?00:6::r   c                 N   [         R                  " US/ 5      [         R                  " US/ 5      U R                  U5      U R                  U5      U R	                  U5      U R                  U5      S.n[        UR                  5       5      (       a  [        R                  " S0 UD6$ g)z-Constructs proto message VmwareNetworkConfig.service_address_cidr_blockspod_address_cidr_blocks)serviceAddressCidrBlockspodAddressCidrBlocksstaticIpConfigdhcpIpConfig
hostConfigcontrolPlaneV2ConfigNr   )
r   r.   rs  rx  r  r  r   r   r0   VmwareNetworkConfigr   s      r   r   %ClustersClient._vmware_network_config  s     %*II/%
 !&		$0I2 N77=33D9..t4 $ D DT J	F 6==?))3F33r   c                     U R                  U5      U R                  U5      U R                  U5      U R                  U5      S.n[	        UR                  5       5      (       a  [        R                  " S0 UD6$ g)z2Constructs proto message VmwareLoadBalancerConfig.)f5ConfigmetalLbConfigmanualLbConfig	vipConfigNr   )_vmware_f5_big_ip_config_vmware_metal_lb_config_vmware_manual_lb_config_vmware_vip_configr   r   r0   VmwareLoadBalancerConfigr   s      r   r   +ClustersClient._vmware_load_balancer_config  sm     11$755d;77=,,T2	F 6==?..888r   c                     [         R                  " US5      [         R                  " US5      S.n[        UR                  5       5      (       a  [        R
                  " S0 UD6$ g)z)Constructs proto message VmwareVipConfig.control_plane_vipingress_vip)controlPlaneVip
ingressVipNr   )r   r.   r   r   r0   VmwareVipConfigr   s      r   r  !ClustersClient._vmware_vip_config  sR     !99T+>?iim4F 6==?%%///r   c                     [         R                  " US5      [         R                  " US5      [         R                  " US5      S.n[        UR                  5       5      (       a  [        R
                  " S0 UD6$ g)z-Constructs proto message VmwareF5BigIpConfig.f5_config_addressf5_config_partitionf5_config_snat_pool)address	partitionsnatPoolNr   )r   r.   r   r   r0   VmwareF5BigIpConfigr   s      r   r  'ClustersClient._vmware_f5_big_ip_config  sb     99T#67YYt%:;IId$9:F
 6==?))3F33r   c                     UR                   nUR                  SS 5      nU(       d  [        S5      eUR                  S/ 5      nU(       d  [        S5      eSU R                  U5      0n[        R
                  " S0 UD6$ )NmetalLBConfigz=Missing field [metalLBConfig] in Metal LB configuration file.addressPoolsz<Missing field [addressPools] in Metal LB configuration file.r   )metal_lb_config_from_filer   rQ  _address_poolsr0   VmwareMetalLbConfig)r   r   re  metal_lb_configaddress_poolsr   s         r   !_vmware_metal_lb_config_from_file0ClustersClient._vmware_metal_lb_config_from_file  s     11L"&&=O
I  $'';M
H 
 	++M:F ''1&11r   c           
      :   [         R                  " 5       nUR                   Hu  n[         R                  " UR	                  S/ 5      UR	                  SS 5      UR	                  SS 5      UR	                  SS 5      S9nUR
                  R                  U5        Mw     U$ )N	addresseszavoid-buggy-ipszmanual-assignpoolr  avoidBuggyIpsmanualAssignr  )r0   r  metal_lb_config_address_poolsVmwareAddressPoolr   r  r   )r   r   vmware_metal_lb_configaddress_pooladdress_pool_messages        r   !_vmware_metal_lb_config_from_flag0ClustersClient._vmware_metal_lb_config_from_flag  s     &99;::%77 $$["5$(():DA#''>-	 ))001EF ; "!r   c                     SUR                  5       ;   a  U R                  U5      $ SUR                  5       ;   a  U R                  U5      $ g)z-Constructs proto message VmwareMetalLbConfig.r  r  N)r6   r  r  r   s     r   r  &ClustersClient._vmware_metal_lb_config  sI    "d&?&?&AA33D99	(D,E,E,G	G33D99r   c                    [         R                  " US5      [         R                  " US5      [         R                  " US5      [         R                  " US5      S.n[         R                  " U5      (       a  [        R                  " S0 UD6$ g)z.Constructs proto message VmwareManualLbConfig.control_plane_node_portingress_http_node_portingress_https_node_portkonnectivity_server_node_port)controlPlaneNodePortingressHttpNodePortingressHttpsNodePortkonnectivityServerNodePortNr   )r   r.   r   r0   VmwareManualLbConfigr   s      r   r  'ClustersClient._vmware_manual_lb_config  sr     !&		$0I J$yy/GH %		$0I J&+ii1'
	F {{6**4V44r   c                 P    U Vs/ s H  nU R                  U5      PM     sn$ s  snf )z-Constructs proto message field address_pools.)_vmware_address_pool)r   r  r  s      r   r  ClustersClient._address_pools  s4     *)L 	!!,/)  s   #c                    UR                  S/ 5      nU(       d  [        S5      eUR                  SS5      nUR                  SS5      nUR                  SS5      nU(       d  [        S5      eUUUUS.n[        R                  " S	0 UD6$ )
z+Constructs proto message VmwareAddressPool.r  z9Missing field [addresses] in Metal LB configuration file.avoidBuggyIPsNr  r  z4Missing field [pool] in Metal LB configuration file.r  r   )r   rQ  r0   r  )r   r  r  avoid_buggy_ipsmanual_assignr  r   s          r   r  #ClustersClient._vmware_address_pool  s      b1I
E  #&&=O $$^T:MFD)D
@ 
 (%	F %%///r   )r   )H__name__
__module____qualname____firstlineno____doc__r   r
   	Namespacer   r0   r   r>   	OperationrM   rX   r_   rf   rn   rw   r    QueryVmwareVersionConfigResponser2   rd   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r  r  r   r   r&  r!  r*  rE  r)  r   rR  rT  r^  rh  rp  rs  rx  r  r  r  r   r   r  r  r  r  r  r  r  r  r  r  __static_attributes____classcell__)r   s   @r   r   r       sy   6C,#--,''t34,\%*44 %9K9K %"',66 '8;M;M '%*44 %9K9K %%*44 %9K9K %%''%
 %$$*44 $9K9K $$#--$$<1#--1001 "3"="= 2):)D)D "3"="= +<+F+F  '8'B'B 
&7&A&A ->-H-H !2!<!< 2!2!<!< (9(C(C '8'B'B .?.I.I (9(C(C ):)D)D '8'B'B %6%@%@ '8'B'B ->-H-H #-->#-->889>:&7&A&A :
%&7&A&A %N$"0:: +(=(= +":#--.+#--+ +<+F+F ):)D)D 	&7&A&A 	,*;*E*E ,2C2M2M ):)D)D  
/@/J/J 
%6%@%@ 	+<+F+F 	2#--2##2*"#--"##"*;*E*E +<+F+F 0(2L2L 0 0r   r   c                       \ rS rSrSrSrg)rQ  i  zInvalid Argument.r   N)r  r  r  r  r  r  r   r   r   rQ  rQ    s    r   rQ  N)r  typingr   r   apitools.base.pyr   r3   r   *googlecloudsdk.api_lib.container.gkeonpremr   r   'googlecloudsdk.api_lib.container.vmwarer	   googlecloudsdk.callioper
   +googlecloudsdk.command_lib.container.vmwarer   googlecloudsdk.corer   2googlecloudsdk.generated_clients.apis.gkeonprem.v1r   r0   
ClientBaser   ErrorrQ  r   r   r   <module>r     sU    H ' > ' = B @ 5 = * * `z0V&& z0z
(( r   