
                            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  SSKJr  SSKJr  \R(                  " \R*                  R,                  5       " S S\R.                  5      5       r\R(                  " \R*                  R2                  \R*                  R4                  5       " S S\5      5       rg)z!Vertex AI indexes create command.    )absolute_import)division)unicode_literals)client)base)	constants)endpoint_util)flags)indexes_util)region_util)
validation)labels_util)logc                   4    \ rS rSrSr\S 5       rS rS rSr	g)CreateV1!   R  Create a new Vertex AI index.

## EXAMPLES

To create an index under project `example` in region
`us-central1`, encrypted with KMS key `kms-key-name`, run:

  $ {command} --display-name=index --description=test
  --metadata-file=path/to/your/metadata.json
  --project=example --region=us-central1
  --encryption-kms-key-name=kms-key-name
c                 V   [         R                  " U S[        R                  " [        R
                  5      S9  [         R                  " S5      R                  U 5        [         R                  " S5      R                  U 5        [         R                  " SSS9R                  U 5        [         R                  " S5      R                  U 5        [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        [        R                  " U 5        g )Nzto create index)prompt_funcindexT)required)r
   AddRegionResourceArgr   GetPromptForRegionFuncr   SUPPORTED_OP_REGIONSGetDisplayNameArgAddToParserGetDescriptionArgGetMetadataFilePathArgGetMetadataSchemaUriArgGetIndexUpdateMethodGetEncryptionKmsKeyNameArgr   AddCreateLabelsFlags)parsers     lib/surface/ai/indexes/create.pyArgsCreateV1.Args0   s    	66**
 
G$008	G$008	  48DDVL	!!'*66v>	 ,,V4	$$&226:$$V,    c                    [         R                  " UR                  5        UR                  R                  R                  5       nUR                  5       S   nUR                  5       S   n[        R                  " X$S9   [        R                  " US9nU[        R                  :X  a  UR                  X15      nOUR                  X15      n[        R                   " UR"                  5      nUR                  5       S   n	[$        R&                  R)                  [        R*                  R-                  UR"                  SUR/                  5       SR-                  XU5      S95        UsS S S 5        $ ! , (       d  f       g = f)	NlocationsId
projectsId)region)version	indexesIdzcreate indexz%--index={} --region={} [--project={}])nameverbidsub_commands)r   ValidateDisplayNamedisplay_nameCONCEPTSr+   ParseAsDictr	   AiplatformEndpointOverridesr   IndexesClientr   
GA_VERSIONCreate
CreateBetar   ParseIndexOperationr.   r   statusPrint"OPERATION_CREATION_DISPLAY_MESSAGEformatName)
selfargsr,   
region_refr+   
project_idindex_client	operationop_refindex_ids
             r$   _RunCreateV1._RunA   s'   ""4#4#45%%++-J /F""$\2J		2	27	J))':l	I((	( ''
9	 ++J=	//	?f-h	jj

6
6
=
=>>!BIIJ0	 > 12 ! 
K	J	Js   ?C%E..
E<c                 B    U R                  U[        R                  5      $ N)rJ   r   r9   rB   rC   s     r$   RunCreateV1.RunX   s    99T9//00r'    N)
__name__
__module____qualname____firstlineno____doc__staticmethodr%   rJ   rO   __static_attributes__rQ   r'   r$   r   r   !   s%     - - .1r'   r   c                       \ rS rSrSrS rSrg)CreateV1Beta1\   r   c                 B    U R                  U[        R                  5      $ rM   )rJ   r   BETA_VERSIONrN   s     r$   rO   CreateV1Beta1.Runk   s    99T91122r'   rQ   N)rR   rS   rT   rU   rV   rO   rX   rQ   r'   r$   rZ   rZ   \   s    3r'   rZ   N)rV   
__future__r   r   r   !googlecloudsdk.api_lib.ai.indexesr   googlecloudsdk.callioper   googlecloudsdk.command_lib.air   r	   r
   r   r   r   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   ReleaseTracksReleaseTrackGACreateCommandr   ALPHABETArZ   rQ   r'   r$   <module>rk      s    ( &  ' 4 ( 3 7 / 6 5 4 < # D%%(()71t!! 71 *71t D%%++T->->-C-CD3H 3 E3r'   