Skip to content

Commit c7c17c0

Browse files
Google APIscopybara-github
authored andcommitted
feat: add service_networking.proto to aiplatform v1
feat: add private_service_connect_config to IndexEndpoint in aiplatform v1 index_endpoint.proto feat: add nas_job.proto to aiplatform v1 feat: add CreateNasJob, GetNasJob, ListNasJobs, DeleteNasJob, CancelNasJob, GetNasTrialDetail, ListNasTrialDetails RPCs to aiplatform v1 job_service.proto feat: add original_model_info to Model in aiplatform v1 model.proto feat: add CopyModel RPC to aiplatform v1 model_service.proto feat: add failed_jobs to CustomJobDetail to aiplatform v1 pipeline_job.proto feat: add safety_config to StudySpec in aiplatform v1 study.proto PiperOrigin-RevId: 506776605
1 parent a33b408 commit c7c17c0

11 files changed

Lines changed: 751 additions & 7 deletions

google/cloud/aiplatform/v1/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,15 @@ proto_library(
8080
"model_evaluation_slice.proto",
8181
"model_monitoring.proto",
8282
"model_service.proto",
83+
"nas_job.proto",
8384
"operation.proto",
8485
"pipeline_failure_policy.proto",
8586
"pipeline_job.proto",
8687
"pipeline_service.proto",
8788
"pipeline_state.proto",
8889
"prediction_service.proto",
8990
"saved_query.proto",
91+
"service_networking.proto",
9092
"specialist_pool.proto",
9193
"specialist_pool_service.proto",
9294
"study.proto",

google/cloud/aiplatform/v1/aiplatform_v1.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ types:
3232
- name: google.cloud.aiplatform.v1.BatchReadFeatureValuesResponse
3333
- name: google.cloud.aiplatform.v1.CheckTrialEarlyStoppingStateMetatdata
3434
- name: google.cloud.aiplatform.v1.CheckTrialEarlyStoppingStateResponse
35+
- name: google.cloud.aiplatform.v1.CopyModelOperationMetadata
36+
- name: google.cloud.aiplatform.v1.CopyModelResponse
3537
- name: google.cloud.aiplatform.v1.CreateDatasetOperationMetadata
3638
- name: google.cloud.aiplatform.v1.CreateEndpointOperationMetadata
3739
- name: google.cloud.aiplatform.v1.CreateEntityTypeOperationMetadata
@@ -539,6 +541,11 @@ authentication:
539541
oauth:
540542
canonical_scopes: |-
541543
https://www.googleapis.com/auth/cloud-platform
544+
- selector: google.cloud.aiplatform.v1.JobService.GetNasJob
545+
oauth:
546+
canonical_scopes: |-
547+
https://www.googleapis.com/auth/cloud-platform,
548+
https://www.googleapis.com/auth/cloud-platform.read-only
542549
- selector: 'google.cloud.aiplatform.v1.MetadataService.*'
543550
oauth:
544551
canonical_scopes: |-

google/cloud/aiplatform/v1/endpoint.proto

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ message Endpoint {
9696
// this key.
9797
EncryptionSpec encryption_spec = 10;
9898

99-
// The full name of the Google Compute Engine
99+
// Optional. The full name of the Google Compute Engine
100100
// [network](https://cloud.google.com//compute/docs/networks-and-firewalls#networks)
101101
// to which the Endpoint should be peered.
102102
//
@@ -113,6 +113,7 @@ message Endpoint {
113113
// Where `{project}` is a project number, as in `12345`, and `{network}` is
114114
// network name.
115115
string network = 13 [
116+
(google.api.field_behavior) = OPTIONAL,
116117
(google.api.resource_reference) = { type: "compute.googleapis.com/Network" }
117118
];
118119

@@ -224,6 +225,8 @@ message DeployedModel {
224225
// User can disable container logging by setting this flag to true.
225226
bool disable_container_logging = 15;
226227

228+
// If true, online prediction access logs are sent to StackDriver
229+
// Logging.
227230
// These logs are like standard server access logs, containing
228231
// information like timestamp and latency for each prediction request.
229232
//

google/cloud/aiplatform/v1/index_endpoint.proto

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package google.cloud.aiplatform.v1;
1919
import "google/api/field_behavior.proto";
2020
import "google/api/resource.proto";
2121
import "google/cloud/aiplatform/v1/machine_resources.proto";
22+
import "google/cloud/aiplatform/v1/service_networking.proto";
2223
import "google/protobuf/timestamp.proto";
2324

2425
option csharp_namespace = "Google.Cloud.AIPlatform.V1";
@@ -102,6 +103,14 @@ message IndexEndpoint {
102103
// can be set.
103104
bool enable_private_service_connect = 10
104105
[deprecated = true, (google.api.field_behavior) = OPTIONAL];
106+
107+
// Optional. Configuration for private service connect.
108+
//
109+
// [network][google.cloud.aiplatform.v1.IndexEndpoint.network] and
110+
// [private_service_connect_config][google.cloud.aiplatform.v1.IndexEndpoint.private_service_connect_config]
111+
// are mutually exclusive.
112+
PrivateServiceConnectConfig private_service_connect_config = 12
113+
[(google.api.field_behavior) = OPTIONAL];
105114
}
106115

107116
// A deployment of an Index. IndexEndpoints contain one or more DeployedIndexes.
@@ -177,10 +186,10 @@ message DeployedIndex {
177186
// e2-standard-16 and all machine types available for LARGE shard.
178187
//
179188
// Available machine types for LARGE shard:
180-
// e2-standard-32, e2-highmem-16, n2d-standard-32.
189+
// e2-highmem-16, n2d-standard-32.
181190
//
182191
// n1-standard-16 and n1-standard-32 are still available, but we recommend
183-
// e2-standard-16 and e2-standard-32 for cost efficiency.
192+
// e2-standard-16 and e2-highmem-16 for cost efficiency.
184193
DedicatedResources dedicated_resources = 16
185194
[(google.api.field_behavior) = OPTIONAL];
186195

google/cloud/aiplatform/v1/job_service.proto

Lines changed: 252 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import "google/cloud/aiplatform/v1/custom_job.proto";
2525
import "google/cloud/aiplatform/v1/data_labeling_job.proto";
2626
import "google/cloud/aiplatform/v1/hyperparameter_tuning_job.proto";
2727
import "google/cloud/aiplatform/v1/model_deployment_monitoring_job.proto";
28+
import "google/cloud/aiplatform/v1/nas_job.proto";
2829
import "google/cloud/aiplatform/v1/operation.proto";
2930
import "google/longrunning/operations.proto";
3031
import "google/protobuf/empty.proto";
@@ -43,7 +44,8 @@ option ruby_package = "Google::Cloud::AIPlatform::V1";
4344
service 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: "/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+
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.v1.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.v1.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.v1.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.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]
913+
message 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].
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.v1.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.v1.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.v1.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.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]
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.v1.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.v1.JobService.CreateBatchPredictionJob].
7571008
message CreateBatchPredictionJobRequest {

0 commit comments

Comments
 (0)