
    f                        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  \R"                  " \R$                  R&                  5       " S S\R(                  5      5       r\R"                  " \R$                  R,                  5       " S S\R(                  5      5       r\R"                  " \R$                  R0                  5       " S S\R(                  5      5       rg)z'Command for deleting security policies.    )absolute_import)division)unicode_literals)base_classes)utils)client)base)scope)flagsc                   8    \ rS rSrSrSr\S 5       rS rS r	Sr
g)Delete      Delete security policies.

*{command}* deletes Compute Engine security policies. Security
policies can only be deleted when no other resources (e.g.,
backend services) refer to them.

## EXAMPLES

To delete a security policy, run:

  $ {command} my-policy
Nc                     [         R                  " SS9U l        U R                  R                  USS9  UR                  R                  [         R                  5        g NT)pluraldelete)operation_type)r    SecurityPolicyMultiScopeArgumentSECURITY_POLICY_ARGAddArgumentdisplay_infoAddCacheUpdaterGlobalSecurityPoliciesCompleterclsparsers     /lib/surface/compute/security_policies/delete.pyArgsDelete.Args.   sK    #DDC''x'H
''(M(MN    c                     g)Nzcompute.securityPolicies )selfs    r   
CollectionDelete.Collection5   s    %r!   c                    [         R                  " U R                  5       5      nU R                  R	                  XR
                  [        R                  R                  S9n[        R                  " U5        / nU H?  n[        R                  " XRR                  S9nUR                  UR                  SS95        MA     UR                  R                  U5      $ N)default_scope)compute_clientT)only_generate_requestr   ComputeApiHolderReleaseTrackr   ResolveAsResource	resourcescompute_scope	ScopeEnumGLOBALr   PromptForDeletionr   SecurityPolicyextendr   MakeRequestsr$   argsholderrefsrequestsrefsecurity_policys          r   Run
Delete.Run8       **4+<+<+>?F##55m.E.E.L.L 6 ND	D!H--c--Poooo,,4,HI  ==%%h//r!   r#   )__name__
__module____qualname____firstlineno____doc__r   classmethodr   r%   r?   __static_attributes__r#   r!   r   r   r      s-     O O&0r!   r   c                   2    \ rS rSrSrSr\S 5       rS rSr	g)
DeleteBetaF   r   Nc                     [         R                  " SS9U l        U R                  R                  USS9  UR                  R                  [         R                  5        g r   r   r   r   r   r   r   SecurityPoliciesCompleterr   s     r   r   DeleteBeta.ArgsW   K    #DDC''x'H
''(G(GHr!   c                    [         R                  " U R                  5       5      nU R                  R	                  XR
                  [        R                  R                  S9n[        R                  " U5        / nU H?  n[        R                  " XRR                  S9nUR                  UR                  SS95        MA     UR                  R                  U5      $ r(   r,   r8   s          r   r?   DeleteBeta.Run^   rA   r!   r#   
rB   rC   rD   rE   rF   r   rG   r   r?   rH   r#   r!   r   rJ   rJ   F   (     I I0r!   rJ   c                   2    \ rS rSrSrSr\S 5       rS rSr	g)DeleteAlphal   r   Nc                     [         R                  " SS9U l        U R                  R                  USS9  UR                  R                  [         R                  5        g r   rM   r   s     r   r   DeleteAlpha.Args}   rP   r!   c                    [         R                  " U R                  5       5      nU R                  R	                  XR
                  [        R                  R                  S9n[        R                  " U5        / nU H?  n[        R                  " XRR                  S9nUR                  UR                  SS95        MA     UR                  R                  U5      $ r(   r,   r8   s          r   r?   DeleteAlpha.Run   rA   r!   r#   rS   r#   r!   r   rV   rV   l   rT   r!   rV   N)rF   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   0googlecloudsdk.api_lib.compute.security_policiesr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r1   4googlecloudsdk.command_lib.compute.security_policiesr   ReleaseTracksr.   GADeleteCommandr   BETArJ   ALPHArV   r#   r!   r   <module>rg      s    . &  ' 7 0 C ( E F D%%(()%0T %0 *%0P D%%**+"0## "0 ,"0J D%%++,"0$$$ "0 -"0r!   