
    I                     ~    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\5      rg)z:Utilities for querying serverless ray jobs in AI Platform.    )absolute_import)division)unicode_literals)
list_pager)apis)	constants)util)
console_ioc                   n    \ rS rSrSr\R                  4S jrS rS r	  SS jr
SS jrS	 rS
 rS rSrg)ServerlessRayJobsClient   z>Client used for interacting with Serverless Ray Jobs endpoint.c                     [         R                  " [        R                  [        R                  U   5      nUR
                  U l        Xl        UR                  U l	        [        R                  U   U l        g )N)r   GetClientInstancer   AI_PLATFORM_API_NAMEAI_PLATFORM_API_VERSIONMESSAGES_MODULE	_messages_version$projects_locations_serverlessRayJobs_serviceAI_PLATFORM_MESSAGE_PREFIX_message_prefix)selfversionclients      ;lib/googlecloudsdk/api_lib/ai/serverless_ray_jobs/client.py__init__ ServerlessRayJobsClient.__init__   s[    ##I$B$B$-$E$Eg$NPF++DNM??DM$??HD    c                 `    [        U R                  SR                  U R                  US9S5      $ )z&Returns the API message class by name.z{prefix}{name})prefixnameN)getattrr   formatr   )r   message_names     r   
GetMessage"ServerlessRayJobsClient.GetMessage'   s9     t';';%1 	  	348: :r   c                 $    U R                  S5      $ )z1Retures the Serverless Ray Jobs resource message.ServerlessRayJob)r&   )r   s    r   ServerlessRayJobMessage/ServerlessRayJobsClient.ServerlessRayJobMessage/   s     ??-..r   Nc                     U R                  5       " X2S9nU(       a  XEl        U R                  R                  U R                  R                  UUS95      $ )a  Constructs a request and sends it to the endpoint to create a serverless ray job instance.

Args:
  parent: str, The project resource path of the serverless ray job to
    create.
  job_spec: The ServerlessRayJobSpec message instance for the job creation
    request.
  display_name: str, The display name of the serverless ray job to create.
  labels: LabelValues, map-like user-defined metadata to organize the
    serverless ray job.

Returns:
  A ServerlessRayJob message instance created.
)displayNamejobSpec)parent,googleCloudAiplatformV1beta1ServerlessRayJob)r*   labelsr   Creater   9AiplatformProjectsLocationsServerlessRayJobsCreateRequest)r   r/   job_specdisplay_namer1   serverless_ray_jobs         r   r2   ServerlessRayJobsClient.Create4   s]    & 557  "( ==PP9K 	Q 	
 r   c                 t    [         R                  " U R                  U R                  R	                  US9SSUS9$ )N)r/   serverlessRayJobspageSize)fieldbatch_size_attributelimit)r   YieldFromListr   r   7AiplatformProjectsLocationsServerlessRayJobsListRequest)r   r=   regions      r   ListServerlessRayJobsClient.ListW   sB    ##NN 	O 	
 "' r   c                 j    U R                   R                  US9nU R                  R                  U5      $ N)r"   )r   6AiplatformProjectsLocationsServerlessRayJobsGetRequestr   Getr   r"   requests      r   rF   ServerlessRayJobsClient.Getb   s9    MM 	N 	
 
 ==W%%r   c                 j    U R                   R                  US9nU R                  R                  U5      $ rD   )r   9AiplatformProjectsLocationsServerlessRayJobsCancelRequestr   CancelrG   s      r   rL   ServerlessRayJobsClient.Cancelj   s6    nnVV W G ==((r   c                 v    [         R                  " USS9nU R                  U5      n[        R                  " XCS9$ )z@Import a messages class instance typed by name from a YAML file.F)binary)message_typestream)r
   ReadFromFileOrStdinr&   export_utilImport)r   	yaml_filer%   datarP   s        r   ImportResourceMessage-ServerlessRayJobsClient.ImportResourceMessagep   s3    )))EBD??<0L<EEr   )r   r   r   r   )NN)__name__
__module____qualname____firstlineno____doc__r   
GA_VERSIONr   r&   r*   r2   rA   rF   rL   rW   __static_attributes__ r   r   r   r      sA    F&11 I:/ 	!F	&)Fr   r   N)r]   
__future__r   r   r   apitools.base.pyr   googlecloudsdk.api_lib.utilr   googlecloudsdk.command_lib.air   !googlecloudsdk.command_lib.exportr	   rS   googlecloudsdk.core.consoler
   objectr   r`   r   r   <module>rh      s3    A &  ' ' , 3 A 2XFf XFr   