
                            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SK	J
r
  SSKJr  SS	KJr  SS
Kr\
R                  \
R                   " \
R"                  R$                  5       " S S\
R&                  5      5       5       rSSS.\l        g
)zBCommand for replacing the rules of organization firewall policies.    )absolute_import)division)unicode_literals)base_classes)client)base)firewall_policies_utils)flagsNc                   2    \ rS rSrSrSr\S 5       rS rSr	g)ForceStartProgressiveRollout   z5Starts a new rollout of organization firewall policy.Nc                     [         R                  " SSS9U l        U R                  R                  USS9  [         R                  " U5        g )NTzstart a new rollout of)required	operationzforce-start-progressive-rollout)operation_type)r
   FirewallPolicyArgumentFIREWALL_POLICY_ARGAddArgument#AddArgsForceStartProgressiveRollout)clsparsers     Hlib/surface/compute/firewall_policies/force_start_progressive_rollout.pyArgs!ForceStartProgressiveRollout.Args$   sL    #::!9C ''@ (  
--f5    c           	         [         R                  " U R                  5       5      nU R                  R	                  XR
                  SS9n[        R                  " UUR                  UR
                  [        R                  " U R                  5       5      R                  5       S9n[        R                  " XCR                  5       UR                  S9nUR                  USS9$ )NF)with_project)refcompute_client	resourcesversion)organization)firewall_policyonly_generate_request)r   ComputeApiHolderReleaseTrackr   ResolveAsResourcer    r   OrgFirewallPolicysix	text_typelowerr	   GetFirewallPolicyIdNamer"   r   )selfargsholderr   org_firewall_policy
dest_fp_ids         r   Run ForceStartProgressiveRollout.Run.   s    **4+<+<+>?F

"
"
4
4U 5 C !22}}""d//1288:	 )<<XXZd6G6GJ ;;"# <  r    )
__name__
__module____qualname____firstlineno____doc__r   classmethodr   r3   __static_attributes__r5   r   r   r   r      s$     >6 6r   r   zz    To start a new rollout of an organization firewall policy with ID ``123456789", run:

      $ {command} 123456789
    aw      To start rollout of a firewall policy, the user must have the following
    permission:
    *`compute.firewallPolicies.update`,
    *`compute.firewallPolicies.use',
    *'compute.organizations.setFirewallPolicy'.

    To find predefined roles that contain those permissions, see the [Compute
    Engine IAM roles](https://cloud.google.com/compute/docs/access/iam).
      )EXAMPLESzIAM PERMISSIONS)r:   
__future__r   r   r   googlecloudsdk.api_lib.computer   0googlecloudsdk.api_lib.compute.firewall_policiesr   googlecloudsdk.callioper   4googlecloudsdk.command_lib.compute.firewall_policiesr	   r
   r)   DefaultUniverseOnlyReleaseTracksr&   ALPHAUpdateCommandr   detailed_helpr5   r   r   <module>rH      s    I &  ' 7 C ( X F 
 D%%++, 4#5#5   -  H
	
.  *r   