
                         n    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\R                  5      r
g	)
zCloud vmware Clusters client.    )absolute_import)division)unicode_literals)
list_pager)utilc                   N   ^  \ rS rSrSrU 4S jrS rS
S jrS rS r	S r
S	rU =r$ )ClustersClient   zcloud vmware Clusters client.c                 `   > [         [        U ]  5         U R                  R                  U l        g N)superr	   __init__client)projects_locations_privateClouds_clustersservice)self	__class__s    -lib/googlecloudsdk/api_lib/vmware/clusters.pyr   ClustersClient.__init__   s!    	.$(*;;HHDL    c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ N)name)messages<VmwareengineProjectsLocationsPrivateCloudsClustersGetRequestRelativeNamer   Getr   resourcerequests      r   r   ClustersClient.Get    s=    mmXX""$ Y &G<<G$$r   c                 D   UR                  5       R                  5       nUR                  5       n[        R                  " U R
                  R                  R                  U R
                  R                  U5      nU R
                  R                  US9n[        R                  " U R
                  R                  U R
                  R                  U R
                  R                  U5      Ul        U R
                  R                  UUUS9nU R                  R!                  U5      $ )N)nodeTypeConfigs)parentcluster	clusterId)Parentr   Namer   #ConstructNodeParameterConfigMessager   ClusterNodeTypeConfigsValueNodeTypeConfig#ConstructAutoscalingSettingsMessageAutoscalingSettingsAutoscalingPolicy
ThresholdsautoscalingSettings?VmwareengineProjectsLocationsPrivateCloudsClustersCreateRequestr   Create)	r   r   nodes_configsautoscaling_settingsr$   
cluster_idnode_type_configsr%   r    s	            r   r3   ClustersClient.Create%   s    __++-FJ@@22$$m5 mm##4E#FG"&"J"J))''  	#G mm[[ \ G
 <<w''r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      $ r   )r   ?VmwareengineProjectsLocationsPrivateCloudsClustersDeleteRequestr   r   Deleter   s      r   r;   ClustersClient.Delete:   s=    mm[[""$ \ &G<<w''r   c                     UR                  5       nU R                  R                  US9n[        R                  " U R
                  USSS9$ )N)r$   pageSizeclusters)batch_size_attributefield)r   r   =VmwareengineProjectsLocationsPrivateCloudsClustersListRequestr   YieldFromListr   )r   private_cloud_resourceprivate_cloudr    s       r   ListClustersClient.List?   sR    *779MmmYY Z G ##'	 r   c                 r   S / pTUbM  [         R                  " U R                  R                  R                  U R                  R
                  U5      nS/nUb  S/nO/ nUbg  UR                  (       aV  [         R                  " U R                  R                  U R                  R                  U R                  R                  U5      nOS nU R                  R                  UUS9nSR                  XV-   5      n	U R                  R                  UR                  5       XS9n
U R                  R                  U
5      $ )Nznode_type_configs.*.node_countr5   )r#   r1   ,)r   r%   
updateMask)r   r)   r   r*   r+   r,   autoscaling_policiesr-   r.   r/   r0   join>VmwareengineProjectsLocationsPrivateCloudsClustersPatchRequestr   r   Patch)r   r   r4   r5   r7   node_type_configs_update_mask autoscaling_settings_update_maskautoscaling_settings_messager%   update_maskr    s              r   UpdateClustersClient.UpdateJ   s/   7;R4 BB
--


4
4
--
&
&

 (H&H#'*@)A&)+& 	( 55%)%M%M
--
+
+
--
)
)
--
"
"
	&" &*"mm##)8 $ G ((%HK mmZZ""$g [ G <<g&&r   )r   r   )__name__
__module____qualname____firstlineno____doc__r   r   r3   r;   rF   rS   __static_attributes____classcell__)r   s   @r   r	   r	      s*    %I%
(*(
	)' )'r   r	   N)rY   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.vmwarer   VmwareClientBaser	    r   r   <module>ra      s-    $ &  ' ' .Z'T** Z'r   