
    \                         S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  Sr	Sr
 " S	 S
\R                  5      r " S S\5      r " S S\5      r " S S\5      rg)zOrganization Firewall Policy.    )absolute_import)division)unicode_literals)poller)waiterz$compute.globalOrganizationOperationszcompute.firewallPoliciesc                       \ rS rSrS rSrg)DeletePoller   c                     g N )self	operations     >lib/googlecloudsdk/api_lib/compute/firewall_policies/client.py	GetResultDeletePoller.GetResult   s         r   N)__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r	   r	      s    r   r	   c                   d   \ rS rSrSr S!S jrS r\S 5       r\S 5       r	\S 5       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 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%S jr    S&S jr!S r"g))OrgFirewallPolicy$   z3Abstracts an organization firewall policy resource.Nc                     Xl         X l        X0l        US:X  a  SOUU l        U R	                  [
        5      U l        U R	                  [        5      U l        g )Ngav1)	ref_compute_client
_resources_version_HasProjectOP_COLLECTION_NAME_op_has_projectAPI_COLLECTION_NAME_api_has_project)r   r   compute_client	resourcesversions        r   __init__OrgFirewallPolicy.__init__'   sK     H)O#tODDM++,>?D ,,-@ADr   c                     U R                   R                  XR                  5      nSUR                  ;   =(       d    SUR                  ;   $ )Nprojects)r!   GetCollectionInfor"   pathbase_url)r   
collectioncollection_infos      r   r#   OrgFirewallPolicy._HasProject1   sE    oo77MMO 	o*** 	2111r   c                 .    U R                   R                  $ r   )r    apitools_clientr   s    r   _clientOrgFirewallPolicy._client:   s    ///r   c                 .    U R                   R                  $ r   )r    messagesr7   s    r   	_messagesOrgFirewallPolicy._messages>   s    (((r   c                 .    U R                   R                  $ r   )r8   firewallPoliciesr7   s    r   _serviceOrgFirewallPolicy._serviceB   s    <<(((r   c                 f    U R                   R                  SU R                  R                  UUUS94$ )NAddAssociation)firewallPolicyAssociationfirewallPolicyreplaceExistingAssociation)r8   r?   r<   ,ComputeFirewallPoliciesAddAssociationRequest)r   associationfirewall_policy_idreplace_existing_associations       r   _MakeAddAssociationRequestTuple1OrgFirewallPolicy._MakeAddAssociationRequestTupleF   s?     	%%CC&1-'C 	D 	
 r   c                 b    U R                   R                  SU R                  R                  X!S94$ )NRemoveAssociation)namerE   )r8   r?   r<   /ComputeFirewallPoliciesRemoveAssociationRequest)r   rI   association_names      r   "_MakeDeleteAssociationRequestTuple4OrgFirewallPolicy._MakeDeleteAssociationRequestTupleS   s9     	%%FF! 	G 	
 r   c                 b    U R                   R                  SU R                  R                  US94$ )NListAssociations)targetResource)r8   r?   r<   .ComputeFirewallPoliciesListAssociationsRequest)r   target_resources     r   !_MakeListAssociationsRequestTuple3OrgFirewallPolicy._MakeListAssociationsRequestTuple^   s7    %%EE* 	F 	
 r   c                 b    U R                   R                  SU R                  R                  US94$ )NDeleterE   )r8   r?   r<   $ComputeFirewallPoliciesDeleteRequestr   fp_ids     r   _MakeDeleteRequestTuple)OrgFirewallPolicy._MakeDeleteRequestTupleg   s6    %%;;  	< 	
 r   c                    U(       a0  U R                   R                  SU R                  R                  XS94$ U R                   R                  SU R                  R                  U R                  R                  5       US94$ )NPatch)rE   firewallPolicyResource)r8   r?   r<   #ComputeFirewallPoliciesPatchRequestr   Name)r   r`   firewall_policys      r   _MakeUpdateRequestTuple)OrgFirewallPolicy._MakeUpdateRequestTuplep   s|    
,,
'
'

..
<
<" =   	%%::88==?#2 	; 	
 r   c                     U(       a0  U R                   R                  SU R                  R                  US94$ U R                   R                  SU R                  R                  U R                  R                  5       S94$ )NGetr]   )r8   r?   r<   !ComputeFirewallPoliciesGetRequestr   rg   r_   s     r   _MakeDescribeRequestTuple+OrgFirewallPolicy._MakeDescribeRequestTuple   sy    
,,
'
'

..
:
:" ;   	%%8888==? 	9 	
 r   c                 b    U R                   R                  SU R                  R                  XS94$ )NMove)rE   parentId)r8   r?   r<   "ComputeFirewallPoliciesMoveRequest)r   r`   	parent_ids      r   _MakeMoveRequestTuple'OrgFirewallPolicy._MakeMoveRequestTuple   s6    %%99  	: 	
 r   c                 d    U R                   R                  SU R                  R                  UUS94$ )N
CloneRules)rE   sourceFirewallPolicy)r8   r?   r<   (ComputeFirewallPoliciesCloneRulesRequest)r   
dest_fp_idsource_firewall_policys      r   _MakeCloneRulesRequestTuple-OrgFirewallPolicy._MakeCloneRulesRequestTuple   s<     	%%??%!7 	@ 	
 r   c                 b    U R                   R                  SU R                  R                  US94$ )NList)rr   )r8   r?   r<   "ComputeFirewallPoliciesListRequest)r   rt   s     r   _MakeListRequestTuple'OrgFirewallPolicy._MakeListRequestTuple   s1    %%9999M r   c                 b    U R                   R                  SU R                  R                  X!S94$ )NInsert)rr   rE   )r8   r?   r<   $ComputeFirewallPoliciesInsertRequest)r   rh   rt   s      r   _MakeCreateRequestTuple)OrgFirewallPolicy._MakeCreateRequestTuple   s6    %%;; 	< 	
 r   c                 b    U R                   R                  SU R                  R                  US94$ )NForceStartProgressiveRolloutr]   )r8   r?   r<   :ComputeFirewallPoliciesForceStartProgressiveRolloutRequest)r   rh   s     r   -_MakeForceStartProgressiveRolloutRequestTuple?OrgFirewallPolicy._MakeForceStartProgressiveRolloutRequestTuple   s7    %%&QQ* 	R 	
 r   c                     U(       a7  U R                  XU5      /nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  XU5      S   5      nU R                  USS9$ )z$Sends request to add an association.   z;Adding an association for the organization firewall policy.message)rK   r    MakeRequestsr@   rC   WaitOperation)r   rH   rI   rJ   
batch_modeonly_generate_requestrequestsop_ress           r   rC    OrgFirewallPolicy.AddAssociation   s     

.
./Kh
 ###00::o]])),,-I	

	F
 M   r   c                     U(       a6  U R                  X5      /nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  X5      S   5      nU R                  USS9$ )z'Sends request to delete an association.r   z>Deleting the association for the organization firewall policy.r   )rR   r    r   r@   rN   r   )r   rI   rQ   r   r   r   r   s          r   DeleteAssociation#OrgFirewallPolicy.DeleteAssociation   s     

1
1 h
 ###00::o]],,//	

	F
 L   r   c                     U(       a6  U R                  U5      /nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  U5      S   5      /$ )z+Sends request to list all the associations.r   )rY   r    r   r@   rU   )r   rX   r   r   r   s        r   rU   "OrgFirewallPolicy.ListAssociations   sj    
 88IJh"##00::o 	&&22?CAF	
 r   c                 0   U(       a4  U R                  US9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  US9S   5      n[        U R                  U R                  5      nU R                  UUSS9$ )z8Sends request to delete an organization firewall policy.r`   r   z*Deleting the organization firewall policy.)operation_pollerr   )ra   r    r   r@   r\   r	   r   r   )r   r`   r   r   r   r   r   s          r   r\   OrgFirewallPolicy.Delete  s     ..U.;<h"##00::o]]!!$">">U">"KA"NOF#DMM488<)<   r   c                 z   U(       d4  [         R                  " U R                  U R                  U R                  S9nU R
                  (       a1  SUR                  ;  a!  UR                  R                  SS5      Ul        U R                  R                  UR                  [        S9n[        R                  " X$U5      $ )zWaits for operation to finish.)has_projectr.   	locationszprojects/locations)r2   )r   Pollerr@   r   r'   r%   selfLinkreplacer!   Parser$   r   WaitFor)r   r   r   r   operation_refs        r   r   OrgFirewallPolicy.WaitOperation   s     
--t/D/D 
)2D2D D$--55
+i OO))'9 * M >>*7CCr   c                     U(       a4  U R                  XS9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  XS9S   5      nU R                  USS9$ )z8Sends request to update an organization firewall policy.)r`   rh   r   z*Updating the organization firewall policy.r   )ri   r    r   r@   rd   r   )r   r`   r   rh   r   r   r   s          r   UpdateOrgFirewallPolicy.Update0  s     

&
& ' h
 ###00::o]]  $$ 	% 	

	F
 D   r   c                     U(       a4  U R                  X#S9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  X#S9S   5      nU R                  USS9$ )z;Sends request to move the firewall policy to anther parent.)r`   rt   r   z(Moving the organization firewall policy.r   )ru   r    r   r@   rq   r   )r   r   r`   rt   r   r   r   s          r   rq   OrgFirewallPolicy.MoveL  s     ,,5,NOh"##00::o]]"""DQGF B   r   c                     U(       a5  U R                  UUS9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  X#S9S   5      nU R                  USS9$ )zBSends request to clone all the rules from another firewall policy.)r{   r|   r   z2Cloning rules to the organization firewall policy.r   )r}   r    r   r@   rx   r   )r   r   r{   r|   r   r   r   s          r   rx   OrgFirewallPolicy.CloneRulesa  s     

*
*#%; + h ###00::o]]%%((! 	) 	

	F
 L   r   c                     U(       a4  U R                  US9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  US9S   5      /$ )z,Sends request to describe a firewall policy.r   r   )rn   r    r   r@   rl   )r   r`   r   r   r   s        r   DescribeOrgFirewallPolicy.Describe~  sg     00u0=>h"##00::oMMd<<5<I!LMNNr   c                     U(       a6  U R                  U5      /nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  U5      S   5      /$ )z0Sends request to list all the firewall policies.r   )r   r    r   r@   r   )r   rt   r   r   r   s        r   r   OrgFirewallPolicy.List  sa     ,,Y78h"##00::oMMt99)DQGHIIr   c                     U(       a6  U R                  X5      /nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  X5      S   5      nU R                  USS9$ )z*Sends request to create a firewall policy.r   z*Creating the organization firewall policy.r   )r   r    r   r@   r   r   )r   rh   rt   r   r   r   r   s          r   CreateOrgFirewallPolicy.Create  s     ..JKh"##00::o]]!!$$_@CF D   r   c                     U(       a6  U R                  U5      /nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  U5      S   5      nU R                  USS9$ )z4Sends request to start rollout of a firewall policy.r   z5Starting rollout of the organization firewall policy.r   )r   r    r   r@   r   r   )r   rh   r   r   r   r   s         r   r   .OrgFirewallPolicy.ForceStartProgressiveRollout  s     

<
<_
Mh ###00::o]]77::?KANF O   r   )r'   r    r%   r!   r"   r   )NNNr   r   NN)NNFFFNNFF)NFF)NFNF)FNNF)#r   r   r   r   __doc__r+   r#   propertyr8   r<   r@   rK   rR   rY   ra   ri   rn   ru   r}   r   r   r   rC   r   rU   r\   r   r   rq   rx   r   r   r   r   r   r   r   r   r   r   $   s9   ; DHB 0 0 ) ) ) )	$" 59
 #(!@ !@ KP""D$ !< ". "!:	O	J !0 !	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$ )OrgFirewallPolicyRulei  z+Abstracts Organization FirewallPolicy Rule.c                 .   > [         [        U ]  UUUUS9  g N)r   r(   r)   r*   )superr   r+   r   r   r(   r)   r*   	__class__s        r   r+   OrgFirewallPolicyRule.__init__  s&     

/%	 0 r   c                 d    U R                   R                  SU R                  R                  UUS94$ )NAddRulerE   firewallPolicyRule)r8   r?   r<   %ComputeFirewallPoliciesAddRuleRequestr   rh   firewall_policy_rules      r   _MakeCreateRuleRequestTuple1OrgFirewallPolicyRule._MakeCreateRuleRequestTuple  s;     	%%<<*3 	= 	
 r   c                 b    U R                   R                  SU R                  R                  X!S94$ )N
RemoveRulerE   priority)r8   r?   r<   (ComputeFirewallPoliciesRemoveRuleRequestr   r   rh   s      r   _MakeDeleteRuleRequestTuple1OrgFirewallPolicyRule._MakeDeleteRuleRequestTuple  s7    %%??* 	@ 	
 r   c                 b    U R                   R                  SU R                  R                  X!S94$ )NGetRuler   )r8   r?   r<   %ComputeFirewallPoliciesGetRuleRequestr   s      r   _MakeDescribeRuleRequestTuple3OrgFirewallPolicyRule._MakeDescribeRuleRequestTuple  s6    %%<<* 	= 	
 r   c                 f    U R                   R                  SU R                  R                  UUUS94$ )N	PatchRuler   rE   r   )r8   r?   r<   'ComputeFirewallPoliciesPatchRuleRequestr   r   rh   r   s       r   _MakeUpdateRuleRequestTuple1OrgFirewallPolicyRule._MakeUpdateRuleRequestTuple  s>     	%%>>*3 	? 	
 r   c                     U(       a5  U R                  UUS9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  UUS9S   5      nU R                  USS9$ z=Sends request to create an organization firewall policy rule.)rh   r   r   z2Adding a rule to the organization firewall policy.r   )r   r    r   r@   r   r   r   rh   r   r   r   r   r   s          r   
CreateRule OrgFirewallPolicyRule.CreateRule  s     

*
*-#7 + h ###00::o]]""((+!5 	) 	
 	F L   r   c                     U(       a4  U R                  XS9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  XS9S   5      nU R                  USS9$ z=Sends request to delete an organization firewall policy rule.r   rh   r   z6Deleting a rule from the organization firewall policy.r   )r   r    r   r@   r   r   r   r   rI   r   r   r   r   s          r   
DeleteRule OrgFirewallPolicyRule.DeleteRule  s     

*
* + h
 ###00::o]]%%(( 	) 	

	F
 P   r   c                     U(       a4  U R                  XS9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  XS9S   5      $ z1Sends request to describe a firewall policy rule.r   r   )r   r    r   r@   r   r   r   rI   r   r   r   s         r   DescribeRule"OrgFirewallPolicyRule.DescribeRule4  sz     

,
, - h
 ###00::o==  ** 	+ 	

	 r   c                     U(       a6  U R                  UUUS9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  UUUS9S   5      nU R                  USS9$ z=Sends request to update an organization firewall policy rule.)r   rh   r   r   z4Updating a rule in the organization firewall policy.r   )r   r    r   r@   r   r   r   r   rh   r   r   r   r   r   s           r   
UpdateRule OrgFirewallPolicyRule.UpdateRuleM  s     

*
*-#7 + h ###00::o]]$$((+!5 	) 	
 		F N   r   r   )NNNbetar   NNNr   NNNFFr   r   r   r   r   r+   r   r   r   r   r   r   r   r   r   __classcell__r   s   @r   r   r     s    3 DJ 8<
 GK !@ !< !6 ! 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$ )$OrgFirewallPolicyPacketMirroringRuleio  z<Abstracts Organization FirewallPolicy Packet Mirroring Rule.c                 .   > [         [        U ]  UUUUS9  g r   )r   r  r+   r   s        r   r+   -OrgFirewallPolicyPacketMirroringRule.__init__r  s&     

.>%	 ? r   c                 d    U R                   R                  SU R                  R                  UUS94$ )NAddPacketMirroringRuler   )r8   r?   r<   4ComputeFirewallPoliciesAddPacketMirroringRuleRequestr   s      r   r   @OrgFirewallPolicyPacketMirroringRule._MakeCreateRuleRequestTuple|  s<     	%% KK*3 	L 	
 r   c                 b    U R                   R                  SU R                  R                  X!S94$ )NRemovePacketMirroringRuler   )r8   r?   r<   7ComputeFirewallPoliciesRemovePacketMirroringRuleRequestr   s      r   r   @OrgFirewallPolicyPacketMirroringRule._MakeDeleteRuleRequestTuple  s7    %%#NN* 	O 	
 r   c                 b    U R                   R                  SU R                  R                  X!S94$ )NGetPacketMirroringRuler   )r8   r?   r<   4ComputeFirewallPoliciesGetPacketMirroringRuleRequestr   s      r   r   BOrgFirewallPolicyPacketMirroringRule._MakeDescribeRuleRequestTuple  s7    %% KK* 	L 	
 r   c                 f    U R                   R                  SU R                  R                  UUUS94$ )NPatchPacketMirroringRuler   )r8   r?   r<   6ComputeFirewallPoliciesPatchPacketMirroringRuleRequestr   s       r   r   @OrgFirewallPolicyPacketMirroringRule._MakeUpdateRuleRequestTuple  s?     	%%"MM*3 	N 	
 r   c                     U(       a5  U R                  UUS9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  UUS9S   5      nU R                  USS9$ r   )r   r    r   r@   r  r   r   s          r   r   /OrgFirewallPolicyPacketMirroringRule.CreateRule  s     

*
*-#7 + h ###00::o]]11((+!5 	) 	
 	F L   r   c                     U(       a4  U R                  XS9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  XS9S   5      nU R                  USS9$ r   )r   r    r   r@   r
  r   r   s          r   r   /OrgFirewallPolicyPacketMirroringRule.DeleteRule  s     

*
* + h
 ###00::o]]44(( 	) 	

	F
 P   r   c                     U(       a4  U R                  XS9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  XS9S   5      $ r   )r   r    r   r@   r  r   s         r   r   1OrgFirewallPolicyPacketMirroringRule.DescribeRule  sz     

,
, - h
 ###00::o==//** 	+ 	

	 r   c                     U(       a6  U R                  UUUS9/nU(       d  U R                  R                  U5      $ U$ U R                  R	                  U R                  UUUS9S   5      nU R                  USS9$ r   )r   r    r   r@   r  r   r   s           r   r   /OrgFirewallPolicyPacketMirroringRule.UpdateRule  s     

*
*-#7 + h ###00::o]]33((+!5 	) 	
 		F N   r   r   )NNNalphar   r   r   r   r   r   s   @r   r  r  o  s    D DK 8<
 GK !@ !< !6 ! r   r  N)r   
__future__r   r   r   )googlecloudsdk.api_lib.compute.operationsr   googlecloudsdk.api_lib.utilr   r$   r&   r   r	   objectr   r   r  r   r   r   <module>r"     sc    $ &  ' < .; 0 6== [ [|j- jZj+< jr   