
                         n    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  G d dej                        Z
y	)
z'Cloud vmware External Addresses client.    )absolute_import)division)unicode_literals)
list_pager)utilc                   D     e Zd ZdZ fdZddZd	dZd Zd Zd Z	 xZ
S )
ExternalAddressesClientz'cloud vmware external addresses client.c                 `    t         t        |           | j                  j                  | _        y N)superr	   __init__client2projects_locations_privateClouds_externalAddressesservice)self	__class__s    6lib/googlecloudsdk/api_lib/vmware/externaladdresses.pyr   z ExternalAddressesClient.__init__   s"    	
!413;;QQDL    c                    | j                   j                  ||      }| j                   j                  ||j                         |j	                         j                               }| j                  j                  |      S )N)
internalIpdescription)externalAddressexternalAddressIdparent)messagesExternalAddressHVmwareengineProjectsLocationsPrivateCloudsExternalAddressesCreateRequestNameParentRelativeNamer   Create)r   resourceinternal_ipr   external_addressrequests         r   r!   zExternalAddressesClient.Create    ss    }}44K 5  mmdd("--/ --/ e 1G
 <<w''r   c                 <   | j                  |      }g }|||_        |j                  d       |||_        |j                  d       | j                  j                  ||j                         dj                  |            }| j                  j                  |      S )Nr   r#   ,)r   name
updateMask)
Getr   appendr   r   GVmwareengineProjectsLocationsPrivateCloudsExternalAddressesPatchRequestr    joinr   Patch)r   r"   r#   r   r$   update_maskr%   s          r   UpdatezExternalAddressesClient.Update+   s    xx)K%0"'$/!'mmcc(""$88K( d G
 <<g&&r   c                     | j                   j                  |j                               }| j                  j	                  |      S N)r(   )r   HVmwareengineProjectsLocationsPrivateCloudsExternalAddressesDeleteRequestr    r   Deleter   r"   r%   s      r   r4   zExternalAddressesClient.Delete<   s=    mmdd""$ e &G<<w''r   c                     | j                   j                  |j                               }| j                  j	                  |      S r2   )r   EVmwareengineProjectsLocationsPrivateCloudsExternalAddressesGetRequestr    r   r*   r5   s      r   r*   zExternalAddressesClient.GetA   s=    mmaa""$ b &G<<G$$r   c                     |j                         }| j                  j                  |      }t        j                  | j
                  |dd      S )N)r   pageSizeexternalAddresses)batch_size_attributefield)r    r   FVmwareengineProjectsLocationsPrivateCloudsExternalAddressesListRequestr   YieldFromListr   )r   r"   address_namer%   s       r   ListzExternalAddressesClient.ListF   sR    ((*Lmmbb c G ##'!	# #r   r   )NN)__name__
__module____qualname____doc__r   r!   r0   r4   r*   r@   __classcell__)r   s   @r   r	   r	      s%    /R	('"(
%
	#r   r	   N)rD   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.vmwarer   VmwareClientBaser	    r   r   <module>rK      s+    . &  ' ' .6#d33 6#r   