
    9                         S 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
KJr  SSKJr  Sr " S S\R&                  5      rg)zWorkerPool specific printer.    )absolute_import)division)print_function)unicode_literals)worker_pool)instance_split_printer)k8s_object_printer_util)worker_pool_revision_printer)console_attr)custom_printer_base
workerpoolc                   <    \ rS rSrSrS rS rS rS rS r	S r
S	rg
)WorkerPoolPrinter    zPrints the run WorkerPool in a custom human-readable format.

Format specific to Cloud Run worker pools. Only available on Cloud Run
commands
that print worker pools.
c                    [         R                  " 5       nUR                  " UR                  5       6 n SUR                  -   nUR                  SR                  USUR                  U5      5      $ ! [
         a    SUR                  -   n NHf = f)Nzregion z
namespace z{} {} {} in {}
WorkerPool)
r   GetConsoleAttrColorizeReadySymbolAndColorregionKeyError	namespace	Emphasizeformatname)selfrecordconstatusplaces        Blib/googlecloudsdk/command_lib/run/printers/worker_pool_printer.py_BuildWorkerPoolHeader(WorkerPoolPrinter._BuildWorkerPoolHeader(   s    

%
%
'C\\65578F.&--'e ==fkk5I   .V---e.s   A0 0BBc                     SnUR                   c  SnO%SR                  UR                   R                  5      n[        R                  " 5       R                  U5      $ )N zUnknown revisionzRevision {})r   r   latestCreatedRevisionNamer   r   r   )r   r   headers      r!   _GetRevisionHeader$WorkerPoolPrinter._GetRevisionHeader3   sJ    F}}!f##FMM$K$KLf&&(226::    c                     [         R                  " U R                  U5      [        R                  " UR
                  R                  5      [        R                  R                  UR
                  5      /5      $ )zAdds printers for the revision.)
cpLinesr(   k8s_util	GetLabelstemplatelabelsr
   WorkerPoolRevisionPrinterTransformSpec)r   r   s     r!   _RevisionPrinters#WorkerPoolPrinter._RevisionPrinters;   sY    88'6??112$>>LLOO	
  r*   c                    [         R                  " S[        R                  " U5      4/5      /nU R	                  U5      nUb*  [         R                  " SU4/5      nUR                  U5        [        R                  " U5      nUb1  [         R                  " SU4/5      nSUl        UR                  U5        [        R                  " U5      nUb*  [         R                  " SU4/5      nUR                  U5        UR                  [         R                  " S[        R                  " U5      4/5      5        [         R                  " U5      $ )zAdds worker pool level values.zBinary AuthorizationScalingzBreakglass JustificationFDescriptionzThreat Detection)r,   Labeledr.   GetBinAuthzPolicy_GetScalingSettingappendGetBinAuthzBreakglass
skip_emptyGetDescriptionGetThreatDetectionEnabledSection)	r   r   r1   scaling_settingscaling_mode_labelbreakglass_valuebreakglass_labeldescriptiondescription_labels	            r!   _GetWorkerPoolSettings(WorkerPoolPrinter._GetWorkerPoolSettingsE   sA    	

#X%?%?%GH
 	F --f5O"::o
&' 	 mm&'55f=# %'7
8% 	 %*!mm$%))&1K**+
&& 	 mm%&
MM"**	X??GH   ::fr*   c                    UR                   R                  [        R                  S5      nUS:X  a/  UR                   R                  [        R                  S5      nSU-  $ UR                   R                  [        R
                  S5      nUR                   R                  [        R                  S5      nU(       a  SU< SU< S3$ SU-  $ )	z0Returns the scaling setting for the worker pool.r%   manualzManual (Instances: %s)0zAuto (Min: z, Max: )zAuto (Min: %s))annotationsgetr   #WORKER_POOL_SCALING_MODE_ANNOTATION MANUAL_INSTANCE_COUNT_ANNOTATION WORKER_POOL_MIN_SCALE_ANNOTATION WORKER_POOL_MAX_SCALE_ANNOTATION)r   r   scaling_modeinstance_countmin_instance_countmax_instance_counts         r!   r;   $WorkerPoolPrinter._GetScalingSettingi   s    %%))77L x))--

6
6n &66!--11

6
6 "--11

6
6 

 	

  "444r*   c                    U R                  U5      n[        R                  " U R                  U5      [        R
                  " UR                  5      S[        R                  " U5      SUUR                  5       (       a  SOS[        R                  " [        R                  " U5      U R                  U5      4/5      [        R                  " U5      /	5      nU$ )zDTransform a worker pool into the output structure of marker classes. r%   )rH   r,   r-   r"   r.   r/   r1   r   TransformInstanceSplitFieldsWillPrintOutputr9   LastUpdatedMessager4   FormatReadyMessage)r   r   worker_pool_settingsfmts       r!   	TransformWorkerPoolPrinter.Transform   s    66v>
((##F+6==);;FC$4466B


''/""6*
  	 	##F+ C Jr*    N)__name__
__module____qualname____firstlineno____doc__r"   r(   r4   rH   r;   ra   __static_attributes__rc   r*   r!   r   r       s&    	;"H54r*   r   N)rh   
__future__r   r   r   r   googlecloudsdk.api_lib.runr   'googlecloudsdk.command_lib.run.printersr   r	   r.   r
   googlecloudsdk.core.consoler   googlecloudsdk.core.resourcer   r,   WORKER_POOL_PRINTER_FORMATCustomPrinterBaser   rc   r*   r!   <module>rq      sB    # &  % ' 2 J W P 4 B) t,, tr*   