
    
                     F   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ dd	lmZ dd
lZe
j                   e
j                   e
j"                  j$                  e
j"                  j&                         G d de
j(                                      Zddie_        y
)z>Command for deleting organization security policy association.    )absolute_import)division)unicode_literals)base_classes)client)base)flags)org_security_policies_utilsNc                   *    e Zd ZdZdZed        Zd Zy)DeletezDelete a Compute Engine organization security policy association.

  *{command}* is used to delete organization security policy association.
  Nc                     t        j                  d      | _        | j                  j                  |d       t        j                  |       |j
                  j                  t         j                         y )NT)requireddelete)operation_type)r	   %OrgSecurityPolicyAssociationsArgumentORG_SECURITY_POLICY_ARGAddArgumentAddArgsDeleteAssociationdisplay_infoAddCacheUpdaterOrgSecurityPoliciesCompleter)clsparsers     @lib/surface/compute/org_security_policies/associations/delete.pyArgszDelete.Args'   sY    "'"M"M#C++F8+L	""6*
''(J(JK    c           	         t        j                  | j                               }| j                  j	                  ||j
                  d      }t        j                  ||j                  |j
                  t        j                  | j                               j                               }t        j                  ||j                  |j                        }|j                  |d      S )NF)with_project)refcompute_client	resourcesversion)organization)security_policy_idonly_generate_request)r   ComputeApiHolderReleaseTrackr   ResolveAsResourcer!   r   OrgSecurityPolicysix	text_typelowerr
   GetSecurityPolicyIdsecurity_policyr#   DeleteAssociation)selfargsholderr   org_security_policyr$   s         r   Runz
Delete.Run/   s    **4+<+<+>?F

&
&
8
8fU 9 4C 22}}""d//1288:	<
 5HH&&( 00-U 1 L Lr   )__name__
__module____qualname____doc__r   classmethodr   r4    r   r   r   r      s)    
 !L LLr   r   EXAMPLESz    To delete an association with name ``example-association'' of an organization
    security policy with ID ``123456789'', run:

      $ {command} example-association --security-policy=123456789
    )r8   
__future__r   r   r   googlecloudsdk.api_lib.computer   4googlecloudsdk.api_lib.compute.org_security_policiesr   googlecloudsdk.callioper   8googlecloudsdk.command_lib.compute.org_security_policiesr	   r
   r*   UniverseCompatibleReleaseTracksr'   ALPHABETADeleteCommandr   detailed_helpr:   r   r   <module>rG      s    E &  ' 7 G ( J ` 
 D%%++T->->-C-CDLT L E LD 	 r   