
                         
   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
5      r\R                  \R                  " \R                   R"                  5       " S S\R$                  5      5       5       rg)z2Implementation of connection profile list command.    )absolute_import)division)unicode_literals)stream_objects)base)resource_args)
propertiesc                       \ rS rSrSrS rSrg)_StreamObjectInfo   z7Container for stream object data using in list display.c                    UR                   U l        UR                  U l        X l        UR                  b  UR                  R
                  OS U l        UR                  b  UR                  R                  OS U l        UR                  b  UR                  R                  OS U l
        UR                  b  UR                  R                  U l        g S U l        g )N)displayNamedisplay_namenamesource_objectbackfillJobstatebackfill_job_statetriggerbackfill_job_triggerlastStartTimelast_backfill_job_start_timelastEndTimelast_backfill_job_end_time)selfmessager   s      &lib/surface/datastream/objects/list.py__init___StreamObjectInfo.__init__   s    ++DDI&%,%8%8%D!!$ 	 (/':':'F##D 	
 * 	)) 	% * 	'' 	#  	#    )r   r   r   r   r   r   r   N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__ r    r   r   r      s
    ?r    r   c                   4    \ rS rSrSr\S 5       rS rS rSr	g)List4   aa  List a Datastream stream objects.

List stream objects.

## API REFERENCE
  This command uses the datastream/v1 API. The full documentation
  for this API can be found at: https://cloud.google.com/datastream/

## EXAMPLES
  To list all objects in a stream and location 'us-central1',
  run:

      $ {command} --stream=my-stream --location=us-central1

c                 f    [         R                  " U5        UR                  R                  S5        g)z Register flags for this command.a  
            table(
              display_name,
              name.basename():label=NAME,
              source_object,
              backfill_job_state:label=BACKFILL_JOB_STATE,
              backfill_job_trigger:label=BACKFILL_JOB_TRIGGER,
              last_backfill_job_start_time:label=LAST_BACKFILL_JOB_START_TIME,
              last_backfill_job_end_time:label=LAST_BACKFILL_JOB_END_TIME
            )
          N)r   AddStreamObjectResourceArgdisplay_info	AddFormat)clsparsers     r   Args	List.ArgsG   s+     ,,V4
!! 
# 
r    c           	      n   [         R                  " 5       n[        R                  R                  R
                  R                  SS9nUR                  R                  R                  5       nUR                  X4R                  U5      nU Vs/ s H  n[        X`R                  U5      5      PM     sn$ s  snf )zRuns the command.

Args:
  args: All the arguments that were provided to this command invocation.

Returns:
  An iterator over objects containing stream objects data.
T)required)r   StreamObjectsClientr	   VALUEScoreprojectGetCONCEPTSstreamParser)   	streamsIdr   _GetSourceObject)r   args	so_client
project_id
stream_refobjectsos          r   RunList.RunW   s     224I""''//33T3BJ%%++-JnnZ)=)=tDGDKLGqa!6!6q!9:GLLLs   $B2c                    UR                   R                  (       a3  UR                   R                  nUR                  < SUR                  < 3$ UR                   R                  (       a3  UR                   R                  nUR
                  < SUR                  < 3$ UR                   R                  (       a3  UR                   R                  nUR
                  < SUR                  < 3$ UR                   R                  (       a3  UR                   R                  nUR
                  < SUR                  < 3$ UR                   R                  (       a"  UR                   R                  nUR                  $ g )N.)
sourceObjectmysqlIdentifierdatabasetableoracleIdentifierschemapostgresqlIdentifiersqlServerIdentifiersalesforceIdentifier
objectName)r   stream_object
identifiers      r   r>   List._GetSourceObjectg   s   !!11 --==j"++Z-=-=>>		#	#	4	4 -->>j")):+;+;<<		#	#	8	8 --BBj")):+;+;<<		#	#	7	7 --AAj")):+;+;<<		#	#	8	8 --BBj"""r    r'   N)
r!   r"   r#   r$   r%   classmethodr1   rE   r>   r&   r'   r    r   r)   r)   4   s&       M r    r)   N)r%   
__future__r   r   r   !googlecloudsdk.api_lib.datastreamr   googlecloudsdk.callioper   %googlecloudsdk.command_lib.datastreamr   googlecloudsdk.corer	   r   DefaultUniverseOnlyReleaseTracksReleaseTrackGAListCommandr)   r'   r    r   <module>ra      sr    9 &  ' < ( ? * 2 D%%(()B4 B * Br    