
                         J    S r SSKJr  SSKJr   " S S\R
                  5      rg)zCloud vmware Clusters client.    )
list_pager)utilc                   Z   ^  \ 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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   r0   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   r8   ClustersClient.Delete7   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_countr2   )r    r.   ,)r   r"   
updateMask)r   r&   r   r'   r(   r)   autoscaling_policiesr*   r+   r,   r-   join>VmwareengineProjectsLocationsPrivateCloudsClustersPatchRequestr   r   Patch)r   r   r1   r2   r4   node_type_configs_update_mask autoscaling_settings_update_maskautoscaling_settings_messager"   update_maskr   s              r   UpdateClustersClient.UpdateG   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   c	                 d   U R                   R                  UR                  5       R                  5       S-   U-   S9n	Ub  XIl        Ub  XYl        U R                   R                  UU	S9n
U(       a*  U R                   R                  R                  U5      U
l        U(       a5  US:X  a  SnOUnU R                   R                  R                  U5      U
l
        U R                   R                  U
US9nU R                   R                  UR                  5       US9nU R                  R                  U5      $ )z Mounts a datastore to a cluster.z	/subnets/)subnet)	datastoredatastoreNetworkNFS_V4NFS_V41)datastoreMountConfigignoreColocation)r   mountDatastoreRequest)r   DatastoreNetworkr$   r   mtuconnectionCountDatastoreMountConfigAccessModeValueValuesEnum
accessModeNfsVersionValueValuesEnum
nfsVersionMountDatastoreRequestGVmwareengineProjectsLocationsPrivateCloudsClustersMountDatastoreRequestr   MountDatastore)r   cluster_refrT   rS   r\   connection_countaccess_modenfs_versionignore_colocationdatastore_networkdatastore_mount_confignfs_version_enum_strmount_datastore_requestr   s                 r   re   ClustersClient.MountDatastorer   s@    66!!#002[@6I 7  !#*:'!]]??* @  
--
,
,
F
F '
 		 (*
--
,
,
F
F" '
 #mmAA3* B  mmcc%%'5 d G <<&&w//r   c                     U R                   R                  US9nU R                   R                  UR                  5       US9nU R                  R                  U5      $ )z$Unmounts a datastore from a cluster.)rT   )r   unmountDatastoreRequest)r   UnmountDatastoreRequestIVmwareengineProjectsLocationsPrivateCloudsClustersUnmountDatastoreRequestr   r   UnmountDatastore)r   rf   rT   unmount_datastore_requestr   s        r   rt   ClustersClient.UnmountDatastore   sb     $ E E !F ! mmee%%' 9 f G <<((11r   )r   r	   )__name__
__module____qualname____firstlineno____doc__r   r   r0   r8   rC   rP   re   rt   __static_attributes____classcell__)r   s   @r   r   r      s6    %I%
(*(
	)'V00d	2 	2r   r   N)r{   apitools.base.pyr   googlecloudsdk.api_lib.vmwarer   VmwareClientBaser    r   r   <module>r      s&    $ ( .W2T** W2r   