xref: /aosp_15_r20/external/googleapis/google/cloud/aiplatform/v1beta1/dataset_service.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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.v1beta1;
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/v1beta1/annotation.proto";
24import "google/cloud/aiplatform/v1beta1/annotation_spec.proto";
25import "google/cloud/aiplatform/v1beta1/data_item.proto";
26import "google/cloud/aiplatform/v1beta1/dataset.proto";
27import "google/cloud/aiplatform/v1beta1/dataset_version.proto";
28import "google/cloud/aiplatform/v1beta1/operation.proto";
29import "google/cloud/aiplatform/v1beta1/saved_query.proto";
30import "google/longrunning/operations.proto";
31import "google/protobuf/empty.proto";
32import "google/protobuf/field_mask.proto";
33
34option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1";
35option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb";
36option java_multiple_files = true;
37option java_outer_classname = "DatasetServiceProto";
38option java_package = "com.google.cloud.aiplatform.v1beta1";
39option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1";
40option ruby_package = "Google::Cloud::AIPlatform::V1beta1";
41
42// The service that manages Vertex AI Dataset and its child resources.
43service DatasetService {
44  option (google.api.default_host) = "aiplatform.googleapis.com";
45  option (google.api.oauth_scopes) =
46      "https://www.googleapis.com/auth/cloud-platform";
47
48  // Creates a Dataset.
49  rpc CreateDataset(CreateDatasetRequest)
50      returns (google.longrunning.Operation) {
51    option (google.api.http) = {
52      post: "/v1beta1/{parent=projects/*/locations/*}/datasets"
53      body: "dataset"
54    };
55    option (google.api.method_signature) = "parent,dataset";
56    option (google.longrunning.operation_info) = {
57      response_type: "Dataset"
58      metadata_type: "CreateDatasetOperationMetadata"
59    };
60  }
61
62  // Gets a Dataset.
63  rpc GetDataset(GetDatasetRequest) returns (Dataset) {
64    option (google.api.http) = {
65      get: "/v1beta1/{name=projects/*/locations/*/datasets/*}"
66    };
67    option (google.api.method_signature) = "name";
68  }
69
70  // Updates a Dataset.
71  rpc UpdateDataset(UpdateDatasetRequest) returns (Dataset) {
72    option (google.api.http) = {
73      patch: "/v1beta1/{dataset.name=projects/*/locations/*/datasets/*}"
74      body: "dataset"
75    };
76    option (google.api.method_signature) = "dataset,update_mask";
77  }
78
79  // Lists Datasets in a Location.
80  rpc ListDatasets(ListDatasetsRequest) returns (ListDatasetsResponse) {
81    option (google.api.http) = {
82      get: "/v1beta1/{parent=projects/*/locations/*}/datasets"
83    };
84    option (google.api.method_signature) = "parent";
85  }
86
87  // Deletes a Dataset.
88  rpc DeleteDataset(DeleteDatasetRequest)
89      returns (google.longrunning.Operation) {
90    option (google.api.http) = {
91      delete: "/v1beta1/{name=projects/*/locations/*/datasets/*}"
92    };
93    option (google.api.method_signature) = "name";
94    option (google.longrunning.operation_info) = {
95      response_type: "google.protobuf.Empty"
96      metadata_type: "DeleteOperationMetadata"
97    };
98  }
99
100  // Imports data into a Dataset.
101  rpc ImportData(ImportDataRequest) returns (google.longrunning.Operation) {
102    option (google.api.http) = {
103      post: "/v1beta1/{name=projects/*/locations/*/datasets/*}:import"
104      body: "*"
105    };
106    option (google.api.method_signature) = "name,import_configs";
107    option (google.longrunning.operation_info) = {
108      response_type: "ImportDataResponse"
109      metadata_type: "ImportDataOperationMetadata"
110    };
111  }
112
113  // Exports data from a Dataset.
114  rpc ExportData(ExportDataRequest) returns (google.longrunning.Operation) {
115    option (google.api.http) = {
116      post: "/v1beta1/{name=projects/*/locations/*/datasets/*}:export"
117      body: "*"
118    };
119    option (google.api.method_signature) = "name,export_config";
120    option (google.longrunning.operation_info) = {
121      response_type: "ExportDataResponse"
122      metadata_type: "ExportDataOperationMetadata"
123    };
124  }
125
126  // Create a version from a Dataset.
127  rpc CreateDatasetVersion(CreateDatasetVersionRequest)
128      returns (google.longrunning.Operation) {
129    option (google.api.http) = {
130      post: "/v1beta1/{parent=projects/*/locations/*/datasets/*}/datasetVersions"
131      body: "dataset_version"
132    };
133    option (google.api.method_signature) = "parent,dataset_version";
134    option (google.longrunning.operation_info) = {
135      response_type: "DatasetVersion"
136      metadata_type: "CreateDatasetVersionOperationMetadata"
137    };
138  }
139
140  // Deletes a Dataset version.
141  rpc DeleteDatasetVersion(DeleteDatasetVersionRequest)
142      returns (google.longrunning.Operation) {
143    option (google.api.http) = {
144      delete: "/v1beta1/{name=projects/*/locations/*/datasets/*/datasetVersions/*}"
145    };
146    option (google.api.method_signature) = "name";
147    option (google.longrunning.operation_info) = {
148      response_type: "google.protobuf.Empty"
149      metadata_type: "DeleteOperationMetadata"
150    };
151  }
152
153  // Gets a Dataset version.
154  rpc GetDatasetVersion(GetDatasetVersionRequest) returns (DatasetVersion) {
155    option (google.api.http) = {
156      get: "/v1beta1/{name=projects/*/locations/*/datasets/*/datasetVersions/*}"
157    };
158    option (google.api.method_signature) = "name";
159  }
160
161  // Lists DatasetVersions in a Dataset.
162  rpc ListDatasetVersions(ListDatasetVersionsRequest)
163      returns (ListDatasetVersionsResponse) {
164    option (google.api.http) = {
165      get: "/v1beta1/{parent=projects/*/locations/*/datasets/*}/datasetVersions"
166    };
167    option (google.api.method_signature) = "parent";
168  }
169
170  // Restores a dataset version.
171  rpc RestoreDatasetVersion(RestoreDatasetVersionRequest)
172      returns (google.longrunning.Operation) {
173    option (google.api.http) = {
174      get: "/v1beta1/{name=projects/*/locations/*/datasets/*/datasetVersions/*}:restore"
175    };
176    option (google.api.method_signature) = "name";
177    option (google.longrunning.operation_info) = {
178      response_type: "DatasetVersion"
179      metadata_type: "RestoreDatasetVersionOperationMetadata"
180    };
181  }
182
183  // Lists DataItems in a Dataset.
184  rpc ListDataItems(ListDataItemsRequest) returns (ListDataItemsResponse) {
185    option (google.api.http) = {
186      get: "/v1beta1/{parent=projects/*/locations/*/datasets/*}/dataItems"
187    };
188    option (google.api.method_signature) = "parent";
189  }
190
191  // Searches DataItems in a Dataset.
192  rpc SearchDataItems(SearchDataItemsRequest)
193      returns (SearchDataItemsResponse) {
194    option (google.api.http) = {
195      get: "/v1beta1/{dataset=projects/*/locations/*/datasets/*}:searchDataItems"
196    };
197  }
198
199  // Lists SavedQueries in a Dataset.
200  rpc ListSavedQueries(ListSavedQueriesRequest)
201      returns (ListSavedQueriesResponse) {
202    option (google.api.http) = {
203      get: "/v1beta1/{parent=projects/*/locations/*/datasets/*}/savedQueries"
204    };
205    option (google.api.method_signature) = "parent";
206  }
207
208  // Deletes a SavedQuery.
209  rpc DeleteSavedQuery(DeleteSavedQueryRequest)
210      returns (google.longrunning.Operation) {
211    option (google.api.http) = {
212      delete: "/v1beta1/{name=projects/*/locations/*/datasets/*/savedQueries/*}"
213    };
214    option (google.api.method_signature) = "name";
215    option (google.longrunning.operation_info) = {
216      response_type: "google.protobuf.Empty"
217      metadata_type: "DeleteOperationMetadata"
218    };
219  }
220
221  // Gets an AnnotationSpec.
222  rpc GetAnnotationSpec(GetAnnotationSpecRequest) returns (AnnotationSpec) {
223    option (google.api.http) = {
224      get: "/v1beta1/{name=projects/*/locations/*/datasets/*/annotationSpecs/*}"
225    };
226    option (google.api.method_signature) = "name";
227  }
228
229  // Lists Annotations belongs to a dataitem
230  rpc ListAnnotations(ListAnnotationsRequest)
231      returns (ListAnnotationsResponse) {
232    option (google.api.http) = {
233      get: "/v1beta1/{parent=projects/*/locations/*/datasets/*/dataItems/*}/annotations"
234    };
235    option (google.api.method_signature) = "parent";
236  }
237}
238
239// Request message for
240// [DatasetService.CreateDataset][google.cloud.aiplatform.v1beta1.DatasetService.CreateDataset].
241message CreateDatasetRequest {
242  // Required. The resource name of the Location to create the Dataset in.
243  // Format: `projects/{project}/locations/{location}`
244  string parent = 1 [
245    (google.api.field_behavior) = REQUIRED,
246    (google.api.resource_reference) = {
247      type: "locations.googleapis.com/Location"
248    }
249  ];
250
251  // Required. The Dataset to create.
252  Dataset dataset = 2 [(google.api.field_behavior) = REQUIRED];
253}
254
255// Runtime operation information for
256// [DatasetService.CreateDataset][google.cloud.aiplatform.v1beta1.DatasetService.CreateDataset].
257message CreateDatasetOperationMetadata {
258  // The operation generic information.
259  GenericOperationMetadata generic_metadata = 1;
260}
261
262// Request message for
263// [DatasetService.GetDataset][google.cloud.aiplatform.v1beta1.DatasetService.GetDataset].
264message GetDatasetRequest {
265  // Required. The name of the Dataset resource.
266  string name = 1 [
267    (google.api.field_behavior) = REQUIRED,
268    (google.api.resource_reference) = {
269      type: "aiplatform.googleapis.com/Dataset"
270    }
271  ];
272
273  // Mask specifying which fields to read.
274  google.protobuf.FieldMask read_mask = 2;
275}
276
277// Request message for
278// [DatasetService.UpdateDataset][google.cloud.aiplatform.v1beta1.DatasetService.UpdateDataset].
279message UpdateDatasetRequest {
280  // Required. The Dataset which replaces the resource on the server.
281  Dataset dataset = 1 [(google.api.field_behavior) = REQUIRED];
282
283  // Required. The update mask applies to the resource.
284  // For the `FieldMask` definition, see
285  // [google.protobuf.FieldMask][google.protobuf.FieldMask]. Updatable fields:
286  //
287  //   * `display_name`
288  //   * `description`
289  //   * `labels`
290  google.protobuf.FieldMask update_mask = 2
291      [(google.api.field_behavior) = REQUIRED];
292}
293
294// Request message for
295// [DatasetService.ListDatasets][google.cloud.aiplatform.v1beta1.DatasetService.ListDatasets].
296message ListDatasetsRequest {
297  // Required. The name of the Dataset's parent resource.
298  // Format: `projects/{project}/locations/{location}`
299  string parent = 1 [
300    (google.api.field_behavior) = REQUIRED,
301    (google.api.resource_reference) = {
302      type: "locations.googleapis.com/Location"
303    }
304  ];
305
306  // An expression for filtering the results of the request. For field names
307  // both snake_case and camelCase are supported.
308  //
309  //   * `display_name`: supports = and !=
310  //   * `metadata_schema_uri`: supports = and !=
311  //   * `labels` supports general map functions that is:
312  //     * `labels.key=value` - key:value equality
313  //     * `labels.key:* or labels:key - key existence
314  //     * A key including a space must be quoted. `labels."a key"`.
315  //
316  // Some examples:
317  //
318  //   * `displayName="myDisplayName"`
319  //   * `labels.myKey="myValue"`
320  string filter = 2;
321
322  // The standard list page size.
323  int32 page_size = 3;
324
325  // The standard list page token.
326  string page_token = 4;
327
328  // Mask specifying which fields to read.
329  google.protobuf.FieldMask read_mask = 5;
330
331  // A comma-separated list of fields to order by, sorted in ascending order.
332  // Use "desc" after a field name for descending.
333  // Supported fields:
334  //
335  //   * `display_name`
336  //   * `create_time`
337  //   * `update_time`
338  string order_by = 6;
339}
340
341// Response message for
342// [DatasetService.ListDatasets][google.cloud.aiplatform.v1beta1.DatasetService.ListDatasets].
343message ListDatasetsResponse {
344  // A list of Datasets that matches the specified filter in the request.
345  repeated Dataset datasets = 1;
346
347  // The standard List next-page token.
348  string next_page_token = 2;
349}
350
351// Request message for
352// [DatasetService.DeleteDataset][google.cloud.aiplatform.v1beta1.DatasetService.DeleteDataset].
353message DeleteDatasetRequest {
354  // Required. The resource name of the Dataset to delete.
355  // Format:
356  // `projects/{project}/locations/{location}/datasets/{dataset}`
357  string name = 1 [
358    (google.api.field_behavior) = REQUIRED,
359    (google.api.resource_reference) = {
360      type: "aiplatform.googleapis.com/Dataset"
361    }
362  ];
363}
364
365// Request message for
366// [DatasetService.ImportData][google.cloud.aiplatform.v1beta1.DatasetService.ImportData].
367message ImportDataRequest {
368  // Required. The name of the Dataset resource.
369  // Format:
370  // `projects/{project}/locations/{location}/datasets/{dataset}`
371  string name = 1 [
372    (google.api.field_behavior) = REQUIRED,
373    (google.api.resource_reference) = {
374      type: "aiplatform.googleapis.com/Dataset"
375    }
376  ];
377
378  // Required. The desired input locations. The contents of all input locations
379  // will be imported in one batch.
380  repeated ImportDataConfig import_configs = 2
381      [(google.api.field_behavior) = REQUIRED];
382}
383
384// Response message for
385// [DatasetService.ImportData][google.cloud.aiplatform.v1beta1.DatasetService.ImportData].
386message ImportDataResponse {}
387
388// Runtime operation information for
389// [DatasetService.ImportData][google.cloud.aiplatform.v1beta1.DatasetService.ImportData].
390message ImportDataOperationMetadata {
391  // The common part of the operation metadata.
392  GenericOperationMetadata generic_metadata = 1;
393}
394
395// Request message for
396// [DatasetService.ExportData][google.cloud.aiplatform.v1beta1.DatasetService.ExportData].
397message ExportDataRequest {
398  // Required. The name of the Dataset resource.
399  // Format:
400  // `projects/{project}/locations/{location}/datasets/{dataset}`
401  string name = 1 [
402    (google.api.field_behavior) = REQUIRED,
403    (google.api.resource_reference) = {
404      type: "aiplatform.googleapis.com/Dataset"
405    }
406  ];
407
408  // Required. The desired output location.
409  ExportDataConfig export_config = 2 [(google.api.field_behavior) = REQUIRED];
410}
411
412// Response message for
413// [DatasetService.ExportData][google.cloud.aiplatform.v1beta1.DatasetService.ExportData].
414message ExportDataResponse {
415  // All of the files that are exported in this export operation. For custom
416  // code training export, only three (training, validation and test)
417  // Cloud Storage paths in wildcard format are populated
418  // (for example, gs://.../training-*).
419  repeated string exported_files = 1;
420}
421
422// Runtime operation information for
423// [DatasetService.ExportData][google.cloud.aiplatform.v1beta1.DatasetService.ExportData].
424message ExportDataOperationMetadata {
425  // The common part of the operation metadata.
426  GenericOperationMetadata generic_metadata = 1;
427
428  // A Google Cloud Storage directory which path ends with '/'. The exported
429  // data is stored in the directory.
430  string gcs_output_directory = 2;
431}
432
433// Request message for
434// [DatasetService.CreateDatasetVersion][google.cloud.aiplatform.v1beta1.DatasetService.CreateDatasetVersion].
435message CreateDatasetVersionRequest {
436  // Required. The name of the Dataset resource.
437  // Format:
438  // `projects/{project}/locations/{location}/datasets/{dataset}`
439  string parent = 1 [
440    (google.api.field_behavior) = REQUIRED,
441    (google.api.resource_reference) = {
442      type: "aiplatform.googleapis.com/Dataset"
443    }
444  ];
445
446  // Required. The version to be created. The same CMEK policies with the
447  // original Dataset will be applied the dataset version. So here we don't need
448  // to specify the EncryptionSpecType here.
449  DatasetVersion dataset_version = 2 [(google.api.field_behavior) = REQUIRED];
450}
451
452// Runtime operation information for
453// [DatasetService.CreateDatasetVersion][google.cloud.aiplatform.v1beta1.DatasetService.CreateDatasetVersion].
454message CreateDatasetVersionOperationMetadata {
455  // The common part of the operation metadata.
456  GenericOperationMetadata generic_metadata = 1;
457}
458
459// Request message for
460// [DatasetService.DeleteDatasetVersion][google.cloud.aiplatform.v1beta1.DatasetService.DeleteDatasetVersion].
461message DeleteDatasetVersionRequest {
462  // Required. The resource name of the Dataset version to delete.
463  // Format:
464  // `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`
465  string name = 1 [
466    (google.api.field_behavior) = REQUIRED,
467    (google.api.resource_reference) = {
468      type: "aiplatform.googleapis.com/DatasetVersion"
469    }
470  ];
471}
472
473// Request message for
474// [DatasetService.GetDatasetVersion][google.cloud.aiplatform.v1beta1.DatasetService.GetDatasetVersion].
475message GetDatasetVersionRequest {
476  // Required. The resource name of the Dataset version to delete.
477  // Format:
478  // `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`
479  string name = 1 [
480    (google.api.field_behavior) = REQUIRED,
481    (google.api.resource_reference) = {
482      type: "aiplatform.googleapis.com/DatasetVersion"
483    }
484  ];
485
486  // Mask specifying which fields to read.
487  google.protobuf.FieldMask read_mask = 2;
488}
489
490// Request message for
491// [DatasetService.ListDatasetVersions][google.cloud.aiplatform.v1beta1.DatasetService.ListDatasetVersions].
492message ListDatasetVersionsRequest {
493  // Required. The resource name of the Dataset to list DatasetVersions from.
494  // Format:
495  // `projects/{project}/locations/{location}/datasets/{dataset}`
496  string parent = 1 [
497    (google.api.field_behavior) = REQUIRED,
498    (google.api.resource_reference) = {
499      type: "aiplatform.googleapis.com/Dataset"
500    }
501  ];
502
503  // Optional. The standard list filter.
504  string filter = 2 [(google.api.field_behavior) = OPTIONAL];
505
506  // Optional. The standard list page size.
507  int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
508
509  // Optional. The standard list page token.
510  string page_token = 4 [(google.api.field_behavior) = OPTIONAL];
511
512  // Optional. Mask specifying which fields to read.
513  google.protobuf.FieldMask read_mask = 5
514      [(google.api.field_behavior) = OPTIONAL];
515
516  // Optional. A comma-separated list of fields to order by, sorted in ascending
517  // order. Use "desc" after a field name for descending.
518  string order_by = 6 [(google.api.field_behavior) = OPTIONAL];
519}
520
521// Response message for
522// [DatasetService.ListDatasetVersions][google.cloud.aiplatform.v1beta1.DatasetService.ListDatasetVersions].
523message ListDatasetVersionsResponse {
524  // A list of DatasetVersions that matches the specified filter in the request.
525  repeated DatasetVersion dataset_versions = 1;
526
527  // The standard List next-page token.
528  string next_page_token = 2;
529}
530
531// Request message for
532// [DatasetService.RestoreDatasetVersion][google.cloud.aiplatform.v1beta1.DatasetService.RestoreDatasetVersion].
533message RestoreDatasetVersionRequest {
534  // Required. The name of the DatasetVersion resource.
535  // Format:
536  // `projects/{project}/locations/{location}/datasets/{dataset}/datasetVersions/{dataset_version}`
537  string name = 1 [
538    (google.api.field_behavior) = REQUIRED,
539    (google.api.resource_reference) = {
540      type: "aiplatform.googleapis.com/DatasetVersion"
541    }
542  ];
543}
544
545// Runtime operation information for
546// [DatasetService.RestoreDatasetVersion][google.cloud.aiplatform.v1beta1.DatasetService.RestoreDatasetVersion].
547message RestoreDatasetVersionOperationMetadata {
548  // The common part of the operation metadata.
549  GenericOperationMetadata generic_metadata = 1;
550}
551
552// Request message for
553// [DatasetService.ListDataItems][google.cloud.aiplatform.v1beta1.DatasetService.ListDataItems].
554message ListDataItemsRequest {
555  // Required. The resource name of the Dataset to list DataItems from.
556  // Format:
557  // `projects/{project}/locations/{location}/datasets/{dataset}`
558  string parent = 1 [
559    (google.api.field_behavior) = REQUIRED,
560    (google.api.resource_reference) = {
561      type: "aiplatform.googleapis.com/Dataset"
562    }
563  ];
564
565  // The standard list filter.
566  string filter = 2;
567
568  // The standard list page size.
569  int32 page_size = 3;
570
571  // The standard list page token.
572  string page_token = 4;
573
574  // Mask specifying which fields to read.
575  google.protobuf.FieldMask read_mask = 5;
576
577  // A comma-separated list of fields to order by, sorted in ascending order.
578  // Use "desc" after a field name for descending.
579  string order_by = 6;
580}
581
582// Response message for
583// [DatasetService.ListDataItems][google.cloud.aiplatform.v1beta1.DatasetService.ListDataItems].
584message ListDataItemsResponse {
585  // A list of DataItems that matches the specified filter in the request.
586  repeated DataItem data_items = 1;
587
588  // The standard List next-page token.
589  string next_page_token = 2;
590}
591
592// Request message for
593// [DatasetService.SearchDataItems][google.cloud.aiplatform.v1beta1.DatasetService.SearchDataItems].
594message SearchDataItemsRequest {
595  // Expression that allows ranking results based on annotation's property.
596  message OrderByAnnotation {
597    // Required. Saved query of the Annotation. Only Annotations belong to this
598    // saved query will be considered for ordering.
599    string saved_query = 1 [(google.api.field_behavior) = REQUIRED];
600
601    // A comma-separated list of annotation fields to order by, sorted in
602    // ascending order. Use "desc" after a field name for descending. Must also
603    // specify saved_query.
604    string order_by = 2;
605  }
606
607  oneof order {
608    // A comma-separated list of data item fields to order by, sorted in
609    // ascending order. Use "desc" after a field name for descending.
610    string order_by_data_item = 12;
611
612    // Expression that allows ranking results based on annotation's property.
613    OrderByAnnotation order_by_annotation = 13;
614  }
615
616  // Required. The resource name of the Dataset from which to search DataItems.
617  // Format:
618  // `projects/{project}/locations/{location}/datasets/{dataset}`
619  string dataset = 1 [
620    (google.api.field_behavior) = REQUIRED,
621    (google.api.resource_reference) = {
622      type: "aiplatform.googleapis.com/Dataset"
623    }
624  ];
625
626  // The resource name of a SavedQuery(annotation set in UI).
627  // Format:
628  // `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}`
629  // All of the search will be done in the context of this SavedQuery.
630  string saved_query = 2 [
631    deprecated = true,
632    (google.api.resource_reference) = {
633      type: "aiplatform.googleapis.com/SavedQuery"
634    }
635  ];
636
637  // The resource name of a DataLabelingJob.
638  // Format:
639  // `projects/{project}/locations/{location}/dataLabelingJobs/{data_labeling_job}`
640  // If this field is set, all of the search will be done in the context of
641  // this DataLabelingJob.
642  string data_labeling_job = 3;
643
644  // An expression for filtering the DataItem that will be returned.
645  //
646  //   * `data_item_id` - for = or !=.
647  //   * `labeled` - for = or !=.
648  //   * `has_annotation(ANNOTATION_SPEC_ID)` - true only for DataItem that
649  //     have at least one annotation with annotation_spec_id =
650  //     `ANNOTATION_SPEC_ID` in the context of SavedQuery or DataLabelingJob.
651  //
652  // For example:
653  //
654  // * `data_item=1`
655  // * `has_annotation(5)`
656  string data_item_filter = 4;
657
658  // An expression for filtering the Annotations that will be returned per
659  // DataItem.
660  //   * `annotation_spec_id` - for = or !=.
661  string annotations_filter = 5 [deprecated = true];
662
663  // An expression that specifies what Annotations will be returned per
664  // DataItem. Annotations satisfied either of the conditions will be returned.
665  //   * `annotation_spec_id` - for = or !=.
666  // Must specify `saved_query_id=` - saved query id that annotations should
667  // belong to.
668  repeated string annotation_filters = 11;
669
670  // Mask specifying which fields of
671  // [DataItemView][google.cloud.aiplatform.v1beta1.DataItemView] to read.
672  google.protobuf.FieldMask field_mask = 6;
673
674  // If set, only up to this many of Annotations will be returned per
675  // DataItemView. The maximum value is 1000. If not set, the maximum value will
676  // be used.
677  int32 annotations_limit = 7;
678
679  // Requested page size. Server may return fewer results than requested.
680  // Default and maximum page size is 100.
681  int32 page_size = 8;
682
683  // A comma-separated list of fields to order by, sorted in ascending order.
684  // Use "desc" after a field name for descending.
685  string order_by = 9 [deprecated = true];
686
687  // A token identifying a page of results for the server to return
688  // Typically obtained via
689  // [SearchDataItemsResponse.next_page_token][google.cloud.aiplatform.v1beta1.SearchDataItemsResponse.next_page_token]
690  // of the previous
691  // [DatasetService.SearchDataItems][google.cloud.aiplatform.v1beta1.DatasetService.SearchDataItems]
692  // call.
693  string page_token = 10;
694}
695
696// Response message for
697// [DatasetService.SearchDataItems][google.cloud.aiplatform.v1beta1.DatasetService.SearchDataItems].
698message SearchDataItemsResponse {
699  // The DataItemViews read.
700  repeated DataItemView data_item_views = 1;
701
702  // A token to retrieve next page of results.
703  // Pass to
704  // [SearchDataItemsRequest.page_token][google.cloud.aiplatform.v1beta1.SearchDataItemsRequest.page_token]
705  // to obtain that page.
706  string next_page_token = 2;
707}
708
709// A container for a single DataItem and Annotations on it.
710message DataItemView {
711  // The DataItem.
712  DataItem data_item = 1;
713
714  // The Annotations on the DataItem. If too many Annotations should be returned
715  // for the DataItem, this field will be truncated per annotations_limit in
716  // request. If it was, then the has_truncated_annotations will be set to true.
717  repeated Annotation annotations = 2;
718
719  // True if and only if the Annotations field has been truncated. It happens if
720  // more Annotations for this DataItem met the request's annotation_filter than
721  // are allowed to be returned by annotations_limit.
722  // Note that if Annotations field is not being returned due to field mask,
723  // then this field will not be set to true no matter how many Annotations are
724  // there.
725  bool has_truncated_annotations = 3;
726}
727
728// Request message for
729// [DatasetService.ListSavedQueries][google.cloud.aiplatform.v1beta1.DatasetService.ListSavedQueries].
730message ListSavedQueriesRequest {
731  // Required. The resource name of the Dataset to list SavedQueries from.
732  // Format:
733  // `projects/{project}/locations/{location}/datasets/{dataset}`
734  string parent = 1 [
735    (google.api.field_behavior) = REQUIRED,
736    (google.api.resource_reference) = {
737      type: "aiplatform.googleapis.com/Dataset"
738    }
739  ];
740
741  // The standard list filter.
742  string filter = 2;
743
744  // The standard list page size.
745  int32 page_size = 3;
746
747  // The standard list page token.
748  string page_token = 4;
749
750  // Mask specifying which fields to read.
751  google.protobuf.FieldMask read_mask = 5;
752
753  // A comma-separated list of fields to order by, sorted in ascending order.
754  // Use "desc" after a field name for descending.
755  string order_by = 6;
756}
757
758// Response message for
759// [DatasetService.ListSavedQueries][google.cloud.aiplatform.v1beta1.DatasetService.ListSavedQueries].
760message ListSavedQueriesResponse {
761  // A list of SavedQueries that match the specified filter in the request.
762  repeated SavedQuery saved_queries = 1;
763
764  // The standard List next-page token.
765  string next_page_token = 2;
766}
767
768// Request message for
769// [DatasetService.DeleteSavedQuery][google.cloud.aiplatform.v1beta1.DatasetService.DeleteSavedQuery].
770message DeleteSavedQueryRequest {
771  // Required. The resource name of the SavedQuery to delete.
772  // Format:
773  // `projects/{project}/locations/{location}/datasets/{dataset}/savedQueries/{saved_query}`
774  string name = 1 [
775    (google.api.field_behavior) = REQUIRED,
776    (google.api.resource_reference) = {
777      type: "aiplatform.googleapis.com/SavedQuery"
778    }
779  ];
780}
781
782// Request message for
783// [DatasetService.GetAnnotationSpec][google.cloud.aiplatform.v1beta1.DatasetService.GetAnnotationSpec].
784message GetAnnotationSpecRequest {
785  // Required. The name of the AnnotationSpec resource.
786  // Format:
787  // `projects/{project}/locations/{location}/datasets/{dataset}/annotationSpecs/{annotation_spec}`
788  string name = 1 [
789    (google.api.field_behavior) = REQUIRED,
790    (google.api.resource_reference) = {
791      type: "aiplatform.googleapis.com/AnnotationSpec"
792    }
793  ];
794
795  // Mask specifying which fields to read.
796  google.protobuf.FieldMask read_mask = 2;
797}
798
799// Request message for
800// [DatasetService.ListAnnotations][google.cloud.aiplatform.v1beta1.DatasetService.ListAnnotations].
801message ListAnnotationsRequest {
802  // Required. The resource name of the DataItem to list Annotations from.
803  // Format:
804  // `projects/{project}/locations/{location}/datasets/{dataset}/dataItems/{data_item}`
805  string parent = 1 [
806    (google.api.field_behavior) = REQUIRED,
807    (google.api.resource_reference) = {
808      type: "aiplatform.googleapis.com/DataItem"
809    }
810  ];
811
812  // The standard list filter.
813  string filter = 2;
814
815  // The standard list page size.
816  int32 page_size = 3;
817
818  // The standard list page token.
819  string page_token = 4;
820
821  // Mask specifying which fields to read.
822  google.protobuf.FieldMask read_mask = 5;
823
824  // A comma-separated list of fields to order by, sorted in ascending order.
825  // Use "desc" after a field name for descending.
826  string order_by = 6;
827}
828
829// Response message for
830// [DatasetService.ListAnnotations][google.cloud.aiplatform.v1beta1.DatasetService.ListAnnotations].
831message ListAnnotationsResponse {
832  // A list of Annotations that matches the specified filter in the request.
833  repeated Annotation annotations = 1;
834
835  // The standard List next-page token.
836  string next_page_token = 2;
837}
838