import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Assistant * * To get more information about Assistant, see: * * * [API documentation](https://cloud.google.com/generative-ai-app-builder/docs/reference/rpc/google.cloud.discoveryengine.v1#assistantservice) * * ## Example Usage * * ### Discoveryengine Assistant Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const basic = new gcp.discoveryengine.DataStore("basic", { * location: "global", * dataStoreId: "example-data-store-id", * displayName: "tf-test-structured-datastore", * industryVertical: "GENERIC", * contentConfig: "NO_CONTENT", * solutionTypes: ["SOLUTION_TYPE_SEARCH"], * createAdvancedSiteSearch: false, * }); * const basicSearchEngine = new gcp.discoveryengine.SearchEngine("basic", { * location: "global", * collectionId: "default_collection", * engineId: "example-engine-id", * displayName: "Example Display Name", * dataStoreIds: [basic.dataStoreId], * searchEngineConfig: {}, * }); * const basicAssistant = new gcp.discoveryengine.Assistant("basic", { * location: "global", * collectionId: "default_collection", * engineId: basicSearchEngine.engineId, * assistantId: "example-assistant-id", * displayName: "updated-tf-test-Assistant", * description: "Assistant Description", * generationConfig: { * systemInstruction: { * additionalSystemInstruction: "foobar", * }, * defaultLanguage: "en", * }, * customerPolicy: { * bannedPhrases: [{ * phrase: "foo", * matchType: "SIMPLE_STRING_MATCH", * ignoreDiacritics: false, * }], * }, * webGroundingType: "WEB_GROUNDING_TYPE_GOOGLE_SEARCH", * }); * ``` * * ## Import * * Assistant can be imported using any of these accepted formats: * * * `projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}/assistants/{{assistant_id}}` * * * `{{project}}/{{location}}/{{collection_id}}/{{engine_id}}/{{assistant_id}}` * * * `{{location}}/{{collection_id}}/{{engine_id}}/{{assistant_id}}` * * When using the `pulumi import` command, Assistant can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:discoveryengine/assistant:Assistant default projects/{{project}}/locations/{{location}}/collections/{{collection_id}}/engines/{{engine_id}}/assistants/{{assistant_id}} * ``` * * ```sh * $ pulumi import gcp:discoveryengine/assistant:Assistant default {{project}}/{{location}}/{{collection_id}}/{{engine_id}}/{{assistant_id}} * ``` * * ```sh * $ pulumi import gcp:discoveryengine/assistant:Assistant default {{location}}/{{collection_id}}/{{engine_id}}/{{assistant_id}} * ``` */ export declare class Assistant extends pulumi.CustomResource { /** * Get an existing Assistant 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, state?: AssistantState, opts?: pulumi.CustomResourceOptions): Assistant; /** * Returns true if the given object is an instance of Assistant. 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 Assistant; /** * The unique id of the assistant. */ readonly assistantId: pulumi.Output; /** * The unique id of the collection. */ readonly collectionId: pulumi.Output; /** * Customer policy for the assistant. * Structure is documented below. */ readonly customerPolicy: pulumi.Output; /** * Description for additional information. Expected to be shown on the * configuration UI, not to the users of the assistant. */ readonly description: pulumi.Output; /** * The assistant display name. * It must be a UTF-8 encoded string with a length limit of 128 characters. */ readonly displayName: pulumi.Output; /** * The unique id of the engine. */ readonly engineId: pulumi.Output; /** * Configuration for the generation of the assistant response. * Structure is documented below. */ readonly generationConfig: pulumi.Output; /** * The geographic location where the data store should reside. The value can * only be one of "global", "us" and "eu". */ readonly location: pulumi.Output; /** * Resource name of the assistant. * Format: * `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}` * It must be a UTF-8 encoded string with a length limit of 1024 characters. */ readonly name: pulumi.Output; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ readonly project: pulumi.Output; /** * The type of web grounding to use. * The supported values: 'WEB_GROUNDING_TYPE_DISABLED', 'WEB_GROUNDING_TYPE_GOOGLE_SEARCH', 'WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH'. */ readonly webGroundingType: pulumi.Output; /** * Create a Assistant 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: AssistantArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Assistant resources. */ export interface AssistantState { /** * The unique id of the assistant. */ assistantId?: pulumi.Input; /** * The unique id of the collection. */ collectionId?: pulumi.Input; /** * Customer policy for the assistant. * Structure is documented below. */ customerPolicy?: pulumi.Input; /** * Description for additional information. Expected to be shown on the * configuration UI, not to the users of the assistant. */ description?: pulumi.Input; /** * The assistant display name. * It must be a UTF-8 encoded string with a length limit of 128 characters. */ displayName?: pulumi.Input; /** * The unique id of the engine. */ engineId?: pulumi.Input; /** * Configuration for the generation of the assistant response. * Structure is documented below. */ generationConfig?: pulumi.Input; /** * The geographic location where the data store should reside. The value can * only be one of "global", "us" and "eu". */ location?: pulumi.Input; /** * Resource name of the assistant. * Format: * `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/assistants/{assistant}` * It must be a UTF-8 encoded string with a length limit of 1024 characters. */ name?: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * The type of web grounding to use. * The supported values: 'WEB_GROUNDING_TYPE_DISABLED', 'WEB_GROUNDING_TYPE_GOOGLE_SEARCH', 'WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH'. */ webGroundingType?: pulumi.Input; } /** * The set of arguments for constructing a Assistant resource. */ export interface AssistantArgs { /** * The unique id of the assistant. */ assistantId: pulumi.Input; /** * The unique id of the collection. */ collectionId: pulumi.Input; /** * Customer policy for the assistant. * Structure is documented below. */ customerPolicy?: pulumi.Input; /** * Description for additional information. Expected to be shown on the * configuration UI, not to the users of the assistant. */ description?: pulumi.Input; /** * The assistant display name. * It must be a UTF-8 encoded string with a length limit of 128 characters. */ displayName: pulumi.Input; /** * The unique id of the engine. */ engineId: pulumi.Input; /** * Configuration for the generation of the assistant response. * Structure is documented below. */ generationConfig?: pulumi.Input; /** * The geographic location where the data store should reside. The value can * only be one of "global", "us" and "eu". */ location: pulumi.Input; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * The type of web grounding to use. * The supported values: 'WEB_GROUNDING_TYPE_DISABLED', 'WEB_GROUNDING_TYPE_GOOGLE_SEARCH', 'WEB_GROUNDING_TYPE_ENTERPRISE_WEB_SEARCH'. */ webGroundingType?: pulumi.Input; }