
    	                     >   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mZ ej"                  ej$                   ej&                  ej(                  j*                         G d
 dej,                                             Zddie_        y)z1Command for deleting network policy associations.    )absolute_import)division)unicode_literals)ClassVar)base_classes)client)base)flagsc                   L    e Zd ZU dZeej                     ed<   ed        Z	d Z
y)Deletez~Delete an association between a network policy and a network.

  *{command}* is used to delete network policy associations.
  NETWORK_POLICY_ARGc                     t        j                  dd      | _        | j                  j                  |d       t        j                  |       |j
                  j                  t         j                         y )NTdelete)required	operation)operation_type)r
    NetworkPolicyAssociationArgumentr   AddArgumentAddArgsRemoveAssociationdisplay_infoAddCacheUpdaterNetworkPoliciesCompleter)clsparsers     ;lib/surface/compute/network_policies/associations/delete.pyArgszDelete.Args)   s]    "CCC &&vh&G	""6*
''(F(FG    c                 $   t        j                  | j                               }| j                  j	                  ||j
                        }t        j                  ||j                        }|j                  |j                  |j                        S )N)compute_client)network_policyassociation)r   ComputeApiHolderReleaseTrackr   ResolveAsResource	resourcesr   NetworkPolicyRemoveAssociationr    name)selfargsholderrefnetwork_policy_clients        r   Runz
Delete.Run2   s}    **4+<+<+>?F

!
!
3
3D&:J:J
KC"00FMM !22**II 3  r   N)__name__
__module____qualname____doc__r   compute_flagsResourceArgument__annotations__classmethodr   r.    r   r   r   r      s3    
 }==>>H Hr   r   EXAMPLESa      To delete an association named ``my-association'' from a network policy
    with name ``my-policy'' in region ``region-a'', run:

      $ {command} \
          --network-policy=my-policy \
          --name=my-association \
          --network-policy-region=region-a
    N)r2   
__future__r   r   r   typingr   googlecloudsdk.api_lib.computer   /googlecloudsdk.api_lib.compute.network_policiesr   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r3   3googlecloudsdk.command_lib.compute.network_policiesHiddenUniverseCompatibleReleaseTracksr#   ALPHADeleteCommandr   detailed_helpr7   r   r   <module>rF      s    8 &  '  7 B ( E E D%%++,T  -  @  
 r   