
    
                         d Z ddlmZ ddlmZ ddlmZ ddl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 ej,                  d      dde_        y)z8Command for describing a Rule from a Compute Engine NAT.    )absolute_import)division)unicode_literalsN)base_classes)base)flags)
nats_utils)rules_utilsc                   *    e Zd ZdZdZed        Zd Zy)Describez(Describe a Rule in a Compute Engine NAT.Nc                     t        j                         | _        | j                  j                  |       t	        j
                  |       t	        j                  |       t        j                  |dd       y )NzNAT containing the Ruledescribe)operation_type)	routers_flagsRouterArgumentForNat
ROUTER_ARGAddArgumentrules_flagsAddRuleNumberArgAddNatNameArgcompute_flagsAddRegionFlag)clsparsers     2lib/surface/compute/routers/nats/rules/describe.pyArgszDescribe.Args$   sW    "779CNNNv&  (f%)*F    c           
         t        j                  | j                               }|j                  }| j                  j                  ||j                        }|j                  |j                  j                  d |j                  j                  di |j                         fg      d   }|j                  }|j                  }t        j                   ||      }t#        j$                  ||      S )NGetr    )r   ComputeApiHolderReleaseTrackclientr   ResolveAsResource	resourcesMakeRequestsapitools_clientroutersmessagesComputeRoutersGetRequestAsDictnatrule_numberr	   FindNatOrRaiser
   FindRuleOrRaise)	selfargsholderr#   
router_refrouternat_namer-   r,   s	            r   RunzDescribe.Run.   s    **4+<+<+>?F]]F2249I9IJJ  				'	'	1	1	1	HJ4E4E4G	H	J"  	
F
 xxH""K

#
#FH
5C&&sK88r   )__name__
__module____qualname____doc__r   classmethodr   r6   r    r   r   r   r      s#    0*F F9r   r   zN          *{command}* is used to describe a Rule on a Compute Engine NAT.
    z{    To describe Rule 1 in NAT 'n1' in router 'r1', run:

      $ {command} 1 --nat=n1 --router=r1 --region=us-central1
    )DESCRIPTIONEXAMPLES)r:   
__future__r   r   r   textwrapgooglecloudsdk.api_lib.computer   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
   DescribeCommandr   dedentdetailed_helpr    r   r   <module>rI      sb    ? &  '  7 ( E M F V M9t## 9H 	  			 r   