
                         z    d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
  G d d	ej                        Zy
)z"Cloud vmware sddc Clusters client.    )absolute_import)division)unicode_literals)
list_pager)util)flagsc                   H     e Zd ZdZ fdZd Zd	dZd Zd Zd Z	d Z
 xZS )
ClustersClientzcloud vmware Clusters client.c                 `    t         t        |           | j                  j                  | _        y N)superr
   __init__client)projects_locations_clusterGroups_clustersservice)self	__class__s    2lib/googlecloudsdk/api_lib/vmware/sddc/clusters.pyr   zClustersClient.__init__   s!    	.$(*;;HHDL    c                     | j                   j                  |j                               }| j                  j	                  |      S N)name)messages4SddcProjectsLocationsClusterGroupsClustersGetRequestRelativeNamer   Getr   resourcerequests      r   r   zClustersClient.Get!   s=    mmPP""$ Q &G<<G$$r   c                 :   |j                         j                         }|j                         }| j                  j	                  |||      }t        j                  ||       | j                  j                  |||d      }	| j                  j                  |	      S )N)	nodeCountdefaultZonenodeTypeT)parentcluster	clusterIdmanagementCluster)
Parentr   Namer   Clusterr   AddLabelsToMessage7SddcProjectsLocationsClusterGroupsClustersCreateRequestr   Create)
r   r   
node_count	node_typezonelabelsr$   
cluster_idr%   r   s
             r   r-   zClustersClient.Create&   s    __++-FJmm##$ $ DG	VW-mmSS	 T  G <<w''r   c                     | j                   j                  |j                               }| j                  j	                  |      S r   )r   7SddcProjectsLocationsClusterGroupsClustersDeleteRequestr   r   Deleter   s      r   r5   zClustersClient.Delete5   s=    mmSS""$ T &G<<w''r   c                     |j                         }| j                  j                  |      }t        j                  | j
                  |dd      S )N)r$   pageSizeclusters)batch_size_attributefield)r   r   5SddcProjectsLocationsClusterGroupsClustersListRequestr   YieldFromListr   )r   cluster_group_resourcecluster_groupr   s       r   ListzClustersClient.List:   sU    *779MKK  	L 	
 
 ##'	 r   c                     | j                  |      }| j                  j                  |j                         | j                  j	                  |j
                  |z               }| j                  j                  |      S )Nr!   )r%   addNodesRequest)r   r   9SddcProjectsLocationsClusterGroupsClustersAddNodesRequestr   AddNodesRequestr!   r   AddNodesr   r   r.   r%   r   s        r   rE   zClustersClient.AddNodesG   sr    hhx GmmUU%%'55''*4 6 6 V 7G <<  ))r   c                     | j                  |      }| j                  j                  |j                         | j                  j	                  |j
                  |z
              }| j                  j                  |      S )NrA   )r%   removeNodesRequest)r   r   <SddcProjectsLocationsClusterGroupsClustersRemoveNodesRequestr   RemoveNodesRequestr!   r   RemoveNodesrF   s        r   rK   zClustersClient.RemoveNodesO   sr    hhx GmmXX%%'==;;''*4 < 6 Y 7G <<##G,,r   r   )__name__
__module____qualname____doc__r   r   r-   r5   r?   rE   rK   __classcell__)r   s   @r   r
   r
      s*    %I%
((
*-r   r
   N)rO   
__future__r   r   r   apitools.base.pyr   "googlecloudsdk.api_lib.vmware.sddcr   &googlecloudsdk.command_lib.vmware.sddcr   VmwareClientBaser
    r   r   <module>rW      s.    ) &  ' ' 3 8;-T** ;-r   