
                            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 rS r\R                   " \R"                  R$                  5      \R&                   " S S\R(                  5      5       5       r\R                   " \R"                  R,                  \R"                  R.                  5      \R&                   " S S\5      5       5       rg)z+Vertex AI endpoints undeploy-model command.    )
operations)client)base)	constants)endpoint_util)endpoints_util)flags)operations_util)region_utilc                     [         R                  " U S[        R                  S9  [         R                  " 5       R                  U 5        [         R                  " 5       R                  U 5        g )Nzto undeploy a model from)prompt_func)r	   AddEndpointResourceArgr   PromptForOpRegionGetDeployedModelIdAddToParserGetTrafficSplitArgparsers    *lib/surface/ai/endpoints/undeploy_model.py_AddArgsr      sO     //1 ((0((0    c                 f   U R                   R                  R                  5       nUR                  5       S   U l        [
        R                  " XR                  S9   [        R                  " US9n[        R                  " 5       nU[        R                  :X  a&  UR                  UU R                  U R                  S9nO%UR!                  UU R                  U R                  S9n["        R$                  " XE[&        R(                  " UR*                  5      5      sSSS5        $ ! , (       d  f       g= f)z5Undeploy a model fro man existing Vertex AI endpoint.locationsId)region)version)traffic_splitN)CONCEPTSendpointParseAsDictr   r   AiplatformEndpointOverridesr   EndpointsClientr   OperationsClientr   
GA_VERSIONUndeployModeldeployed_model_idr   UndeployModelBetar
   WaitForOpMayber   ParseOperationname)argsr   endpoint_refendpoints_clientoperation_clientops         r   _Runr0   &   s    ''--/,##%m4$+00M--g>!224)&&&))


 
 ** * ,b
 --


 
 ** . ,b ))n;;BGGDF NMMs   B=D""
D0c                   .    \ rS rSrSr\S 5       rS rSrg)UndeployModelGa;     Undeploy a model from an existing Vertex AI endpoint.

## EXAMPLES

To undeploy a model ``456'' from an endpoint ``123'' under project ``example''
in region ``us-central1'', run:

  $ {command} 123 --project=example --region=us-central1
  --deployed-model-id=456
c                     [        U 5        g N)r   r   s    r   ArgsUndeployModelGa.ArgsI   s
    Vr   c                 8    [        U[        R                  5        g r6   )r0   r   r$   selfr+   s     r   RunUndeployModelGa.RunM   s    y##$r    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr7   r<   __static_attributes__r>   r   r   r2   r2   ;   s     	  %r   r2   c                       \ rS rSrSrS rSrg)r'   Q   r4   c                 8    [        U[        R                  5        g r6   )r0   r   BETA_VERSIONr:   s     r   r<   UndeployModelBeta.Run_   s    y%%&r   r>   N)r?   r@   rA   rB   rC   r<   rE   r>   r   r   r'   r'   Q   s    	'r   r'   N)rC   googlecloudsdk.api_lib.air   #googlecloudsdk.api_lib.ai.endpointsr   googlecloudsdk.callioper   googlecloudsdk.command_lib.air   r   r   r	   r
   r   r   r0   ReleaseTracksReleaseTrackGAUniverseCompatibleCommandr2   BETAALPHAr'   r>   r   r   <module>rV      s    2 1 6 ( 3 7 8 / 9 51F* D%%(()%dll %  *%( D%%**D,=,=,C,CD' '  E'r   