
    s                        S r SSKJr  SSKJr  SSKJ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\R4                  5      r " S S\	R8                  5      rg)zAUtilities for gkeonprem API clients for VMware cluster resources.    )absolute_import)division)unicode_literals)	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   r1   r3   EnrollVmwareClusterRequest5GkeonpremProjectsLocationsVmwareClustersEnrollRequest_user_cluster_parentr   Enroll)r   r!   r   enroll_vmware_cluster_requestreqs        r   rP   ClustersClient.EnrollX   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_missingrE   )namerU   allowMissingrI   r   )_user_cluster_namer   r1   r3   7GkeonpremProjectsLocationsVmwareClustersUnenrollRequestr   Unenrollr   r!   r   rR   s       r   r[   ClustersClient.Unenrolli   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.rV   rE   rU   ignore_errors)rW   rX   rI   rU   ignoreErrorsr   )rY   r   r1   r3   5GkeonpremProjectsLocationsVmwareClustersDeleteRequestr   Deleter\   s       r   rb   ClustersClient.Deletev   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.rE   )r&   rI   vmwareClusterrG   r   )	rO   r   r1   _vmware_clusterrL   r3   5GkeonpremProjectsLocationsVmwareClustersCreateRequestr   Creater\   s       r   ri   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      $ re   )	ParentRelativeNamer   r1   Namer3   rh   r   ri   )r   r!   vmware_clustervmware_cluster_refr   rR   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      $ )NrV   rE   rW   rX   
updateMaskrI   rf   r   )rY   r   r1   r   get_update_mask#VMWARE_CLUSTER_ARGS_TO_UPDATE_MASKSrg   r3   4GkeonpremProjectsLocationsVmwareClustersPatchRequestr   Patchr\   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authorizationrV   ,rE   rt   r   )rY   r   r1   joinr3   rx   r   ry   )r   r!   ro   top_level_mutable_fieldsr   rR   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   )rK   rY   _location_refrm   r3   r4   r   r5   r\   s       r   r5   !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.rW   rF   r}   onPremVersionversionr   controlPlaneNodeantiAffinityGroupsr   networkConfigloadBalancervcenterdataplaneV2vmTrackingEnabledautoRepairConfigr   enableControlPlaneV2upgradePolicyNr   )rY   rK   r   r1   _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valuesr3   VmwareClusterr   r!   r   s      r   rg   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   r1   IsSetr3   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_policyr3   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)r9   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   r1   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   r3   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   r1   r3   ClusterUserappendr   r   r/   r0   account)r   r!   cluster_user_messagesr   
admin_usercluster_user_messagegcloud_config_core_accountdefault_admin_user_messages           r   _cluster_usersClustersClient._cluster_users7  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   r3   Authorizationr   s      r   r   ClustersClient._authorizationP  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_enabledY  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_networkinga  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   r1   r   r3   VmwareDataplaneV2Configr   s      r   r   *ClustersClient._vmware_dataplane_v2_configi  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_disableds  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   r3   VmwareStorageConfigr   s      r   r   %ClustersClient._vmware_storage_config{  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   r3   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   r3   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   r1   $_vmware_control_plane_vsphere_configr   r3   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   )r9   r(  r   r3   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   r1   _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)r9   ).0flagr!   s     r   	<genexpr>5ClustersClient._update_annotations.<locals>.<genexpr>  s!      <LDD--//<Ls   "Nr0  r1  r2  r3  )allCONCEPTSr   ParseDescriber   additionalPropertiesvaluekeyr9   r0  itemsr,  r3   r   AnnotationsValuer2  r3  )
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   r3   r   rA  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-  rH  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.)rR  rS  r   )r   InvalidConfigFiler3   VmwareHostIp)r   host_iprR  rS  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.rZ  r[  r\  r   )r   rT  rW  r   r   r3   VmwareIpBlock)r   ip_blockrZ  r[  host_ipsrV  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   rT  ra  r   r   r3   VmwareStaticIpConfig)r   r!   file_contentstatic_ip_config	ip_blocksr_  r   s          r   "_vmware_static_ip_config_from_file1ClustersClient._vmware_static_ip_config_from_file7  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 )NrZ  r[  r\  r      rS  rR  r]  )r3   rg  static_ip_config_ip_blocksr^  rU  re  r   )r   r!   vmware_static_ip_config_messager_  rS  vmware_ip_block_messages         r   "_vmware_static_ip_config_ip_blocks1ClustersClient._vmware_static_ip_config_ip_blocksN  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.rf  rp  N)r9   rk  rs  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   r1   r   r3   VmwareDhcpIpConfigr   s      r   _vmware_dhcp_ip_config%ClustersClient._vmware_dhcp_ip_configh  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   r1   r   r3   VmwareHostConfigr   s      r   _vmware_host_config"ClustersClient._vmware_host_configq  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_blockNrZ  r[  r\  r   rn  ro  r]  r   )r9   r  r   r3   rU  r^  )r   r!   rS  r   s       r   _control_plane_ip_block&ClustersClient._control_plane_ip_block|  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   r3   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   r1   rv  r{  r  r  r   r   r3   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   r3   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   r1   r   r   r3   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   r1   r   r   r3   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   rT  _address_poolsr3   VmwareMetalLbConfig)r   r!   rh  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  )r3   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)r9   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   r1   r   r3   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   rT  r3   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   r3   r   rA   	OperationrP   r[   rb   ri   rq   rz   r    QueryVmwareVersionConfigResponser5   rg   r   r   r   r   r   r   r   r   r   r   r   r  r   r  r   r  r  r   r   r)  r$  r-  rH  r,  r   rU  rW  ra  rk  rs  rv  r{  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)rT  i   zInvalid Argument.r   N)r  r  r  r  r  r  r   r    r   rT  rT     s    r    rT  N)r  
__future__r   r   r   typingr   r   apitools.base.pyr   r6   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   r3   
ClientBaser   ErrorrT  r   r    r   <module>r     s\    H &  ' & > ' = B @ 5 = * * `z0V&& z0z
(( r    