
    M
                         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 G d de
j                        Zddie_        y
)z?Command for deleting organization firewall policy associations.    )absolute_import)division)unicode_literals)base_classes)client)base)firewall_policies_utils)flagsNc                   *    e Zd ZdZdZed        Zd Zy)DeletezDelete a Compute Engine organization firewall policy association.

  *{command}* is used to delete organization firewall policy association.
  Nc                     t        j                  d      | _        | j                  j                  |d       t        j                  |       |j
                  j                  t         j                         y )NT)requireddelete)operation_type)r
   "FirewallPolicyAssociationsArgumentFIREWALL_POLICY_ARGAddArgumentAddArgsDeleteAssociationdisplay_infoAddCacheUpdaterFirewallPoliciesCompleter)clsparsers     <lib/surface/compute/firewall_policies/associations/delete.pyArgszDelete.Args%   sY    #FFC''x'H	""6*
''(G(GH    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)firewall_policy_idonly_generate_request)r   ComputeApiHolderReleaseTrackr   ResolveAsResourcer!   r   OrgFirewallPolicysix	text_typelowerr	   GetFirewallPolicyIdfirewall_policyr#   DeleteAssociation)selfargsholderr   org_firewall_policyr$   s         r   Runz
Delete.Run-   s    **4+<+<+>?F

"
"
4
4fU 5 4C 22}}""d//1288:	<
 1DD&&( 00-U 1 L Lr   )__name__
__module____qualname____doc__r   classmethodr   r4    r   r   r   r      s)    
 I ILr   r   EXAMPLESz    To delete an association with name ``example-association" of an organization
    firewall policy with ID ``123456789", run:

      $ {command} example-association --firewall-policy=123456789
    )r8   
__future__r   r   r   googlecloudsdk.api_lib.computer   0googlecloudsdk.api_lib.compute.firewall_policiesr   googlecloudsdk.callioper   4googlecloudsdk.command_lib.compute.firewall_policiesr	   r
   r*   DeleteCommandr   detailed_helpr:   r   r   <module>rC      sO    F &  ' 7 C ( X F 
LT LD 	 r   