
    I                         S r SSKJr  SSKJr  SrSrSrSrSrS	r	S
r
SrSrSrSrSrSrSrSrSrSr " S S\R*                  5      rg)z<Wraps a Cloud Run revision message with convenience methods.    )container_resource)
k8s_objectzserving.knative.dev/servicezrun.googleapis.com/workerPoolzclient.knative.dev/noncez autoscaling.knative.dev/minScalez autoscaling.knative.dev/maxScalez"run.googleapis.com/sessionAffinityzrun.googleapis.com/meshzrun.googleapis.com/base-imageszrun.googleapis.com/identityz.run.googleapis.com/enable-workload-certificatez!run.googleapis.com/mesh-dataplanez*run.googleapis.com/linux-base-image-updatez0run.googleapis.com/gpu-zonal-redundancy-disabledzrun.googleapis.com/sourcesz#run.googleapis.com/overflow-scalingz%run.googleapis.com/scaling-cpu-targetz-run.googleapis.com/scaling-concurrency-targetc                   L   \ rS rSrSrSrS rSrSr\	" \/5      r
\S 5       r\S 5       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 5       rS r\S 5       rSrg)Revision>   zBWraps a Cloud Run Revision message, making fields more convenient.zserving.knative.devReadyActivec                 V    U R                   R                  R                  R                  $ N)_mstatusgcslocationselfs    *lib/googlecloudsdk/api_lib/run/revision.pygcs_locationRevision.gcs_locationI   s    77>>&&&    c                 T    [         U R                  ;   a  U R                  [            $ S $ r   )SERVICE_LABELlabelsr   s    r   service_nameRevision.service_nameM   s!    )6$++)E4;;}%O4Or   c                 T    [         U R                  ;   a  U R                  [            $ S $ r   )WORKER_POOL_LABELr   r   s    r   worker_pool_nameRevision.worker_pool_nameQ   s.     + 	%& r   c                 .    U R                   R                  $ r   )specservingStater   s    r   serving_stateRevision.serving_stateY   s    99!!!r   c                 ^    U R                   nU R                  U;   a  XR                     S   $ g )Nr   )
conditions_ACTIVE_CONDITION)r   conds     r   activeRevision.active]   s0    ??D%(()(33r   c                 .    U R                   R                  $ )zThe concurrency number in the revisionTemplate.

0: Multiple concurrency, max unspecified.
1: Single concurrency
n>1: Allow n simultaneous requests per instance.
)r    containerConcurrencyr   s    r   concurrencyRevision.concurrencyd   s     99)))r   c                 h     S U R                   l        XR                   l        g ! [         a     Nf = fr   )r    concurrencyModelAttributeErrorr+   r   values     r   r,   r-   n   s5    #'dii 
 &+II"	   s   $ 
11c                 .    U R                   R                  $ )zThe timeout number in the revisionTemplate.

The lib can accept either a duration format like '1m20s' or integer like
'80' to set the timeout. The returned object is an integer value, which
assumes second the unit, e.g., 80.
r    timeoutSecondsr   s    r   timeoutRevision.timeouty   s     99###r   c                 $    XR                   l        g r   r4   r1   s     r   r6   r7      s    $IIr   c                 .    U R                   R                  $ )z,The service account in the revisionTemplate.r    serviceAccountNamer   s    r   service_accountRevision.service_account   s     99'''r   c                 $    XR                   l        g r   r:   r1   s     r   r<   r=      s    #(II r   c                 .    U R                   R                  $ )z:The URL of the image, by digest. Stable when tags are not.)r   imageDigestr   s    r   image_digestRevision.image_digest   s     ;;"""r   c                     U R                   R                  cD  [        R                  " U R                  R
                  R                  5      U R                   l        g g r   )r    nodeSelectorr   InitializedInstance	_messagesRevisionSpecNodeSelectorValuer   s    r   _EnsureNodeSelectorRevision._EnsureNodeSelector   sA    yy%)==
..
%
%
7
7 dii &r   c                     U R                  5         [        R                  " U R                  R                  R
                  U R                  R                  R                  R                  SSS9$ )z=The node selector as a dictionary { accelerator_type: value}.keyr2   )	key_fieldvalue_field)
rI   r   KeyValueListAsDictionaryWrapperr    rD   additionalPropertiesrF   rG   rH   AdditionalPropertyr   s    r   node_selectorRevision.node_selector   sU     	55		33##55HH	 r    N)__name__
__module____qualname____firstlineno____doc__API_CATEGORYKINDREADY_CONDITIONr&   	frozensetTERMINAL_CONDITIONSpropertyr   r   r   r"   r(   r,   setterr6   r<   rA   rI   rR   __static_attributes__rT   r   r   r   r   >   sH   J&,	$/!#  ' ' P P   " "   * * + + $ $ >>% % ( ( ) ) # #  r   r   N)rY   googlecloudsdk.api_lib.runr   r   r   r   NONCE_LABELMIN_SCALE_ANNOTATIONMAX_SCALE_ANNOTATIONSESSION_AFFINITY_ANNOTATIONMESH_ANNOTATIONBASE_IMAGES_ANNOTATIONIDENTITY_ANNOTATION&ENABLE_WORKLOAD_CERTIFICATE_ANNOTATIONMESH_DATAPLANE_ANNOTATION$BASE_IMAGE_UPDATE_RUNTIME_CLASS_NAME(GPU_ZONAL_REDUNDANCY_DISABLED_ANNOTATIONSOURCES_ANNOTATIONOVERFLOW_SCALING_ANNOTATIONCPU_UTILIZATION_ANNOTATION"CONCURRENCY_UTILIZATION_ANNOTATIONContainerResourcer   rT   r   r   <module>rs      s    C 9 1 .3  )9 9 B +9 3  5 ' @  1 %
 7 )
 !  D D %T "f!33 fr   