
    J                        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Updates an AlloyDB instance.    )absolute_import)division)unicode_literals)api_util)instance_operations)base)flags)instance_helper)log)
properties)	resourcesc                   >    \ rS rSrSrSSS.r\S 5       rS rS r	S	r
g
)Update$   3Updates an AlloyDB instance within a given cluster.z{description}z        To update the number of nodes in the read pool, run:

          $ {command} my-read-instance --cluster=my-cluster --region=us-central1 --read-pool-node-count=3
        )DESCRIPTIONEXAMPLESc                    [         R                  R                  U5        [        R                  " U R                  5       5      n[         R                  R                  US5        [        R                  " U5        [        R                  " US5        [        R                  " U5        [        R                  " U5        [        R                  " USS9  [        R                  " USS9  [        R                  " U5        [        R                  " U5        [        R                   " U5        [        R"                  " U5        [        R$                  " USS9  [        R&                  " USS9  [        R(                  " USS9  [        R*                  " U5        [        R,                  " U5        [        R.                  " U5        [        R0                  " USS9  [        R2                  " U5        [        R4                  " U5        [        R6                  " U5        [        R8                  " U5        [        R:                  " X5        [        R<                  " U5        [        R>                  " U5        [        R@                  " U5        [        RB                  " U5        [        RD                  " U5        [        RF                  " U5        [        RH                  " U5        [        RJ                  " U5        [        RL                  " U5        [        RN                  " U5        [        RP                  " U5        [        RR                  " U5        g)zlSpecifies additional command flags.

Args:
  parser: argparse.Parser, Parser object for command line inputs
TF)requiredshow_negated_in_help)updateN)*r   
ASYNC_FLAGAddToParserr   GetMessagesModuleReleaseTrack
SetDefaultr	   AddAvailabilityType
AddClusterAddDatabaseFlagsAddInstanceAddCPUCountAddMachineTypeAddReadPoolNodeCount	AddRegion"AddInsightsConfigQueryStringLength$AddInsightsConfigQueryPlansPerMinute&AddInsightsConfigRecordApplicationTags$AddInsightsConfigRecordClientAddress
AddSSLModeAddRequireConnectorsAddAssignInboundPublicIpAddAuthorizedExternalNetworksAddOutboundPublicIpAddAllowedPSCProjectsAddPSCNetworkAttachmentUriClearPSCNetworkAttachmentUriAddPSCAutoConnectionGroupAddActivationPolicyAddEnableConnectionPoolingAddConnectionPoolingPoolModeAddConnectionPoolingMinPoolSizeAddConnectionPoolingMaxPoolSize(AddConnectionPoolingMaxClientConnections%AddConnectionPoolingServerIdleTimeout$AddConnectionPoolingQueryWaitTimeoutAddConnectionPoolingStatsUsers+AddConnectionPoolingIgnoreStartupParameters"AddConnectionPoolingServerLifetime/AddConnectionPoolingClientConnectionIdleTimeout)AddConnectionPoolingMaxPreparedStatements)clsparseralloydb_messagess      'lib/surface/alloydb/instances/update.pyArgsUpdate.Args4   s:    	OO'11#2B2B2DE 	OOvt,	f%	VU#	6"	f	fu-	%0	v&	OOF	,,V4	..v6	00T 
..T 
VD)	v&	""6*	''/	f4@	'	$$V,	&&v.	##F+	f7 
$$V,	&&v.	))&1	))&1	226:	//7	..v6	((0	55f=	,,V4	99&A	33F;    c                 0    [         R                  " XU5      $ N)r
   ConstructPatchRequestFromArgsselfrB   instance_refargss       rC   rI   $Update.ConstructPatchRequestFromArgsl   s    88. .rF   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                  XEU5      nUR                   R#                  U5      n[$        R&                  R)                  UR*                  SS9n[,        R.                  R1                  SR3                  UR5                  5       5      5        UR6                  (       d'  [8        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instancesIdz%alloydb.projects.locations.operations)
collectionzOperation ID: {}zUpdating instanceF)r   AlloyDBClientr   alloydb_clientrB   resource_parserCreater   VALUEScoreproject	GetOrFailregionclusterinstancerI   %projects_locations_clusters_instancesPatchr   REGISTRYParseRelativeNamenamer   statusPrintformatNameasync_r   Await)	rK   rM   clientrV   rB   rL   reqopop_refs	            rC   Run
Update.Runp   s+    ##D$5$5$78F**N..))007$$))11;;KK<<MM 1 L 
,
,C 
	=	=	C	CC	HB11
C 2 F JJ'..v{{}=>;;
%t'8'8':E IrF    N)__name__
__module____qualname____firstlineno____doc__detailed_helpclassmethodrD   rI   ro   __static_attributes__rq   rF   rC   r   r   $   s7     < 		- 2< 2<n. rF   r   c                   <   ^  \ rS rSrSr\U 4S j5       rS rSrU =r	$ )
UpdateBeta   r   c                   > [         [        U ]  U5        [        R                  " U5        [        R
                  " USS9  [        R                  " USS9  [        R                  " USS9  [        R                  " U5        [        R                  " USS9  [        R                  " U5        [        R                  " USS9  [        R                  " U5        g )NTr   F)superr{   rD   r	   AddUpdateModeAddObservabilityConfigEnabled&AddObservabilityConfigPreserveComments%AddObservabilityConfigTrackWaitEvents*AddObservabilityConfigMaxQueryStringLength+AddObservabilityConfigRecordApplicationTags)AddObservabilityConfigQueryPlansPerMinute(AddObservabilityConfigTrackActiveQueriesAddAutoscalerUpdateFlagsr@   rA   	__class__s     rC   rD   UpdateBeta.Args   s    	*c'		''T 
00T 
//U 
44V<	55T 
33F;	22T 
""6*rF   c                 0    [         R                  " XU5      $ rH   )r
   !ConstructPatchRequestFromArgsBetarJ   s       rC   rI   (UpdateBeta.ConstructPatchRequestFromArgs   s    << rF   rq   
rr   rs   rt   ru   rv   rx   rD   rI   ry   __classcell__r   s   @rC   r{   r{      s"    ;+ +. rF   r{   c                   <   ^  \ rS rSrSr\U 4S j5       rS rSrU =r	$ )UpdateAlpha   r   c                 ,   > [         [        U ]  U5        g rH   )r~   r   rD   r   s     rC   rD   UpdateAlpha.Args   s    	+s (rF   c                 0    [         R                  " XU5      $ rH   )r
   "ConstructPatchRequestFromArgsAlpharJ   s       rC   rI   )UpdateAlpha.ConstructPatchRequestFromArgs   s    == rF   rq   r   r   s   @rC   r   r      s"    ;) ) rF   r   N)rv   
__future__r   r   r   googlecloudsdk.api_lib.alloydbr   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.alloydbr	   r
   googlecloudsdk.corer   r   r   DefaultUniverseOnlyReleaseTracksr   GAUpdateCommandr   BETAr{   ALPHAr   rq   rF   rC   <module>r      s    # '  ' 4 > ( 4 > # * ) D%%(()jT j * jZ D%%**+  ,B D%%++,
* 
 -
rF   