
    -                     L    d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d d      Zy)	zNetwork Policy.    )absolute_import)division)unicode_literals)client_adapterc                       e Zd ZdZdej
                  fdZed        Zed        Z	ddZ
d Zdd	Zd
efdZd Zd ZddZd
efdZ	 ddZd
efdZddded
efdZded
efdZddded
efdZded
efdZy)NetworkPolicyz$Abstracts a network policy resource.compute_clientc                      || _         || _        y N)ref_compute_client)selfr   r	   s      =lib/googlecloudsdk/api_lib/compute/network_policies/client.py__init__zNetworkPolicy.__init__   s    DH)D    c                 .    | j                   j                  S r   )r   apitools_clientr   s    r   _clientzNetworkPolicy._client   s    ///r   c                 .    | j                   j                  S r   )r   messagesr   s    r   	_messageszNetworkPolicy._messages#   s    (((r   Fc                 f    | j                  |      g}|r|S | j                  j                  |      S z)Sends request to create a network policy.network_policy)_MakeCreateRequestTupler   MakeRequests)r   r   only_generate_requestrequestss       r   CreatezNetworkPolicy.Create'   s7    ,,N,KLHo,,X66r   c                     | j                   j                  d| j                  j                  || j                  j
                  | j                  j                        fS )NInsertnetworkPolicyprojectregion)r   regionNetworkPoliciesr   )ComputeRegionNetworkPoliciesInsertRequestr   r&   r'   r   r   s     r   r   z%NetworkPolicy._MakeCreateRequestTuple.   O    **@@(HH$$88?? 	A 	
 r   c                     | j                  | j                  j                               g}|r|S | j                  j	                  |      S )z+Sends request to describe a network policy.r   )_MakeGetRequestTupler   Namer   r   r   r   r    s      r   DescribezNetworkPolicy.Describe9   sA    )))IJHo,,X66r   r   c                     | j                   j                  d| j                  j                  || j                  j
                  | j                  j                        fS )NGetr$   )r   r(   r   &ComputeRegionNetworkPoliciesGetRequestr   r&   r'   r*   s     r   r-   z"NetworkPolicy._MakeGetRequestTuple@   sN    **==(HH$$88?? 	> 	
 r   c                 ^    | j                  |      g}| j                  j                  |      S )z)Sends request to update a network policy.r   )_MakePatchRequestTupler   r   )r   r   r    s      r   UpdatezNetworkPolicy.UpdateK   s/    ++>+JKH,,X66r   c                     | j                   j                  d| j                  j                  | j                  j                         || j                  j                  | j                  j                        fS )NPatch)r%   networkPolicyResourcer&   r'   )r   r(   r   (ComputeRegionNetworkPoliciesPatchRequestr   r.   r&   r'   r*   s     r   r5   z$NetworkPolicy._MakePatchRequestTupleP   s\    **??((--/"0HH$$88??	 	@ 	
	 	r   c                     | j                  | j                  j                               g}|r|S | j                  j	                  |      S r   )_MakeDeleteRequestTupler   r.   r   r   r/   s      r   DeletezNetworkPolicy.Delete\   sA    ,,DHHMMO,LMHo,,X66r   c                     | j                   j                  d| j                  j                  || j                  j
                  | j                  j                        fS )Nr=   r$   )r   r(   r   )ComputeRegionNetworkPoliciesDeleteRequestr   r&   r'   r*   s     r   r<   z%NetworkPolicy._MakeDeleteRequestTuplec   r+   r   c                 h    | j                  ||      g}|r|S | j                  j                  |      S )z8Sends request to add an association to a network policy.associationr   )_MakeAddAssociationRequestTupler   r   r   rB   r   r   r    s        r   AddAssociationzNetworkPolicy.AddAssociationn   sD    
 	,,#N 	- 	
H
 o,,X66r   c                     | j                   j                  d| j                  j                  ||| j                  j
                  | j                  j                        fS )NrE   )r%   networkPolicyAssociationr&   r'   )r   r(   r   1ComputeRegionNetworkPoliciesAddAssociationRequestr   r&   r'   r   rB   r   s      r   rC   z-NetworkPolicy._MakeAddAssociationRequestTuple{   sR    **HH(%0HH$$88??	 	I 	
	 	r   )r   rB   c                h    | j                  ||      g}|r|S | j                  j                  |      S )z;Sends request to delete an association to a network policy.rA   )"_MakeRemoveAssociationRequestTupler   r   rD   s        r   RemoveAssociationzNetworkPolicy.RemoveAssociation   sD     	//#N 	0 	
H
 o,,X66r   c                     | j                   j                  d| j                  j                  ||| j                  j
                  | j                  j                        fS )NrL   r%   namer&   r'   )r   r(   r   4ComputeRegionNetworkPoliciesRemoveAssociationRequestr   r&   r'   rI   s      r   rK   z0NetworkPolicy._MakeRemoveAssociationRequestTuple   sT     	**KK(HH$$88??	 	L 	
	 	r   rO   c                h    | j                  ||      g}|r|S | j                  j                  |      S )z8Sends request to get an association to a network policy.rA   )_MakeGetAssociationRequestTupler   r   )r   rO   r   r   r    s        r   GetAssociationzNetworkPolicy.GetAssociation   sD    
 	,,^ 	- 	
H
 o,,X66r   c                     | j                   j                  d| j                  j                  ||| j                  j
                  | j                  j                        fS )NrS   rN   )r   r(   r   1ComputeRegionNetworkPoliciesGetAssociationRequestr   r&   r'   rI   s      r   rR   z-NetworkPolicy._MakeGetAssociationRequestTuple   sT     	**HH(HH$$88??	 	I 	
	 	r   N)F)__name__
__module____qualname____doc__r   ClientAdapterr   propertyr   r   r!   r   r0   strr-   r6   r5   r=   r<   rE   rC   rL   rK   rS   rR    r   r   r   r      s    ,*.*F*F * 0 0 ) )7	7	 	7

7	C 	 @E7
 
" "7 7 	7".1 FK77*-7.1r   r   N)rY   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r]   r   r   <module>r`      s"     &  ' 9g gr   