
                             S 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	 rS
r " S S\R"                  5      rg)zInstance-specific printer.    N)instance)!container_and_volume_printer_util)k8s_object_printer_util)traffic_printer)console_attr)custom_printer_basec                  *   / n [         R                  R                  R                  5        HO  u  pUR                  (       d  M  U R                  UR                   SUR                   UR                   S35        MQ     SR                  U 5      nSU S3$ )z?Return the color format string for the status of this instance.z="[z]",zready_symbol.color(z
):label="")	r   InstanceINSTANCE_SYMBOLSitemscolorappendbestaltjoin)color_formatters_symbolcolor_formatters_strs       ?lib/googlecloudsdk/command_lib/run/printers/instance_printer.pyStatusColorFormatr      s    $$55;;=ia|||c&++vzzl"MN > "2334J	??    r   c                   N    \ rS rSrSr\S 5       r\S 5       r\S 5       rS r	Sr
g)	InstancePrinter*   zPrints the run Instance in a custom human-readable format.

Format specific to Cloud Run instances. Only available on Cloud Run commands
that print instances.
c                    SnU R                   (       am  U R                   S   (       aY  U R                  5       u  p#[        R                  " 5       R	                  [
        R                  " U R                   S   S5      U5      nU$ )N messaged   )ready_conditionReadySymbolAndColorr   GetConsoleAttrColorizetextwrapfill)recordready_messager   r   s       r   FormatReadyMessage"InstancePrinter.FormatReadyMessage1   sl     M&"8"8"C++-ha"113<<
--..y93
?
m r   c                     / nU R                   (       aF  UR                  [        R                  " S[        R
                  " U R                   5      4/5      5        [        R                  " U5      $ )NTimeout)timeoutr   cpLabeledk8s_utilFormatDurationShortLines)r'   configs     r   	GetConfigInstancePrinter.GetConfig?   sQ    F~~mm
**877GHI
 88Fr   c                 j   / n[         R                  " U 5      n[        R                  U 5      n[         R                  " U R
                  5      n[        R                  U 5      n[        R                  " U 5      n[        R                  " U 5      nU(       a  UR                  U5        U(       a  UR                  U5        U(       a  UR                  U5        UR                  S5        U(       a"  UR                  U5        UR                  S5        UR                  U5        UR                  U5        U$ )N )r0   BuildHeaderr   r)   	GetLabelslabelsr4   r   TransformInstanceRouteFieldscontainer_utilGetContainersr   )r'   outputheaderr(   r:   r3   route_fields
containerss           r   _formatOutputInstancePrinter._formatOutputJ   s    F!!&)F#66v>M.F&&v.F"??GL--f5JmmFmmM"mmF
MM#mmL!mmC
MM*
MM&Mr   c                 T    [         R                  " [        R                  U5      5      $ )zATransform a instance into the output structure of marker classes.)r.   r2   r   rB   )selfr'   s     r   	TransformInstancePrinter.Transforme   s    88O11&9::r    N)__name__
__module____qualname____firstlineno____doc__staticmethodr)   r4   rB   rF   __static_attributes__rH   r   r   r   r   *   sH          4;r   r   )rM   r%   googlecloudsdk.api_lib.runr   'googlecloudsdk.command_lib.run.printersr   r<   r   r0   r   googlecloudsdk.core.consoler   googlecloudsdk.core.resourcer   r.   r   INSTANCE_PRINTER_FORMATCustomPrinterBaser   rH   r   r   <module>rV      sA     !  / g W C 4 B@ % =;b** =;r   