UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

297 lines (296 loc) • 12.2 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A conversation profile configures a set of parameters that control the suggestions made to an agent. These parameters control the suggestions that are surfaced during runtime. Each profile configures either a Dialogflow virtual agent or a human agent for a conversation. * * To get more information about ConversationProfile, see: * * * [API documentation](https://cloud.google.com/dialogflow/docs/reference/rest/v2beta1/projects/conversationProfiles) * * How-to Guides * * [Official Documentation](https://cloud.google.com/dialogflow/docs/) * * ## Example Usage * * ### Dialogflow Conversation Profile Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const basicAgent = new gcp.diagflow.Agent("basic_agent", { * displayName: "example_agent", * defaultLanguageCode: "en-us", * timeZone: "America/New_York", * }); * const basicProfile = new gcp.diagflow.ConversationProfile("basic_profile", { * displayName: "dialogflow-profile", * location: "global", * automatedAgentConfig: { * agent: pulumi.interpolate`projects/${basicAgent.id}/locations/global/agent/environments/draft`, * }, * humanAgentAssistantConfig: { * messageAnalysisConfig: { * enableEntityExtraction: true, * enableSentimentAnalysis: true, * }, * }, * }); * ``` * * ## Import * * ConversationProfile can be imported using any of these accepted formats: * * * `{{name}}` * * When using the `pulumi import` command, ConversationProfile can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:diagflow/conversationProfile:ConversationProfile default {{name}} * ``` */ export declare class ConversationProfile extends pulumi.CustomResource { /** * Get an existing ConversationProfile 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?: ConversationProfileState, opts?: pulumi.CustomResourceOptions): ConversationProfile; /** * Returns true if the given object is an instance of ConversationProfile. 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 ConversationProfile; /** * Configuration for an automated agent to use with this profile * Structure is documented below. */ readonly automatedAgentConfig: pulumi.Output<outputs.diagflow.ConversationProfileAutomatedAgentConfig | undefined>; /** * Required. Human readable name for this profile. Max length 1024 bytes. */ readonly displayName: pulumi.Output<string>; /** * Configuration for connecting to a live agent * Structure is documented below. */ readonly humanAgentAssistantConfig: pulumi.Output<outputs.diagflow.ConversationProfileHumanAgentAssistantConfig | undefined>; /** * Defines the hand off to a live agent, typically on which external agent service provider to connect to a conversation. * Structure is documented below. */ readonly humanAgentHandoffConfig: pulumi.Output<outputs.diagflow.ConversationProfileHumanAgentHandoffConfig | undefined>; /** * Language code for the conversation profile. This should be a BCP-47 language tag. */ readonly languageCode: pulumi.Output<string>; /** * desc */ readonly location: pulumi.Output<string>; /** * Defines logging behavior for conversation lifecycle events. * Structure is documented below. */ readonly loggingConfig: pulumi.Output<outputs.diagflow.ConversationProfileLoggingConfig | undefined>; /** * name */ readonly name: pulumi.Output<string>; /** * Pub/Sub topic on which to publish new agent assistant events. * Expects the format "projects/<Project ID>/locations/<Location ID>/topics/<Topic ID>" * Structure is documented below. */ readonly newMessageEventNotificationConfig: pulumi.Output<outputs.diagflow.ConversationProfileNewMessageEventNotificationConfig | undefined>; /** * Pub/Sub topic on which to publish new agent assistant events. * Expects the format "projects/<Project ID>/locations/<Location ID>/topics/<Topic ID>" * Structure is documented below. */ readonly notificationConfig: pulumi.Output<outputs.diagflow.ConversationProfileNotificationConfig | undefined>; /** * 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>; /** * Name of the CX SecuritySettings reference for the agent. */ readonly securitySettings: pulumi.Output<string | undefined>; /** * Settings for speech transcription. * Structure is documented below. */ readonly sttConfig: pulumi.Output<outputs.diagflow.ConversationProfileSttConfig | undefined>; /** * The time zone of this conversational profile. */ readonly timeZone: pulumi.Output<string | undefined>; /** * Configuration for Text-to-Speech synthesization. If agent defines synthesization options as well, agent settings overrides the option here. * Structure is documented below. */ readonly ttsConfig: pulumi.Output<outputs.diagflow.ConversationProfileTtsConfig | undefined>; /** * Create a ConversationProfile 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: ConversationProfileArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ConversationProfile resources. */ export interface ConversationProfileState { /** * Configuration for an automated agent to use with this profile * Structure is documented below. */ automatedAgentConfig?: pulumi.Input<inputs.diagflow.ConversationProfileAutomatedAgentConfig>; /** * Required. Human readable name for this profile. Max length 1024 bytes. */ displayName?: pulumi.Input<string>; /** * Configuration for connecting to a live agent * Structure is documented below. */ humanAgentAssistantConfig?: pulumi.Input<inputs.diagflow.ConversationProfileHumanAgentAssistantConfig>; /** * Defines the hand off to a live agent, typically on which external agent service provider to connect to a conversation. * Structure is documented below. */ humanAgentHandoffConfig?: pulumi.Input<inputs.diagflow.ConversationProfileHumanAgentHandoffConfig>; /** * Language code for the conversation profile. This should be a BCP-47 language tag. */ languageCode?: pulumi.Input<string>; /** * desc */ location?: pulumi.Input<string>; /** * Defines logging behavior for conversation lifecycle events. * Structure is documented below. */ loggingConfig?: pulumi.Input<inputs.diagflow.ConversationProfileLoggingConfig>; /** * name */ name?: pulumi.Input<string>; /** * Pub/Sub topic on which to publish new agent assistant events. * Expects the format "projects/<Project ID>/locations/<Location ID>/topics/<Topic ID>" * Structure is documented below. */ newMessageEventNotificationConfig?: pulumi.Input<inputs.diagflow.ConversationProfileNewMessageEventNotificationConfig>; /** * Pub/Sub topic on which to publish new agent assistant events. * Expects the format "projects/<Project ID>/locations/<Location ID>/topics/<Topic ID>" * Structure is documented below. */ notificationConfig?: pulumi.Input<inputs.diagflow.ConversationProfileNotificationConfig>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string>; /** * Name of the CX SecuritySettings reference for the agent. */ securitySettings?: pulumi.Input<string>; /** * Settings for speech transcription. * Structure is documented below. */ sttConfig?: pulumi.Input<inputs.diagflow.ConversationProfileSttConfig>; /** * The time zone of this conversational profile. */ timeZone?: pulumi.Input<string>; /** * Configuration for Text-to-Speech synthesization. If agent defines synthesization options as well, agent settings overrides the option here. * Structure is documented below. */ ttsConfig?: pulumi.Input<inputs.diagflow.ConversationProfileTtsConfig>; } /** * The set of arguments for constructing a ConversationProfile resource. */ export interface ConversationProfileArgs { /** * Configuration for an automated agent to use with this profile * Structure is documented below. */ automatedAgentConfig?: pulumi.Input<inputs.diagflow.ConversationProfileAutomatedAgentConfig>; /** * Required. Human readable name for this profile. Max length 1024 bytes. */ displayName: pulumi.Input<string>; /** * Configuration for connecting to a live agent * Structure is documented below. */ humanAgentAssistantConfig?: pulumi.Input<inputs.diagflow.ConversationProfileHumanAgentAssistantConfig>; /** * Defines the hand off to a live agent, typically on which external agent service provider to connect to a conversation. * Structure is documented below. */ humanAgentHandoffConfig?: pulumi.Input<inputs.diagflow.ConversationProfileHumanAgentHandoffConfig>; /** * Language code for the conversation profile. This should be a BCP-47 language tag. */ languageCode?: pulumi.Input<string>; /** * desc */ location: pulumi.Input<string>; /** * Defines logging behavior for conversation lifecycle events. * Structure is documented below. */ loggingConfig?: pulumi.Input<inputs.diagflow.ConversationProfileLoggingConfig>; /** * Pub/Sub topic on which to publish new agent assistant events. * Expects the format "projects/<Project ID>/locations/<Location ID>/topics/<Topic ID>" * Structure is documented below. */ newMessageEventNotificationConfig?: pulumi.Input<inputs.diagflow.ConversationProfileNewMessageEventNotificationConfig>; /** * Pub/Sub topic on which to publish new agent assistant events. * Expects the format "projects/<Project ID>/locations/<Location ID>/topics/<Topic ID>" * Structure is documented below. */ notificationConfig?: pulumi.Input<inputs.diagflow.ConversationProfileNotificationConfig>; /** * The ID of the project in which the resource belongs. * If it is not provided, the provider project is used. */ project?: pulumi.Input<string>; /** * Name of the CX SecuritySettings reference for the agent. */ securitySettings?: pulumi.Input<string>; /** * Settings for speech transcription. * Structure is documented below. */ sttConfig?: pulumi.Input<inputs.diagflow.ConversationProfileSttConfig>; /** * The time zone of this conversational profile. */ timeZone?: pulumi.Input<string>; /** * Configuration for Text-to-Speech synthesization. If agent defines synthesization options as well, agent settings overrides the option here. * Structure is documented below. */ ttsConfig?: pulumi.Input<inputs.diagflow.ConversationProfileTtsConfig>; }