
                         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Failover an AlloyDB instance.    )absolute_import)division)unicode_literals)api_util)instance_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	)
Failover   z4Failover an AlloyDB instance within a given cluster.z{description}z{        To failover an instance, run:

          $ {command} my-instance --cluster=my-cluster --region=us-central1
        )DESCRIPTIONEXAMPLESc                     [         R                  R                  U 5        [        R                  " U S5        [        R
                  " U 5        [        R                  " U 5        g)zlSpecifies additional command flags.

Args:
  parser: argparse.Parser, Parser object for command line inputs
FN)r   
ASYNC_FLAGAddToParserr	   
AddClusterAddInstance	AddRegion)parsers    )lib/surface/alloydb/instances/failover.pyArgsFailover.Args.   s@     	OO'	VU#	f	OOF    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                  UR                  S9nUR                  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       S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.instances)
projectsIdlocationsId
clustersIdinstancesId)namez%alloydb.projects.locations.operations)
collectionzOperation ID: {}zFailing over instanceF)r   AlloyDBClientReleaseTrackalloydb_clientalloydb_messagesresource_parserCreater   VALUEScoreproject	GetOrFailregionclusterinstance8AlloydbProjectsLocationsClustersInstancesFailoverRequestRelativeName%projects_locations_clusters_instancesr   r   REGISTRYParseRelativeNamer"   r
   statusPrintformatNameasync_r   Await)	selfargsclientr&   r'   project_refreqopop_refs	            r   RunFailover.Run:   s3    ##D$5$5$78F**N..((//7$$))11;;KK<<MM 0 #K 
S
S%%' T )C		=	=	F	Fs	KB11
C 2 EFJJ'..v{{}=>;;(? $ 1 1 3U<Ir    N)
__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr   rC   __static_attributes__rE   r   r   r   r      s1     = 		- 	 	r   r   N)rJ   
__future__r   r   r   googlecloudsdk.api_lib.alloydbr   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.alloydbr	   googlecloudsdk.corer
   r   r   ReleaseTracksr%   ALPHABETAGASilentCommandr   rE   r   r   <module>rX      s    $ &  ' 3 > ( 4 # * ) D%%++T->->-C-C%%((*6t!! 6*6r   