
                            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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\	R$                  " \	R&                  R.                  5       " S S\5      5       r\	R$                  " \	R&                  R2                  5       " S S\5      5       rg)z=Exports data from an AlloyDB cluster to Google Cloud Storage.    )absolute_import)division)unicode_literals)api_util)cluster_operations)base)cluster_helper)flags)log)
properties)	resourcesc                   >    \ rS rSrSrSSS.r\S 5       rS rS r	S	r
g
)Export"   <Export data from an AlloyDB cluster to Google Cloud Storage.z{description}z        To export a cluster, run:

          $ {command} my-cluster --region=us-central1 --database=my-database --gcs-uri=gs://my-bucket/my-export-file-path --csv --select-query="SELECT * FROM my-table"
        )DESCRIPTIONEXAMPLESc                    [         R                  R                  U 5        [        R                  " U 5        [        R
                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        g)zmSpecifies additional command flags.

Args:
  parser: argparse.Parser: Parser object for command line inputs.
N)	r   
ASYNC_FLAGAddToParserr
   	AddRegion
AddClusterAddDatabaseAddDestinationURIAddExportOptions)parsers    &lib/surface/alloydb/clusters/export.pyArgsExport.Args2   sZ     	OO'	OOF	V	f	F#	6"    c                 0    [         R                  " XU5      $ )N)r	   ConstructExportRequestFromArgs)selfalloydb_messagescluster_refargss       r   r"   %Export.ConstructExportRequestFromArgs@   s     88t r    c                    [         R                  " U R                  5       5      nUR                  nUR                  nUR
                  R                  S[        R                  R                  R                  R                  UR                  UR                  S9nU R                  XEU5      nUR                  R!                  U5      n["        R$                  R'                  UR(                  SS9nUR*                  (       d'  [,        R.                  " USU R                  5       S5        [0        R2                  R5                  SR7                  UR9                  5       5      5        U$ )zConstructs and sends request.

Args:
  args: argparse.Namespace, An object that contains the values for the
    arguments specified in the .Args() method.

Returns:
  ProcessHttpResponse of the request made.
z#alloydb.projects.locations.clusters)
projectsIdlocationsId
clustersIdz%alloydb.projects.locations.operations)
collectionzExporting clusterFzOperation ID: {})r   AlloyDBClientReleaseTrackalloydb_clientr$   resource_parserCreater   VALUEScoreproject	GetOrFailregionclusterr"   projects_locations_clustersr   r   REGISTRYParseRelativeNamenameasync_r   Awaitr   statusPrintformatName)	r#   r&   clientr/   r$   r%   reqopop_refs	            r   Run
Export.RunG   s#    ##D$5$5$78F**N..((//-$$))11;;KK<<	 0 !K
 
-
-tC 
	3	3	:	:3	?B11
C 2 EF;;
%t'8'8':E JJ'..v{{}=>Ir     N)__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   r"   rF   __static_attributes__rH   r    r   r   r   "   s7     E 		- # #r    r   c                       \ rS rSrSrSrg)ExportAlphah   r   rH   NrI   rJ   rK   rL   rM   rP   rH   r    r   rR   rR   h       Dr    rR   c                       \ rS rSrSrSrg)
ExportBetam   r   rH   NrT   rH   r    r   rW   rW   m   rU   r    rW   N)rM   
__future__r   r   r   googlecloudsdk.api_lib.alloydbr   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.alloydbr	   r
   googlecloudsdk.corer   r   r   DefaultUniverseOnlyReleaseTracksr.   GASilentCommandr   ALPHArR   BETArW   rH   r    r   <module>rd      s    D &  ' 3 = ( = 4 # * ) D%%(()AT A * AH D%%++,E& E -E D%%**+E E ,Er    