
    "                         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	KJr  SS
KJr  SSKJr   " S S\
R&                  5      rg)z?Utilities for node pool resources in Anthos clusters on VMware.    )absolute_import)division)unicode_literals)	Generator)
list_pager)client)update_mask)parser_extensions)flags)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                  4S jrS\R                  4S jrS\R                  S\	R*                  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U =r$ )NodePoolsClient   z7Client for node pools in Anthos clusters on VMware API.c                 d   > [         [        U ]
  " S0 UD6  U R                  R                  U l        g )N )superr   __init___client1projects_locations_vmwareClusters_vmwareNodePools_service)selfkwargs	__class__s     Clib/googlecloudsdk/api_lib/container/gkeonprem/vmware_node_pools.pyr   NodePoolsClient.__init__"   s)    	/4)3F3FF 	M    argsreturnNc           
          [         R                  " U R                  U5      S9n[        R                  " U R
                  US[        R                  " US5      [        R                  " US5      SS9$ )z6Lists Node Pools in the Anthos clusters on VMware API.)parentvmwareNodePools	page_sizelimitpageSize)field
batch_sizer#   batch_size_attribute)messagesBGkeonpremProjectsLocationsVmwareClustersVmwareNodePoolsListRequest_user_cluster_namer   YieldFromListr   r   Get)r   r   list_reqs      r   ListNodePoolsClient.List(   sc     ZZ&&t,H ##99T;/iig&' r   c                 :   [         R                  " US5      [         R                  " US5      U R                  U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 a gkeonprem node pool API resource.allow_missingetagvalidate_onlyignore_errors)allowMissingr2   namevalidateOnlyignoreErrorsr   )r   r,   _node_pool_namer(   DGkeonpremProjectsLocationsVmwareClustersVmwareNodePoolsDeleteRequestr   Deleter   r   r   reqs       r   r;   NodePoolsClient.Delete8   s     		$8		$'$$T*		$8		$8F 
W
W 
C ==$$r   c                 2   U R                  U5      nUR                  5       R                  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 a gkeonprem node pool API resource.r3   )r    r7   vmwareNodePoolvmwareNodePoolIdr   )_node_pool_refParentRelativeNamer   r,   _vmware_node_pool_node_pool_idr(   DGkeonpremProjectsLocationsVmwareClustersVmwareNodePoolsCreateRequestr   Create)r   r   node_pool_refr   r=   s        r   rH   NodePoolsClient.CreateF   s    ''-M&&(557		$8006 ..t4	F 
W
W 
C ==$$r   c                 J   [         R                  " US5      U R                  U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      $ )z+Updates a gkeonprem node pool API resource.r1   r3   )r5   r6   
updateMaskr7   r@   r   )r   r,   r9   r	   get_update_mask%VMWARE_NODE_POOL_ARGS_TO_UPDATE_MASKSrE   r(   CGkeonpremProjectsLocationsVmwareClustersVmwareNodePoolsPatchRequestr   Patchr<   s       r   UpdateNodePoolsClient.UpdateT   s     		$8$$T*!11+CC
 		$8006F 
V
V 
C ==s##r   c                     [         R                  " U R                  U5      S9n[         R                  " UU R	                  U5      S9nU R
                  R                  U5      $ )z3Enrolls an Anthos on VMware node pool API resource.)rA   )enrollVmwareNodePoolRequestr    )r(   EnrollVmwareNodePoolRequestrF   DGkeonpremProjectsLocationsVmwareClustersVmwareNodePoolsEnrollRequest_node_pool_parentr   Enroll)r   r   enroll_vmware_node_pool_requestr=   s       r   rX   NodePoolsClient.Enrolld   s[    &.&J&J++D1'# 
W
W$C%%d+C ==$$r   c                    [         R                  " US5      [         R                  " US5      U R                  U5      [         R                  " US5      S.n[        R                  " S0 UD6nU R
                  R                  U5      $ )z5Unenrolls an Anthos on VMware node pool API resource.r1   r2   r3   )r5   r2   r6   r7   r   )r   r,   r9   r(   FGkeonpremProjectsLocationsVmwareClustersVmwareNodePoolsUnenrollRequestr   Unenrollr<   s       r   r]   NodePoolsClient.Unenrollo   st     		$8		$'$$T*		$8	F 
Y
Y 
C ==!!#&&r   c                    U R                  U5      [        R                  " US5      U R                  U5      U R	                  U5      [        R                  " US5      U R                  U5      S.n[        R                  " S0 UD6$ )z(Constructs proto message VmwareNodePool.display_nameversion)r6   displayNameannotationsconfigonPremVersionnodePoolAutoscalingr   )r9   r   r,   _annotations_vmware_node_config$_vmware_node_pool_autoscaling_configr(   VmwareNodePoolr   r   r   s      r   rE   !NodePoolsClient._vmware_node_pool|   su    
 $$T*yy~6((.**4043#HHNF "",V,,r   c                 x    [         R                  " US5      (       a  g[         R                  " US5      (       a  gg )Nenable_load_balancerTdisable_load_balancerF)r   r,   )r   r   s     r   _enable_load_balancer%NodePoolsClient._enable_load_balancer   s/    yy-..yy.//r   c                     / n[         R                  " US0 5      nUR                  5        H9  nU R                  U5      nUR	                  [
        R                  " S0 UD65        M;     U$ )Nnode_taintsr   )r   r,   items_parse_node_taintappendr(   	NodeTaint)r   r   taint_messagesrs   
node_tainttaint_objects         r   _node_taintsNodePoolsClient._node_taints   s`    N))D-4K!'')
++J7lH..>>? * r   c                 "   [         R                  " US0 5      n/ nU(       d  gUR                  5        H;  u  pEUR                  [        R
                  R                  R                  XES95        M=     [        R
                  R                  US9nU$ )z%Constructs proto message LabelsValue.node_labelsNkeyvalueadditionalProperties)r   r,   rt   rv   r(   VmwareNodeConfigLabelsValueAdditionalProperty)r   r   r~   additional_property_messagesr   r   labels_value_messages          r   _labels_valueNodePoolsClient._labels_value   s     ))D-4K#% !'')
"))

#
#
/
/
B
B C  * $44@@9 A   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      U R                  U5      U R                  U5      U R	                  U5      U R                  U5      S.
n[         R                  " U5      (       a  [        R                  " S	0 UD6$ g)
z*Constructs proto message VmwareNodeConfig.cpusmemoryreplicas
image_typeimageboot_disk_size)
r   memoryMbr   	imageTyper   bootDiskSizeGbtaintslabelsvsphereConfigenableLoadBalancerNr   )	r   r,   r{   r   _vsphere_configrp   IsSetr(   r   rk   s      r   rh   #NodePoolsClient._vmware_node_config   s     		$'IIdH-IIdJ/YYt\24)))D*:;##D)$$T*--d3"88>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      S.n[        R                  " U5      (       a  [
        R                  " S0 UD6$ g)z-Constructs proto message VmwareVsphereConfig.vsphere_configN	datastorezstorage-policy-name)r   storagePolicyNamer   )GetSpecifiedArgsDictr   getr   r   r(   VmwareVsphereConfigrk   s      r   r   NodePoolsClient._vsphere_config   sv    t88:: ((,,[$?!0044!4
F {{6))3F33r   c                     [         R                  " US5      [         R                  " US5      S.n[        UR                  5       5      (       a  [        R
                  " S0 UD6$ g)z9Constructs proto message VmwareNodePoolAutoscalingConfig.min_replicasmax_replicas)minReplicasmaxReplicasNr   )r   r,   anyvaluesr(   VmwareNodePoolAutoscalingConfigrk   s      r   ri   4NodePoolsClient._vmware_node_pool_autoscaling_config   sQ    
 yy~6yy~6F 6==?55???r   c                 "   [         R                  " US0 5      n/ nU(       d  gUR                  5        H;  u  pEUR                  [        R
                  R                  R                  XES95        M=     [        R
                  R                  US9nU$ )z*Constructs proto message AnnotationsValue.rc   Nr   r   )r   r,   rt   rv   r(   rj   AnnotationsValuer   )r   r   rc   r   r   r   annotation_value_messages          r   rg   NodePoolsClient._annotations   s    ))D-4K#% !'')
"))

!
!
2
2
E
E F  *  (66GG9  H   $#r   )r   )__name__
__module____qualname____firstlineno____doc__r   r
   	Namespacer   r(   rj   r.   	Operationr;   rH   rQ   rX   r]   rE   rp   r{   r   r   r   rh   r   ri   rg   __static_attributes____classcell__)r   s   @r   r   r      s   ?#--(($45 %*44 %9K9K %%*44 %9K9K %$*44 $9K9K $ 	%*44 	%9K9K 	%',66 '8;M;M '-#----(9(C(C 0::  #--   ,, ,&7&A&A $"3"="= 
#--
$0:: $ $r   r   N)r   
__future__r   r   r   typingr   apitools.base.pyr   *googlecloudsdk.api_lib.container.gkeonpremr   r	   googlecloudsdk.callioper
   +googlecloudsdk.command_lib.container.vmwarer   2googlecloudsdk.generated_clients.apis.gkeonprem.v1r   r(   
ClientBaser   r   r   r   <module>r      s=    F &  '  ' = B 5 = `N$f'' N$r   