
                             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Jr   " S S\R                   5      rSS0\l        g)z3Command for deleting network firewall policy rules.    )absolute_import)division)unicode_literals)base_classes)firewall_policy_rule_utils)client)region_client)base)flagsc                   2    \ rS rSrSrSr\S 5       rS rSr	g)Delete   zuDeletes a Compute Engine network firewall policy rule.

*{command}* is used to delete network firewall policy rules.
Nc                     [         R                  " SSS9U l        U R                  R                  USS9  [         R                  " USS9  UR
                  R                  [         R                  5        g )NTdelete)required	operation)operation_typedeleted)r   )r   !NetworkFirewallPolicyRuleArgumentNETWORK_FIREWALL_POLICY_ARGAddArgumentAddRulePrioritydisplay_infoAddCacheUpdater NetworkFirewallPoliciesCompleter)clsparsers     =lib/surface/compute/network_firewall_policies/rules/delete.pyArgsDelete.Args%   s]    &+&M&M'+C###//x/P	&I6
''(N(NO    c                    [         R                  " U R                  5       5      nU R                  R	                  XR
                  5      n[        R                  " X2R                  S9n[        US5      (       a  [        R                  " X2R                  S9nUR                  [        R                  " UR                  5      UR                  SS9$ )N)refcompute_clientregion)r$   F)priorityfirewall_policyonly_generate_request)r   ComputeApiHolderReleaseTrackr   ResolveAsResource	resourcesr   NetworkFirewallPolicyRulehasattrr	   RegionNetworkFirewallPolicyRule
DeleteRule
rule_utilsConvertPriorityToIntr&   r'   )selfargsholderr#   #network_firewall_policy_rule_clients        r   Run
Delete.Run-   s    **4+<+<+>?F

*
*
<
< C*0*J*J+/'sH,9,Y,Y
mm--) /9900?,,# : % %r!    )
__name__
__module____qualname____firstlineno____doc__r   classmethodr   r7   __static_attributes__r9   r!   r   r   r      s(    
 !%P P%r!   r   EXAMPLESa      To delete a rule with priority ``10'' in a global network firewall policy
    with name ``my-policy'', run:

      $ {command} 10 --firewall-policy=my-policy --global-firewall-policy

    To delete a rule with priority ``10'' in a regional network firewall policy
    with name ``my-policy'', in region ``region-a'', run:

      $ {command} 10 --firewall-policy=my-policy           --firewall-policy-region=region-a
    N)r>   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r1   8googlecloudsdk.api_lib.compute.network_firewall_policiesr   r	   googlecloudsdk.callioper
   <googlecloudsdk.command_lib.compute.network_firewall_policiesr   DeleteCommandr   detailed_helpr9   r!   r   <module>rI      sL    : &  ' 7 S K R ( N%T %B 	 r!   