
                             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 ddlmZ ddlmZ ddlmZ ddlmZ ej*                   G d dej,                               Zy)z.Command for obtaining details about revisions.    )absolute_import)division)unicode_literals)base)connection_context)
exceptions)flags)resource_args)serverless_operations)export_printer)revision_printer)concept_parsers)presentation_specs)resource_printerc                   @    e Zd ZdZdddZed        Zed        Zd Zy)	DescribezObtain details about revisions.z"          {description}
          z          To describe a revision `my-service-00001-abc`in us-central1:

              $ {command} --region=us-central1 my-service-00001-abc
          )DESCRIPTIONEXAMPLESc                    t        j                  dt        j                         ddd      }t	        j
                  |g      j                  |        t        j                  t        j                  t        j                  d       | j                  j                  t        j                         t        j                  t        j                  t        j                   d       y )NREVISIONzRevision to describe.TF)requiredprefixes)hidden)r   ResourcePresentationSpecr
   GetRevisionResourceSpecr   ConceptParserAddToParserr   RegisterFormatterr   REVISION_PRINTER_FORMATRevisionPrinterdisplay_info	AddFormatr   EXPORT_PRINTER_FORMATExportPrinter)parserrevision_presentations     %lib/surface/run/revisions/describe.py
CommonArgszDescribe.CommonArgs1   s    .GG--/ !!#   +F 3&&00((7 !!"2"J"JK&&,,$$T3    c                 .    t         j                  |        y )N)r   r(   )r%   s    r'   ArgszDescribe.ArgsD   s    r)   c                    t        j                  |t        j                  j                  | j                               }|j                  j                  j                         }t        j                  |      5 }|j                  |      }ddd       r|j                  .t        j                  dj                  |j                               |S # 1 sw Y   GxY w)zShow details about a revision.NzCannot find revision [{}])r   GetConnectionContextr	   ProductRUNReleaseTrackCONCEPTSrevisionParser   ConnectGetRevisionworker_pool_namer   ArgumentErrorformatrevisionsId)selfargsconn_contextrevision_refclientwrapped_revisions         r'   RunzDescribe.RunH   s    %::emm!2!2!46L==))//1L		&	&|	4++L9 
5 /@@L$$%@%G%G

"
"&$ % % 
5	4s   7CCN)	__name__
__module____qualname____doc__detailed_helpstaticmethodr(   r+   r@    r)   r'   r   r   "   sC    '		- 3 3$    r)   r   N)rD   
__future__r   r   r   googlecloudsdk.callioper   googlecloudsdk.command_lib.runr   r   r	   r
   r   'googlecloudsdk.command_lib.run.printersr   r   (googlecloudsdk.command_lib.util.conceptsr   r   googlecloudsdk.core.resourcer   UniverseCompatibleDescribeCommandr   rG   r)   r'   <module>rP      s[    5 &  ' ( = 5 0 8 @ B D D G 9 2t## 2 2r)   