
    s                    v    S 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r	S	r
S
r " S S\R                  5      rg)zEWraps a Serverless WorkerPool message, making fields more convenient.    annotations)instance_split)
k8s_object)revisionzrun.googleapis.com/minScalezrun.googleapis.com/maxScalez&run.googleapis.com/manualInstanceCountzrun.googleapis.com/scalingModezrun.googleapis.com/operation-idc                    ^  \ rS rSrSrSrS r\S 5       r\S 5       r	\S 5       r
\S 5       r\R                  S 5       r\S	 5       r\S
 5       r\S 5       rS r\S 5       rU 4S jr\S 5       r\S 5       r\S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       r\S 5       r\R                  S 5       rSrU =r$ )
WorkerPool   zWraps a Serverless WorkerPool message, making fields more convenient.

Setting properties on a WorkerPool (where possible) writes through to the
nested Kubernetes-style fields.
zrun.googleapis.comc                N   U R                   R                  R                  (       d=  [        R                  " U R                  5       5      U R                   R                  l        [        R                  R                  U R                   R                  U R                  5       5      nU$ N)	spectemplatemetadatar   MakeMetaMessagesModuler   RevisionTemplate)selfrets     -lib/googlecloudsdk/api_lib/run/worker_pool.pyr   WorkerPool.template)   sk    99&&$.$7$78K8K8M$Ndii!



$
$TYY%7%79L9L9N
OCJ    c                    U R                  5         [        R                  " U R                  U R                  R
                  5      $ r   )AssertFullObjectr   AnnotationsFromMetadata	_messagesr   r   r   s    r   template_annotationsWorkerPool.template_annotations0   s4    --.. r   c                .    U R                   R                  $ r   )r   labelsr   s    r   revision_labelsWorkerPool.revision_labels7   s    ==r   c                .    U R                   R                  $ r   r   namer   s    r   revision_nameWorkerPool.revision_name;   s    ==r   c                $    XR                   l        g r   r%   r   values     r   r'   r(   ?   s    MMr   c                .    U R                   R                  $ r   )statuslatestCreatedRevisionNamer   s    r   latest_created_revision"WorkerPool.latest_created_revisionC   s    ;;000r   c                .    U R                   R                  $ r   )r-   latestReadyRevisionNamer   s    r   latest_ready_revision WorkerPool.latest_ready_revisionG   s    ;;...r   c                    U R                   R                   Vs/ s H!  oR                  (       d  M  UR                  PM#     sn$ s  snf r   )r-   instanceSplitspercentrevisionName)r   is     r   serving_revisionsWorkerPool.serving_revisionsK   s0    $(KK$>$>L$>q))NANN$>LLLs
   AAc                    U R                   R                  =(       a#    UR                  U R                   R                  :H  nUR                  =(       d    U$ )zBReturns True if the split's percent is part of the latest percent.)r-   r2   r8   latestRevision)r   splitis_latest_by_names      r   _ShouldIncludeInLatestPercent(WorkerPool._ShouldIncludeInLatestPercentO   sH     	++ 	F$++"E"EE  4#44r   c                V   ^  [        U 4S jT R                  R                   5       5      $ )zCThe percent of instance split assigned tothe latest ready revision.c              3  ~   >#    U  H2  nTR                  U5      (       d  M  UR                  =(       d    S v   M4     g7f)r   N)r@   r7   ).0r>   r   s     r   	<genexpr>;WorkerPool.latest_percent_instance_split.<locals>.<genexpr>Z   s4      /E--e4 	/s   ==)sumr-   r6   r   s   `r   latest_percent_instance_split(WorkerPool.latest_percent_instance_splitW   s)      [[//  r   c                   > U R                   SL a,  U R                  (       a  U R                  U R                  :w  a  g[        [        U ]  5       $ )NF)!yellow)readyr3   r/   superr	   ReadySymbolAndColor)r   	__class__s    r   rO   WorkerPool.ReadySymbolAndColor`   s?    

e&&((D,F,FFT688r   c                8    U R                   R                  S5      $ )Nz serving.knative.dev/lastModifier)r   getr   s    r   last_modifierWorkerPool.last_modifieri   s     BCCr   c                    U R                  5         [        R                  " U R                  U R                  R
                  5      $ r   )r   r   InstanceSplitsr   r   r6   r   s    r   
spec_splitWorkerPool.spec_splitm   s4    ((		00 r   c                    U R                  5         [        R                  " U R                  U R                  c  / 5      $ U R                  R
                  5      $ r   )r   r   rW   r   r-   r6   r   s    r   status_splitWorkerPool.status_splitt   sK    ((kk! '+{{'A'A r   c                .    U R                   R                  $ r   r   imager   s    r   r_   WorkerPool.image|   s    ==r   c                $    XR                   l        g r   r^   r*   s     r   r_   r`      s    MMr   c                @    U R                   R                  [        5      $ r   )r   rS   OPERATION_ID_ANNOTATIONr   s    r   operation_idWorkerPool.operation_id   s     788r   c                (    XR                   [        '   g r   )r   rc   r*   s     r   rd   re      s    05,-r   c                T    U R                   R                  [        R                  5      $ r   )r   rS   r   DESCRIPTION_ANNOTATIONr   s    r   descriptionWorkerPool.description   s    
 A ABBr   c                     XR                   S'   g )Nzrun.googleapis.com/descriptionr   r*   s     r   ri   rj      s    9>56r    )__name__
__module____qualname____firstlineno____doc__API_CATEGORYKINDpropertyr   r   r"   r'   setterr/   r3   r:   r@   rH   rO   rT   rX   r[   r_   rd   ri   __static_attributes____classcell__)rP   s   @r   r	   r	      s    &,	$            1 1 / / M M5  9 D D       	<<    9 9 6 6 C C ? ?r   r	   N)rq   
__future__r   googlecloudsdk.api_lib.runr   r   r    WORKER_POOL_MIN_SCALE_ANNOTATION WORKER_POOL_MAX_SCALE_ANNOTATION MANUAL_INSTANCE_COUNT_ANNOTATION#WORKER_POOL_SCALING_MODE_ANNOTATIONrc   KubernetesObjectr	   rl   r   r   <module>r      sL    L " 5 1 / $A  #@  #K  &F #; s?,, s?r   