1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.cloud.aiplatform.v1; 18 19import "google/api/annotations.proto"; 20import "google/api/client.proto"; 21import "google/api/field_behavior.proto"; 22import "google/api/resource.proto"; 23import "google/cloud/aiplatform/v1/batch_prediction_job.proto"; 24import "google/cloud/aiplatform/v1/custom_job.proto"; 25import "google/cloud/aiplatform/v1/data_labeling_job.proto"; 26import "google/cloud/aiplatform/v1/hyperparameter_tuning_job.proto"; 27import "google/cloud/aiplatform/v1/model_deployment_monitoring_job.proto"; 28import "google/cloud/aiplatform/v1/nas_job.proto"; 29import "google/cloud/aiplatform/v1/operation.proto"; 30import "google/longrunning/operations.proto"; 31import "google/protobuf/empty.proto"; 32import "google/protobuf/field_mask.proto"; 33import "google/protobuf/timestamp.proto"; 34 35option csharp_namespace = "Google.Cloud.AIPlatform.V1"; 36option go_package = "cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb"; 37option java_multiple_files = true; 38option java_outer_classname = "JobServiceProto"; 39option java_package = "com.google.cloud.aiplatform.v1"; 40option php_namespace = "Google\\Cloud\\AIPlatform\\V1"; 41option ruby_package = "Google::Cloud::AIPlatform::V1"; 42 43// A service for creating and managing Vertex AI's jobs. 44service JobService { 45 option (google.api.default_host) = "aiplatform.googleapis.com"; 46 option (google.api.oauth_scopes) = 47 "https://www.googleapis.com/auth/cloud-platform," 48 "https://www.googleapis.com/auth/cloud-platform.read-only"; 49 50 // Creates a CustomJob. A created CustomJob right away 51 // will be attempted to be run. 52 rpc CreateCustomJob(CreateCustomJobRequest) returns (CustomJob) { 53 option (google.api.http) = { 54 post: "/v1/{parent=projects/*/locations/*}/customJobs" 55 body: "custom_job" 56 }; 57 option (google.api.method_signature) = "parent,custom_job"; 58 } 59 60 // Gets a CustomJob. 61 rpc GetCustomJob(GetCustomJobRequest) returns (CustomJob) { 62 option (google.api.http) = { 63 get: "/v1/{name=projects/*/locations/*/customJobs/*}" 64 }; 65 option (google.api.method_signature) = "name"; 66 } 67 68 // Lists CustomJobs in a Location. 69 rpc ListCustomJobs(ListCustomJobsRequest) returns (ListCustomJobsResponse) { 70 option (google.api.http) = { 71 get: "/v1/{parent=projects/*/locations/*}/customJobs" 72 }; 73 option (google.api.method_signature) = "parent"; 74 } 75 76 // Deletes a CustomJob. 77 rpc DeleteCustomJob(DeleteCustomJobRequest) 78 returns (google.longrunning.Operation) { 79 option (google.api.http) = { 80 delete: "/v1/{name=projects/*/locations/*/customJobs/*}" 81 }; 82 option (google.api.method_signature) = "name"; 83 option (google.longrunning.operation_info) = { 84 response_type: "google.protobuf.Empty" 85 metadata_type: "DeleteOperationMetadata" 86 }; 87 } 88 89 // Cancels a CustomJob. 90 // Starts asynchronous cancellation on the CustomJob. The server 91 // makes a best effort to cancel the job, but success is not 92 // guaranteed. Clients can use 93 // [JobService.GetCustomJob][google.cloud.aiplatform.v1.JobService.GetCustomJob] 94 // or other methods to check whether the cancellation succeeded or whether the 95 // job completed despite cancellation. On successful cancellation, 96 // the CustomJob is not deleted; instead it becomes a job with 97 // a [CustomJob.error][google.cloud.aiplatform.v1.CustomJob.error] value with 98 // a [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to 99 // `Code.CANCELLED`, and 100 // [CustomJob.state][google.cloud.aiplatform.v1.CustomJob.state] is set to 101 // `CANCELLED`. 102 rpc CancelCustomJob(CancelCustomJobRequest) returns (google.protobuf.Empty) { 103 option (google.api.http) = { 104 post: "/v1/{name=projects/*/locations/*/customJobs/*}:cancel" 105 body: "*" 106 }; 107 option (google.api.method_signature) = "name"; 108 } 109 110 // Creates a DataLabelingJob. 111 rpc CreateDataLabelingJob(CreateDataLabelingJobRequest) 112 returns (DataLabelingJob) { 113 option (google.api.http) = { 114 post: "/v1/{parent=projects/*/locations/*}/dataLabelingJobs" 115 body: "data_labeling_job" 116 }; 117 option (google.api.method_signature) = "parent,data_labeling_job"; 118 } 119 120 // Gets a DataLabelingJob. 121 rpc GetDataLabelingJob(GetDataLabelingJobRequest) returns (DataLabelingJob) { 122 option (google.api.http) = { 123 get: "/v1/{name=projects/*/locations/*/dataLabelingJobs/*}" 124 }; 125 option (google.api.method_signature) = "name"; 126 } 127 128 // Lists DataLabelingJobs in a Location. 129 rpc ListDataLabelingJobs(ListDataLabelingJobsRequest) 130 returns (ListDataLabelingJobsResponse) { 131 option (google.api.http) = { 132 get: "/v1/{parent=projects/*/locations/*}/dataLabelingJobs" 133 }; 134 option (google.api.method_signature) = "parent"; 135 } 136 137 // Deletes a DataLabelingJob. 138 rpc DeleteDataLabelingJob(DeleteDataLabelingJobRequest) 139 returns (google.longrunning.Operation) { 140 option (google.api.http) = { 141 delete: "/v1/{name=projects/*/locations/*/dataLabelingJobs/*}" 142 }; 143 option (google.api.method_signature) = "name"; 144 option (google.longrunning.operation_info) = { 145 response_type: "google.protobuf.Empty" 146 metadata_type: "DeleteOperationMetadata" 147 }; 148 } 149 150 // Cancels a DataLabelingJob. Success of cancellation is not guaranteed. 151 rpc CancelDataLabelingJob(CancelDataLabelingJobRequest) 152 returns (google.protobuf.Empty) { 153 option (google.api.http) = { 154 post: "/v1/{name=projects/*/locations/*/dataLabelingJobs/*}:cancel" 155 body: "*" 156 }; 157 option (google.api.method_signature) = "name"; 158 } 159 160 // Creates a HyperparameterTuningJob 161 rpc CreateHyperparameterTuningJob(CreateHyperparameterTuningJobRequest) 162 returns (HyperparameterTuningJob) { 163 option (google.api.http) = { 164 post: "/v1/{parent=projects/*/locations/*}/hyperparameterTuningJobs" 165 body: "hyperparameter_tuning_job" 166 }; 167 option (google.api.method_signature) = "parent,hyperparameter_tuning_job"; 168 } 169 170 // Gets a HyperparameterTuningJob 171 rpc GetHyperparameterTuningJob(GetHyperparameterTuningJobRequest) 172 returns (HyperparameterTuningJob) { 173 option (google.api.http) = { 174 get: "/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}" 175 }; 176 option (google.api.method_signature) = "name"; 177 } 178 179 // Lists HyperparameterTuningJobs in a Location. 180 rpc ListHyperparameterTuningJobs(ListHyperparameterTuningJobsRequest) 181 returns (ListHyperparameterTuningJobsResponse) { 182 option (google.api.http) = { 183 get: "/v1/{parent=projects/*/locations/*}/hyperparameterTuningJobs" 184 }; 185 option (google.api.method_signature) = "parent"; 186 } 187 188 // Deletes a HyperparameterTuningJob. 189 rpc DeleteHyperparameterTuningJob(DeleteHyperparameterTuningJobRequest) 190 returns (google.longrunning.Operation) { 191 option (google.api.http) = { 192 delete: "/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}" 193 }; 194 option (google.api.method_signature) = "name"; 195 option (google.longrunning.operation_info) = { 196 response_type: "google.protobuf.Empty" 197 metadata_type: "DeleteOperationMetadata" 198 }; 199 } 200 201 // Cancels a HyperparameterTuningJob. 202 // Starts asynchronous cancellation on the HyperparameterTuningJob. The server 203 // makes a best effort to cancel the job, but success is not 204 // guaranteed. Clients can use 205 // [JobService.GetHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.GetHyperparameterTuningJob] 206 // or other methods to check whether the cancellation succeeded or whether the 207 // job completed despite cancellation. On successful cancellation, 208 // the HyperparameterTuningJob is not deleted; instead it becomes a job with 209 // a 210 // [HyperparameterTuningJob.error][google.cloud.aiplatform.v1.HyperparameterTuningJob.error] 211 // value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, 212 // corresponding to `Code.CANCELLED`, and 213 // [HyperparameterTuningJob.state][google.cloud.aiplatform.v1.HyperparameterTuningJob.state] 214 // is set to `CANCELLED`. 215 rpc CancelHyperparameterTuningJob(CancelHyperparameterTuningJobRequest) 216 returns (google.protobuf.Empty) { 217 option (google.api.http) = { 218 post: "/v1/{name=projects/*/locations/*/hyperparameterTuningJobs/*}:cancel" 219 body: "*" 220 }; 221 option (google.api.method_signature) = "name"; 222 } 223 224 // Creates a NasJob 225 rpc CreateNasJob(CreateNasJobRequest) returns (NasJob) { 226 option (google.api.http) = { 227 post: "/v1/{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: "/v1/{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: "/v1/{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: "/v1/{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.v1.JobService.GetNasJob] or 266 // 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.v1.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.v1.NasJob.state] is set to 273 // `CANCELLED`. 274 rpc CancelNasJob(CancelNasJobRequest) returns (google.protobuf.Empty) { 275 option (google.api.http) = { 276 post: "/v1/{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: "/v1/{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: "/v1/{parent=projects/*/locations/*/nasJobs/*}/nasTrialDetails" 295 }; 296 option (google.api.method_signature) = "parent"; 297 } 298 299 // Creates a BatchPredictionJob. A BatchPredictionJob once created will 300 // right away be attempted to start. 301 rpc CreateBatchPredictionJob(CreateBatchPredictionJobRequest) 302 returns (BatchPredictionJob) { 303 option (google.api.http) = { 304 post: "/v1/{parent=projects/*/locations/*}/batchPredictionJobs" 305 body: "batch_prediction_job" 306 }; 307 option (google.api.method_signature) = "parent,batch_prediction_job"; 308 } 309 310 // Gets a BatchPredictionJob 311 rpc GetBatchPredictionJob(GetBatchPredictionJobRequest) 312 returns (BatchPredictionJob) { 313 option (google.api.http) = { 314 get: "/v1/{name=projects/*/locations/*/batchPredictionJobs/*}" 315 }; 316 option (google.api.method_signature) = "name"; 317 } 318 319 // Lists BatchPredictionJobs in a Location. 320 rpc ListBatchPredictionJobs(ListBatchPredictionJobsRequest) 321 returns (ListBatchPredictionJobsResponse) { 322 option (google.api.http) = { 323 get: "/v1/{parent=projects/*/locations/*}/batchPredictionJobs" 324 }; 325 option (google.api.method_signature) = "parent"; 326 } 327 328 // Deletes a BatchPredictionJob. Can only be called on jobs that already 329 // finished. 330 rpc DeleteBatchPredictionJob(DeleteBatchPredictionJobRequest) 331 returns (google.longrunning.Operation) { 332 option (google.api.http) = { 333 delete: "/v1/{name=projects/*/locations/*/batchPredictionJobs/*}" 334 }; 335 option (google.api.method_signature) = "name"; 336 option (google.longrunning.operation_info) = { 337 response_type: "google.protobuf.Empty" 338 metadata_type: "DeleteOperationMetadata" 339 }; 340 } 341 342 // Cancels a BatchPredictionJob. 343 // 344 // Starts asynchronous cancellation on the BatchPredictionJob. The server 345 // makes the best effort to cancel the job, but success is not 346 // guaranteed. Clients can use 347 // [JobService.GetBatchPredictionJob][google.cloud.aiplatform.v1.JobService.GetBatchPredictionJob] 348 // or other methods to check whether the cancellation succeeded or whether the 349 // job completed despite cancellation. On a successful cancellation, 350 // the BatchPredictionJob is not deleted;instead its 351 // [BatchPredictionJob.state][google.cloud.aiplatform.v1.BatchPredictionJob.state] 352 // is set to `CANCELLED`. Any files already outputted by the job are not 353 // deleted. 354 rpc CancelBatchPredictionJob(CancelBatchPredictionJobRequest) 355 returns (google.protobuf.Empty) { 356 option (google.api.http) = { 357 post: "/v1/{name=projects/*/locations/*/batchPredictionJobs/*}:cancel" 358 body: "*" 359 }; 360 option (google.api.method_signature) = "name"; 361 } 362 363 // Creates a ModelDeploymentMonitoringJob. It will run periodically on a 364 // configured interval. 365 rpc CreateModelDeploymentMonitoringJob( 366 CreateModelDeploymentMonitoringJobRequest) 367 returns (ModelDeploymentMonitoringJob) { 368 option (google.api.http) = { 369 post: "/v1/{parent=projects/*/locations/*}/modelDeploymentMonitoringJobs" 370 body: "model_deployment_monitoring_job" 371 }; 372 option (google.api.method_signature) = 373 "parent,model_deployment_monitoring_job"; 374 } 375 376 // Searches Model Monitoring Statistics generated within a given time window. 377 rpc SearchModelDeploymentMonitoringStatsAnomalies( 378 SearchModelDeploymentMonitoringStatsAnomaliesRequest) 379 returns (SearchModelDeploymentMonitoringStatsAnomaliesResponse) { 380 option (google.api.http) = { 381 post: "/v1/{model_deployment_monitoring_job=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:searchModelDeploymentMonitoringStatsAnomalies" 382 body: "*" 383 }; 384 option (google.api.method_signature) = 385 "model_deployment_monitoring_job,deployed_model_id"; 386 } 387 388 // Gets a ModelDeploymentMonitoringJob. 389 rpc GetModelDeploymentMonitoringJob(GetModelDeploymentMonitoringJobRequest) 390 returns (ModelDeploymentMonitoringJob) { 391 option (google.api.http) = { 392 get: "/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}" 393 }; 394 option (google.api.method_signature) = "name"; 395 } 396 397 // Lists ModelDeploymentMonitoringJobs in a Location. 398 rpc ListModelDeploymentMonitoringJobs( 399 ListModelDeploymentMonitoringJobsRequest) 400 returns (ListModelDeploymentMonitoringJobsResponse) { 401 option (google.api.http) = { 402 get: "/v1/{parent=projects/*/locations/*}/modelDeploymentMonitoringJobs" 403 }; 404 option (google.api.method_signature) = "parent"; 405 } 406 407 // Updates a ModelDeploymentMonitoringJob. 408 rpc UpdateModelDeploymentMonitoringJob( 409 UpdateModelDeploymentMonitoringJobRequest) 410 returns (google.longrunning.Operation) { 411 option (google.api.http) = { 412 patch: "/v1/{model_deployment_monitoring_job.name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}" 413 body: "model_deployment_monitoring_job" 414 }; 415 option (google.api.method_signature) = 416 "model_deployment_monitoring_job,update_mask"; 417 option (google.longrunning.operation_info) = { 418 response_type: "ModelDeploymentMonitoringJob" 419 metadata_type: "UpdateModelDeploymentMonitoringJobOperationMetadata" 420 }; 421 } 422 423 // Deletes a ModelDeploymentMonitoringJob. 424 rpc DeleteModelDeploymentMonitoringJob( 425 DeleteModelDeploymentMonitoringJobRequest) 426 returns (google.longrunning.Operation) { 427 option (google.api.http) = { 428 delete: "/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}" 429 }; 430 option (google.api.method_signature) = "name"; 431 option (google.longrunning.operation_info) = { 432 response_type: "google.protobuf.Empty" 433 metadata_type: "DeleteOperationMetadata" 434 }; 435 } 436 437 // Pauses a ModelDeploymentMonitoringJob. If the job is running, the server 438 // makes a best effort to cancel the job. Will mark 439 // [ModelDeploymentMonitoringJob.state][google.cloud.aiplatform.v1.ModelDeploymentMonitoringJob.state] 440 // to 'PAUSED'. 441 rpc PauseModelDeploymentMonitoringJob( 442 PauseModelDeploymentMonitoringJobRequest) 443 returns (google.protobuf.Empty) { 444 option (google.api.http) = { 445 post: "/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:pause" 446 body: "*" 447 }; 448 option (google.api.method_signature) = "name"; 449 } 450 451 // Resumes a paused ModelDeploymentMonitoringJob. It will start to run from 452 // next scheduled time. A deleted ModelDeploymentMonitoringJob can't be 453 // resumed. 454 rpc ResumeModelDeploymentMonitoringJob( 455 ResumeModelDeploymentMonitoringJobRequest) 456 returns (google.protobuf.Empty) { 457 option (google.api.http) = { 458 post: "/v1/{name=projects/*/locations/*/modelDeploymentMonitoringJobs/*}:resume" 459 body: "*" 460 }; 461 option (google.api.method_signature) = "name"; 462 } 463} 464 465// Request message for 466// [JobService.CreateCustomJob][google.cloud.aiplatform.v1.JobService.CreateCustomJob]. 467message CreateCustomJobRequest { 468 // Required. The resource name of the Location to create the CustomJob in. 469 // Format: `projects/{project}/locations/{location}` 470 string parent = 1 [ 471 (google.api.field_behavior) = REQUIRED, 472 (google.api.resource_reference) = { 473 type: "locations.googleapis.com/Location" 474 } 475 ]; 476 477 // Required. The CustomJob to create. 478 CustomJob custom_job = 2 [(google.api.field_behavior) = REQUIRED]; 479} 480 481// Request message for 482// [JobService.GetCustomJob][google.cloud.aiplatform.v1.JobService.GetCustomJob]. 483message GetCustomJobRequest { 484 // Required. The name of the CustomJob resource. 485 // Format: 486 // `projects/{project}/locations/{location}/customJobs/{custom_job}` 487 string name = 1 [ 488 (google.api.field_behavior) = REQUIRED, 489 (google.api.resource_reference) = { 490 type: "aiplatform.googleapis.com/CustomJob" 491 } 492 ]; 493} 494 495// Request message for 496// [JobService.ListCustomJobs][google.cloud.aiplatform.v1.JobService.ListCustomJobs]. 497message ListCustomJobsRequest { 498 // Required. The resource name of the Location to list the CustomJobs from. 499 // Format: `projects/{project}/locations/{location}` 500 string parent = 1 [ 501 (google.api.field_behavior) = REQUIRED, 502 (google.api.resource_reference) = { 503 type: "locations.googleapis.com/Location" 504 } 505 ]; 506 507 // The standard list filter. 508 // 509 // Supported fields: 510 // 511 // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. 512 // * `state` supports `=`, `!=` comparisons. 513 // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. 514 // `create_time` must be in RFC 3339 format. 515 // * `labels` supports general map functions that is: 516 // `labels.key=value` - key:value equality 517 // `labels.key:* - key existence 518 // 519 // Some examples of using the filter are: 520 // 521 // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` 522 // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` 523 // * `NOT display_name="my_job"` 524 // * `create_time>"2021-05-18T00:00:00Z"` 525 // * `labels.keyA=valueA` 526 // * `labels.keyB:*` 527 string filter = 2; 528 529 // The standard list page size. 530 int32 page_size = 3; 531 532 // The standard list page token. 533 // Typically obtained via 534 // [ListCustomJobsResponse.next_page_token][google.cloud.aiplatform.v1.ListCustomJobsResponse.next_page_token] 535 // of the previous 536 // [JobService.ListCustomJobs][google.cloud.aiplatform.v1.JobService.ListCustomJobs] 537 // call. 538 string page_token = 4; 539 540 // Mask specifying which fields to read. 541 google.protobuf.FieldMask read_mask = 5; 542} 543 544// Response message for 545// [JobService.ListCustomJobs][google.cloud.aiplatform.v1.JobService.ListCustomJobs] 546message ListCustomJobsResponse { 547 // List of CustomJobs in the requested page. 548 repeated CustomJob custom_jobs = 1; 549 550 // A token to retrieve the next page of results. 551 // Pass to 552 // [ListCustomJobsRequest.page_token][google.cloud.aiplatform.v1.ListCustomJobsRequest.page_token] 553 // to obtain that page. 554 string next_page_token = 2; 555} 556 557// Request message for 558// [JobService.DeleteCustomJob][google.cloud.aiplatform.v1.JobService.DeleteCustomJob]. 559message DeleteCustomJobRequest { 560 // Required. The name of the CustomJob resource to be deleted. 561 // Format: 562 // `projects/{project}/locations/{location}/customJobs/{custom_job}` 563 string name = 1 [ 564 (google.api.field_behavior) = REQUIRED, 565 (google.api.resource_reference) = { 566 type: "aiplatform.googleapis.com/CustomJob" 567 } 568 ]; 569} 570 571// Request message for 572// [JobService.CancelCustomJob][google.cloud.aiplatform.v1.JobService.CancelCustomJob]. 573message CancelCustomJobRequest { 574 // Required. The name of the CustomJob to cancel. 575 // Format: 576 // `projects/{project}/locations/{location}/customJobs/{custom_job}` 577 string name = 1 [ 578 (google.api.field_behavior) = REQUIRED, 579 (google.api.resource_reference) = { 580 type: "aiplatform.googleapis.com/CustomJob" 581 } 582 ]; 583} 584 585// Request message for 586// [JobService.CreateDataLabelingJob][google.cloud.aiplatform.v1.JobService.CreateDataLabelingJob]. 587message CreateDataLabelingJobRequest { 588 // Required. The parent of the DataLabelingJob. 589 // Format: `projects/{project}/locations/{location}` 590 string parent = 1 [ 591 (google.api.field_behavior) = REQUIRED, 592 (google.api.resource_reference) = { 593 type: "locations.googleapis.com/Location" 594 } 595 ]; 596 597 // Required. The DataLabelingJob to create. 598 DataLabelingJob data_labeling_job = 2 599 [(google.api.field_behavior) = REQUIRED]; 600} 601 602// Request message for 603// [JobService.GetDataLabelingJob][google.cloud.aiplatform.v1.JobService.GetDataLabelingJob]. 604message GetDataLabelingJobRequest { 605 // Required. The name of the DataLabelingJob. 606 // Format: 607 // `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` 608 string name = 1 [ 609 (google.api.field_behavior) = REQUIRED, 610 (google.api.resource_reference) = { 611 type: "aiplatform.googleapis.com/DataLabelingJob" 612 } 613 ]; 614} 615 616// Request message for 617// [JobService.ListDataLabelingJobs][google.cloud.aiplatform.v1.JobService.ListDataLabelingJobs]. 618message ListDataLabelingJobsRequest { 619 // Required. The parent of the DataLabelingJob. 620 // Format: `projects/{project}/locations/{location}` 621 string parent = 1 [ 622 (google.api.field_behavior) = REQUIRED, 623 (google.api.resource_reference) = { 624 type: "locations.googleapis.com/Location" 625 } 626 ]; 627 628 // The standard list filter. 629 // 630 // Supported fields: 631 // 632 // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. 633 // * `state` supports `=`, `!=` comparisons. 634 // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. 635 // `create_time` must be in RFC 3339 format. 636 // * `labels` supports general map functions that is: 637 // `labels.key=value` - key:value equality 638 // `labels.key:* - key existence 639 // 640 // Some examples of using the filter are: 641 // 642 // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` 643 // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` 644 // * `NOT display_name="my_job"` 645 // * `create_time>"2021-05-18T00:00:00Z"` 646 // * `labels.keyA=valueA` 647 // * `labels.keyB:*` 648 string filter = 2; 649 650 // The standard list page size. 651 int32 page_size = 3; 652 653 // The standard list page token. 654 string page_token = 4; 655 656 // Mask specifying which fields to read. FieldMask represents a set of 657 // symbolic field paths. For example, the mask can be `paths: "name"`. The 658 // "name" here is a field in DataLabelingJob. 659 // If this field is not set, all fields of the DataLabelingJob are returned. 660 google.protobuf.FieldMask read_mask = 5; 661 662 // A comma-separated list of fields to order by, sorted in ascending order by 663 // default. 664 // Use `desc` after a field name for descending. 665 string order_by = 6; 666} 667 668// Response message for 669// [JobService.ListDataLabelingJobs][google.cloud.aiplatform.v1.JobService.ListDataLabelingJobs]. 670message ListDataLabelingJobsResponse { 671 // A list of DataLabelingJobs that matches the specified filter in the 672 // request. 673 repeated DataLabelingJob data_labeling_jobs = 1; 674 675 // The standard List next-page token. 676 string next_page_token = 2; 677} 678 679// Request message for 680// [JobService.DeleteDataLabelingJob][google.cloud.aiplatform.v1.JobService.DeleteDataLabelingJob]. 681message DeleteDataLabelingJobRequest { 682 // Required. The name of the DataLabelingJob to be deleted. 683 // Format: 684 // `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` 685 string name = 1 [ 686 (google.api.field_behavior) = REQUIRED, 687 (google.api.resource_reference) = { 688 type: "aiplatform.googleapis.com/DataLabelingJob" 689 } 690 ]; 691} 692 693// Request message for 694// [JobService.CancelDataLabelingJob][google.cloud.aiplatform.v1.JobService.CancelDataLabelingJob]. 695message CancelDataLabelingJobRequest { 696 // Required. The name of the DataLabelingJob. 697 // Format: 698 // `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}` 699 string name = 1 [ 700 (google.api.field_behavior) = REQUIRED, 701 (google.api.resource_reference) = { 702 type: "aiplatform.googleapis.com/DataLabelingJob" 703 } 704 ]; 705} 706 707// Request message for 708// [JobService.CreateHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.CreateHyperparameterTuningJob]. 709message CreateHyperparameterTuningJobRequest { 710 // Required. The resource name of the Location to create the 711 // HyperparameterTuningJob in. Format: 712 // `projects/{project}/locations/{location}` 713 string parent = 1 [ 714 (google.api.field_behavior) = REQUIRED, 715 (google.api.resource_reference) = { 716 type: "locations.googleapis.com/Location" 717 } 718 ]; 719 720 // Required. The HyperparameterTuningJob to create. 721 HyperparameterTuningJob hyperparameter_tuning_job = 2 722 [(google.api.field_behavior) = REQUIRED]; 723} 724 725// Request message for 726// [JobService.GetHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.GetHyperparameterTuningJob]. 727message GetHyperparameterTuningJobRequest { 728 // Required. The name of the HyperparameterTuningJob resource. 729 // Format: 730 // `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}` 731 string name = 1 [ 732 (google.api.field_behavior) = REQUIRED, 733 (google.api.resource_reference) = { 734 type: "aiplatform.googleapis.com/HyperparameterTuningJob" 735 } 736 ]; 737} 738 739// Request message for 740// [JobService.ListHyperparameterTuningJobs][google.cloud.aiplatform.v1.JobService.ListHyperparameterTuningJobs]. 741message ListHyperparameterTuningJobsRequest { 742 // Required. The resource name of the Location to list the 743 // HyperparameterTuningJobs from. Format: 744 // `projects/{project}/locations/{location}` 745 string parent = 1 [ 746 (google.api.field_behavior) = REQUIRED, 747 (google.api.resource_reference) = { 748 type: "locations.googleapis.com/Location" 749 } 750 ]; 751 752 // The standard list filter. 753 // 754 // Supported fields: 755 // 756 // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. 757 // * `state` supports `=`, `!=` comparisons. 758 // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. 759 // `create_time` must be in RFC 3339 format. 760 // * `labels` supports general map functions that is: 761 // `labels.key=value` - key:value equality 762 // `labels.key:* - key existence 763 // 764 // Some examples of using the filter are: 765 // 766 // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` 767 // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` 768 // * `NOT display_name="my_job"` 769 // * `create_time>"2021-05-18T00:00:00Z"` 770 // * `labels.keyA=valueA` 771 // * `labels.keyB:*` 772 string filter = 2; 773 774 // The standard list page size. 775 int32 page_size = 3; 776 777 // The standard list page token. 778 // Typically obtained via 779 // [ListHyperparameterTuningJobsResponse.next_page_token][google.cloud.aiplatform.v1.ListHyperparameterTuningJobsResponse.next_page_token] 780 // of the previous 781 // [JobService.ListHyperparameterTuningJobs][google.cloud.aiplatform.v1.JobService.ListHyperparameterTuningJobs] 782 // call. 783 string page_token = 4; 784 785 // Mask specifying which fields to read. 786 google.protobuf.FieldMask read_mask = 5; 787} 788 789// Response message for 790// [JobService.ListHyperparameterTuningJobs][google.cloud.aiplatform.v1.JobService.ListHyperparameterTuningJobs] 791message ListHyperparameterTuningJobsResponse { 792 // List of HyperparameterTuningJobs in the requested page. 793 // [HyperparameterTuningJob.trials][google.cloud.aiplatform.v1.HyperparameterTuningJob.trials] 794 // of the jobs will be not be returned. 795 repeated HyperparameterTuningJob hyperparameter_tuning_jobs = 1; 796 797 // A token to retrieve the next page of results. 798 // Pass to 799 // [ListHyperparameterTuningJobsRequest.page_token][google.cloud.aiplatform.v1.ListHyperparameterTuningJobsRequest.page_token] 800 // to obtain that page. 801 string next_page_token = 2; 802} 803 804// Request message for 805// [JobService.DeleteHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.DeleteHyperparameterTuningJob]. 806message DeleteHyperparameterTuningJobRequest { 807 // Required. The name of the HyperparameterTuningJob resource to be deleted. 808 // Format: 809 // `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}` 810 string name = 1 [ 811 (google.api.field_behavior) = REQUIRED, 812 (google.api.resource_reference) = { 813 type: "aiplatform.googleapis.com/HyperparameterTuningJob" 814 } 815 ]; 816} 817 818// Request message for 819// [JobService.CancelHyperparameterTuningJob][google.cloud.aiplatform.v1.JobService.CancelHyperparameterTuningJob]. 820message CancelHyperparameterTuningJobRequest { 821 // Required. The name of the HyperparameterTuningJob to cancel. 822 // Format: 823 // `projects/{project}/locations/{location}/hyperparameterTuningJobs/{hyperparameter_tuning_job}` 824 string name = 1 [ 825 (google.api.field_behavior) = REQUIRED, 826 (google.api.resource_reference) = { 827 type: "aiplatform.googleapis.com/HyperparameterTuningJob" 828 } 829 ]; 830} 831 832// Request message for 833// [JobService.CreateNasJob][google.cloud.aiplatform.v1.JobService.CreateNasJob]. 834message 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.v1.JobService.GetNasJob]. 850message 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.v1.JobService.ListNasJobs]. 864message 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.v1.ListNasJobsResponse.next_page_token] 902 // of the previous 903 // [JobService.ListNasJobs][google.cloud.aiplatform.v1.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.v1.JobService.ListNasJobs] 913message ListNasJobsResponse { 914 // List of NasJobs in the requested page. 915 // [NasJob.nas_job_output][google.cloud.aiplatform.v1.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.v1.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.v1.JobService.DeleteNasJob]. 928message 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.v1.JobService.CancelNasJob]. 942message 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.v1.JobService.GetNasTrialDetail]. 956message 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.v1.JobService.ListNasTrialDetails]. 970message 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.v1.ListNasTrialDetailsResponse.next_page_token] 987 // of the previous 988 // [JobService.ListNasTrialDetails][google.cloud.aiplatform.v1.JobService.ListNasTrialDetails] 989 // call. 990 string page_token = 3; 991} 992 993// Response message for 994// [JobService.ListNasTrialDetails][google.cloud.aiplatform.v1.JobService.ListNasTrialDetails] 995message 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.v1.ListNasTrialDetailsRequest.page_token] 1002 // to obtain that page. 1003 string next_page_token = 2; 1004} 1005 1006// Request message for 1007// [JobService.CreateBatchPredictionJob][google.cloud.aiplatform.v1.JobService.CreateBatchPredictionJob]. 1008message CreateBatchPredictionJobRequest { 1009 // Required. The resource name of the Location to create the 1010 // BatchPredictionJob in. Format: `projects/{project}/locations/{location}` 1011 string parent = 1 [ 1012 (google.api.field_behavior) = REQUIRED, 1013 (google.api.resource_reference) = { 1014 type: "locations.googleapis.com/Location" 1015 } 1016 ]; 1017 1018 // Required. The BatchPredictionJob to create. 1019 BatchPredictionJob batch_prediction_job = 2 1020 [(google.api.field_behavior) = REQUIRED]; 1021} 1022 1023// Request message for 1024// [JobService.GetBatchPredictionJob][google.cloud.aiplatform.v1.JobService.GetBatchPredictionJob]. 1025message GetBatchPredictionJobRequest { 1026 // Required. The name of the BatchPredictionJob resource. 1027 // Format: 1028 // `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}` 1029 string name = 1 [ 1030 (google.api.field_behavior) = REQUIRED, 1031 (google.api.resource_reference) = { 1032 type: "aiplatform.googleapis.com/BatchPredictionJob" 1033 } 1034 ]; 1035} 1036 1037// Request message for 1038// [JobService.ListBatchPredictionJobs][google.cloud.aiplatform.v1.JobService.ListBatchPredictionJobs]. 1039message ListBatchPredictionJobsRequest { 1040 // Required. The resource name of the Location to list the BatchPredictionJobs 1041 // from. Format: `projects/{project}/locations/{location}` 1042 string parent = 1 [ 1043 (google.api.field_behavior) = REQUIRED, 1044 (google.api.resource_reference) = { 1045 type: "locations.googleapis.com/Location" 1046 } 1047 ]; 1048 1049 // The standard list filter. 1050 // 1051 // Supported fields: 1052 // 1053 // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. 1054 // * `model_display_name` supports `=`, `!=` comparisons. 1055 // * `state` supports `=`, `!=` comparisons. 1056 // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. 1057 // `create_time` must be in RFC 3339 format. 1058 // * `labels` supports general map functions that is: 1059 // `labels.key=value` - key:value equality 1060 // `labels.key:* - key existence 1061 // 1062 // Some examples of using the filter are: 1063 // 1064 // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` 1065 // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` 1066 // * `NOT display_name="my_job"` 1067 // * `create_time>"2021-05-18T00:00:00Z"` 1068 // * `labels.keyA=valueA` 1069 // * `labels.keyB:*` 1070 string filter = 2; 1071 1072 // The standard list page size. 1073 int32 page_size = 3; 1074 1075 // The standard list page token. 1076 // Typically obtained via 1077 // [ListBatchPredictionJobsResponse.next_page_token][google.cloud.aiplatform.v1.ListBatchPredictionJobsResponse.next_page_token] 1078 // of the previous 1079 // [JobService.ListBatchPredictionJobs][google.cloud.aiplatform.v1.JobService.ListBatchPredictionJobs] 1080 // call. 1081 string page_token = 4; 1082 1083 // Mask specifying which fields to read. 1084 google.protobuf.FieldMask read_mask = 5; 1085} 1086 1087// Response message for 1088// [JobService.ListBatchPredictionJobs][google.cloud.aiplatform.v1.JobService.ListBatchPredictionJobs] 1089message ListBatchPredictionJobsResponse { 1090 // List of BatchPredictionJobs in the requested page. 1091 repeated BatchPredictionJob batch_prediction_jobs = 1; 1092 1093 // A token to retrieve the next page of results. 1094 // Pass to 1095 // [ListBatchPredictionJobsRequest.page_token][google.cloud.aiplatform.v1.ListBatchPredictionJobsRequest.page_token] 1096 // to obtain that page. 1097 string next_page_token = 2; 1098} 1099 1100// Request message for 1101// [JobService.DeleteBatchPredictionJob][google.cloud.aiplatform.v1.JobService.DeleteBatchPredictionJob]. 1102message DeleteBatchPredictionJobRequest { 1103 // Required. The name of the BatchPredictionJob resource to be deleted. 1104 // Format: 1105 // `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}` 1106 string name = 1 [ 1107 (google.api.field_behavior) = REQUIRED, 1108 (google.api.resource_reference) = { 1109 type: "aiplatform.googleapis.com/BatchPredictionJob" 1110 } 1111 ]; 1112} 1113 1114// Request message for 1115// [JobService.CancelBatchPredictionJob][google.cloud.aiplatform.v1.JobService.CancelBatchPredictionJob]. 1116message CancelBatchPredictionJobRequest { 1117 // Required. The name of the BatchPredictionJob to cancel. 1118 // Format: 1119 // `projects/{project}/locations/{location}/batchPredictionJobs/{batch_prediction_job}` 1120 string name = 1 [ 1121 (google.api.field_behavior) = REQUIRED, 1122 (google.api.resource_reference) = { 1123 type: "aiplatform.googleapis.com/BatchPredictionJob" 1124 } 1125 ]; 1126} 1127 1128// Request message for 1129// [JobService.CreateModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.CreateModelDeploymentMonitoringJob]. 1130message CreateModelDeploymentMonitoringJobRequest { 1131 // Required. The parent of the ModelDeploymentMonitoringJob. 1132 // Format: `projects/{project}/locations/{location}` 1133 string parent = 1 [ 1134 (google.api.field_behavior) = REQUIRED, 1135 (google.api.resource_reference) = { 1136 type: "locations.googleapis.com/Location" 1137 } 1138 ]; 1139 1140 // Required. The ModelDeploymentMonitoringJob to create 1141 ModelDeploymentMonitoringJob model_deployment_monitoring_job = 2 1142 [(google.api.field_behavior) = REQUIRED]; 1143} 1144 1145// Request message for 1146// [JobService.SearchModelDeploymentMonitoringStatsAnomalies][google.cloud.aiplatform.v1.JobService.SearchModelDeploymentMonitoringStatsAnomalies]. 1147message SearchModelDeploymentMonitoringStatsAnomaliesRequest { 1148 // Stats requested for specific objective. 1149 message StatsAnomaliesObjective { 1150 ModelDeploymentMonitoringObjectiveType type = 1; 1151 1152 // If set, all attribution scores between 1153 // [SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time][google.cloud.aiplatform.v1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.start_time] 1154 // and 1155 // [SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time][google.cloud.aiplatform.v1.SearchModelDeploymentMonitoringStatsAnomaliesRequest.end_time] 1156 // are fetched, and page token doesn't take effect in this case. Only used 1157 // to retrieve attribution score for the top Features which has the highest 1158 // attribution score in the latest monitoring run. 1159 int32 top_feature_count = 4; 1160 } 1161 1162 // Required. ModelDeploymentMonitoring Job resource name. 1163 // Format: 1164 // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` 1165 string model_deployment_monitoring_job = 1 [ 1166 (google.api.field_behavior) = REQUIRED, 1167 (google.api.resource_reference) = { 1168 type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" 1169 } 1170 ]; 1171 1172 // Required. The DeployedModel ID of the 1173 // [ModelDeploymentMonitoringObjectiveConfig.deployed_model_id]. 1174 string deployed_model_id = 2 [(google.api.field_behavior) = REQUIRED]; 1175 1176 // The feature display name. If specified, only return the stats belonging to 1177 // this feature. Format: 1178 // [ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_name][google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.feature_display_name], 1179 // example: "user_destination". 1180 string feature_display_name = 3; 1181 1182 // Required. Objectives of the stats to retrieve. 1183 repeated StatsAnomaliesObjective objectives = 4 1184 [(google.api.field_behavior) = REQUIRED]; 1185 1186 // The standard list page size. 1187 int32 page_size = 5; 1188 1189 // A page token received from a previous 1190 // [JobService.SearchModelDeploymentMonitoringStatsAnomalies][google.cloud.aiplatform.v1.JobService.SearchModelDeploymentMonitoringStatsAnomalies] 1191 // call. 1192 string page_token = 6; 1193 1194 // The earliest timestamp of stats being generated. 1195 // If not set, indicates fetching stats till the earliest possible one. 1196 google.protobuf.Timestamp start_time = 7; 1197 1198 // The latest timestamp of stats being generated. 1199 // If not set, indicates feching stats till the latest possible one. 1200 google.protobuf.Timestamp end_time = 8; 1201} 1202 1203// Response message for 1204// [JobService.SearchModelDeploymentMonitoringStatsAnomalies][google.cloud.aiplatform.v1.JobService.SearchModelDeploymentMonitoringStatsAnomalies]. 1205message SearchModelDeploymentMonitoringStatsAnomaliesResponse { 1206 // Stats retrieved for requested objectives. 1207 // There are at most 1000 1208 // [ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats][google.cloud.aiplatform.v1.ModelMonitoringStatsAnomalies.FeatureHistoricStatsAnomalies.prediction_stats] 1209 // in the response. 1210 repeated ModelMonitoringStatsAnomalies monitoring_stats = 1; 1211 1212 // The page token that can be used by the next 1213 // [JobService.SearchModelDeploymentMonitoringStatsAnomalies][google.cloud.aiplatform.v1.JobService.SearchModelDeploymentMonitoringStatsAnomalies] 1214 // call. 1215 string next_page_token = 2; 1216} 1217 1218// Request message for 1219// [JobService.GetModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.GetModelDeploymentMonitoringJob]. 1220message GetModelDeploymentMonitoringJobRequest { 1221 // Required. The resource name of the ModelDeploymentMonitoringJob. 1222 // Format: 1223 // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` 1224 string name = 1 [ 1225 (google.api.field_behavior) = REQUIRED, 1226 (google.api.resource_reference) = { 1227 type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" 1228 } 1229 ]; 1230} 1231 1232// Request message for 1233// [JobService.ListModelDeploymentMonitoringJobs][google.cloud.aiplatform.v1.JobService.ListModelDeploymentMonitoringJobs]. 1234message ListModelDeploymentMonitoringJobsRequest { 1235 // Required. The parent of the ModelDeploymentMonitoringJob. 1236 // Format: `projects/{project}/locations/{location}` 1237 string parent = 1 [ 1238 (google.api.field_behavior) = REQUIRED, 1239 (google.api.resource_reference) = { 1240 type: "locations.googleapis.com/Location" 1241 } 1242 ]; 1243 1244 // The standard list filter. 1245 // 1246 // Supported fields: 1247 // 1248 // * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. 1249 // * `state` supports `=`, `!=` comparisons. 1250 // * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons. 1251 // `create_time` must be in RFC 3339 format. 1252 // * `labels` supports general map functions that is: 1253 // `labels.key=value` - key:value equality 1254 // `labels.key:* - key existence 1255 // 1256 // Some examples of using the filter are: 1257 // 1258 // * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` 1259 // * `state!="JOB_STATE_FAILED" OR display_name="my_job"` 1260 // * `NOT display_name="my_job"` 1261 // * `create_time>"2021-05-18T00:00:00Z"` 1262 // * `labels.keyA=valueA` 1263 // * `labels.keyB:*` 1264 string filter = 2; 1265 1266 // The standard list page size. 1267 int32 page_size = 3; 1268 1269 // The standard list page token. 1270 string page_token = 4; 1271 1272 // Mask specifying which fields to read 1273 google.protobuf.FieldMask read_mask = 5; 1274} 1275 1276// Response message for 1277// [JobService.ListModelDeploymentMonitoringJobs][google.cloud.aiplatform.v1.JobService.ListModelDeploymentMonitoringJobs]. 1278message ListModelDeploymentMonitoringJobsResponse { 1279 // A list of ModelDeploymentMonitoringJobs that matches the specified filter 1280 // in the request. 1281 repeated ModelDeploymentMonitoringJob model_deployment_monitoring_jobs = 1; 1282 1283 // The standard List next-page token. 1284 string next_page_token = 2; 1285} 1286 1287// Request message for 1288// [JobService.UpdateModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.UpdateModelDeploymentMonitoringJob]. 1289message UpdateModelDeploymentMonitoringJobRequest { 1290 // Required. The model monitoring configuration which replaces the resource on 1291 // the server. 1292 ModelDeploymentMonitoringJob model_deployment_monitoring_job = 1 1293 [(google.api.field_behavior) = REQUIRED]; 1294 1295 // Required. The update mask is used to specify the fields to be overwritten 1296 // in the ModelDeploymentMonitoringJob resource by the update. The fields 1297 // specified in the update_mask are relative to the resource, not the full 1298 // request. A field will be overwritten if it is in the mask. If the user does 1299 // not provide a mask then only the non-empty fields present in the request 1300 // will be overwritten. Set the update_mask to `*` to override all fields. For 1301 // the objective config, the user can either provide the update mask for 1302 // model_deployment_monitoring_objective_configs or any combination of its 1303 // nested fields, such as: 1304 // model_deployment_monitoring_objective_configs.objective_config.training_dataset. 1305 // 1306 // Updatable fields: 1307 // 1308 // * `display_name` 1309 // * `model_deployment_monitoring_schedule_config` 1310 // * `model_monitoring_alert_config` 1311 // * `logging_sampling_strategy` 1312 // * `labels` 1313 // * `log_ttl` 1314 // * `enable_monitoring_pipeline_logs` 1315 // . and 1316 // * `model_deployment_monitoring_objective_configs` 1317 // . or 1318 // * `model_deployment_monitoring_objective_configs.objective_config.training_dataset` 1319 // * `model_deployment_monitoring_objective_configs.objective_config.training_prediction_skew_detection_config` 1320 // * `model_deployment_monitoring_objective_configs.objective_config.prediction_drift_detection_config` 1321 google.protobuf.FieldMask update_mask = 2 1322 [(google.api.field_behavior) = REQUIRED]; 1323} 1324 1325// Request message for 1326// [JobService.DeleteModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.DeleteModelDeploymentMonitoringJob]. 1327message DeleteModelDeploymentMonitoringJobRequest { 1328 // Required. The resource name of the model monitoring job to delete. 1329 // Format: 1330 // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` 1331 string name = 1 [ 1332 (google.api.field_behavior) = REQUIRED, 1333 (google.api.resource_reference) = { 1334 type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" 1335 } 1336 ]; 1337} 1338 1339// Request message for 1340// [JobService.PauseModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.PauseModelDeploymentMonitoringJob]. 1341message PauseModelDeploymentMonitoringJobRequest { 1342 // Required. The resource name of the ModelDeploymentMonitoringJob to pause. 1343 // Format: 1344 // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` 1345 string name = 1 [ 1346 (google.api.field_behavior) = REQUIRED, 1347 (google.api.resource_reference) = { 1348 type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" 1349 } 1350 ]; 1351} 1352 1353// Request message for 1354// [JobService.ResumeModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.ResumeModelDeploymentMonitoringJob]. 1355message ResumeModelDeploymentMonitoringJobRequest { 1356 // Required. The resource name of the ModelDeploymentMonitoringJob to resume. 1357 // Format: 1358 // `projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}` 1359 string name = 1 [ 1360 (google.api.field_behavior) = REQUIRED, 1361 (google.api.resource_reference) = { 1362 type: "aiplatform.googleapis.com/ModelDeploymentMonitoringJob" 1363 } 1364 ]; 1365} 1366 1367// Runtime operation information for 1368// [JobService.UpdateModelDeploymentMonitoringJob][google.cloud.aiplatform.v1.JobService.UpdateModelDeploymentMonitoringJob]. 1369message UpdateModelDeploymentMonitoringJobOperationMetadata { 1370 // The operation generic information. 1371 GenericOperationMetadata generic_metadata = 1; 1372} 1373