
    d                         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  G d dej*                        Zy)z)Command for obtaining details about jobs.    )absolute_import)division)unicode_literals)base)connection_context)
exceptions)flags)resource_args)serverless_operations)export_printer)job_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 jobs.z#
          {description}
          zJ
          To describe a job:

              $ {command} my-job
          )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JOBzJob to describe.TF)requiredprefixes)hidden)r   ResourcePresentationSpecr
   GetJobResourceSpecr   ConceptParserAddToParserr   RegisterFormatterr   JOB_PRINTER_FORMAT
JobPrinterdisplay_info	AddFormatr   EXPORT_PRINTER_FORMATExportPrinter)parserjob_presentations      lib/surface/run/jobs/describe.py
CommonArgszDescribe.CommonArgs2   s    )BB((* !!#3"45AA&I&&&&(>(>tM
!!+"@"@A&&,,$$    c                 .    t         j                  |        y )N)r   r(   )r%   s    r'   ArgszDescribe.ArgsD   s    r)   c                    t        j                  |t        j                  j                  | j                         d      }|j                  j                  j                         }t        j                  |      5 }|j                  |      }ddd       s2t        j                  dj                  |j                                     |S # 1 sw Y   ?xY w)z#Show details about a job execution.v1)version_overrideNzCannot find job [{}].)r   GetConnectionContextr	   ProductRUNReleaseTrackCONCEPTSjobParser   ConnectGetJobr   ArgumentErrorformatName)selfargsconn_contextjob_refclientr4   s         r'   RunzDescribe.RunH   s    %::emm!2!2!4tMLmm%%'G		&	&|	4MM'"c 
5 $$%<%C%C
,,.&  J 
5	4s   9C		CN)	__name__
__module____qualname____doc__detailed_helpstaticmethodr(   r+   r@    r)   r'   r   r   "   sC    "-  "    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   DescribeCommandr   rG   r)   r'   <module>rO      sF    0 &  ' ( = 5 0 8 @ B ? D G 92t## 2r)   