
                             S r SSKrSSKrSSKJr  SSKJr  SSKJr  Sr	Sr
SS jr " S	 S
\R                  5      r " S S\R                  5      rg)zCSpanner cli library functions and utilities for the spanner binary.    N)binary_operations)
exceptions)execution_utilssqlzspanner-clic                     [         R                  " [        R                  5      nU (       a  UR	                  U 5        U(       a  U H  nUR                  U5        M     U$ )z6Return an env dict to be passed on command invocation.)copydeepcopyosenvironupdatepop)
extra_varsexclude_varsenvkeys       5lib/googlecloudsdk/command_lib/spanner/cli_backend.pyGetEnvArgsForCommandr      s@    bjj!#JJz	ggcl 	*    c                       \ rS rSrSrSrg)SpannerCliException(   zCBase Exception for any errors raised by gcloud spanner cli surface. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r   r   r   r   r   (   s    Kr   r   c                   l   ^  \ rS rSrSrU 4S jr                      SS jrSS jrSrU =r	$ )	SpannerCliWrapper,   z@Wrapper for spanner cli commands which calls the spanner binary.c                 <   > [         [        U ]
  " S[        SS.UD6  g )NT)binaryinstall_if_missingr   )superr    __init___SPANNER_CLI_BINARY)selfkwargs	__class__s     r   r&   SpannerCliWrapper.__init__/   s(    	
T+ " r   c                 p   A[         4nU(       a	  USU 34-  nU(       a	  USU 34-  nU(       a	  USU 34-  nU(       a	  USU 34-  nU(       a  U(       a  USU SU 34-  nOU(       a	  USU 34-  nU(       a	  USU 34-  nU	(       a  US-  nU
(       d  US	:X  a  US
-  nU(       a	  USU 34-  nU(       a	  USU 34-  nU(       a  US-  nU(       a  US-  nU(       a  US-  nU(       a	  USU 34-  nU(       a	  USU 34-  nU(       a	  USU 34-  nU(       a	  USU 34-  nU(       a	  USU 34-  nU$ )Nz
--project=z--database=z--instance=z--role=z--deployment-endpoint=:z--idle-transaction-timeout=)z--skip-column-namesOFF)z--skip-system-commandz	--prompt=z--delimiter=)z--table)z--html)z--xmlz
--execute=z	--source=z--tee=z--init-command=z--init-command-add=)_BASE_COMMAND)r(   projectdatabaseinstancedatabase_rolehostportapi_endpointidle_transaction_timeoutskip_column_namesskip_system_commandsystem_commandprompt	delimitertablehtmlxmlexecutesourceteeinit_commandinit_command_addverboser)   formatted_argumentss                            r   _ParseArgsForCommand&SpannerCliWrapper._ParseArgsForCommand6   s   4 	(*
7)466H:688H:688799 6tfAdVDFF	 6|nEGG'(@'A
B  55n577	&244YK8::\)[(
Z'
7)466	&244
sen..~>@@ 34D3EFHHr   c                 0    [         R                  " U5        g)z5Call the spanner cli binary with the given arguments.N)r   Exec)r(   cmdstdinr   r)   s        r   _ExecuteSpannerCliWrapper._Execute   s    r   r   )NNNNNNNNFFr.   NNFFFNNNNNFNN)
r   r   r   r   r   r&   rG   rM   r   __classcell__)r*   s   @r   r    r    ,   s`    H #

/GR r   r    rO   )r   r   r
   &googlecloudsdk.command_lib.util.anthosr   googlecloudsdk.corer   c_exceptr   r/   r'   r   Errorr   BinaryBackedOperationr    r   r   r   <module>rV      sS    J  	 D 6 / # L(.. LU)?? Ur   