
                            d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dZ ej4                  ej6                  j8                         G d dej:                               Z ej4                  ej6                  j>                  ej6                  j@                         G d de             Z!y)z;Command to create a hyperparameter tuning job in Vertex AI.    )absolute_import)division)unicode_literals)util)client)base)	constants)endpoint_util)
validation)flags)hp_tuning_jobs_util)	arg_utils)labels_util)logzHyperparameter tuning job [{id}] submitted successfully.

Your job is still active. You may view the status of your job with the command

  $ gcloud{command_version} ai hp-tuning-jobs describe {id} --region={region}

Job State: {state}c                   F    e Zd ZdZej
                  ZddiZed        Z	d Z
y)CreateGa#Create a hyperparameter tuning job.EXAMPLESz          To create a job named ``test'' under project ``example'' in region
          ``us-central1'', run:

            $ {command} --region=us-central1 --project=example --config=config.yaml --display-name=test
          c                     t        j                  |t        j                  d| j                        j
                         y )N	StudySpecversion)r   AddCreateHpTuningJobFlagsapi_util
GetMessage_api_versionAlgorithmValueValuesEnum)clsparsers     'lib/surface/ai/hp_tuning_jobs/create.pyArgszCreateGa.Args<   s3    	##K$'$4$4	66N6NP    c                 <   |j                   j                  j                         }|j                         d   }t	        j
                  |t        j                         t        j                  | j                  |      5  t        j                  | j                        }t        j                  |j                  |j!                               }t#        j$                  ||j'                         j(                        }|j+                  |j-                         |j.                  |j0                  |j2                  |j4                  |t	        j6                  |      |j8                  |j:                  |j<                  |j>                  |      }t@        jB                  jE                  tF        jI                  tK        jL                  |jN                        tK        jP                  | jS                               ||jT                               |cd d d        S # 1 sw Y   y xY w)NlocationsId)available_regions)r   regionr   )parentconfig_pathdisplay_namemax_trial_countparallel_trial_count	algorithmkms_key_namenetworkservice_accountenable_web_accessenable_dashboard_accesslabels)idcommand_versionr&   state)+CONCEPTSr&   ParseAsDictr   ValidateRegionr	   SUPPORTED_TRAINING_REGIONSr
   AiplatformEndpointOverridesr   r   HpTuningJobsClientr   ChoiceToEnumr,   AlgorithmEnumr   ParseCreateArgsHyperparameterTuningJobMessageLabelsValueCreateRelativeNameconfigr)   r*   r+   GetAndValidateKmsKeyr.   r/   r0   r1   r   statusPrint&_HPTUNING_JOB_CREATION_DISPLAY_MESSAGEformatr   ParseJobNamenameOutputCommandVersionReleaseTrackr5   )selfargs
region_refr&   
api_clientr,   r2   responses           r    RunzCreateGa.RunC   s   %%++-J /F)"F"FH 
	2	2!!&
2,,T5F5FGj(()3)A)A)CEi**


3
3
5
A
ACf ""((*kk((..#88!66t<,,.. 22"&">"> # h 
jj
0
7
7$11(--@1FF##%'NN 8 $% =
2 
2 
2s   >F
HHN)__name__
__module____qualname____doc__r	   
GA_VERSIONr   detailed_helpclassmethodr!   rS    r"   r    r   r   ,   s<    +%%, - P P$r"   r   c                   (    e Zd ZdZej
                  Zy)CreatePreGar   N)rT   rU   rV   rW   r	   BETA_VERSIONr   r[   r"   r    r]   r]   j   s    +'',r"   r]   N)"rW   
__future__r   r   r   googlecloudsdk.api_lib.air   r   (googlecloudsdk.api_lib.ai.hp_tuning_jobsr   googlecloudsdk.callioper   googlecloudsdk.command_lib.air	   r
   r   ,googlecloudsdk.command_lib.ai.hp_tuning_jobsr   r   $googlecloudsdk.command_lib.util.apisr   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   rH   ReleaseTracksrM   GACreateCommandr   BETAALPHAr]   r[   r"   r    <module>rm      s    B &  ' 6 ; ( 3 7 4 > L : < #* & D%%(():t!! : *:z D%%**D,=,=,C,CD(( ( E(r"   