
    R                         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	 Zd
 Z G d de	j                         Zy)z&Command for deleting forwarding rules.    )absolute_import)division)unicode_literals)base_classes)utils)base)flagsc                     t        j                         }|j                  | d       | j                  j	                  t         j
                         |S )z*Add the flags to delete a forwarding rule.delete)operation_type)r	   ForwardingRuleArgumentPluralAddArgumentdisplay_infoAddCacheUpdaterForwardingRulesCompleter)parserforwarding_rules_args     .lib/surface/compute/forwarding_rules/delete.py_Argsr      sF     ;;=""6("C%%e&D&DE	    c                    |j                   }|j                  | |j                  t        j                  |            }t        j                  |       g }|D ]  }|j                         dk(  r^|j                  j                  |j                         |j                        }|j                  |j                  j                  d|f       t|j                  j                  |j                         |j                  |j                         }|j                  |j                  j"                  d|f        |j%                  |      S )z5Issues requests necessary to delete Forwarding Rules.)scope_listerzcompute.globalForwardingRules)forwardingRuleprojectDelete)r   r   region)clientResolveAsResource	resourcescompute_flagsGetDefaultScopeListerr   PromptForDeletion
Collectionmessages)ComputeGlobalForwardingRulesDeleteRequestNamer   appendapitools_clientglobalForwardingRules#ComputeForwardingRulesDeleteRequestr   forwardingRulesMakeRequests)argsholderr   r   forwarding_rule_refsrequestsforwarding_rule_refrequests           r   _Runr3   %   s8    ==&-??
 66v> @ @
 ./(1%%'+JJII,113%-- J /g oo!!777
KM CC,113%--$++ D -g oo!!118W
EG 2 
		X	&&r   c                   *    e Zd ZdZdZed        Zd Zy)r   z_Delete forwarding rules.

  *{command}* deletes one or more Compute Engine forwarding rules.
  Nc                 $    t        |      | _        y N)r   FORWARDING_RULES_ARG)clsr   s     r   ArgszDelete.ArgsL   s    $V}Cr   c                 v    t        j                  | j                               }t        ||| j                        S r6   )r   ComputeApiHolderReleaseTrackr3   r7   )selfr-   r.   s      r   Runz
Delete.RunP   s0    **4+<+<+>?Ffd7788r   )__name__
__module____qualname____doc__r7   classmethodr9   r>    r   r   r   r   D   s&    
 - -9r   r   N)rB   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r    3googlecloudsdk.command_lib.compute.forwarding_rulesr   r3   DeleteCommandr   rD   r   r   <module>rK      s>    - &  ' 7 0 ( E E'>9T 9r   