
    K                     
   S r SSKJr  SSKJr  SSKJr  SSK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$                  5       " S S\R&                  5      5       5       rg)7Import data from various source files to Cloud Spanner.    )absolute_import)division)unicode_literalsN)base)flags)migration_backend)	arg_utils)storec                   R    \ rS rSrSrS\R                  " SS90r\S 5       r	S r
Srg	)
Import   r   EXAMPLESa          To import data from a source file to Cloud Spanner:

          $ {command} --instance=instanceA --database=databaseA
          --table-name=tableA --source-uri=gs://bucket/data.csv --source-format=csv
          --schema-uri=gs://bucket/schema.json

          $ {command} --instance=instanceA --database=databaseA
          --source-uri=gs://bucket/dump.sql --source-format=mysqldump
      )textc                    [         R                  " S5      R                  U 5        [         R                  " SS5      R                  U 5        [         R                  " S5      R                  U 5        [         R
                  " S5      R                  U 5        [         R                  " S5      R                  U 5        [         R                  " S5      R                  U 5        [         R                  " S5      R                  U 5        [         R                  " S5      R                  U 5        [         R                  " S5      R                  U 5        g)z$Register the flags for this command.FTz Dialect for the spanner databaseN)r   InstanceAddToParserDatabase	TableName	SourceUriSourceFormat	SchemaUriCsvLineDelimiterCsvFieldDelimiterDatabaseDialect)parsers    'lib/surface/spanner/databases/import.pyArgsImport.Args1   s     
NN5%%f-	NN5$++F3	OOE&&v.	OOD%%f-	t((0	OOE&&v.	5!--f5	E"..v6	<=II    c                    [         R                  " SS9n[        R                  " 5       n[        R                  " SSUS.S9n[
        R                  " USSS9nU" S	UR                  UR                  UR                  UR                  UR                  UR                  UR                  UR                  UUR                  US
9nUR                   U l        U R#                  U5      $ )zRun the import command.1h)min_expiry_durationtrue)GCLOUD_HB_PLUGINGCLOUD_AUTH_PLUGINGCLOUD_AUTH_ACCESS_TOKEN)
extra_varsz	--projectT)use_defaultsimport)commandinstancedatabase
table_name
source_urisource_format
schema_uricsv_line_delimitercsv_field_delimiterprojectdatabase_dialectenv)r   GetFreshAccessTokenIfEnabledr	   SpannerMigrationWrapperGetEnvArgsForCommandr
   GetFromNamespacer,   r-   r.   r/   r0   r1   r2   r3   r5   	exit_code _DefaultOperationResponseHandler)selfargs
auth_tokencommand_executorenv_varsr4   responses          r   Run
Import.Run@   s    33MJ(@@B 55 &"((2
H (({NG????((??22 44..H ''DN00::r    )r;   N)__name__
__module____qualname____firstlineno____doc__textwrapdedentdetailed_helpstaticmethodr   rC   __static_attributes__ r    r   r   r      s>     @ 
// 	 
 	-  ;r    r   )rI   
__future__r   r   r   rJ   googlecloudsdk.callioper   "googlecloudsdk.command_lib.spannerr   r	   $googlecloudsdk.command_lib.util.apisr
   googlecloudsdk.core.credentialsr   DefaultUniverseOnlyReleaseTracksReleaseTrackALPHABinaryBackedCommandr   rO   r    r   <module>rZ      sk    > &  '  ( 4 @ : 1 D%%++,;;T%% ;; - ;;r    