
                             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\5      r " S	 S
\5      r " S S\R                  5      rg)*Google Cloud VMware Engine network client.    )
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RelativeNamer.   Get)r   resourcerequestresponses       r   r6   NetworksClient.Get0   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   GetResourceIdr2   ).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.GetByID7   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>N   s
    !31!<r   )arg_namemessage_enuminclude_filter)parentvmwareEngineNetworkvmwareEngineNetworkId)Parentr5   Namer3   VmwareEngineNetworkr   ChoiceEnumMapperTypeValueValuesEnumGetEnumForChoiceEnumNameToChoicerQ   >VmwareengineProjectsLocationsVmwareEngineNetworksCreateRequestr.   rF   )	r   r7   network_typerP   rZ   r   rB   	type_enumr8   s	            r   rF   NetworksClient.CreateG   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      $ )NrP   ,)r[   r2   
updateMask)	r6   rP   appendr3   =VmwareengineProjectsLocationsVmwareEngineNetworksPatchRequestr5   joinr.   Patch)r   r7   rP   rB   update_maskr8   s         r   UpdateNetworksClient.UpdateX   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      $ r1   )r.   Deleter3   >VmwareengineProjectsLocationsVmwareEngineNetworksDeleteRequestr5   )r   r7   delay_hourss      r   rs   NetworksClient.Deletee   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)rZ   pageSizevmwareEngineNetworks)batch_size_attributefield)r5   r3   <VmwareengineProjectsLocationsVmwareEngineNetworksListRequestr   YieldFromListr.   )r   location_resourcelocationr8   s       r   rH   NetworksClient.Listl   sR     --/HmmXX Y G ##'$	& &r   )r.   r+   )r   r   r   r   __doc__r   r6   rM   rF   rp   rs   rH   r   r   r    s   @r   r(   r(   )   s/    2G ("'	& 	&r   r(   N)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      sG    1 ( . : 0 2(5 (( (L&T** L&r   