// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.cloud.discoveryengine.v1; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/cloud/discoveryengine/v1/common.proto"; import "google/cloud/discoveryengine/v1/schema.proto"; import "google/protobuf/timestamp.proto"; option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1"; option go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb"; option java_multiple_files = true; option java_outer_classname = "DataStoreProto"; option java_package = "com.google.cloud.discoveryengine.v1"; option objc_class_prefix = "DISCOVERYENGINE"; option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1"; option ruby_package = "Google::Cloud::DiscoveryEngine::V1"; // DataStore captures global settings and configs at the DataStore level. message DataStore { option (google.api.resource) = { type: "discoveryengine.googleapis.com/DataStore" pattern: "projects/{project}/locations/{location}/dataStores/{data_store}" pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}" }; // Content config of the data store. enum ContentConfig { // Default value. CONTENT_CONFIG_UNSPECIFIED = 0; // Only contains documents without any // [Document.content][google.cloud.discoveryengine.v1.Document.content]. NO_CONTENT = 1; // Only contains documents with // [Document.content][google.cloud.discoveryengine.v1.Document.content]. CONTENT_REQUIRED = 2; // The data store is used for public website search. PUBLIC_WEBSITE = 3; } // Immutable. The full resource name of the data store. // Format: // `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. // // This field must be a UTF-8 encoded string with a length limit of 1024 // characters. string name = 1 [(google.api.field_behavior) = IMMUTABLE]; // Required. The data store display name. // // This field must be a UTF-8 encoded string with a length limit of 128 // characters. Otherwise, an INVALID_ARGUMENT error is returned. string display_name = 2 [(google.api.field_behavior) = REQUIRED]; // Immutable. The industry vertical that the data store registers. IndustryVertical industry_vertical = 3 [(google.api.field_behavior) = IMMUTABLE]; // The solutions that the data store enrolls. Available solutions for each // [industry_vertical][google.cloud.discoveryengine.v1.DataStore.industry_vertical]: // // * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. // * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other // solutions cannot be enrolled. repeated SolutionType solution_types = 5; // Output only. The id of the default // [Schema][google.cloud.discoveryengine.v1.Schema] asscociated to this data // store. string default_schema_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; // Immutable. The content config of the data store. If this field is unset, // the server behavior defaults to // [ContentConfig.NO_CONTENT][google.cloud.discoveryengine.v1.DataStore.ContentConfig.NO_CONTENT]. ContentConfig content_config = 6 [(google.api.field_behavior) = IMMUTABLE]; // Output only. Timestamp the // [DataStore][google.cloud.discoveryengine.v1.DataStore] was created at. google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // The start schema to use for this // [DataStore][google.cloud.discoveryengine.v1.DataStore] when provisioning // it. If unset, a default vertical specialized schema will be used. // // This field is only used by [CreateDataStore][] API, and will be ignored if // used in other APIs. This field will be omitted from all API responses // including [CreateDataStore][] API. To retrieve a schema of a // [DataStore][google.cloud.discoveryengine.v1.DataStore], use // [SchemaService.GetSchema][google.cloud.discoveryengine.v1.SchemaService.GetSchema] // API instead. // // The provided schema will be validated against certain rules on schema. // Learn more from [this // doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema). Schema starting_schema = 28; }