
                            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
KJr  SSKJr  SSKJr   " S S\5      r\R0                  " \R2                  R4                  5       " S S\R6                  5      5       r\R0                  " \R2                  R:                  5       " S S\5      5       r\R0                  " \R2                  R>                  5       " S S\5      5       r g)z-Command for deleting security policies rules.    )absolute_import)division)unicode_literals)base_classes)utils)client)base)scope)flags)
properties)	resourcesc                   @    \ rS rSrSrSrSr\S 5       r\S 5       r	Sr
g)DeleteHelper!   Delete Compute Engine security policy rules.

*{command}* is used to delete security policy rules.

## EXAMPLES

To delete the rule at priority 1000, run:

  $ {command} 1000 \
     --security-policy=my-policy
Nc                 X   [         R                  " SSS9U l        U R                  R                  USSS9  [         R                  " US5        [
        R                  " 5       U l        U R                  R                  U5        UR                  R                  [
        R                  5        g)z+Generates the flagset for a Delete command.deleteT)	is_pluralPRIORITY)operation_typecust_metavarN)r   PriorityArgumentNAME_ARGAddArgumentAddRegionFlagsecurity_policies_flags(SecurityPolicyMultiScopeArgumentForRulesSECURITY_POLICY_ARGdisplay_infoAddCacheUpdaterSecurityPoliciesCompleterclsparsers     5lib/surface/compute/security_policies/rules/delete.pyArgsDeleteHelper.Args1   s     **8tDCLLLxj  B	)HHJ  ''/
''99    c                    [         R                  " U5      n/ nUR                  (       GaD  U R                  R	                  UUR
                  [        R                  R                  S9n[        USS5      b  UR                   Hq  nUR                  UR
                  R                  US[        R                  R                  R                   R"                  UR$                  UR                  S.S95        Ms     OUR                   Hf  nUR                  UR
                  R                  US[        R                  R                  R                   R"                  UR                  S.S95        Mh     OxUR                   Hh  n UR                  UR
                  R                  US[        R                  R                  R                   R"                  [        USS5      S	.S95        Mj     [*        R,                  " U5        / nU H?  n[.        R0                  " XR.                  S9n	UR3                  U	R5                  SS95        MA     UR.                  R7                  U5      $ ! [
        R&                  [
        R(                  4 a]    UR                  UR
                  R                  USS
[        R                  R                  R                   R"                  0S95         GMd  f = f)z8Validates arguments and deletes security policy rule(s).)default_scoperegionNz!compute.regionSecurityPolicyRules)projectr+   securityPolicy)
collectionparamszcompute.securityPolicyRules)r,   r-   )r,   r+   r,   )compute_clientT)only_generate_request)r   ComputeApiHoldersecurity_policyr   ResolveAsResourcer   compute_scope	ScopeEnumGLOBALgetattrnamesappendParser   VALUEScorer,   	GetOrFailr+   RequiredFieldOmittedException WrongResourceCollectionExceptionr   PromptForDeletionr   SecurityPolicyRuleextendDeleteMakeRequests)
r#   release_trackargsholderrefssecurity_policy_refnamerequestsrefsecurity_policy_rules
             r%   RunDeleteHelper.Run@   s    **=9FD33EE



%//66 F 8 
$h	5	AJJD
++f&&,,<'..33;;EE/66$($8$8 -    JJD
++f&&,,6'..33;;EE$($8$8 -    **$	
++f&&,,<'..33;;EE#D(D9 -   * 
D!H#66
mm-oo*111MN 
 ==%%h//% 3366
 
	 ++f&&,,6Z..33;;EE -   	
	s   ?A$IA<K K  )__name__
__module____qualname____firstlineno____doc__r   r   classmethodr&   rO   __static_attributes__rQ   r(   r%   r   r   !   s:    
 (  ;0 ;0r(   r   c                   2    \ rS rSrSrSr\S 5       rS rSr	g)DeleteGA   r   Nc                 .    [         R                  U5        g N)r   r&   r"   s     r%   r&   DeleteGA.Args   s    fr(   c                 J    [         R                  U R                  5       U5      $ r]   )r   rO   ReleaseTrack)selfrG   s     r%   rO   DeleteGA.Run   s    D--/66r(   rQ   )
rR   rS   rT   rU   rV   r   rW   r&   rO   rX   rQ   r(   r%   rZ   rZ      s&    
  7r(   rZ   c                       \ rS rSrSrSrg)
DeleteBeta   r   rQ   NrR   rS   rT   rU   rV   rX   rQ   r(   r%   rd   rd          
r(   rd   c                       \ rS rSrSrSrg)DeleteAlpha   r   rQ   Nrf   rQ   r(   r%   ri   ri      rg   r(   ri   N)!rV   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   0googlecloudsdk.api_lib.compute.security_policiesr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r5   4googlecloudsdk.command_lib.compute.security_policiesr   r   :googlecloudsdk.command_lib.compute.security_policies.rulesgooglecloudsdk.corer   r   objectr   ReleaseTracksr`   GADeleteCommandrZ   BETArd   ALPHAri   rQ   r(   r%   <module>ry      s     4 &  ' 7 0 C ( E a L * )[06 [0| D%%(()7t!! 7 *7. D%%**+  , D%%++,*  -r(   