
                         v    S r SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSKJ	r	   " S S	\	R                  5      rg)
z+VMware Engine external access rules client.    )absolute_import)division)unicode_literalsN)
list_pager)utilc                   l   ^  \ rS rSrSrU 4S jrS rS r  SS jr        SS jr	S r
S	 rS
rU =r$ )ExternalAccessRulesClient   z$VMware Engine network policy client.c                    > [         [        U ]  5         U R                  R                  U l        [        R                  " S5      U l        [        R                  " S5      U l	        g )Nz \d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}$z(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}/\d{1,2}$)
superr	   __init__client6projects_locations_networkPolicies_externalAccessRulesservicerecompileip_regexip_ranges_regex)self	__class__s    8lib/googlecloudsdk/api_lib/vmware/externalaccessrules.pyr   "ExternalAccessRulesClient.__init__   sG    	
#T35;;UUDLJJBCDM::35D    c                    U R                   R                  U5      b  U R                  R                  US9$ U R                  R                  U5      b  U R                  R                  US9$ U R                  R                  US9$ )N)	ipAddress)ipAddressRange)externalAddress)r   matchmessagesIpRanger   )r   ip_ranges     r   parse_ip_range(ExternalAccessRulesClient.parse_ip_range%   sv    }}8$0]]""X"66!!(+7]]""(";;==   ::r   c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      nU$ N)name)r   IVmwareengineProjectsLocationsNetworkPoliciesExternalAccessRulesGetRequestRelativeNamer   Get)r   resourcerequestresponses       r   r)   ExternalAccessRulesClient.Get,   sA    mmee""$ f &G||(HOr   c
                 <   UR                  5       R                  5       n
UR                  5       nU R                  R	                  UUUS9nUc  / Ul        OXll        Uc  / Ul        OX|l        U	b"  U	R                  5       R                  5       S:X  a0  U R                  R                  R                  R                  Ul        OQU	R                  5       R                  5       S:X  a/  U R                  R                  R                  R                  Ul        U Vs/ s H  oR                  U5      PM     snUl        U Vs/ s H  oR                  U5      PM     snUl        U R                  R!                  U
UUS9nU R"                  R%                  U5      $ s  snf s  snf )N)descriptionpriority
ipProtocolALLOWDENY)parentexternalAccessRuleexternalAccessRuleId)Parentr(   Namer   ExternalAccessRulesourcePortsdestinationPortsstripupperActionValueValuesEnumr2   actionr3   r"   sourceIpRangesdestinationIpRangesLVmwareengineProjectsLocationsNetworkPoliciesExternalAccessRulesCreateRequestr   Create)r   r*   r0   ip_protocolsource_rangesdestination_rangessource_portsdestination_portsr/   r?   r4   external_access_rule_idexternal_access_ruleipr+   s                  r   rC    ExternalAccessRulesClient.Create2   s{    __++-F&mmo==;; <  
 )+&)5& .0+.?+~--/7:$(MM$D$D$Z$Z$`$`!				6	)$(MM$D$D$Z$Z$_$_! +8+*7BB-+' +=0*<BB*<0, mmhh/4 i G
 <<w''+0s   F<Fc
                 X   U R                  U5      n
/ nUb  Xl        UR                  S5        Ub  X*l        UR                  S5        Ub  X:l        UR                  S5        Ub  Xjl        UR                  S5        Ub  Xzl        UR                  S5        U	b  U	R                  5       R                  5       S:X  a0  U R                  R                  R                  R                  U
l        OQU	R                  5       R                  5       S:X  a/  U R                  R                  R                  R                  U
l        UR                  S5        Ub>  U(       a7  U Vs/ s H  oR                  U5      PM     snU
l        UR                  S	5        Ub>  U(       a7  U Vs/ s H  oR                  U5      PM     snU
l        UR                  S
5        U R                  R%                  U
UR'                  5       SR)                  U5      S9nU R*                  R-                  U5      $ s  snf s  snf )Nr/   r0   rD   rG   rH   r2   r3   r?   source_ip_rangesdestination_ip_ranges,)r5   r&   
updateMask)r)   r/   appendr0   r1   r:   r;   r<   r=   r   r9   r>   r2   r?   r3   r"   r@   rA   KVmwareengineProjectsLocationsNetworkPoliciesExternalAccessRulesPatchRequestr(   joinr   Patch)r   r*   r0   rD   rE   rF   rG   rH   r/   r?   rJ   update_maskrK   r+   s                 r   Update ExternalAccessRulesClient.Update_   s     88H-K)4&'&.#$(3%')5&($.?+,-				7	*&*mm&F&F&\&\&b&b#<<>!V+&*mm&F&F&\&\&a&a#" ],9-,9b

b
!M-) +,%*<,>2,>b

b
!,>2. 01mmgg/""$88K( h G
 <<g&&-
2s   H"H'c                     U R                   R                  U R                  R                  UR	                  5       S95      $ r%   )r   Deleter   LVmwareengineProjectsLocationsNetworkPoliciesExternalAccessRulesDeleteRequestr(   )r   r*   s     r   rZ    ExternalAccessRulesClient.Delete   s=    <<bb&&( 	c 	
 r   c                     UR                  5       nU R                  R                  US9n[        R                  " U R
                  USSS9$ )N)r4   pageSizeexternalAccessRules)batch_size_attributefield)r(   r   JVmwareengineProjectsLocationsNetworkPoliciesExternalAccessRulesListRequestr   YieldFromListr   )r   network_policy_resourcenetwork_policyr+   s       r   ListExternalAccessRulesClient.List   sR    ,99;Nmmff g G ##'#	% %r   )r   r   r   )NN)NNNNNNNN)__name__
__module____qualname____firstlineno____doc__r   r"   r)   rC   rW   rZ   rf   __static_attributes____classcell__)r   s   @r   r	   r	      sR    ,5; +(^  $#2'h	% 	%r   r	   )rl   
__future__r   r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.vmwarer   VmwareClientBaser	    r   r   <module>rt      s0    2 &  ' 	 ' .H% 5 5 H%r   