
                            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Creates a new 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
)Create$   6Creates a new AlloyDB instance within a given cluster.z{description}aj          To create a new primary instance, run:

          $ {command} my-instance --cluster=my-cluster --region=us-central1 --instance-type=PRIMARY --cpu-count=4

        To create a new read pool instance, run:

          $ {command} my-instance --cluster=my-cluster --region=us-central1 --instance-type=READ_POOL --read-pool-node-count=1 --cpu-count=4
        )DESCRIPTIONEXAMPLESc                    [         R                  R                  U 5        [        R                  " U 5        [        R
                  " U S5        [        R                  " U 5        [        R                  " U 5        [        R                  " U 5        [        R                  " U SS9  [        R                  " U 5        [        R                  " U 5        [        R                  " U 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 5        [        R.                  " U 5        [        R0                  " U 5        [        R2                  " U 5        [        R4                  " U 5        [        R6                  " U 5        [        R8                  " U 5        [        R:                  " U 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        g)zlSpecifies additional command flags.

Args:
  parser: argparse.Parser: Parser object for command line inputs
F)requiredTshow_negated_in_helpN)&r   
ASYNC_FLAGAddToParserr	   AddAvailabilityType
AddClusterAddDatabaseFlagsAddInstanceAddInstanceTypeAddCPUCountAddMachineTypeAddReadPoolNodeCount	AddRegion"AddInsightsConfigQueryStringLength$AddInsightsConfigQueryPlansPerMinute&AddInsightsConfigRecordApplicationTags$AddInsightsConfigRecordClientAddress
AddSSLModeAddRequireConnectorsAddAssignInboundPublicIpAddAuthorizedExternalNetworksAddOutboundPublicIpAddAllowedPSCProjectsAddPSCNetworkAttachmentUriAddPSCAutoConnectionsAddAllocatedIPRangeOverrideAddEnableConnectionPoolingAddConnectionPoolingPoolModeAddConnectionPoolingMinPoolSizeAddConnectionPoolingMaxPoolSize(AddConnectionPoolingMaxClientConnections%AddConnectionPoolingServerIdleTimeout$AddConnectionPoolingQueryWaitTimeoutAddConnectionPoolingStatsUsers+AddConnectionPoolingIgnoreStartupParameters"AddConnectionPoolingServerLifetime/AddConnectionPoolingClientConnectionIdleTimeout)AddConnectionPoolingMaxPreparedStatements)parsers    'lib/surface/alloydb/instances/create.pyArgsCreate.Args8   s    	OO'	f%	VU#	6"	f	&!	fu-	 	v&	OOF	,,V4	..v6	00T 
..T 
V	v&	""6*	''/	f4@	'	$$V,	'	%%f- 
$$V,	&&v.	))&1	))&1	226:	//7	..v6	((0	55f=	,,V4	99&A	33F;    c                 0    [         R                  " XX45      $ N)r
    ConstructCreateRequestFromArgsGAselfclientalloydb_messagescluster_refargss        r=   ConstructCreateRequestFromArgs%Create.ConstructCreateRequestFromArgsl   s     ;;+ 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                  X$XQ5      nUR                  R                  U5      n[         R"                  R%                  UR&                  SS9n[(        R*                  R-                  SR/                  UR1                  5       5      5        UR2                  (       d&  [4        R6                  " 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
clustersIdz%alloydb.projects.locations.operations)
collectionzOperation ID: {}zCreating instance)r   AlloyDBClientReleaseTrackalloydb_clientrG   resource_parserr   r   VALUEScoreproject	GetOrFailregionclusterrJ   %projects_locations_clusters_instancesr   REGISTRYParseRelativeNamenamer   statusPrintformatNameasync_r   Await)	rE   rI   rF   rS   rG   rH   reqopop_refs	            r=   Run
Create.Runs   s    ##D$5$5$78F**N..((//-$$))11;;KK<<	 0 !K
 
-
-+C 
	=	=	D	DS	IB11
C 2 EFJJ'..v{{}=>;;(; $ 1 1 35Ir@    N)__name__
__module____qualname____firstlineno____doc__detailed_helpstaticmethodr>   rJ   rh   __static_attributes__rj   r@   r=   r   r   $   s7     ? 	- .< .<fr@   r   c                   <   ^  \ rS rSrSr\U 4S j5       rS rSrU =r	$ )
CreateBeta   r   c                   > [         [        [        ]  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)superrt   r>   r	   AddObservabilityConfigEnabled&AddObservabilityConfigPreserveComments%AddObservabilityConfigTrackWaitEvents*AddObservabilityConfigMaxQueryStringLength+AddObservabilityConfigRecordApplicationTags)AddObservabilityConfigQueryPlansPerMinute(AddObservabilityConfigTrackActiveQueriesAddAutoscalerCreateFlagsclsr<   	__class__s     r=   r>   CreateBeta.Args   s    	*j&v.	''T 
00T 
//U 
44V<	55T 
33F;	22T 
""6*r@   c                 0    [         R                  " XX45      $ rB   )r
   "ConstructCreateRequestFromArgsBetarD   s        r=   rJ   )CreateBeta.ConstructCreateRequestFromArgs   s     ==+ r@   rj   
rk   rl   rm   rn   ro   classmethodr>   rJ   rr   __classcell__r   s   @r=   rt   rt      s"    >+ +, r@   rt   c                   <   ^  \ rS rSrSr\U 4S j5       rS rSrU =r	$ )CreateAlpha   r   c                 4   > [         [        [        ]  U5        g rB   )rw   r   r>   r   s     r=   r>   CreateAlpha.Args   s    	+{(0r@   c                 0    [         R                  " XX45      $ rB   )r
   #ConstructCreateRequestFromArgsAlpharD   s        r=   rJ   *CreateAlpha.ConstructCreateRequestFromArgs   s     >>+ r@   rj   r   r   s   @r=   r   r      s"    >1 1 r@   r   N)ro   
__future__r   r   r   googlecloudsdk.api_lib.alloydbr   r   googlecloudsdk.callioper   "googlecloudsdk.command_lib.alloydbr	   r
   googlecloudsdk.corer   r   r   DefaultUniverseOnlyReleaseTracksrR   GACreateCommandr   BETArt   ALPHAr   rj   r@   r=   <module>r      s    & '  ' 4 > ( 4 > # * ) D%%(()iT i * iX D%%**+  ,D D%%++,*  -r@   