import * as pulumi from "@pulumi/pulumi"; /** * A Dialogflow agent is a virtual agent that handles conversations with your end-users. It is a natural language * understanding module that understands the nuances of human language. Dialogflow translates end-user text or audio * during a conversation to structured data that your apps and services can understand. You design and build a Dialogflow * agent to handle the types of conversations required for your system. * * To get more information about Agent, see: * * * [API documentation](https://cloud.google.com/dialogflow/docs/reference/rest/v2/projects/agent) * * How-to Guides * * [Official Documentation](https://cloud.google.com/dialogflow/docs/) * * ## Example Usage * * ### Dialogflow Agent Full * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const fullAgent = new gcp.diagflow.Agent("full_agent", { * displayName: "dialogflow-agent", * defaultLanguageCode: "en", * supportedLanguageCodes: [ * "fr", * "de", * "es", * ], * timeZone: "America/New_York", * description: "Example description.", * avatarUri: "https://cloud.google.com/_static/images/cloud/icons/favicons/onecloud/super_cloud.png", * enableLogging: true, * matchMode: "MATCH_MODE_ML_ONLY", * classificationThreshold: 0.3, * apiVersion: "API_VERSION_V2_BETA_1", * tier: "TIER_STANDARD", * }); * ``` * * ## Import * * Agent can be imported using any of these accepted formats: * * * `{{project}}` * * When using the `pulumi import` command, Agent can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:diagflow/agent:Agent default {{project}} * ``` */ export declare class Agent extends pulumi.CustomResource { /** * Get an existing Agent 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?: AgentState, opts?: pulumi.CustomResourceOptions): Agent; /** * Returns true if the given object is an instance of Agent. 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 Agent; /** * API version displayed in Dialogflow console. If not specified, V2 API is assumed. Clients are free to query * different service endpoints for different API versions. However, bots connectors and webhook calls will follow * the specified API version. * * API_VERSION_V1: Legacy V1 API. * * API_VERSION_V2: V2 API. * * API_VERSION_V2_BETA_1: V2beta1 API. * Possible values are: `API_VERSION_V1`, `API_VERSION_V2`, `API_VERSION_V2_BETA_1`. */ readonly apiVersion: pulumi.Output; /** * The URI of the agent's avatar, which are used throughout the Dialogflow console. When an image URL is entered * into this field, the Dialogflow will save the image in the backend. The address of the backend image returned * from the API will be shown in the [avatarUriBackend] field. */ readonly avatarUri: pulumi.Output; /** * The URI of the agent's avatar as returned from the API. Output only. To provide an image URL for the agent avatar, * the [avatarUri] field can be used. */ readonly avatarUriBackend: pulumi.Output; /** * To filter out false positive results and still get variety in matched natural language inputs for your agent, * you can tune the machine learning classification threshold. If the returned score value is less than the threshold * value, then a fallback intent will be triggered or, if there are no fallback intents defined, no intent will be * triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the * default of 0.3 is used. */ readonly classificationThreshold: pulumi.Output; /** * The default language of the agent as a language tag. [See Language Support](https://cloud.google.com/dialogflow/docs/reference/language) * for a list of the currently supported language codes. This field cannot be updated after creation. */ readonly defaultLanguageCode: pulumi.Output; /** * The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected. */ readonly description: pulumi.Output; /** * The name of this agent. */ readonly displayName: pulumi.Output; /** * Determines whether this agent should log conversation queries. */ readonly enableLogging: pulumi.Output; /** * Determines how intents are detected from user queries. * * MATCH_MODE_HYBRID: Best for agents with a small number of examples in intents and/or wide use of templates * syntax and composite entities. * * MATCH_MODE_ML_ONLY: Can be used for agents with a large number of examples in intents, especially the ones * using @sys.any or very large developer entities. * Possible values are: `MATCH_MODE_HYBRID`, `MATCH_MODE_ML_ONLY`. */ readonly matchMode: 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 list of all languages supported by this agent (except for the defaultLanguageCode). */ readonly supportedLanguageCodes: pulumi.Output; /** * The agent tier. If not specified, TIER_STANDARD is assumed. * * TIER_STANDARD: Standard tier. * * TIER_ENTERPRISE: Enterprise tier (Essentials). * * TIER_ENTERPRISE_PLUS: Enterprise tier (Plus). * NOTE: Due to consistency issues, the provider will not read this field from the API. Drift is possible between * the the provider state and Dialogflow if the agent tier is changed outside of the provider. */ readonly tier: pulumi.Output; /** * The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, * Europe/Paris. */ readonly timeZone: pulumi.Output; /** * Create a Agent 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: AgentArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Agent resources. */ export interface AgentState { /** * API version displayed in Dialogflow console. If not specified, V2 API is assumed. Clients are free to query * different service endpoints for different API versions. However, bots connectors and webhook calls will follow * the specified API version. * * API_VERSION_V1: Legacy V1 API. * * API_VERSION_V2: V2 API. * * API_VERSION_V2_BETA_1: V2beta1 API. * Possible values are: `API_VERSION_V1`, `API_VERSION_V2`, `API_VERSION_V2_BETA_1`. */ apiVersion?: pulumi.Input; /** * The URI of the agent's avatar, which are used throughout the Dialogflow console. When an image URL is entered * into this field, the Dialogflow will save the image in the backend. The address of the backend image returned * from the API will be shown in the [avatarUriBackend] field. */ avatarUri?: pulumi.Input; /** * The URI of the agent's avatar as returned from the API. Output only. To provide an image URL for the agent avatar, * the [avatarUri] field can be used. */ avatarUriBackend?: pulumi.Input; /** * To filter out false positive results and still get variety in matched natural language inputs for your agent, * you can tune the machine learning classification threshold. If the returned score value is less than the threshold * value, then a fallback intent will be triggered or, if there are no fallback intents defined, no intent will be * triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the * default of 0.3 is used. */ classificationThreshold?: pulumi.Input; /** * The default language of the agent as a language tag. [See Language Support](https://cloud.google.com/dialogflow/docs/reference/language) * for a list of the currently supported language codes. This field cannot be updated after creation. */ defaultLanguageCode?: pulumi.Input; /** * The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected. */ description?: pulumi.Input; /** * The name of this agent. */ displayName?: pulumi.Input; /** * Determines whether this agent should log conversation queries. */ enableLogging?: pulumi.Input; /** * Determines how intents are detected from user queries. * * MATCH_MODE_HYBRID: Best for agents with a small number of examples in intents and/or wide use of templates * syntax and composite entities. * * MATCH_MODE_ML_ONLY: Can be used for agents with a large number of examples in intents, especially the ones * using @sys.any or very large developer entities. * Possible values are: `MATCH_MODE_HYBRID`, `MATCH_MODE_ML_ONLY`. */ matchMode?: 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 list of all languages supported by this agent (except for the defaultLanguageCode). */ supportedLanguageCodes?: pulumi.Input[]>; /** * The agent tier. If not specified, TIER_STANDARD is assumed. * * TIER_STANDARD: Standard tier. * * TIER_ENTERPRISE: Enterprise tier (Essentials). * * TIER_ENTERPRISE_PLUS: Enterprise tier (Plus). * NOTE: Due to consistency issues, the provider will not read this field from the API. Drift is possible between * the the provider state and Dialogflow if the agent tier is changed outside of the provider. */ tier?: pulumi.Input; /** * The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, * Europe/Paris. */ timeZone?: pulumi.Input; } /** * The set of arguments for constructing a Agent resource. */ export interface AgentArgs { /** * API version displayed in Dialogflow console. If not specified, V2 API is assumed. Clients are free to query * different service endpoints for different API versions. However, bots connectors and webhook calls will follow * the specified API version. * * API_VERSION_V1: Legacy V1 API. * * API_VERSION_V2: V2 API. * * API_VERSION_V2_BETA_1: V2beta1 API. * Possible values are: `API_VERSION_V1`, `API_VERSION_V2`, `API_VERSION_V2_BETA_1`. */ apiVersion?: pulumi.Input; /** * The URI of the agent's avatar, which are used throughout the Dialogflow console. When an image URL is entered * into this field, the Dialogflow will save the image in the backend. The address of the backend image returned * from the API will be shown in the [avatarUriBackend] field. */ avatarUri?: pulumi.Input; /** * To filter out false positive results and still get variety in matched natural language inputs for your agent, * you can tune the machine learning classification threshold. If the returned score value is less than the threshold * value, then a fallback intent will be triggered or, if there are no fallback intents defined, no intent will be * triggered. The score values range from 0.0 (completely uncertain) to 1.0 (completely certain). If set to 0.0, the * default of 0.3 is used. */ classificationThreshold?: pulumi.Input; /** * The default language of the agent as a language tag. [See Language Support](https://cloud.google.com/dialogflow/docs/reference/language) * for a list of the currently supported language codes. This field cannot be updated after creation. */ defaultLanguageCode: pulumi.Input; /** * The description of this agent. The maximum length is 500 characters. If exceeded, the request is rejected. */ description?: pulumi.Input; /** * The name of this agent. */ displayName: pulumi.Input; /** * Determines whether this agent should log conversation queries. */ enableLogging?: pulumi.Input; /** * Determines how intents are detected from user queries. * * MATCH_MODE_HYBRID: Best for agents with a small number of examples in intents and/or wide use of templates * syntax and composite entities. * * MATCH_MODE_ML_ONLY: Can be used for agents with a large number of examples in intents, especially the ones * using @sys.any or very large developer entities. * Possible values are: `MATCH_MODE_HYBRID`, `MATCH_MODE_ML_ONLY`. */ matchMode?: 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 list of all languages supported by this agent (except for the defaultLanguageCode). */ supportedLanguageCodes?: pulumi.Input[]>; /** * The agent tier. If not specified, TIER_STANDARD is assumed. * * TIER_STANDARD: Standard tier. * * TIER_ENTERPRISE: Enterprise tier (Essentials). * * TIER_ENTERPRISE_PLUS: Enterprise tier (Plus). * NOTE: Due to consistency issues, the provider will not read this field from the API. Drift is possible between * the the provider state and Dialogflow if the agent tier is changed outside of the provider. */ tier?: pulumi.Input; /** * The time zone of this agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, * Europe/Paris. */ timeZone: pulumi.Input; }