
                             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K	J
r
  SSKJr  SS	KJr   " S
 S\5      r " S S\5      r " S S\R"                  5      rg)*Google Cloud VMware Engine network client.    )absolute_import)division)unicode_literals)
list_pager)util)	arg_utils)Error)REGISTRYc                   (   ^  \ rS rSrU 4S jrSrU =r$ )NetworkNotFoundError   c                 F   > [         [        U ]  SR                  US95        g )NzzFAILED_PRECONDITION: The VMware Engine network `{network_id}` doesn't exist. Operation on the resource can't be fulfilled.
network_id)superr   __init__formatselfr   	__class__s     -lib/googlecloudsdk/api_lib/vmware/networks.pyr   NetworkNotFoundError.__init__   s%    	
. 	G	:	&(     __name__
__module____qualname____firstlineno__r   __static_attributes____classcell__r   s   @r   r   r          ( (r   r   c                   (   ^  \ rS rSrU 4S jrSrU =r$ )MultipleNetworksFoundError$   c                 F   > [         [        U ]  SR                  US95        g )NzcMultiple VMware Engine networks `{network_id}` exist. Operation on the resource can't be fulfilled.r   )r   r&   r   r   r   s     r   r   #MultipleNetworksFoundError.__init__&   s"    	
$d4n	:	&(r   r   r   r#   s   @r   r&   r&   $   r$   r   r&   c                   X   ^  \ rS rSrSrU 4S jrS rS rSS jrS r	SS jr
S	 rS
rU =r$ )NetworksClient,   r   c                 `   > [         [        U ]  5         U R                  R                  U l        g N)r   r+   r   client'projects_locations_vmwareEngineNetworksservice)r   r   s    r   r   NetworksClient.__init__/   s!    	.$(*;;FFDLr   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      nU$ N)name)messages;VmwareengineProjectsLocationsVmwareEngineNetworksGetRequestRelativeNamer1   Get)r   resourcerequestresponses       r   r9   NetworksClient.Get3   sC    mmWW""$ X &G ||(HOr   c                    ^ [         R                  " SUSS9n[        U4S jU R                  U5       5       5      n[	        U5      S:  a  [        T5      eU(       d  [        T5      eUS   $ )Nzvmwareengine.projects.locations-)
projectsIdlocationsIdc              3   t   >#    U  H-  n[         R                  " UR                  5      T:X  d  M)  Uv   M/     g 7fr.   )r   GetResourceIdr5   ).0networkr   s     r   	<genexpr>)NetworksClient.GetByID.<locals>.<genexpr>>   s1      ;9Ggll+z9 	9s   (8	8   r   )r   CreatelistListlenr&   r   )r   projectr   parent_locationnetworkss     `  r   GetByIDNetworksClient.GetByID:   sl    oo)g3PO  ;#yy9; ;H 8}q&z22 ,,A;r   c                    UR                  5       R                  5       nUR                  5       nU R                  R	                  US9n[
        R                  " SU R                  R                  R                  S S9R                  [
        R                  " U5      5      nXvl
        U R                  R                  UUUS9nU R                  R                  U5      $ )N)descriptiontypec                     SU ;  $ )NTYPE_UNSPECIFIEDr   )xs    r   <lambda>'NetworksClient.Create.<locals>.<lambda>Q   s
    !31!<r   )arg_namemessage_enuminclude_filter)parentvmwareEngineNetworkvmwareEngineNetworkId)Parentr8   Namer6   VmwareEngineNetworkr	   ChoiceEnumMapperTypeValueValuesEnumGetEnumForChoiceEnumNameToChoicerT   >VmwareengineProjectsLocationsVmwareEngineNetworksCreateRequestr1   rI   )	r   r:   network_typerS   r]   r   rE   	type_enumr;   s	            r   rI   NetworksClient.CreateJ   s    __++-FJmm//K/HG**]]66JJ<> ?O>N&&|4?6 
 LmmZZ#( [ G
 <<w''r   c                    U R                  U5      n/ nUb  X#l        UR                  S5        U R                  R	                  UUR                  5       SR                  U5      S9nU R                  R                  U5      $ )NrS   ,)r^   r5   
updateMask)	r9   rS   appendr6   =VmwareengineProjectsLocationsVmwareEngineNetworksPatchRequestr8   joinr1   Patch)r   r:   rS   rE   update_maskr;   s         r   UpdateNetworksClient.Update[   s{    hhx GK''mmYY#""$88K( Z G
 <<g&&r   c                     U R                   R                  U R                  R                  UR	                  5       S95      $ r4   )r1   Deleter6   >VmwareengineProjectsLocationsVmwareEngineNetworksDeleteRequestr8   )r   r:   delay_hourss      r   rv   NetworksClient.Deleteh   s=    <<TT&&( 	U 	
 r   c                     UR                  5       nU R                  R                  US9n[        R                  " U R
                  USSS9$ )N)r]   pageSizevmwareEngineNetworks)batch_size_attributefield)r8   r6   <VmwareengineProjectsLocationsVmwareEngineNetworksListRequestr   YieldFromListr1   )r   location_resourcelocationr;   s       r   rK   NetworksClient.Listo   sR     --/HmmXX Y G ##'$	& &r   )r1   r.   )r   r   r   r    __doc__r   r9   rP   rI   rs   rv   rK   r!   r"   r#   s   @r   r+   r+   ,   s/    2G ("'	& 	&r   r+   N)r   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.vmwarer   $googlecloudsdk.command_lib.util.apisr	   googlecloudsdk.core.exceptionsr
   googlecloudsdk.core.resourcesr   r   r&   VmwareClientBaser+   r   r   r   <module>r      sN    1 &  ' ' . : 0 2(5 (( (L&T** L&r   