
    X                     t   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SKJr  SSKJr  SSKJr  SSKJr  \R(                  \R*                  " \R,                  R.                  \R,                  R0                  5       " S S\R2                  5      5       5       rg)z4Command for listing available worker pool revisions.    )absolute_import)division)unicode_literals)base)commands)connection_context)flags)	platforms)pretty_print)resource_args)serverless_operations)concept_parsers)presentation_specs)logc                   N    \ rS rSrSrSSS.r\S 5       r\S 5       rS r	S	 r
S
rg)List"   z%List available worker pool revisions.z"          {description}
          zo          To list all revisions in a worker pool `foo`:

              $ {command} --worker-pool=foo
          )DESCRIPTIONEXAMPLESc           	         [         R                  " S[        R                  " 5       SSSSS9n[        R
                  " U/5      R                  U5        [        R                  " U5        [        R                  " U5        UR                  R                  SR                  [        R                  [        R                   S95        g )Nz--namespacezNamespace to list revisions in.TF)requiredprefixeshiddenztable({ready_column},name:label=REVISION,active.yesno(yes="yes", no=""),worker_pool_name:label=WORKER_POOL:sort=1,creation_timestamp.date("%Y-%m-%d %H:%M:%S %Z"):label=DEPLOYED:sort=2:reverse,author:label="DEPLOYED BY"):({alias}))ready_columnalias)r   ResourcePresentationSpecr   GetNamespaceResourceSpecr   ConceptParserAddToParserr	   AddWorkerPoolFlagAddRegionArgdisplay_info	AddFormatformatr   READY_COLUMNr   SATISFIES_PZS_ALIAS)clsparserworker_pool_presentations      .lib/surface/run/worker_pools/revisions/list.py
CommonArgsList.CommonArgs2   s    1JJ..0)  !!#;"<=II 
F#	v
!!	0 17%22.. 17 1
    c                 &    U R                  U5        g N)r+   )r'   r(   s     r*   Args	List.ArgsQ   s    NN6r-   c                 .    [        [        S U5      5      $ )a@  Filters out revisions that are service revisions.

Per discussion with jmahood@, we want to make sure that all resources are
self-contained, so none of the describe/list commands should mix the
resource type.

Args:
  revisions: List of revisions to filter.

Returns:
  List of revisions that are worker pool revisions.
c                     U R                   S L$ r/   )worker_pool_name)revs    r*   <lambda>.List._FilterServiceRevisions.<locals>.<lambda>b   s    3#7#7t#Cr-   )listfilter)self	revisionss     r*   _FilterServiceRevisionsList._FilterServiceRevisionsU   s     CYOPPr-   c           	   #   D  #    SnUR                   n[        R                  " U[        R                  R
                  U R                  5       5      nUR                  R                  R                  5       n[        R                  " U5       nU R                  UR                  5        [        R                  " 5       [        R                   :w  ae  SR#                  UR$                  5      n[&        R(                  R+                  SR#                  UR,                  UR$                  (       a  UOSS95        Ub  SR#                  U5      nU R/                  UR1                  XRUR2                  UR4                  5      5       H  nUv   M	     SSS5        g! , (       d  f       g= f7f)zList available revisions.Nz in [{}]zFor cluster [{cluster}]{zone}: )clusterzonez"run.googleapis.com/workerPool = {})worker_poolr   GetConnectionContextr	   ProductRUNReleaseTrackCONCEPTS	namespaceParser   ConnectSetCompleteApiEndpointendpointr
   GetPlatformPLATFORM_MANAGEDr$   cluster_locationr   statusPrintcluster_namer<   ListRevisionslimit	page_size)	r:   argslabel_selectorr4   conn_contextnamespace_refclientlocation_msgr5   s	            r*   RunList.Rund   sG    N''%::emm!2!2!4L MM++113M		&	&|	4
!!,"7"78				 I$>$>	>!(()F)FG

,33$11%1%B%B\ 4 	
 
	%=DD
 --


TZZ#
 	 
5	4	4s   BF 	C=F	F 
FF  N)__name__
__module____qualname____firstlineno____doc__detailed_helpclassmethodr+   r0   r<   r\   __static_attributes__r^   r-   r*   r   r   "   sK     .		-  <  Qr-   r   N)rc   
__future__r   r   r   googlecloudsdk.callioper   googlecloudsdk.command_lib.runr   r   r	   r
   r   r   r   (googlecloudsdk.command_lib.util.conceptsr   r   googlecloudsdk.corer   UniverseCompatibleReleaseTracksrF   ALPHABETAr   r^   r-   r*   <module>rp      s    ; &  ' ( 3 = 0 4 7 8 @ D G # D%%++T->->-C-CD[8== [ E [r-   