
                            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0rS rS r\R,                  " \R.                  R0                  5       " S S\R2                  5      5       r\R,                  " \R.                  R6                  \R.                  R8                  5       " S S\R2                  5      5       r\\l        \\l        g)z:Vertex AI model deployment monitoring jobs update command.    )absolute_import)division)unicode_literals)client)base)	constants)endpoint_util)errors)flags)
validation)labels_util)logEXAMPLESz
    To update display name of model deployment monitoring job `123` under project `example` in region `us-central1`, run:

      $ {command} 123 --display-name=new-name --project=example --region=us-central1
    c                    [         R                  " U S5        [         R                  " SSS9R                  U 5        [         R                  " SS9R                  U 5        [         R
                  " SSS9R                  U 5        [         R                  " SSS9R                  U 5        [         R                  " SS9R                  U 5        [         R                  " SS9R                  U 5        [         R                  " U SS9  [         R                  " SS9R                  U 5        [         R                  " SS9R                  U 5        [        R                  " U 5        g)zAdd flags for update command.z	to updatezmodel deployment monitoring jobF)requiredN)r   default)r    AddModelMonitoringJobResourceArgGetDisplayNameArgAddToParserGetEmailsArgGetPredictionSamplingRateArgGetMonitoringFrequencyArgGetAnalysisInstanceSchemaArgGetMonitoringLogTtlArg AddObjectiveConfigGroupForUpdateGetAnomalyCloudLoggingArgGetNotificationChannelsArgr   AddUpdateLabelsFlagsparsers    .lib/surface/ai/model_monitoring_jobs/update.py_Argsr"   )   s   ((='%99DV9Le$008$$d$$/K$7!!d$$/K$7$$e4@@H.::6B((%@!!51==fE""E2>>vF""6*    c                 \  ^  [         R                  " T R                  5        T R                  R                  R                  5       nUR                  5       S   n[        R                  " XS9    [        R                  " US9R                  UT 5      n[        R                  " UR                  SS9  UsSSS5        $ ! [        R                    aI    / SQn[#        U 4S jU 5       5      (       d  e [        R$                  R'                  S	5         SSS5        gf = f! , (       d  f       g= f)
zRun method for update command.locationsId)region)versionz)Vertex AI model deployment monitoring job)kindN)display_nameemailsprediction_sampling_ratefeature_thresholdsmonitoring_config_from_filemonitoring_frequencyanalysis_instance_schemalog_ttlupdate_labelsclear_labelsremove_labelsanomaly_cloud_loggingnotification_channelsc              3   F   >#    U  H  nTR                  U5      v   M     g 7fN)IsSpecified).0argargss     r!   	<genexpr>_Run.<locals>.<genexpr>T   s!     H2G3!!#&&2Gs   !zNo update to perform.)r   ValidateDisplayNamer)   CONCEPTSmonitoring_jobParseAsDictr	   AiplatformEndpointOverridesr   ModelMonitoringJobsClientPatchr   UpdatedResourcenamer
   NoFieldsSpecifiedErroranystatusPrint)r;   r'   model_monitoring_job_refr&   resultavailable_update_argss   `     r!   _RunrO   ;   s      !2!23!]]99??A#**,];&00H//@FF
"D*f. 

++GI7 IH ((  H2GHHH	jj.// IH	 IHs1   -D/$B= D=ADDDD
D+c                   .    \ rS rSrSr\S 5       rS rSrg)UpdateGa^   4Update an Vertex AI model deployment monitoring job.c                     [        U 5        g r7   r"   r   s    r!   ArgsUpdateGa.Argsb   	    	&Mr#   c                 6    [        U[        R                  5      $ r7   )rO   r   
GA_VERSIONselfr;   s     r!   RunUpdateGa.Runf   s    i**++r#    N	__name__
__module____qualname____firstlineno____doc__staticmethodrV   r]   __static_attributes__r_   r#   r!   rQ   rQ   ^   s    < ,r#   rQ   c                   .    \ rS rSrSr\S 5       rS rSrg)Updatej   rS   c                     [        U 5        g r7   rU   r   s    r!   rV   Update.Argsn   rX   r#   c                 6    [        U[        R                  5      $ r7   )rO   r   BETA_VERSIONr[   s     r!   r]   
Update.Runr   s    i,,--r#   r_   Nr`   r_   r#   r!   ri   ri   j   s    < .r#   ri   N)re   
__future__r   r   r   /googlecloudsdk.api_lib.ai.model_monitoring_jobsr   googlecloudsdk.callioper   googlecloudsdk.command_lib.air   r	   r
   r   r   $googlecloudsdk.command_lib.util.argsr   googlecloudsdk.corer   DETAILED_HELPr"   rO   ReleaseTracksReleaseTrackGAUpdateCommandrQ   BETAALPHAri   detailed_helpr_   r#   r!   <module>r~      s    A &  ' B ( 3 7 0 / 4 < # 	+$ F D%%((),t!! , *, D%%**D,=,=,C,CD.T . E. % & r#   