
                         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 Privateclouds client.    )absolute_import)division)unicode_literals)
list_pager)util)flagsc                   N     e Zd ZdZ fdZd Z	 	 ddZ	 	 	 d	dZd Zd Z	 xZ
S )
PrivatecloudsClientz"cloud vmware privateclouds client.c                 `    t         t        |           | j                  j                  | _        y )N)superr
   __init__client projects_locations_clusterGroupsservice)self	__class__s    7lib/googlecloudsdk/api_lib/vmware/sddc/privateclouds.pyr   zPrivatecloudsClient.__init__   s"    	
t-/;;??DL    c                     | j                   j                  |j                               }| j                  j	                  |      S N)name)messages,SddcProjectsLocationsClusterGroupsGetRequestRelativeNamer   Getr   resourcerequests      r   r   zPrivatecloudsClient.Get!   s=    mmHH""$ I &G<<G$$r   c                 ~   |j                         j                         }|j                         }| j                  j	                  |      }	t        j                  ||	       | j                  j                  |||      }
|
|	_        | j                  j                  ||	|      }| j                  j                  |      S )N)description)networkmanagementCidrworkloadCidr)parentclusterGroupclusterGroupId)Parentr   Namer   ClusterGroupr   AddLabelsToMessageNetworkConfignetworkConfig/SddcProjectsLocationsClusterGroupsCreateRequestr   Create)r   r   vpc_networkmanagement_ip_rangeworkload_ip_rangelabelsr    r$   cluster_group_idcluster_groupnetwork_configr   s               r   r.   zPrivatecloudsClient.Create&   s     __++-F}}MM..;.GM	V]3]]00*& 1 (N #1MmmKK"' L )G <<w''r   c                    | j                  |      }dg}|t        j                  ||       |||_        |j	                  d       |"||j
                  _        |j	                  d       | j                  j                  ||j                         dj                  |            }| j                  j                  |      S )Nr2   r    z!network_config.external_ip_access,)r%   r   
updateMask)r   r   r*   r    appendr,   externalIpAccessr   .SddcProjectsLocationsClusterGroupsPatchRequestr   joinr   Patch)r   r   r2   r    external_ip_accessr4   update_maskr   s           r   UpdatezPrivatecloudsClient.Update>   s    
 HHX&M*Kv}5"-m'%5Gm!!2<=mmJJ"""$88K( K *G <<g&&r   c                     | j                   j                  |j                               }| j                  j	                  |      S r   )r   /SddcProjectsLocationsClusterGroupsDeleteRequestr   r   Deleter   s      r   rC   zPrivatecloudsClient.DeleteS   s=    mmKK""$ L &G<<w''r   c                     |j                         }| j                  j                  |      }t        j                  | j
                  |dd      S )N)r$   pageSizeclusterGroups)batch_size_attributefield)r   r   -SddcProjectsLocationsClusterGroupsListRequestr   YieldFromListr   )r   location_resourcelocationr   s       r   ListzPrivatecloudsClient.ListX   sR     --/HmmII J G ##'	 r   )NN)NNN)__name__
__module____qualname____doc__r   r   r.   r@   rC   rM   __classcell__)r   s   @r   r
   r
      s8    *@% (4  $	'*(
	r   r
   N)rQ   
__future__r   r   r   apitools.base.pyr   "googlecloudsdk.api_lib.vmware.sddcr   &googlecloudsdk.command_lib.vmware.sddcr   VmwareClientBaser
    r   r   <module>rY      s0    . &  ' ' 3 8G$// Gr   