
    $                     Z    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\	5      r
g	)
z3Database Migration Service connection profiles API.    )absolute_import)division)unicode_literals)
list_pager)api_utilc                   0    \ rS rSrSrS rS rS rS rSr	g)	ObjectsClient   z4Client for migration job objects service in the API.c                    [         R                  " U5      U l        [         R                  " U5      U l        [         R
                  " U5      U l        U R                  R                  U l        [         R                  " U5      U l
        Xl        g )N)r   GetApiVersion_api_versionGetClientInstanceclientGetMessagesModulemessages(projects_locations_migrationJobs_objects_serviceGetResourceParserresource_parser_release_track)selfrelease_tracks     8lib/googlecloudsdk/api_lib/database_migration/objects.py__init__ObjectsClient.__init__   sc     ..}=D,,];DK..}=DMKKHHDM#55mDD'    c           	          U R                   R                  nU" UR                  5       S9n[        R                  " U R
                  UUR                  UR                  SSS9$ )zGet the list of objects in a migration job.

Args:
  migration_job_ref: The migration job for which to list objects.
  args: parsed command line arguments

Returns:
  An iterator over all the matching migration job objects.
)parentmigrationJobObjectspageSize)servicerequestlimit
batch_sizefieldbatch_size_attribute)r   =DatamigrationProjectsLocationsMigrationJobsObjectsListRequestRelativeNamer   YieldFromListr   r#   	page_size)r   migration_job_refargslist_req_typelist_reqs        r   ListObjectsClient.List$   s]     	SS  $5$B$B$DEH##jj>>#' r   c                 N   U R                   R                  UR                  UR                  UR                  U R                  U5      S9nU R                   R                  nU" U R                   R                  US9UR                  5       S9nU R                  R                  U5      $ )a  Lookup a migration job object.

Args:
  migration_job_ref: The migration job name to which the object belongs.
  args: argparse.Namespace, The arguments that this command was invoked
    with.

Returns:
  MigrationJobObject: the looked up  migration job object.
)databaseschematabletype)sourceObjectIdentifier)lookupMigrationJobObjectRequestr   )r   SourceObjectIdentifierr2   r3   r4   GetType?DatamigrationProjectsLocationsMigrationJobsObjectsLookupRequestLookupMigrationJobObjectRequestr(   r   Lookup)r   r+   r,   source_object_identifierlookup_req_type
lookup_reqs         r   r<   ObjectsClient.Lookup<   s      $}}CC{{jj\\$	  D   	UU  !(,(U(U#; )V )
 !--/	J ==
++r   c                     UR                  S5      (       a9  U R                  R                  R                  R	                  UR
                  5      $ U R                  R                  R                  R	                  S5      $ )Nr5   DATABASE)IsKnownAndSpecifiedr   r8   TypeValueValuesEnumlookup_by_namer5   )r   r,   s     r   r9   ObjectsClient.GetTypeY   sa      ((]]11EETT
))  MM00DD^J')r   )r   r   r   r   r   r   N)
__name__
__module____qualname____firstlineno____doc__r   r/   r<   r9   __static_attributes__ r   r   r	   r	      s    <(0,:)r   r	   N)rK   
__future__r   r   r   apitools.base.pyr   )googlecloudsdk.api_lib.database_migrationr   objectr	   rM   r   r   <module>rR      s'    : &  ' ' >F)F F)r   