
    9                     v    S r SSKJr  SSKJr  SSKJr  SrSr " S S\5      r " S	 S
\5      r	 " S S\	5      r
g)zNetwork Firewall Policy.    )absolute_import)division)unicode_literalszcompute.globalOperationszcompute.networkFirewallPoliciesc                      \ rS rSrSrSS jr\S 5       r\S 5       r\S 5       r	S r
S	 rS
 rS rS rS rS rS rS rSS jr SS jrSS jrSS jrSS jrSS jrSS jr      SS jr   S S jr S S jrSrg)!NetworkFirewallPolicy   z-Abstracts a network firewall policy resource.Nc                     Xl         X l        g N)ref_compute_client)selfr   compute_clients      Flib/googlecloudsdk/api_lib/compute/network_firewall_policies/client.py__init__NetworkFirewallPolicy.__init__   s    H)    c                 .    U R                   R                  $ r
   )r   apitools_clientr   s    r   _clientNetworkFirewallPolicy._client!   s    ///r   c                 .    U R                   R                  $ r
   )r   messagesr   s    r   	_messagesNetworkFirewallPolicy._messages%   s    (((r   c                 .    U R                   R                  $ r
   )r   networkFirewallPoliciesr   s    r   _serviceNetworkFirewallPolicy._service)   s    <<///r   c                     U R                   R                  XR                  5      nSUR                  ;   =(       d    SUR                  ;   $ )Nprojects)
_resourcesGetCollectionInfo_versionpathbase_url)r   
collectioncollection_infos      r   _HasProject!NetworkFirewallPolicy._HasProject-   sE    oo77MMO 	o*** 	2111r   c           
      8   U(       aM  U R                   R                  SU R                  R                  UUUc  UOSUU R                  R
                  S94$ U R                   R                  SU R                  R                  UUUU R                  R
                  S94$ )ao  Returns the specified accelerator type.

Args:
  association: Input message
  firewall_policy: Firewall Policy to attach
  replace_existing_association: Should the call replace existing association
  associated_policy_to_be_replaced: Which policy should be replaced
  support_associated_policy_to_be_replaced: Is
    associated_policy_to_be_replaced supported in API
AddAssociationN)firewallPolicyAssociationfirewallPolicyreplaceExistingAssociationassociatedPolicyToBeReplacedproject)r-   r.   r/   r1   )r   r   r   3ComputeNetworkFirewallPoliciesAddAssociationRequestr   r1   )r   associationfirewall_policyreplace_existing_association associated_policy_to_be_replaced(support_associated_policy_to_be_replaceds         r   _MakeAddAssociationRequestTuple5NetworkFirewallPolicy._MakeAddAssociationRequestTuple6   s    $ 0
,,
.
.

..
L
L(3,19 *F+Khh&& M   	,,JJ&1*'CHH$$	 	K 	
	 	r   c                     U R                   R                  SU R                  R                  UUU R                  R
                  S94$ )NPatchAssociation)r-   r.   r1   )r   r   r   5ComputeNetworkFirewallPoliciesPatchAssociationRequestr   r1   )r   r3   r4   s      r   !_MakePatchAssociationRequestTuple7NetworkFirewallPolicy._MakePatchAssociationRequestTuplea   sG    ,,LL&1*HH$$ 	M 	
 r   c                     U R                   R                  SU R                  R                  U R                  R                  5       UU R                  R                  S94$ )N
CloneRules)r.   sourceFirewallPolicyr1   )r   r   r   /ComputeNetworkFirewallPoliciesCloneRulesRequestr   Namer1   )r   source_firewall_policys     r   _MakeCloneRulesRequestTuple1NetworkFirewallPolicy._MakeCloneRulesRequestTuplel   sQ    ,,FF88==?!7HH$$ 	G 	
 r   c                     U R                   R                  SU R                  R                  XR                  R
                  S94$ )NInsertr.   r1   )r   r   r   +ComputeNetworkFirewallPoliciesInsertRequestr   r1   r   r4   s     r   _MakeCreateRequestTuple-NetworkFirewallPolicy._MakeCreateRequestTuplew   A    ,,BB*HH4D4D 	C 	
 r   c                     U R                   R                  SU R                  R                  XR                  R
                  S94$ )NDeleterI   )r   r   r   +ComputeNetworkFirewallPoliciesDeleteRequestr   r1   rK   s     r   _MakeDeleteRequestTuple-NetworkFirewallPolicy._MakeDeleteRequestTuple   rN   r   c                     U R                   R                  SU R                  R                  U R                  R                  5       U R                  R                  S94$ )NGetrI   )r   r   r   (ComputeNetworkFirewallPoliciesGetRequestr   rC   r1   r   s    r   _MakeDescribeRequestTuple/NetworkFirewallPolicy._MakeDescribeRequestTuple   sM    ,,??88==?DHH4D4D 	@ 	
 r   c                     U R                   R                  SU R                  R                  XU R                  R
                  S94$ )NRemoveAssociation)r.   namer1   )r   r   r   6ComputeNetworkFirewallPoliciesRemoveAssociationRequestr   r1   )r   r4   r[   s      r   "_MakeDeleteAssociationRequestTuple8NetworkFirewallPolicy._MakeDeleteAssociationRequestTuple   sC    ,,MM*txx?O?O 	N 	
 r   c                     U R                   R                  SU R                  R                  U R                  R
                  S94$ )NList)r1   )r   r   r   )ComputeNetworkFirewallPoliciesListRequestr   r1   r   s    r   _MakeListRequestTuple+NetworkFirewallPolicy._MakeListRequestTuple   sA    ,,@@HH$$ 	A 	
 r   c                     U R                   R                  SU R                  R                  U R                  R                  5       UU R                  R                  S94$ )z2Sends request to update a network firewall policy.Patch)r.   firewallPolicyResourcer1   )r   r   r   *ComputeNetworkFirewallPoliciesPatchRequestr   rC   r1   rK   s     r   _MakeUpdateRequestTuple-NetworkFirewallPolicy._MakeUpdateRequestTuple   sS     	,,AA88==?#2HH$$ 	B 	
 r   c                 j    U R                  US9/nU(       d  U R                  R                  U5      $ U$ )zBSends request to clone all the rules from another firewall policy.)rD   )rE   r   MakeRequests)r   rD   only_generate_requestrequestss       r   r@    NetworkFirewallPolicy.CloneRules   sB    
 	((#9 	) 	
H
 !!!..x88Or   c                 j    U R                  US9/nU(       d  U R                  R                  U5      $ U$ )z2Sends request to create a network firewall policy.r4   )rL   r   rk   r   r4   rl   rm   s       r   CreateNetworkFirewallPolicy.Create   7    ,,_,MNH !!..x88Or   c                 j    U R                  US9/nU(       d  U R                  R                  U5      $ U$ )z2Sends request to delete a network firewall policy.rp   )rR   r   rk   rq   s       r   rP   NetworkFirewallPolicy.Delete   rt   r   c                 l    U R                  5       /nU(       d  U R                  R                  U5      $ U$ )z4Sends request to describe a network firewall policy.)rW   r   rk   r   rl   rm   s      r   DescribeNetworkFirewallPolicy.Describe   s2    ..01H !!..x88Or   c                 l    U R                  5       /nU(       d  U R                  R                  U5      $ U$ )z8Sends request to list all the network firewall policies.)rb   r   rk   rx   s      r   r`   NetworkFirewallPolicy.List   s2    **,-H !!..x88Or   c                 n    U R                  U5      /nU(       d  U R                  R                  U5      $ U$ )z3Sends request to update an network firewall policy.)rh   r   rk   rq   s       r   UpdateNetworkFirewallPolicy.Update   s4    ,,_=>H !!..x88Or   c                 v    U R                  UUUUU5      /nU(       d  U R                  R                  U5      $ U$ )z$Sends request to add an association.)r8   r   rk   )r   r3   r4   r5   r6   r7   rl   rm   s           r   r,   $NetworkFirewallPolicy.AddAssociation   sI     	,,(,4	
H !!!..x88Or   c                 n    U R                  X5      /nU(       d  U R                  R                  U5      $ U$ )z&Sends request to patch an association.)r=   r   rk   )r   r3   r4   rl   rm   s        r   r;   &NetworkFirewallPolicy.PatchAssociation   s:     	..{LH !!!..x88Or   c                 n    U R                  X5      /nU(       d  U R                  R                  U5      $ U$ )z'Sends request to delete an association.)r]   r   rk   )r   r4   r[   rl   rm   s        r   DeleteAssociation'NetworkFirewallPolicy.DeleteAssociation  s6     77NOH !!..x88Or   )r   r   r
   )NF)F)NNFNFFNNF)__name__
__module____qualname____firstlineno____doc__r   propertyr   r   r   r)   r8   r=   rE   rL   rR   rW   r]   rb   rh   r@   rr   rP   ry   r`   r~   r,   r;   r   __static_attributes__ r   r   r   r      s    5* 0 0 ) ) 0 0)V		
 @E #('+/4!2 !	 DIr   r   c                      ^  \ rS rSrSrSU 4S jjr SS jrSS jrSS jr SS jr	   SS jr
 SS	 jr SS
 jr    SS jrSrU =r$ )NetworkFirewallPolicyRulei  z&Abstracts Network FirewallPolicy Rule.c                 (   > [         [        U ]  XS9  g N)r   r   )superr   r   r   r   r   	__class__s      r   r   "NetworkFirewallPolicyRule.__init__  s    	
#T3 4 r   c                     U R                   R                  SU R                  R                  UUU R                  R
                  S94$ )NAddRuler.   firewallPolicyRuler1   )r   r   r   ,ComputeNetworkFirewallPoliciesAddRuleRequestr   r1   r   r4   firewall_policy_rules      r   _MakeCreateRuleRequestTuple5NetworkFirewallPolicyRule._MakeCreateRuleRequestTuple  sI     	,,CC*3HH$$ 	D 	
 r   c                     U R                   R                  SU R                  R                  UUU R                  R
                  S94$ )N
RemoveRuler.   priorityr1   )r   r   r   /ComputeNetworkFirewallPoliciesRemoveRuleRequestr   r1   r   r   r4   s      r   _MakeDeleteRuleRequestTuple5NetworkFirewallPolicyRule._MakeDeleteRuleRequestTuple$  sG    ,,FF*HH$$ 	G 	
 r   c                     U R                   R                  SU R                  R                  UUU R                  R
                  S94$ )NGetRuler   )r   r   r   ,ComputeNetworkFirewallPoliciesGetRuleRequestr   r1   r   s      r   _MakeDescribeRuleRequestTuple7NetworkFirewallPolicyRule._MakeDescribeRuleRequestTuple/  sG    ,,CC*HH$$ 	D 	
 r   c           	          U R                   R                  SU R                  R                  UUUU R                  R
                  S94$ )N	PatchRuler   r.   r   r1   )r   r   r   .ComputeNetworkFirewallPoliciesPatchRuleRequestr   r1   r   r   r4   r   s       r   _MakeUpdateRuleRequestTuple5NetworkFirewallPolicyRule._MakeUpdateRuleRequestTuple:  sL     	,,EE*3HH$$	 	F 	
	 	r   c                 l    U R                  UUS9/nU(       d  U R                  R                  U5      $ U$ )z8Sends request to create an network firewall policy rule.)r4   r   )r   r   rk   )r   r4   r   rl   rm   s        r   
CreateRule$NetworkFirewallPolicyRule.CreateRuleH  sE     	((+!5 	) 	
H !!!..x88Or   c                 j    U R                  XS9/nU(       d  U R                  R                  U5      $ U$ )z8Sends request to delete an network firewall policy rule.r   r4   )r   r   rk   r   r   r4   rl   rm   s        r   
DeleteRule$NetworkFirewallPolicyRule.DeleteRuleY  sB     	(( 	) 	
H
 !!!..x88Or   c                 j    U R                  XS9/nU(       d  U R                  R                  U5      $ U$ )z1Sends request to describe a firewall policy rule.r   )r   r   rk   r   s        r   DescribeRule&NetworkFirewallPolicyRule.DescribeRuleg  sB    
 	** 	+ 	
H
 !!!..x88Or   c                 n    U R                  UUUS9/nU(       d  U R                  R                  U5      $ U$ )z8Sends request to update an network firewall policy rule.)r   r4   r   )r   r   rk   )r   r   r4   r   rl   rm   s         r   
UpdateRule$NetworkFirewallPolicyRule.UpdateRulet  sH     	((+!5 	) 	
H !!!..x88Or   r   NNNNNr   )NNNF)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __classcell__r   s   @r   r   r     sk    . 8<		 GK  !	$ HM HM ! r   r   c                   \   ^  \ rS rSrSrS	U 4S jjr S	S jrS	S jrS	S jr S
S jr	Sr
U =r$ )(NetworkFirewallPolicyPacketMirroringRulei  z7Abstracts Network FirewallPolicy Packet Mirroring Rule.c                 (   > [         [        U ]  XS9  g r   )r   r   r   r   s      r   r   1NetworkFirewallPolicyPacketMirroringRule.__init__  s    	
2DB C r   c                     U R                   R                  SU R                  R                  UUU R                  R
                  S94$ )NAddPacketMirroringRuler   )r   r   r   ;ComputeNetworkFirewallPoliciesAddPacketMirroringRuleRequestr   r1   r   s      r   r   DNetworkFirewallPolicyPacketMirroringRule._MakeCreateRuleRequestTuple  sI     	,, RR*3HH$$ 	S 	
 r   c                     U R                   R                  SU R                  R                  UUU R                  R
                  S94$ )NRemovePacketMirroringRuler   )r   r   r   >ComputeNetworkFirewallPoliciesRemovePacketMirroringRuleRequestr   r1   r   s      r   r   DNetworkFirewallPolicyPacketMirroringRule._MakeDeleteRuleRequestTuple  sG    ,,#UU*HH$$ 	V 	
 r   c                     U R                   R                  SU R                  R                  UUU R                  R
                  S94$ )NGetPacketMirroringRuler   )r   r   r   ;ComputeNetworkFirewallPoliciesGetPacketMirroringRuleRequestr   r1   r   s      r   r   FNetworkFirewallPolicyPacketMirroringRule._MakeDescribeRuleRequestTuple  sG    ,, RR*HH$$ 	S 	
 r   c           	          U R                   R                  SU R                  R                  UUUU R                  R
                  S94$ )NPatchPacketMirroringRuler   )r   r   r   =ComputeNetworkFirewallPoliciesPatchPacketMirroringRuleRequestr   r1   r   s       r   r   DNetworkFirewallPolicyPacketMirroringRule._MakeUpdateRuleRequestTuple  sL     	,,"TT*3HH$$	 	U 	
	 	r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   s   @r   r   r     s0    ? 8<		 GK r   r   N)r   
__future__r   r   r   OP_COLLECTION_NAMEAPI_COLLECTION_NAMEobjectr   r   r   r   r   r   <module>r      sM     &  ' 0 7 rF rjw 5 wt7/H 7r   