@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
361 lines (360 loc) • 14 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Data store is a collection of websites and documents used to find answers for
* end-user's questions in Discovery Engine (a.k.a. Vertex AI Search and
* Conversation).
*
* To get more information about DataStore, see:
*
* * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1/projects.locations.collections.dataStores)
* * How-to Guides
* * [Create a search data store](https://cloud.google.com/generative-ai-app-builder/docs/create-data-store-es)
*
* ## Example Usage
*
* ### Discoveryengine Datastore Basic
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const basic = new gcp.discoveryengine.DataStore("basic", {
* location: "global",
* dataStoreId: "data-store-id",
* displayName: "tf-test-structured-datastore",
* industryVertical: "GENERIC",
* contentConfig: "NO_CONTENT",
* solutionTypes: ["SOLUTION_TYPE_SEARCH"],
* createAdvancedSiteSearch: false,
* skipDefaultSchemaCreation: false,
* });
* ```
* ### Discoveryengine Datastore Document Processing Config
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const documentProcessingConfig = new gcp.discoveryengine.DataStore("document_processing_config", {
* location: "global",
* dataStoreId: "data-store-id",
* displayName: "tf-test-structured-datastore",
* industryVertical: "GENERIC",
* contentConfig: "NO_CONTENT",
* solutionTypes: ["SOLUTION_TYPE_SEARCH"],
* createAdvancedSiteSearch: false,
* documentProcessingConfig: {
* defaultParsingConfig: {
* digitalParsingConfig: {},
* },
* parsingConfigOverrides: [{
* fileType: "pdf",
* ocrParsingConfig: {
* useNativeText: true,
* },
* }],
* },
* });
* ```
* ### Discoveryengine Datastore Advanced Site Search Config
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const advancedSiteSearchConfig = new gcp.discoveryengine.DataStore("advanced_site_search_config", {
* location: "global",
* dataStoreId: "data-store-id",
* displayName: "tf-test-advanced-site-search-config-datastore",
* industryVertical: "GENERIC",
* contentConfig: "PUBLIC_WEBSITE",
* solutionTypes: ["SOLUTION_TYPE_CHAT"],
* createAdvancedSiteSearch: true,
* skipDefaultSchemaCreation: false,
* advancedSiteSearchConfig: {
* disableInitialIndex: true,
* disableAutomaticRefresh: true,
* },
* });
* ```
*
* ## Import
*
* DataStore can be imported using any of these accepted formats:
*
* * `projects/{{project}}/locations/{{location}}/collections/default_collection/dataStores/{{data_store_id}}`
*
* * `{{project}}/{{location}}/{{data_store_id}}`
*
* * `{{location}}/{{data_store_id}}`
*
* When using the `pulumi import` command, DataStore can be imported using one of the formats above. For example:
*
* ```sh
* $ pulumi import gcp:discoveryengine/dataStore:DataStore default projects/{{project}}/locations/{{location}}/collections/default_collection/dataStores/{{data_store_id}}
* ```
*
* ```sh
* $ pulumi import gcp:discoveryengine/dataStore:DataStore default {{project}}/{{location}}/{{data_store_id}}
* ```
*
* ```sh
* $ pulumi import gcp:discoveryengine/dataStore:DataStore default {{location}}/{{data_store_id}}
* ```
*/
export declare class DataStore extends pulumi.CustomResource {
/**
* Get an existing DataStore resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DataStoreState, opts?: pulumi.CustomResourceOptions): DataStore;
/**
* Returns true if the given object is an instance of DataStore. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is DataStore;
/**
* Configuration data for advance site search.
* Structure is documented below.
*/
readonly advancedSiteSearchConfig: pulumi.Output<outputs.discoveryengine.DataStoreAdvancedSiteSearchConfig | undefined>;
/**
* The content config of the data store.
* Possible values are: `NO_CONTENT`, `CONTENT_REQUIRED`, `PUBLIC_WEBSITE`.
*/
readonly contentConfig: pulumi.Output<string>;
/**
* If true, an advanced data store for site search will be created. If the
* data store is not configured as site search (GENERIC vertical and
* PUBLIC_WEBSITE contentConfig), this flag will be ignored.
*/
readonly createAdvancedSiteSearch: pulumi.Output<boolean | undefined>;
/**
* Timestamp when the DataStore was created.
*/
readonly createTime: pulumi.Output<string>;
/**
* The unique id of the data store.
*
*
* - - -
*/
readonly dataStoreId: pulumi.Output<string>;
/**
* The id of the default Schema associated with this data store.
*/
readonly defaultSchemaId: pulumi.Output<string>;
/**
* The display name of the data store. This field must be a UTF-8 encoded
* string with a length limit of 128 characters.
*/
readonly displayName: pulumi.Output<string>;
/**
* Configuration for Document understanding and enrichment.
* Structure is documented below.
*/
readonly documentProcessingConfig: pulumi.Output<outputs.discoveryengine.DataStoreDocumentProcessingConfig | undefined>;
/**
* The industry vertical that the data store registers.
* Possible values are: `GENERIC`, `MEDIA`, `HEALTHCARE_FHIR`.
*/
readonly industryVertical: pulumi.Output<string>;
/**
* The geographic location where the data store should reside. The value can
* only be one of "global", "us" and "eu".
*/
readonly location: pulumi.Output<string>;
/**
* The unique full resource name of the data store. Values are of the 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.
*/
readonly name: pulumi.Output<string>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
readonly project: pulumi.Output<string>;
/**
* A boolean flag indicating whether to skip the default schema creation for
* the data store. Only enable this flag if you are certain that the default
* schema is incompatible with your use case.
* If set to true, you must manually create a schema for the data store
* before any documents can be ingested.
* This flag cannot be specified if `data_store.starting_schema` is
* specified.
*/
readonly skipDefaultSchemaCreation: pulumi.Output<boolean | undefined>;
/**
* The solutions that the data store enrolls.
* Each value may be one of: `SOLUTION_TYPE_RECOMMENDATION`, `SOLUTION_TYPE_SEARCH`, `SOLUTION_TYPE_CHAT`, `SOLUTION_TYPE_GENERATIVE_CHAT`.
*/
readonly solutionTypes: pulumi.Output<string[] | undefined>;
/**
* Create a DataStore resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: DataStoreArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering DataStore resources.
*/
export interface DataStoreState {
/**
* Configuration data for advance site search.
* Structure is documented below.
*/
advancedSiteSearchConfig?: pulumi.Input<inputs.discoveryengine.DataStoreAdvancedSiteSearchConfig>;
/**
* The content config of the data store.
* Possible values are: `NO_CONTENT`, `CONTENT_REQUIRED`, `PUBLIC_WEBSITE`.
*/
contentConfig?: pulumi.Input<string>;
/**
* If true, an advanced data store for site search will be created. If the
* data store is not configured as site search (GENERIC vertical and
* PUBLIC_WEBSITE contentConfig), this flag will be ignored.
*/
createAdvancedSiteSearch?: pulumi.Input<boolean>;
/**
* Timestamp when the DataStore was created.
*/
createTime?: pulumi.Input<string>;
/**
* The unique id of the data store.
*
*
* - - -
*/
dataStoreId?: pulumi.Input<string>;
/**
* The id of the default Schema associated with this data store.
*/
defaultSchemaId?: pulumi.Input<string>;
/**
* The display name of the data store. This field must be a UTF-8 encoded
* string with a length limit of 128 characters.
*/
displayName?: pulumi.Input<string>;
/**
* Configuration for Document understanding and enrichment.
* Structure is documented below.
*/
documentProcessingConfig?: pulumi.Input<inputs.discoveryengine.DataStoreDocumentProcessingConfig>;
/**
* The industry vertical that the data store registers.
* Possible values are: `GENERIC`, `MEDIA`, `HEALTHCARE_FHIR`.
*/
industryVertical?: pulumi.Input<string>;
/**
* The geographic location where the data store should reside. The value can
* only be one of "global", "us" and "eu".
*/
location?: pulumi.Input<string>;
/**
* The unique full resource name of the data store. Values are of the 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.
*/
name?: pulumi.Input<string>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string>;
/**
* A boolean flag indicating whether to skip the default schema creation for
* the data store. Only enable this flag if you are certain that the default
* schema is incompatible with your use case.
* If set to true, you must manually create a schema for the data store
* before any documents can be ingested.
* This flag cannot be specified if `data_store.starting_schema` is
* specified.
*/
skipDefaultSchemaCreation?: pulumi.Input<boolean>;
/**
* The solutions that the data store enrolls.
* Each value may be one of: `SOLUTION_TYPE_RECOMMENDATION`, `SOLUTION_TYPE_SEARCH`, `SOLUTION_TYPE_CHAT`, `SOLUTION_TYPE_GENERATIVE_CHAT`.
*/
solutionTypes?: pulumi.Input<pulumi.Input<string>[]>;
}
/**
* The set of arguments for constructing a DataStore resource.
*/
export interface DataStoreArgs {
/**
* Configuration data for advance site search.
* Structure is documented below.
*/
advancedSiteSearchConfig?: pulumi.Input<inputs.discoveryengine.DataStoreAdvancedSiteSearchConfig>;
/**
* The content config of the data store.
* Possible values are: `NO_CONTENT`, `CONTENT_REQUIRED`, `PUBLIC_WEBSITE`.
*/
contentConfig: pulumi.Input<string>;
/**
* If true, an advanced data store for site search will be created. If the
* data store is not configured as site search (GENERIC vertical and
* PUBLIC_WEBSITE contentConfig), this flag will be ignored.
*/
createAdvancedSiteSearch?: pulumi.Input<boolean>;
/**
* The unique id of the data store.
*
*
* - - -
*/
dataStoreId: pulumi.Input<string>;
/**
* The display name of the data store. This field must be a UTF-8 encoded
* string with a length limit of 128 characters.
*/
displayName: pulumi.Input<string>;
/**
* Configuration for Document understanding and enrichment.
* Structure is documented below.
*/
documentProcessingConfig?: pulumi.Input<inputs.discoveryengine.DataStoreDocumentProcessingConfig>;
/**
* The industry vertical that the data store registers.
* Possible values are: `GENERIC`, `MEDIA`, `HEALTHCARE_FHIR`.
*/
industryVertical: pulumi.Input<string>;
/**
* The geographic location where the data store should reside. The value can
* only be one of "global", "us" and "eu".
*/
location: pulumi.Input<string>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string>;
/**
* A boolean flag indicating whether to skip the default schema creation for
* the data store. Only enable this flag if you are certain that the default
* schema is incompatible with your use case.
* If set to true, you must manually create a schema for the data store
* before any documents can be ingested.
* This flag cannot be specified if `data_store.starting_schema` is
* specified.
*/
skipDefaultSchemaCreation?: pulumi.Input<boolean>;
/**
* The solutions that the data store enrolls.
* Each value may be one of: `SOLUTION_TYPE_RECOMMENDATION`, `SOLUTION_TYPE_SEARCH`, `SOLUTION_TYPE_CHAT`, `SOLUTION_TYPE_GENERATIVE_CHAT`.
*/
solutionTypes?: pulumi.Input<pulumi.Input<string>[]>;
}