
                         P   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  \	R                   " \	R"                  R$                  \	R"                  R&                  \	R"                  R(                  5       " S S\	R*                  5      5       rg)zPromote an AlloyDB cluster.    )absolute_import)division)unicode_literals)api_util)cluster_operations)base)flags)log)
properties)	resourcesc                   8    \ rS rSrSrSSS.r\S 5       rS rSr	g	)
Promote   zCPromote an AlloyDB SECONDARY cluster in a given project and region.z{description}zb        To promote a cluster, run:

          $ {command} my-cluster --region=us-central1
        )DESCRIPTIONEXAMPLESc                     [         R                  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)parsers    'lib/surface/alloydb/clusters/promote.pyArgsPromote.Args-   s0     	OO'	OOF	V    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                  UR                  5       UR!                  5       S9nUR"                  R%                  U5      n[&        R(                  R+                  UR,                  SS9n[.        R0                  R3                  SR5                  UR7                  5       5      5        UR8                  (       d&  [:        R<                  " USU R                  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
clustersId)namepromoteClusterRequestz%alloydb.projects.locations.operations)
collectionzOperation ID: {}zPromoting cluster)r   AlloyDBClientReleaseTrackalloydb_clientalloydb_messagesresource_parserCreater   VALUEScoreproject	GetOrFailregioncluster.AlloydbProjectsLocationsClustersPromoteRequestRelativeNamePromoteClusterRequestprojects_locations_clustersr   r   REGISTRYParseRelativeNamer    r
   statusPrintformatNameasync_r   Await)	selfargsclientr%   r&   cluster_refreqopop_refs	            r   RunPromote.Run8   s6    ##D$5$5$78F**N..((//-$$))11;;KK<<	 0 !K
 
I
I%%'.DDF J HC 
	3	3	;	;C	@B11
C 2 EFJJ'..v{{}=>;;v':D<M<M<OPIr    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   rB   __static_attributes__rD   r   r   r   r      s2     L %-  r   r   N)rI   
__future__r   r   r   googlecloudsdk.api_lib.alloydbr   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.alloydbr	   googlecloudsdk.corer
   r   r   ReleaseTracksr$   ALPHABETAGAUpdateCommandr   rD   r   r   <module>rW      s    " &  ' 3 = ( 4 # * ) T..33T5F5F5I5I2d   22r   