@@ -25,6 +25,7 @@ import "google/cloud/aiplatform/v1beta1/custom_job.proto";
2525import "google/cloud/aiplatform/v1beta1/data_labeling_job.proto" ;
2626import "google/cloud/aiplatform/v1beta1/hyperparameter_tuning_job.proto" ;
2727import "google/cloud/aiplatform/v1beta1/model_deployment_monitoring_job.proto" ;
28+ import "google/cloud/aiplatform/v1beta1/nas_job.proto" ;
2829import "google/cloud/aiplatform/v1beta1/operation.proto" ;
2930import "google/longrunning/operations.proto" ;
3031import "google/protobuf/empty.proto" ;
@@ -43,7 +44,8 @@ option ruby_package = "Google::Cloud::AIPlatform::V1beta1";
4344service JobService {
4445 option (google.api.default_host ) = "aiplatform.googleapis.com" ;
4546 option (google.api.oauth_scopes ) =
46- "https://www.googleapis.com/auth/cloud-platform" ;
47+ "https://www.googleapis.com/auth/cloud-platform,"
48+ "https://www.googleapis.com/auth/cloud-platform.read-only" ;
4749
4850 // Creates a CustomJob. A created CustomJob right away
4951 // will be attempted to be run.
@@ -219,6 +221,81 @@ service JobService {
219221 option (google.api.method_signature ) = "name" ;
220222 }
221223
224+ // Creates a NasJob
225+ rpc CreateNasJob (CreateNasJobRequest ) returns (NasJob ) {
226+ option (google.api.http ) = {
227+ post : "/v1beta1/{parent=projects/*/locations/*}/nasJobs"
228+ body : "nas_job"
229+ };
230+ option (google.api.method_signature ) = "parent,nas_job" ;
231+ }
232+
233+ // Gets a NasJob
234+ rpc GetNasJob (GetNasJobRequest ) returns (NasJob ) {
235+ option (google.api.http ) = {
236+ get : "/v1beta1/{name=projects/*/locations/*/nasJobs/*}"
237+ };
238+ option (google.api.method_signature ) = "name" ;
239+ }
240+
241+ // Lists NasJobs in a Location.
242+ rpc ListNasJobs (ListNasJobsRequest ) returns (ListNasJobsResponse ) {
243+ option (google.api.http ) = {
244+ get : "/v1beta1/{parent=projects/*/locations/*}/nasJobs"
245+ };
246+ option (google.api.method_signature ) = "parent" ;
247+ }
248+
249+ // Deletes a NasJob.
250+ rpc DeleteNasJob (DeleteNasJobRequest ) returns (google.longrunning.Operation ) {
251+ option (google.api.http ) = {
252+ delete : "/v1beta1/{name=projects/*/locations/*/nasJobs/*}"
253+ };
254+ option (google.api.method_signature ) = "name" ;
255+ option (google.longrunning.operation_info ) = {
256+ response_type : "google.protobuf.Empty"
257+ metadata_type : "DeleteOperationMetadata"
258+ };
259+ }
260+
261+ // Cancels a NasJob.
262+ // Starts asynchronous cancellation on the NasJob. The server
263+ // makes a best effort to cancel the job, but success is not
264+ // guaranteed. Clients can use
265+ // [JobService.GetNasJob][google.cloud.aiplatform.v1beta1.JobService.GetNasJob]
266+ // or other methods to check whether the cancellation succeeded or whether the
267+ // job completed despite cancellation. On successful cancellation,
268+ // the NasJob is not deleted; instead it becomes a job with
269+ // a [NasJob.error][google.cloud.aiplatform.v1beta1.NasJob.error] value with a
270+ // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
271+ // `Code.CANCELLED`, and
272+ // [NasJob.state][google.cloud.aiplatform.v1beta1.NasJob.state] is set to
273+ // `CANCELLED`.
274+ rpc CancelNasJob (CancelNasJobRequest ) returns (google.protobuf.Empty ) {
275+ option (google.api.http ) = {
276+ post : "/v1beta1/{name=projects/*/locations/*/nasJobs/*}:cancel"
277+ body : "*"
278+ };
279+ option (google.api.method_signature ) = "name" ;
280+ }
281+
282+ // Gets a NasTrialDetail.
283+ rpc GetNasTrialDetail (GetNasTrialDetailRequest ) returns (NasTrialDetail ) {
284+ option (google.api.http ) = {
285+ get : "/v1beta1/{name=projects/*/locations/*/nasJobs/*/nasTrialDetails/*}"
286+ };
287+ option (google.api.method_signature ) = "name" ;
288+ }
289+
290+ // List top NasTrialDetails of a NasJob.
291+ rpc ListNasTrialDetails (ListNasTrialDetailsRequest )
292+ returns (ListNasTrialDetailsResponse ) {
293+ option (google.api.http ) = {
294+ get : "/v1beta1/{parent=projects/*/locations/*/nasJobs/*}/nasTrialDetails"
295+ };
296+ option (google.api.method_signature ) = "parent" ;
297+ }
298+
222299 // Creates a BatchPredictionJob. A BatchPredictionJob once created will
223300 // right away be attempted to start.
224301 rpc CreateBatchPredictionJob (CreateBatchPredictionJobRequest )
@@ -752,6 +829,180 @@ message CancelHyperparameterTuningJobRequest {
752829 ];
753830}
754831
832+ // Request message for
833+ // [JobService.CreateNasJob][google.cloud.aiplatform.v1beta1.JobService.CreateNasJob].
834+ message CreateNasJobRequest {
835+ // Required. The resource name of the Location to create the NasJob in.
836+ // Format: `projects/{project}/locations/{location}`
837+ string parent = 1 [
838+ (google.api.field_behavior ) = REQUIRED ,
839+ (google.api.resource_reference ) = {
840+ type : "locations.googleapis.com/Location"
841+ }
842+ ];
843+
844+ // Required. The NasJob to create.
845+ NasJob nas_job = 2 [(google.api.field_behavior ) = REQUIRED ];
846+ }
847+
848+ // Request message for
849+ // [JobService.GetNasJob][google.cloud.aiplatform.v1beta1.JobService.GetNasJob].
850+ message GetNasJobRequest {
851+ // Required. The name of the NasJob resource.
852+ // Format:
853+ // `projects/{project}/locations/{location}/nasJobs/{nas_job}`
854+ string name = 1 [
855+ (google.api.field_behavior ) = REQUIRED ,
856+ (google.api.resource_reference ) = {
857+ type : "aiplatform.googleapis.com/NasJob"
858+ }
859+ ];
860+ }
861+
862+ // Request message for
863+ // [JobService.ListNasJobs][google.cloud.aiplatform.v1beta1.JobService.ListNasJobs].
864+ message ListNasJobsRequest {
865+ // Required. The resource name of the Location to list the NasJobs
866+ // from. Format: `projects/{project}/locations/{location}`
867+ string parent = 1 [
868+ (google.api.field_behavior ) = REQUIRED ,
869+ (google.api.resource_reference ) = {
870+ type : "locations.googleapis.com/Location"
871+ }
872+ ];
873+
874+ // The standard list filter.
875+ //
876+ // Supported fields:
877+ //
878+ // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard.
879+ // * `state` supports `=`, `!=` comparisons.
880+ // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons.
881+ // `create_time` must be in RFC 3339 format.
882+ // * `labels` supports general map functions that is:
883+ // `labels.key=value` - key:value equality
884+ // `labels.key:* - key existence
885+ //
886+ // Some examples of using the filter are:
887+ //
888+ // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"`
889+ // * `state!="JOB_STATE_FAILED" OR display_name="my_job"`
890+ // * `NOT display_name="my_job"`
891+ // * `create_time>"2021-05-18T00:00:00Z"`
892+ // * `labels.keyA=valueA`
893+ // * `labels.keyB:*`
894+ string filter = 2 ;
895+
896+ // The standard list page size.
897+ int32 page_size = 3 ;
898+
899+ // The standard list page token.
900+ // Typically obtained via
901+ // [ListNasJobsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListNasJobsResponse.next_page_token]
902+ // of the previous
903+ // [JobService.ListNasJobs][google.cloud.aiplatform.v1beta1.JobService.ListNasJobs]
904+ // call.
905+ string page_token = 4 ;
906+
907+ // Mask specifying which fields to read.
908+ google.protobuf.FieldMask read_mask = 5 ;
909+ }
910+
911+ // Response message for
912+ // [JobService.ListNasJobs][google.cloud.aiplatform.v1beta1.JobService.ListNasJobs]
913+ message ListNasJobsResponse {
914+ // List of NasJobs in the requested page.
915+ // [NasJob.nas_job_output][google.cloud.aiplatform.v1beta1.NasJob.nas_job_output]
916+ // of the jobs will not be returned.
917+ repeated NasJob nas_jobs = 1 ;
918+
919+ // A token to retrieve the next page of results.
920+ // Pass to
921+ // [ListNasJobsRequest.page_token][google.cloud.aiplatform.v1beta1.ListNasJobsRequest.page_token]
922+ // to obtain that page.
923+ string next_page_token = 2 ;
924+ }
925+
926+ // Request message for
927+ // [JobService.DeleteNasJob][google.cloud.aiplatform.v1beta1.JobService.DeleteNasJob].
928+ message DeleteNasJobRequest {
929+ // Required. The name of the NasJob resource to be deleted.
930+ // Format:
931+ // `projects/{project}/locations/{location}/nasJobs/{nas_job}`
932+ string name = 1 [
933+ (google.api.field_behavior ) = REQUIRED ,
934+ (google.api.resource_reference ) = {
935+ type : "aiplatform.googleapis.com/NasJob"
936+ }
937+ ];
938+ }
939+
940+ // Request message for
941+ // [JobService.CancelNasJob][google.cloud.aiplatform.v1beta1.JobService.CancelNasJob].
942+ message CancelNasJobRequest {
943+ // Required. The name of the NasJob to cancel.
944+ // Format:
945+ // `projects/{project}/locations/{location}/nasJobs/{nas_job}`
946+ string name = 1 [
947+ (google.api.field_behavior ) = REQUIRED ,
948+ (google.api.resource_reference ) = {
949+ type : "aiplatform.googleapis.com/NasJob"
950+ }
951+ ];
952+ }
953+
954+ // Request message for
955+ // [JobService.GetNasTrialDetail][google.cloud.aiplatform.v1beta1.JobService.GetNasTrialDetail].
956+ message GetNasTrialDetailRequest {
957+ // Required. The name of the NasTrialDetail resource.
958+ // Format:
959+ // `projects/{project}/locations/{location}/nasJobs/{nas_job}/nasTrialDetails/{nas_trial_detail}`
960+ string name = 1 [
961+ (google.api.field_behavior ) = REQUIRED ,
962+ (google.api.resource_reference ) = {
963+ type : "aiplatform.googleapis.com/NasTrialDetail"
964+ }
965+ ];
966+ }
967+
968+ // Request message for
969+ // [JobService.ListNasTrialDetails][google.cloud.aiplatform.v1beta1.JobService.ListNasTrialDetails].
970+ message ListNasTrialDetailsRequest {
971+ // Required. The name of the NasJob resource.
972+ // Format:
973+ // `projects/{project}/locations/{location}/nasJobs/{nas_job}`
974+ string parent = 1 [
975+ (google.api.field_behavior ) = REQUIRED ,
976+ (google.api.resource_reference ) = {
977+ type : "aiplatform.googleapis.com/NasJob"
978+ }
979+ ];
980+
981+ // The standard list page size.
982+ int32 page_size = 2 ;
983+
984+ // The standard list page token.
985+ // Typically obtained via
986+ // [ListNasTrialDetailsResponse.next_page_token][google.cloud.aiplatform.v1beta1.ListNasTrialDetailsResponse.next_page_token]
987+ // of the previous
988+ // [JobService.ListNasTrialDetails][google.cloud.aiplatform.v1beta1.JobService.ListNasTrialDetails]
989+ // call.
990+ string page_token = 3 ;
991+ }
992+
993+ // Response message for
994+ // [JobService.ListNasTrialDetails][google.cloud.aiplatform.v1beta1.JobService.ListNasTrialDetails]
995+ message ListNasTrialDetailsResponse {
996+ // List of top NasTrials in the requested page.
997+ repeated NasTrialDetail nas_trial_details = 1 ;
998+
999+ // A token to retrieve the next page of results.
1000+ // Pass to
1001+ // [ListNasTrialDetailsRequest.page_token][google.cloud.aiplatform.v1beta1.ListNasTrialDetailsRequest.page_token]
1002+ // to obtain that page.
1003+ string next_page_token = 2 ;
1004+ }
1005+
7551006// Request message for
7561007// [JobService.CreateBatchPredictionJob][google.cloud.aiplatform.v1beta1.JobService.CreateBatchPredictionJob].
7571008message CreateBatchPredictionJobRequest {
0 commit comments