
    I'                     b    S 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g
)zNetwork Policy.    )absolute_import)division)unicode_literals)client_adapterc                      \ rS rSrSrS\R                  4S jr\S 5       r	\S 5       r
SS jrS	 rSS
 jrS\4S jrS rS rSS jrS\4S jr SS jrS\4S jrSS.S\S\4S jjrS\S\4S jrSS.S\S\4S jjrS\S\4S jrSrg)NetworkPolicy   z$Abstracts a network policy resource.compute_clientc                     Xl         X l        g N)ref_compute_client)selfr   r
   s      =lib/googlecloudsdk/api_lib/compute/network_policies/client.py__init__NetworkPolicy.__init__   s    H)    c                 .    U R                   R                  $ r   )r   apitools_clientr   s    r   _clientNetworkPolicy._client   s    ///r   c                 .    U R                   R                  $ r   )r   messagesr   s    r   	_messagesNetworkPolicy._messages#   s    (((r   Fc                 j    U R                  US9/nU(       a  U$ U R                  R                  U5      $ z)Sends request to create a network policy.network_policy)_MakeCreateRequestTupler   MakeRequests)r   r    only_generate_requestrequestss       r   CreateNetworkPolicy.Create'   s7    ,,N,KLHo,,X66r   c                     U R                   R                  SU R                  R                  UU R                  R
                  U R                  R                  S94$ )NInsertnetworkPolicyprojectregion)r   regionNetworkPoliciesr   )ComputeRegionNetworkPoliciesInsertRequestr   r+   r,   r   r    s     r   r!   %NetworkPolicy._MakeCreateRequestTuple.   O    **@@(HH$$88?? 	A 	
 r   c                     U R                  U R                  R                  5       S9/nU(       a  U$ U R                  R	                  U5      $ )z+Sends request to describe a network policy.r   )_MakeGetRequestTupler   Namer   r"   r   r#   r$   s      r   DescribeNetworkPolicy.Describe9   sA    )))IJHo,,X66r   r    c                     U R                   R                  SU R                  R                  UU R                  R
                  U R                  R                  S94$ )NGetr)   )r   r-   r   &ComputeRegionNetworkPoliciesGetRequestr   r+   r,   r/   s     r   r3   "NetworkPolicy._MakeGetRequestTuple@   sN    **==(HH$$88?? 	> 	
 r   c                 X    U R                  US9/nU R                  R                  U5      $ )z)Sends request to update a network policy.r   )_MakePatchRequestTupler   r"   )r   r    r$   s      r   UpdateNetworkPolicy.UpdateK   s/    ++>+JKH,,X66r   c           	          U R                   R                  SU R                  R                  U R                  R                  5       UU R                  R                  U R                  R                  S94$ )NPatch)r*   networkPolicyResourcer+   r,   )r   r-   r   (ComputeRegionNetworkPoliciesPatchRequestr   r4   r+   r,   r/   s     r   r=   $NetworkPolicy._MakePatchRequestTupleP   s\    **??((--/"0HH$$88??	 	@ 	
	 	r   c                     U R                  U R                  R                  5       S9/nU(       a  U$ U R                  R	                  U5      $ r   )_MakeDeleteRequestTupler   r4   r   r"   r5   s      r   DeleteNetworkPolicy.Delete\   sA    ,,DHHMMO,LMHo,,X66r   c                     U R                   R                  SU R                  R                  UU R                  R
                  U R                  R                  S94$ )NrG   r)   )r   r-   r   )ComputeRegionNetworkPoliciesDeleteRequestr   r+   r,   r/   s     r   rF   %NetworkPolicy._MakeDeleteRequestTuplec   r1   r   c                 j    U R                  XS9/nU(       a  U$ U R                  R                  U5      $ )z8Sends request to add an association to a network policy.associationr    )_MakeAddAssociationRequestTupler   r"   r   rN   r    r#   r$   s        r   AddAssociationNetworkPolicy.AddAssociationn   sB    
 	,,# 	- 	
H
 o,,X66r   c           	          U R                   R                  SU R                  R                  UUU R                  R
                  U R                  R                  S94$ )NrQ   )r*   networkPolicyAssociationr+   r,   )r   r-   r   1ComputeRegionNetworkPoliciesAddAssociationRequestr   r+   r,   r   rN   r    s      r   rO   -NetworkPolicy._MakeAddAssociationRequestTuple{   sR    **HH(%0HH$$88??	 	I 	
	 	r   )r#   rN   c                j    U R                  XS9/nU(       a  U$ U R                  R                  U5      $ )z;Sends request to delete an association to a network policy.rM   )"_MakeRemoveAssociationRequestTupler   r"   rP   s        r   RemoveAssociationNetworkPolicy.RemoveAssociation   sB     	//# 	0 	
H
 o,,X66r   c           	          U R                   R                  SU R                  R                  UUU R                  R
                  U R                  R                  S94$ )NrZ   r*   namer+   r,   )r   r-   r   4ComputeRegionNetworkPoliciesRemoveAssociationRequestr   r+   r,   rV   s      r   rY   0NetworkPolicy._MakeRemoveAssociationRequestTuple   sT     	**KK(HH$$88??	 	L 	
	 	r   r^   c                j    U R                  XS9/nU(       a  U$ U R                  R                  U5      $ )z8Sends request to get an association to a network policy.rM   )_MakeGetAssociationRequestTupler   r"   )r   r^   r    r#   r$   s        r   GetAssociationNetworkPolicy.GetAssociation   sB    
 	,, 	- 	
H
 o,,X66r   c           	          U R                   R                  SU R                  R                  UUU R                  R
                  U R                  R                  S94$ )Nrc   r]   )r   r-   r   1ComputeRegionNetworkPoliciesGetAssociationRequestr   r+   r,   rV   s      r   rb   -NetworkPolicy._MakeGetAssociationRequestTuple   sT     	**HH(HH$$88??	 	I 	
	 	r   )r   r   N)F)__name__
__module____qualname____firstlineno____doc__r   ClientAdapterr   propertyr   r   r%   r!   r6   strr3   r>   r=   rG   rF   rQ   rO   rZ   rY   rc   rb   __static_attributes__ 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   c                   p   ^  \ rS rSrSrSU 4S jjr   SS jr SS jrS rS r	S r
S	 rS
 rS rSrU =r$ )NetworkPolicyRule   zAbstracts Network Policy Rule.c                     > [         TU ]  XS9  g )N)r   r
   )superr   )r   r   r
   	__class__s      r   r   NetworkPolicyRule.__init__   s    	G<r   c                 l    U R                  UUS9/nU(       a  U$ U R                  R                  U5      $ )z/Sends request to create an network policy rule.)r    network_policy_rule)_MakeCreateRuleRequestTupler   r"   )r   r    rz   r#   requests        r   
CreateRuleNetworkPolicyRule.CreateRule   sE     	(() 3 	) 	
G n,,W55r   c           	          U R                   R                  SU R                  R                  UUU R                  R
                  U R                  R                  S94$ )NAddTrafficClassificationRule)r*   &networkPolicyTrafficClassificationRuler+   r,   )r   r-   r   ?ComputeRegionNetworkPoliciesAddTrafficClassificationRuleRequestr   r+   r,   )r   r    rz   s      r   r{   -NetworkPolicyRule._MakeCreateRuleRequestTuple   sT     	**&VV(3FHH$$88??	 	W 	
	 	r   c                 X    U R                  XS9/nU R                  R                  U5      $ )z/Sends request to delete an network policy rule.r    priority)_MakeDeleteRuleRequestTupler   r"   r   r    r   r|   s       r   
DeleteRuleNetworkPolicyRule.DeleteRule   s:     	(() 	) 	
G
 ,,W55r   c          	          U R                   R                  SU R                  R                  UUU R                  R
                  U R                  R                  S94$ )zMakes a request tuple for deleting a network policy rule.

Args:
  network_policy: The name of the network policy.
  priority: The priority of the rule to delete.

Returns:
  A tuple containing the client, method name, and request message.
RemoveTrafficClassificationRuler*   r   r+   r,   )r   r-   r   BComputeRegionNetworkPoliciesRemoveTrafficClassificationRuleRequestr   r+   r,   r   r    r   s      r   r   -NetworkPolicyRule._MakeDeleteRuleRequestTuple   sT     	**)YY(HH$$88??	 	Z 	
	 	r   c                 X    U R                  XS9/nU R                  R                  U5      $ )z0Sends request to describe a network policy rule.r   )_MakeDescribeRuleRequestTupler   r"   r   s       r   DescribeRuleNetworkPolicyRule.DescribeRule	  s:     	**) 	+ 	
G
 ,,W55r   c          	          U R                   R                  SU R                  R                  UUU R                  R
                  U R                  R                  S94$ )NGetTrafficClassificationRuler   )r   r-   r   ?ComputeRegionNetworkPoliciesGetTrafficClassificationRuleRequestr   r+   r,   r   s      r   r   /NetworkPolicyRule._MakeDescribeRuleRequestTuple  sR    **&VV(HH$$88??	 	W 	
	 	r   c                \    U R                  UUUS9/nU R                  R                  U5      $ )z.Sends request to update a network policy rule.)r    rz   r   )_MakeUpdateRuleRequestTupler   r"   )r   r   r    rz   r|   s        r   
UpdateRuleNetworkPolicyRule.UpdateRule"  s@     	(() 3 	) 	
G ,,W55r   c          
          U R                   R                  SU R                  R                  UUUU R                  R
                  U R                  R                  S94$ )NPatchTrafficClassificationRule)r*   r   r   r+   r,   )r   r-   r   AComputeRegionNetworkPoliciesPatchTrafficClassificationRuleRequestr   r+   r,   )r   r    rz   r   s       r   r   -NetworkPolicyRule._MakeUpdateRuleRequestTuple3  sW     	**(XX(3FHH$$88?? 	Y 	

 
r   rq   )NN)NNF)rh   ri   rj   rk   rl   r   r}   r{   r   r   r   r   r   r   rp   __classcell__)rw   s   @r   rs   rs      sH    &=
 !	6$ 6:6*6
6" r   rs   N)	rl   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   rs   rq   r   r   <module>r      s1     &  ' 9g gT~ ~r   