
                         |    S r SSKrSSKJr  SSKJr  SSKJr  \R                   " S S\R                  5      5       r	g)DMigrate data from a source database to Cloud Spanner given a schema.    N)base)flags)migration_backendc                   V    \ rS rSrSrS\R                  " S5      0r\S 5       r	S r
Srg)	Data   r   EXAMPLESz        To copy data to Cloud Spanner given a session file:

          $ {command} --session=./session.json --source=postgresql < ~/cart.pg_dump --target-profile='instance=spanner-instance'
      c                 d   [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        [         R
                  " 5       R                  U 5        [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        g)z$Register the flags for this command.N)r   GetSpannerMigrationSourceFlagAddToParserGetSpannerMigrationSessionFlagGetSpannerMigrationPrefixFlag&GetSpannerMigrationSkipForeignKeysFlag$GetSpannerMigrationSourceProfileFlagGetSpannerMigrationTargetFlag$GetSpannerMigrationTargetProfileFlag!GetSpannerMigrationWriteLimitFlagGetSpannerMigrationDryRunFlagGetSpannerMigrationLogLevelFlagGetSpannerMigrationProjectFlag'GetSpannerMigrationDataflowTemplateFlag)parsers    #lib/surface/spanner/migrate/data.pyArgs	Data.Args%   s    
'')55f=	((*66v>	'')55f=	002>>vF	..0<<VD	'')55f=	..0<<VD	++-99&A	'')55f=	))+77?	((*66v>	113??G    c                    [         R                  " 5       n[         R                  " SS0S9nU" SUR                  UR                  UR
                  UR                  UR                  UR                  UR                  UR                  UR                  UR                  UR                  UR                  US9nUR                  U l        U R!                  U5      $ )zRun the data command.GCLOUD_HB_PLUGINtrue)
extra_varsdata)commandsourcesessionprefixskip_foreign_keyssource_profiletargettarget_profilewrite_limitdry_run	log_levelprojectdataflow_templateenv)r   SpannerMigrationWrapperGetEnvArgsForCommandr$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   	exit_code _DefaultOperationResponseHandler)selfargscommand_executorenv_varsresponses        r   RunData.Run5   s    (@@B 55&/1H{{{{00**{{**$$..00H  ''DN00::r   )r3   N)__name__
__module____qualname____firstlineno____doc__textwrapdedentdetailed_helpstaticmethodr   r:   __static_attributes__ r   r   r   r      s=    L 
// 
 - H H;r   r   )
r@   rA   googlecloudsdk.callioper   "googlecloudsdk.command_lib.spannerr   r   UniverseCompatibleBinaryBackedCommandr   rF   r   r   <module>rK      s>    K  ( 4 @ 2;4## 2; 2;r   