xref: /aosp_15_r20/external/googleapis/google/cloud/discoveryengine/v1beta/data_store.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2022 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.discoveryengine.v1beta;
18
19import "google/api/field_behavior.proto";
20import "google/api/resource.proto";
21import "google/cloud/discoveryengine/v1beta/common.proto";
22import "google/cloud/discoveryengine/v1beta/document_processing_config.proto";
23import "google/cloud/discoveryengine/v1beta/schema.proto";
24import "google/protobuf/timestamp.proto";
25
26option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
27option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb";
28option java_multiple_files = true;
29option java_outer_classname = "DataStoreProto";
30option java_package = "com.google.cloud.discoveryengine.v1beta";
31option objc_class_prefix = "DISCOVERYENGINE";
32option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta";
33option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta";
34
35// DataStore captures global settings and configs at the DataStore level.
36message DataStore {
37  option (google.api.resource) = {
38    type: "discoveryengine.googleapis.com/DataStore"
39    pattern: "projects/{project}/locations/{location}/dataStores/{data_store}"
40    pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}"
41  };
42
43  // Content config of the data store.
44  enum ContentConfig {
45    // Default value.
46    CONTENT_CONFIG_UNSPECIFIED = 0;
47
48    // Only contains documents without any
49    // [Document.content][google.cloud.discoveryengine.v1beta.Document.content].
50    NO_CONTENT = 1;
51
52    // Only contains documents with
53    // [Document.content][google.cloud.discoveryengine.v1beta.Document.content].
54    CONTENT_REQUIRED = 2;
55
56    // The data store is used for public website search.
57    PUBLIC_WEBSITE = 3;
58  }
59
60  // Immutable. The full resource name of the data store.
61  // Format:
62  // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.
63  //
64  // This field must be a UTF-8 encoded string with a length limit of 1024
65  // characters.
66  string name = 1 [(google.api.field_behavior) = IMMUTABLE];
67
68  // Required. The data store display name.
69  //
70  // This field must be a UTF-8 encoded string with a length limit of 128
71  // characters. Otherwise, an INVALID_ARGUMENT error is returned.
72  string display_name = 2 [(google.api.field_behavior) = REQUIRED];
73
74  // Immutable. The industry vertical that the data store registers.
75  IndustryVertical industry_vertical = 3
76      [(google.api.field_behavior) = IMMUTABLE];
77
78  // The solutions that the data store enrolls. Available solutions for each
79  // [industry_vertical][google.cloud.discoveryengine.v1beta.DataStore.industry_vertical]:
80  //
81  // * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`.
82  // * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other
83  //   solutions cannot be enrolled.
84  repeated SolutionType solution_types = 5;
85
86  // Output only. The id of the default
87  // [Schema][google.cloud.discoveryengine.v1beta.Schema] asscociated to this
88  // data store.
89  string default_schema_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
90
91  // Immutable. The content config of the data store. If this field is unset,
92  // the server behavior defaults to
93  // [ContentConfig.NO_CONTENT][google.cloud.discoveryengine.v1beta.DataStore.ContentConfig.NO_CONTENT].
94  ContentConfig content_config = 6 [(google.api.field_behavior) = IMMUTABLE];
95
96  // Output only. Timestamp the
97  // [DataStore][google.cloud.discoveryengine.v1beta.DataStore] was created at.
98  google.protobuf.Timestamp create_time = 4
99      [(google.api.field_behavior) = OUTPUT_ONLY];
100
101  // Configuration for Document understanding and enrichment.
102  DocumentProcessingConfig document_processing_config = 27;
103
104  // The start schema to use for this
105  // [DataStore][google.cloud.discoveryengine.v1beta.DataStore] when
106  // provisioning it. If unset, a default vertical specialized schema will be
107  // used.
108  //
109  // This field is only used by [CreateDataStore][] API, and will be ignored if
110  // used in other APIs. This field will be omitted from all API responses
111  // including [CreateDataStore][] API. To retrieve a schema of a
112  // [DataStore][google.cloud.discoveryengine.v1beta.DataStore], use
113  // [SchemaService.GetSchema][google.cloud.discoveryengine.v1beta.SchemaService.GetSchema]
114  // API instead.
115  //
116  // The provided schema will be validated against certain rules on schema.
117  // Learn more from [this
118  // doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema).
119  Schema starting_schema = 28;
120}
121