
                         V    S r SSKJr  SSKJr  SSKJr   " S S\R                  5      rg)$VMware Engine network policy client.    )
list_pager)util)NetworksClientc                   `   ^  \ rS rSrSrU 4S jrS r   S
S jr    SS jrS r	S r
S	rU =r$ )NetworkPoliciesClient   r   c                 ~   > [         [        U ]  5         U R                  R                  U l        [        5       U l        g )N)superr   __init__client"projects_locations_networkPoliciesservicer   networks_client)self	__class__s    4lib/googlecloudsdk/api_lib/vmware/networkpolicies.pyr   NetworkPoliciesClient.__init__   s-    	
/1;;AADL)+D    c                     U R                   R                  UR                  5       S9nU R                  R	                  U5      nU$ N)name)messages6VmwareengineProjectsLocationsNetworkPoliciesGetRequestRelativeNamer   Get)r   resourcerequestresponses       r   r   NetworkPoliciesClient.Get   sA    mmRR""$ S &G||(HOr   c                 4   UR                  5       R                  5       nUR                  5       R                  5       R                  5       nUR                  5       n	U R                  R	                  US9n
U R                  R                  US9nU R                  R                  US9nU R                  R                  X5      nUR                  U
l	        X:l
        Xl        Xl        U R                  R                  UU
U	S9nU R                  R                  U5      $ )N)descriptionenabled)parentnetworkPolicynetworkPolicyId)Parentr   Namer   NetworkPolicyNetworkServicer   GetByIDr   vmwareEngineNetworkedgeServicesCidrinternetAccess
externalIp9VmwareengineProjectsLocationsNetworkPoliciesCreateRequestr   Create)r   r   vmware_engine_network_idedge_services_cidrr"   internet_accessexternal_ip_accessr%   projectnetwork_policy_idnetwork_policyinternet_access_objexternal_ip_access_objvenr   s                  r   r2   NetworkPoliciesClient.Create%   s     __++-Foo&&(--/G ]]00[0IN--666O!]]99" : $



&
&w
IC),N&&8#$7! 6OO(- 	P 	
  <<w''r   c                    U R                  U5      n/ nUb  X&l        UR                  S5        Ub  X6l        UR                  S5        Ub0  U R                  R                  US9nXl        UR                  S5        Ub0  U R                  R                  US9n	Xl        UR                  S5        U R                  R                  UUR                  5       SR                  U5      S9n
U R                  R                  U
5      $ )Nr"   r4   r#   zinternet_access.enabledzexternal_ip.enabled,)r&   r   
updateMask)r   r"   appendr.   r   r+   r/   r0   8VmwareengineProjectsLocationsNetworkPoliciesPatchRequestr   joinr   Patch)r   r   r"   r4   r5   r6   r9   update_maskr:   r;   r   s              r   UpdateNetworkPoliciesClient.UpdateC   s    XXh'NK#. '%(:%-." MM88! 9 #&9#23%#}};;$  <  &"8./NN(&&(xx, 	O 	
  <<g&&r   c                     U R                   R                  U R                  R                  UR	                  5       S95      $ r   )r   Deleter   9VmwareengineProjectsLocationsNetworkPoliciesDeleteRequestr   )r   r   s     r   rI   NetworkPoliciesClient.Deleted   s=    <<OO&&( 	P 	
 r   c                     UR                  5       nU R                  R                  US9n[        R                  " U R
                  USSS9$ )N)r%   pageSizenetworkPolicies)batch_size_attributefield)r   r   7VmwareengineProjectsLocationsNetworkPoliciesListRequestr   YieldFromListr   )r   location_resourcelocationr   s       r   ListNetworkPoliciesClient.Listk   sU     --/HMM 	N 	
 
 ##'	! !r   )r   r   )NNN)NNNN)__name__
__module____qualname____firstlineno____doc__r   r   r2   rF   rI   rU   __static_attributes____classcell__)r   s   @r   r   r      sD    ,,
 (@  $! $'B! !r   r   N)	r[   apitools.base.pyr   googlecloudsdk.api_lib.vmwarer   &googlecloudsdk.api_lib.vmware.networksr   VmwareClientBaser    r   r   <module>rc      s)    + ( . A_!D11 _!r   