
                             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  G d	 d
e	j                        Zy)z$Command for deleting firewall rules.    )absolute_import)division)unicode_literals)base_classes)utils)base)flagsc                   *    e Zd ZdZdZed        Zd Zy)DeletezDelete Compute Engine firewall rules.

  *{command}* deletes one or more Compute Engine firewall
  rules.

  ## EXAMPLES

  To delete a firewall rule, run:

    $ {command} my-firewall-rule
  Nc                     t        j                  d      t        _        t        j                  j	                  | d       | j
                  j                  t         j                         y )NT)pluraldelete)operation_type)r	   FirewallRuleArgumentr   FIREWALL_ARGAddArgumentdisplay_infoAddCacheUpdaterFirewallsCompleter)parsers    ,lib/surface/compute/firewall_rules/delete.pyArgszDelete.Args+   sH    44DAF
##F8#D
''(@(@A    c                    t        j                  | j                               }|j                  }t        j
                  j                  ||j                  t        j                  |            }t        j                  |       g }|D ]R  }|j                  |j                  j                  d |j                  j                   di |j#                         f       T |j%                  |      S )N)scope_listerr    )r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   PromptForDeletionappendapitools_client	firewallsmessagesComputeFirewallsDeleteRequestAsDictMakeRequests)selfargsholderr   firewall_refsrequestsfirewall_refs          r   Runz
Delete.Run1   s    **4+<+<+>?F]]F''99"88@ : BM
 
M*H%oov--77DvDD 4)00245 6 &
 x((r   )__name__
__module____qualname____doc__r   staticmethodr   r2   r   r   r   r   r      s'    
 ,B B
)r   r   N)r6   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r"   1googlecloudsdk.command_lib.compute.firewall_rulesDeleteCommandr   r   r   r   <module>r>      s4    + &  ' 7 0 ( E C&)T &)r   