
                             S r SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSKJr  SSK	J
r
  SS	KJr  SS	KJr  SS
KJr  SS	KJr  SSKJr   " S S\
R*                  5      r\R.                  " S5      SS.\l        g)z6Command for removing a Rule from a Compute Engine NAT.    )absolute_import)division)unicode_literalsN)base_classes)utils)base)flags)
nats_utils)rules_utilsc                   8    \ rS rSrSrSr\S 5       rS rS r	Sr
g)Delete    z&Delete a Rule in a Compute Engine NAT.Nc                     [         R                  " 5       U l        U R                  R                  U5        [        R
                  " USS9  [        R                  " U5        [        R                  " USSSS9  g )NT)pluralzNAT containing the Ruledelete)operation_typer   )	routers_flagsRouterArgumentForNat
ROUTER_ARGAddArgumentrules_flagsAddRuleNumberArgAddNatNameArgcompute_flagsAddRegionFlag)clsparsers     0lib/surface/compute/routers/nats/rules/delete.pyArgsDelete.Args%   s[    "779CNNNv&  5f%)(4Q    c           
         [         R                  " U R                  5       5      nUR                  nU R                  R                  XR                  5      nUR                  UR                  R                  SUR                  R                  " S0 UR                  5       D64/5      nUS   nUR                  nUR                  n[        R                   " Xg5      n	U H4  n
["        R$                  " X5      nU	R&                  R)                  U5        M6     [*        R,                  " SSR/                  UR                  U5      /5        UR                  U R1                  X4U5      /5      $ )NGetr   Rulez{} in NAT {} )r   ComputeApiHolderReleaseTrackclientr   ResolveAsResource	resourcesMakeRequestsapitools_clientroutersmessagesComputeRoutersGetRequestAsDictnatrule_numberr
   FindNatOrRaiser   FindRuleOrRaiserulesremover   PromptForDeletionHelperformat_GetPatchRequest)selfargsholderr(   
router_refobjectsrouternat_namerule_numbersr1   r2   rules               r   Run
Delete.Run/   s7   **4+<+<+>?F]]F2249I9IJJ!!				'	'		1	1	HJ4E4E4G	H	J# G QZFxxH##L

#
#F
5C#((:d	iit $ 
!!&&t'7'7BCE 			v6	:;= =r!   c           	          UR                   R                  SUR                  R                  UR	                  5       UUR
                  UR                  S94$ )NPatch)r?   routerResourceregionproject)r,   r-   r.   ComputeRoutersPatchRequestNamerH   rI   )r:   r(   r=   r?   s       r   r9   Delete._GetPatchRequestI   sS    ""**GOO66!(%!(("**	 7 ,- -r!   r%   )__name__
__module____qualname____firstlineno____doc__r   classmethodr   rC   r9   __static_attributes__r%   r!   r   r   r       s(    .*Q Q=4-r!   r   zL          *{command}* is used to delete a Rule on a Compute Engine NAT.
    zy    To delete Rule 1 in NAT 'n1' in router 'r1', run:

      $ {command} 1 --nat=n1 --router=r1 --region=us-central1
    )DESCRIPTIONEXAMPLES)rQ   
__future__r   r   r   textwrapgooglecloudsdk.api_lib.computer   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r   *googlecloudsdk.command_lib.compute.routersr   /googlecloudsdk.command_lib.compute.routers.natsr
   5googlecloudsdk.command_lib.compute.routers.nats.rulesr   r   DeleteCommandr   dedentdetailed_helpr%   r!   r   <module>ra      sc    = &  '  7 0 ( E M F V M/-T /-h 	  			 r!   