
    X                         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 ddlmZ  G d de	j$                        Zy)z%Surface for deleting a firewall rule.    )absolute_import)division)unicode_literals)appengine_firewall_api_client)base)
exceptions)firewall_rules_util)flags)log)
console_ioc                   0    e Zd ZdZdddZed        Zd Zy)Deletez"Deletes a specified firewall rule.z{description}z^          To delete an App Engine firewall rule, run:

            $ {command} 1234
          )DESCRIPTIONEXAMPLESc                 B    t         j                  j                  |        y )N)r
   FIREWALL_PRIORITY_FLAGAddToParser)parsers    (lib/surface/app/firewall_rules/delete.pyArgszDelete.Args,   s    	  ,,V4    c                    t        j                  |j                        }|t         j                  k(  rt	        j
                  dd      t        j                  dj                  |      d       t        j                  | j                               }t        j                  ||      }|j                  |       t        j                  |       y )Npriorityz/The `default` can not be deleted, only updated.z#You are about to delete rule [{0}].T)prompt_stringcancel_on_no)r	   ParsePriorityr   DEFAULT_RULE_PRIORITYr   InvalidArgumentExceptionr   PromptContinueformat
api_clientGetApiClientForTrackReleaseTrackParseFirewallRuler   r   DeletedResource)selfargsr   clientresources        r   Runz
Delete.Run0   s    "00?H&<<<//
GI I ;BB8L ,,T->->-@AF"44VXFH
MM(!r   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr   r*    r   r   r   r      s/    * 		- 5 5"r   r   N)r.   
__future__r   r   r   googlecloudsdk.api_lib.app.apir   r!   googlecloudsdk.callioper   r   googlecloudsdk.command_lib.appr	   r
   googlecloudsdk.corer   googlecloudsdk.core.consoler   DeleteCommandr   r1   r   r   <module>r9      s:    , &  ' V ( . > 0 # 2 "T  "r   