
                         
   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
rSr\R$                  \R&                  " \R(                  R*                  5       " S S\R,                  5      5       5       rg)z3Command to lookup a stream object for a datastream.    )absolute_import)division)unicode_literals)stream_objects)base)resource_args)flags)
propertieszJLookup a stream object by its source object identifier (e.g. schema.table)a0      To lookup an existing Mysql stream object:

        $ {command} --stream=my-stream --location=us-central1 --mysql-database=my-db --mysql-table=my-table

    To lookup an existing Oracle stream object:

        $ {command} --stream=my-stream --location=us-central1 --oracle-schema=my-schema --oracle-table=my-table

    To lookup an existing PostgreSQL stream object:

        $ {command} --stream=my-stream --location=us-central1 --postgresql-schema=my-schema --postgresql-table=my-table

    To lookup an existing SQL Server stream object:

       $ {command} --stream=my-stream --location=us-central1 --sqlserver-schema=my-schema --sqlserver-table=my-table

    To lookup an existing Salesforce stream object:

       $ {command} --stream=my-stream --location=us-central1 --salesforce-object-name=my-object
   c                   8    \ rS rSrSr\\S.r\S 5       r	S r
Srg)Lookup5   z"Lookup a Datastream stream object.)DESCRIPTIONEXAMPLESc                 ,   [         R                  " U 5        U R                  SSS9n[        R                  " U5        [        R
                  " U5        [        R                  " U5        [        R                  " U5        [        R                  " U5        g)zArgs is called by calliope to gather arguments for this command.

Args:
  parser: An argparse parser that you can use to add arguments that go on
    the command line after this command. Positional arguments are allowed.
T)requiredmutexN)	r   AddStreamObjectResourceArg	add_groupso_flagsAddOracleObjectIdentifierAddMysqlObjectIdentifierAddPostgresqlObjectIdentifierAddSqlServerObjectIdentifierAddSalesforceObjectIdentifier)parserobject_identifier_parsers     (lib/surface/datastream/objects/lookup.pyArgsLookup.Args;   ss     ,,V4%//T/J&&'?@%%&>?**+CD))*BC**+CD    c                    [         R                  R                  R                  R	                  SS9nUR
                  R                  R                  5       R                  n[        R                  " 5       nUR                  X#U5      $ )zLookup a Datastream stream object.

Args:
  args: argparse.Namespace, The arguments that this command was invoked
    with.

Returns:
  A dict object representing the looked up stream object if the lookup was
  successful.
T)r   )r
   VALUEScoreprojectGetCONCEPTSstreamParse	streamsIdr   StreamObjectsClientr   )selfargs
project_id	stream_id	so_clients        r   Run
Lookup.RunL   sh     ""''//33T3BJ$$**,66I224IJ488r     N)__name__
__module____qualname____firstlineno____doc__r   r   detailed_helpstaticmethodr   r0   __static_attributes__r2   r    r   r   r   5   s*     +"-8D-E E 9r    r   N)r7   
__future__r   r   r   !googlecloudsdk.api_lib.datastreamr   googlecloudsdk.callioper   %googlecloudsdk.command_lib.datastreamr   -googlecloudsdk.command_lib.datastream.objectsr	   r   googlecloudsdk.corer
   r   r   DefaultUniverseOnlyReleaseTracksReleaseTrackGACommandr   r2   r    r   <module>rF      sx    : &  ' < ( ? K * Q . D%%(()#9T\\ #9 * #9r    