Skip to content

Commit dbc83bd

Browse files
Google APIscopybara-github
authored andcommitted
feat: add timestamp_outside_retention_rows_count to ImportFeatureValuesResponse and ImportFeatureValuesOperationMetadata in aiplatform v1beta1 featurestore_service.proto
feat: add RemoveContextChildren rpc to aiplatform v1beta1 metadata_service.proto feat: add order_by to ListArtifactsRequest, ListContextsRequest, and ListExecutionsRequest in aiplatform v1beta1 metadata_service.proto feat: add InputArtifact to RuntimeConfig in aiplatform v1beta1 pipeline_job.proto feat: add read_mask to ListPipelineJobsRequest in aiplatform v1beta1 pipeline_service.proto feat: add TransferLearningConfig in aiplatform v1beta1 study.proto PiperOrigin-RevId: 475580307
1 parent 4c4a9a2 commit dbc83bd

10 files changed

Lines changed: 174 additions & 23 deletions

google/cloud/aiplatform/v1beta1/BUILD.bazel

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ proto_library(
106106
"//google/api:resource_proto",
107107
"//google/longrunning:operations_proto",
108108
"//google/rpc:status_proto",
109+
"//google/type:interval_proto",
109110
"//google/type:money_proto",
110111
"@com_google_protobuf//:duration_proto",
111112
"@com_google_protobuf//:empty_proto",
@@ -236,6 +237,7 @@ go_proto_library(
236237
"//google/api:httpbody_go_proto",
237238
"//google/longrunning:longrunning_go_proto",
238239
"//google/rpc:status_go_proto",
240+
"//google/type:interval_go_proto",
239241
"//google/type:money_go_proto",
240242
],
241243
)

google/cloud/aiplatform/v1beta1/batch_prediction_job.proto

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ message BatchPredictionJob {
156156
// Required. The user-defined name of this BatchPredictionJob.
157157
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
158158

159-
// The name of the Model resoure that produces the predictions via this job,
159+
// The name of the Model resource that produces the predictions via this job,
160160
// must share the same ancestor Location.
161161
// Starting this job has no impact on any existing deployments of the Model
162162
// and their resources.

google/cloud/aiplatform/v1beta1/custom_job.proto

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ message CustomJob {
106106
}
107107

108108
// Represents the spec of a CustomJob.
109-
// Next Id: 15
110109
message CustomJobSpec {
111110
// Required. The spec of the worker pools including machine type and Docker image.
112111
// All worker pools except the first one are optional and can be skipped by

google/cloud/aiplatform/v1beta1/featurestore_service.proto

Lines changed: 42 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import "google/cloud/aiplatform/v1beta1/operation.proto";
2929
import "google/longrunning/operations.proto";
3030
import "google/protobuf/field_mask.proto";
3131
import "google/protobuf/timestamp.proto";
32+
import "google/type/interval.proto";
3233

3334
option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1";
3435
option go_package = "google.golang.org/genproto/googleapis/cloud/aiplatform/v1beta1;aiplatform";
@@ -290,8 +291,7 @@ service FeaturestoreService {
290291
// returned from reads and exports may be inconsistent. If consistency is
291292
// required, the caller must retry the same delete request again and wait till
292293
// the new operation returned is marked as successfully done.
293-
rpc DeleteFeatureValues(DeleteFeatureValuesRequest)
294-
returns (google.longrunning.Operation) {
294+
rpc DeleteFeatureValues(DeleteFeatureValuesRequest) returns (google.longrunning.Operation) {
295295
option (google.api.http) = {
296296
post: "/v1beta1/{entity_type=projects/*/locations/*/featurestores/*/entityTypes/*}:deleteFeatureValues"
297297
body: "*"
@@ -548,6 +548,10 @@ message ImportFeatureValuesResponse {
548548
// * Having a null timestamp.
549549
// * Not being parsable (applicable for CSV sources).
550550
int64 invalid_row_count = 6;
551+
552+
// The number rows that weren't ingested due to having feature timestamps
553+
// outside the retention boundary.
554+
int64 timestamp_outside_retention_rows_count = 4;
551555
}
552556

553557
// Request message for [FeaturestoreService.BatchReadFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.BatchReadFeatureValues].
@@ -1216,6 +1220,10 @@ message ImportFeatureValuesOperationMetadata {
12161220
// * Having a null timestamp.
12171221
// * Not being parsable (applicable for CSV sources).
12181222
int64 invalid_row_count = 6;
1223+
1224+
// The number rows that weren't ingested due to having timestamps outside the
1225+
// retention boundary.
1226+
int64 timestamp_outside_retention_rows_count = 7;
12191227
}
12201228

12211229
// Details of operations that exports Features values.
@@ -1254,27 +1262,47 @@ message BatchCreateFeaturesOperationMetadata {
12541262
GenericOperationMetadata generic_metadata = 1;
12551263
}
12561264

1257-
// Request message for
1258-
// [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
1265+
// Request message for [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
12591266
message DeleteFeatureValuesRequest {
12601267
// Message to select entity.
12611268
// If an entity id is selected, all the feature values corresponding to the
12621269
// entity id will be deleted, including the entityId.
12631270
message SelectEntity {
1264-
// Required. Selectors choosing feature values of which entity id to be
1265-
// deleted from the EntityType.
1266-
EntityIdSelector entity_id_selector = 1
1267-
[(google.api.field_behavior) = REQUIRED];
1271+
// Required. Selectors choosing feature values of which entity id to be deleted from
1272+
// the EntityType.
1273+
EntityIdSelector entity_id_selector = 1 [(google.api.field_behavior) = REQUIRED];
1274+
}
1275+
1276+
// Message to select time range and feature.
1277+
// Values of the selected feature generated within an inclusive time range
1278+
// will be deleted.
1279+
message SelectTimeRangeAndFeature {
1280+
// Required. Select feature generated within a half-inclusive time range.
1281+
// The time range is lower inclusive and upper exclusive.
1282+
google.type.Interval time_range = 1 [(google.api.field_behavior) = REQUIRED];
1283+
1284+
// Required. Selectors choosing which feature values to be deleted from the
1285+
// EntityType.
1286+
FeatureSelector feature_selector = 2 [(google.api.field_behavior) = REQUIRED];
1287+
1288+
// If set, data will not be deleted from online storage.
1289+
// When time range is older than the data in online storage, setting this to
1290+
// be true will make the deletion have no impact on online serving.
1291+
bool skip_online_storage_delete = 3;
12681292
}
12691293

12701294
// Defines options to select feature values to be deleted.
12711295
oneof DeleteOption {
12721296
// Select feature values to be deleted by specifying entities.
12731297
SelectEntity select_entity = 2;
1298+
1299+
// Select feature values to be deleted by specifying time range and
1300+
// features.
1301+
SelectTimeRangeAndFeature select_time_range_and_feature = 3;
12741302
}
12751303

1276-
// Required. The resource name of the EntityType grouping the Features for
1277-
// which values are being deleted from. Format:
1304+
// Required. The resource name of the EntityType grouping the Features for which values
1305+
// are being deleted from. Format:
12781306
// `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entityType}`
12791307
string entity_type = 1 [
12801308
(google.api.field_behavior) = REQUIRED,
@@ -1284,9 +1312,10 @@ message DeleteFeatureValuesRequest {
12841312
];
12851313
}
12861314

1287-
// Response message for
1288-
// [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
1289-
message DeleteFeatureValuesResponse {}
1315+
// Response message for [FeaturestoreService.DeleteFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.DeleteFeatureValues].
1316+
message DeleteFeatureValuesResponse {
1317+
1318+
}
12901319

12911320
// Selector for entityId. Getting ids from the given source.
12921321
message EntityIdSelector {

google/cloud/aiplatform/v1beta1/job_service.proto

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,13 +388,18 @@ message ListCustomJobsRequest {
388388
// * `state` supports `=`, `!=` comparisons.
389389
// * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons.
390390
// `create_time` must be in RFC 3339 format.
391+
// * `labels` supports general map functions that is:
392+
// `labels.key=value` - key:value equality
393+
// `labels.key:* - key existence
391394
//
392395
// Some examples of using the filter are:
393396
//
394397
// * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"`
395398
// * `state!="JOB_STATE_FAILED" OR display_name="my_job"`
396399
// * `NOT display_name="my_job"`
397400
// * `create_time>"2021-05-18T00:00:00Z"`
401+
// * `labels.keyA=valueA`
402+
// * `labels.keyB:*`
398403
string filter = 2;
399404

400405
// The standard list page size.
@@ -493,13 +498,18 @@ message ListDataLabelingJobsRequest {
493498
// * `state` supports `=`, `!=` comparisons.
494499
// * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons.
495500
// `create_time` must be in RFC 3339 format.
501+
// * `labels` supports general map functions that is:
502+
// `labels.key=value` - key:value equality
503+
// `labels.key:* - key existence
496504
//
497505
// Some examples of using the filter are:
498506
//
499507
// * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"`
500508
// * `state!="JOB_STATE_FAILED" OR display_name="my_job"`
501509
// * `NOT display_name="my_job"`
502510
// * `create_time>"2021-05-18T00:00:00Z"`
511+
// * `labels.keyA=valueA`
512+
// * `labels.keyB:*`
503513
string filter = 2;
504514

505515
// The standard list page size.
@@ -603,13 +613,18 @@ message ListHyperparameterTuningJobsRequest {
603613
// * `state` supports `=`, `!=` comparisons.
604614
// * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons.
605615
// `create_time` must be in RFC 3339 format.
616+
// * `labels` supports general map functions that is:
617+
// `labels.key=value` - key:value equality
618+
// `labels.key:* - key existence
606619
//
607620
// Some examples of using the filter are:
608621
//
609622
// * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"`
610623
// * `state!="JOB_STATE_FAILED" OR display_name="my_job"`
611624
// * `NOT display_name="my_job"`
612625
// * `create_time>"2021-05-18T00:00:00Z"`
626+
// * `labels.keyA=valueA`
627+
// * `labels.keyB:*`
613628
string filter = 2;
614629

615630
// The standard list page size.
@@ -711,13 +726,18 @@ message ListBatchPredictionJobsRequest {
711726
// * `state` supports `=`, `!=` comparisons.
712727
// * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons.
713728
// `create_time` must be in RFC 3339 format.
729+
// * `labels` supports general map functions that is:
730+
// `labels.key=value` - key:value equality
731+
// `labels.key:* - key existence
714732
//
715733
// Some examples of using the filter are:
716734
//
717735
// * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"`
718736
// * `state!="JOB_STATE_FAILED" OR display_name="my_job"`
719737
// * `NOT display_name="my_job"`
720738
// * `create_time>"2021-05-18T00:00:00Z"`
739+
// * `labels.keyA=valueA`
740+
// * `labels.keyB:*`
721741
string filter = 2;
722742

723743
// The standard list page size.
@@ -891,13 +911,18 @@ message ListModelDeploymentMonitoringJobsRequest {
891911
// * `state` supports `=`, `!=` comparisons.
892912
// * `create_time` supports `=`, `!=`,`<`, `<=`,`>`, `>=` comparisons.
893913
// `create_time` must be in RFC 3339 format.
914+
// * `labels` supports general map functions that is:
915+
// `labels.key=value` - key:value equality
916+
// `labels.key:* - key existence
894917
//
895918
// Some examples of using the filter are:
896919
//
897920
// * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"`
898921
// * `state!="JOB_STATE_FAILED" OR display_name="my_job"`
899922
// * `NOT display_name="my_job"`
900923
// * `create_time>"2021-05-18T00:00:00Z"`
924+
// * `labels.keyA=valueA`
925+
// * `labels.keyB:*`
901926
string filter = 2;
902927

903928
// The standard list page size.

google/cloud/aiplatform/v1beta1/metadata_service.proto

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,17 @@ service MetadataService {
228228
option (google.api.method_signature) = "context,child_contexts";
229229
}
230230

231+
// Remove a set of children contexts from a parent Context. If any of the
232+
// child Contexts were NOT added to the parent Context, they are
233+
// simply skipped.
234+
rpc RemoveContextChildren(RemoveContextChildrenRequest) returns (RemoveContextChildrenResponse) {
235+
option (google.api.http) = {
236+
post: "/v1beta1/{context=projects/*/locations/*/metadataStores/*/contexts/*}:removeContextChildren"
237+
body: "*"
238+
};
239+
option (google.api.method_signature) = "context,child_contexts";
240+
}
241+
231242
// Retrieves Artifacts and Executions within the specified Context, connected
232243
// by Event edges and returned as a LineageSubgraph.
233244
rpc QueryContextLineageSubgraph(QueryContextLineageSubgraphRequest) returns (LineageSubgraph) {
@@ -549,6 +560,14 @@ message ListArtifactsRequest {
549560
//
550561
// For example: `display_name = "test" AND metadata.field1.bool_value = true`.
551562
string filter = 4;
563+
564+
// How the list of messages is ordered. Specify the values to order by and an
565+
// ordering operation. The default sorting order is ascending. To specify
566+
// descending order for a field, users append a " desc" suffix; for example:
567+
// "foo desc, bar".
568+
// Subfields are specified with a `.` character, such as foo.bar.
569+
// see https://google.aip.dev/132#ordering for more details.
570+
string order_by = 5;
552571
}
553572

554573
// Response message for [MetadataService.ListArtifacts][google.cloud.aiplatform.v1beta1.MetadataService.ListArtifacts].
@@ -735,6 +754,14 @@ message ListContextsRequest {
735754
//
736755
// For example: `display_name = "test" AND metadata.field1.bool_value = true`.
737756
string filter = 4;
757+
758+
// How the list of messages is ordered. Specify the values to order by and an
759+
// ordering operation. The default sorting order is ascending. To specify
760+
// descending order for a field, users append a " desc" suffix; for example:
761+
// "foo desc, bar".
762+
// Subfields are specified with a `.` character, such as foo.bar.
763+
// see https://google.aip.dev/132#ordering for more details.
764+
string order_by = 5;
738765
}
739766

740767
// Response message for [MetadataService.ListContexts][google.cloud.aiplatform.v1beta1.MetadataService.ListContexts].
@@ -890,6 +917,31 @@ message AddContextChildrenResponse {
890917

891918
}
892919

920+
// Request message for
921+
// [MetadataService.DeleteContextChildrenRequest][].
922+
message RemoveContextChildrenRequest {
923+
// Required. The resource name of the parent Context.
924+
//
925+
// Format:
926+
// `projects/{project}/locations/{location}/metadataStores/{metadatastore}/contexts/{context}`
927+
string context = 1 [
928+
(google.api.field_behavior) = REQUIRED,
929+
(google.api.resource_reference) = {
930+
type: "aiplatform.googleapis.com/Context"
931+
}
932+
];
933+
934+
// The resource names of the child Contexts.
935+
repeated string child_contexts = 2 [(google.api.resource_reference) = {
936+
type: "aiplatform.googleapis.com/Context"
937+
}];
938+
}
939+
940+
// Response message for [MetadataService.RemoveContextChildren][google.cloud.aiplatform.v1beta1.MetadataService.RemoveContextChildren].
941+
message RemoveContextChildrenResponse {
942+
943+
}
944+
893945
// Request message for [MetadataService.QueryContextLineageSubgraph][google.cloud.aiplatform.v1beta1.MetadataService.QueryContextLineageSubgraph].
894946
message QueryContextLineageSubgraphRequest {
895947
// Required. The resource name of the Context whose Artifacts and Executions
@@ -999,6 +1051,14 @@ message ListExecutionsRequest {
9991051
// logical operators (`AND` & `OR`).
10001052
// For example: `display_name = "test" AND metadata.field1.bool_value = true`.
10011053
string filter = 4;
1054+
1055+
// How the list of messages is ordered. Specify the values to order by and an
1056+
// ordering operation. The default sorting order is ascending. To specify
1057+
// descending order for a field, users append a " desc" suffix; for example:
1058+
// "foo desc, bar".
1059+
// Subfields are specified with a `.` character, such as foo.bar.
1060+
// see https://google.aip.dev/132#ordering for more details.
1061+
string order_by = 5;
10021062
}
10031063

10041064
// Response message for [MetadataService.ListExecutions][google.cloud.aiplatform.v1beta1.MetadataService.ListExecutions].

google/cloud/aiplatform/v1beta1/model_monitoring.proto

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ message ModelMonitoringObjectiveConfig {
5959
oneof data_source {
6060
// The resource name of the Dataset used to train this Model.
6161
string dataset = 3 [(google.api.resource_reference) = {
62-
type: "aiplatform.googleapis.com/Dataset"
63-
}];
62+
type: "aiplatform.googleapis.com/Dataset"
63+
}];
6464

6565
// The Google Cloud Storage uri of the unmanaged Dataset used to train
6666
// this Model.
@@ -135,10 +135,8 @@ message ModelMonitoringObjectiveConfig {
135135
// The config for integrating with Vertex Explainable AI. Only applicable if
136136
// the Model has explanation_spec populated.
137137
message ExplanationConfig {
138-
// Output from
139-
// [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob]
140-
// for Model Monitoring baseline dataset, which can be used to generate
141-
// baseline attribution scores.
138+
// Output from [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob] for Model Monitoring baseline dataset,
139+
// which can be used to generate baseline attribution scores.
142140
message ExplanationBaseline {
143141
// The storage format of the predictions generated BatchPrediction job.
144142
enum PredictionFormat {
@@ -180,8 +178,7 @@ message ModelMonitoringObjectiveConfig {
180178
TrainingDataset training_dataset = 1;
181179

182180
// The config for skew between training data and prediction data.
183-
TrainingPredictionSkewDetectionConfig
184-
training_prediction_skew_detection_config = 2;
181+
TrainingPredictionSkewDetectionConfig training_prediction_skew_detection_config = 2;
185182

186183
// The config for drift of prediction data.
187184
PredictionDriftDetectionConfig prediction_drift_detection_config = 3;

google/cloud/aiplatform/v1beta1/pipeline_job.proto

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,18 @@ message PipelineJob {
5050

5151
// The runtime config of a PipelineJob.
5252
message RuntimeConfig {
53+
// The type of an input artifact.
54+
message InputArtifact {
55+
oneof kind {
56+
// Artifact resource id from MLMD. Which is the last portion of an
57+
// artifact resource
58+
// name(projects/{project}/locations/{location}/metadataStores/default/artifacts/{artifact_id}).
59+
// The artifact must stay within the same project, location and default
60+
// metadatastore as the pipeline.
61+
string artifact_id = 1;
62+
}
63+
}
64+
5365
// Deprecated. Use [RuntimeConfig.parameter_values][google.cloud.aiplatform.v1beta1.PipelineJob.RuntimeConfig.parameter_values] instead. The runtime
5466
// parameters of the PipelineJob. The parameters will be passed into
5567
// [PipelineJob.pipeline_spec][google.cloud.aiplatform.v1beta1.PipelineJob.pipeline_spec] to replace the placeholders at runtime.
@@ -81,6 +93,10 @@ message PipelineJob {
8193
// will stop scheduling any new tasks when a task has failed. Any scheduled
8294
// tasks will continue to completion.
8395
PipelineFailurePolicy failure_policy = 4;
96+
97+
// The runtime artifacts of the PipelineJob. The key will be the input
98+
// artifact name and the value would be one of the InputArtifact.
99+
map<string, InputArtifact> input_artifacts = 5;
84100
}
85101

86102
// Output only. The resource name of the PipelineJob.

0 commit comments

Comments
 (0)