@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
280 lines (279 loc) • 13 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Entities are extracted from user input and represent parameters that are meaningful to your application.
* For example, a date range, a proper name such as a geographic location or landmark, and so on. Entities represent actionable data for your application.
*
* To get more information about EntityType, see:
*
* * [API documentation](https://cloud.google.com/dialogflow/cx/docs/reference/rest/v3/projects.locations.agents.entityTypes)
* * How-to Guides
* * [Official Documentation](https://cloud.google.com/dialogflow/cx/docs)
*
* ## Example Usage
*
* ### Dialogflowcx Entity Type Full
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const agent = new gcp.diagflow.CxAgent("agent", {
* displayName: "dialogflowcx-agent",
* location: "global",
* 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",
* enableStackdriverLogging: true,
* enableSpellCorrection: true,
* speechToTextSettings: {
* enableSpeechAdaptation: true,
* },
* });
* const basicEntityType = new gcp.diagflow.CxEntityType("basic_entity_type", {
* parent: agent.id,
* displayName: "MyEntity",
* kind: "KIND_MAP",
* entities: [
* {
* value: "value1",
* synonyms: [
* "synonym1",
* "synonym2",
* ],
* },
* {
* value: "value2",
* synonyms: [
* "synonym3",
* "synonym4",
* ],
* },
* ],
* enableFuzzyExtraction: false,
* });
* ```
*
* ## Import
*
* EntityType can be imported using any of these accepted formats:
*
* * `{{parent}}/entityTypes/{{name}}`
*
* * `{{parent}}/{{name}}`
*
* When using the `pulumi import` command, EntityType can be imported using one of the formats above. For example:
*
* ```sh
* $ pulumi import gcp:diagflow/cxEntityType:CxEntityType default {{parent}}/entityTypes/{{name}}
* ```
*
* ```sh
* $ pulumi import gcp:diagflow/cxEntityType:CxEntityType default {{parent}}/{{name}}
* ```
*/
export declare class CxEntityType extends pulumi.CustomResource {
/**
* Get an existing CxEntityType 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?: CxEntityTypeState, opts?: pulumi.CustomResourceOptions): CxEntityType;
/**
* Returns true if the given object is an instance of CxEntityType. 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 CxEntityType;
/**
* Represents kinds of entities.
* * AUTO_EXPANSION_MODE_UNSPECIFIED: Auto expansion disabled for the entity.
* * AUTO_EXPANSION_MODE_DEFAULT: Allows an agent to recognize values that have not been explicitly listed in the entity.
* Possible values are: `AUTO_EXPANSION_MODE_DEFAULT`, `AUTO_EXPANSION_MODE_UNSPECIFIED`.
*/
readonly autoExpansionMode: pulumi.Output<string | undefined>;
/**
* The human-readable name of the entity type, unique within the agent.
*/
readonly displayName: pulumi.Output<string>;
/**
* Enables fuzzy entity extraction during classification.
*/
readonly enableFuzzyExtraction: pulumi.Output<boolean | undefined>;
/**
* The collection of entity entries associated with the entity type.
* Structure is documented below.
*/
readonly entities: pulumi.Output<outputs.diagflow.CxEntityTypeEntity[]>;
/**
* Collection of exceptional words and phrases that shouldn't be matched. For example, if you have a size entity type with entry giant(an adjective), you might consider adding giants(a noun) as an exclusion.
* If the kind of entity type is KIND_MAP, then the phrases specified by entities and excluded phrases should be mutually exclusive.
* Structure is documented below.
*/
readonly excludedPhrases: pulumi.Output<outputs.diagflow.CxEntityTypeExcludedPhrase[] | undefined>;
/**
* Indicates whether the entity type can be automatically expanded.
* * KIND_MAP: Map entity types allow mapping of a group of synonyms to a canonical value.
* * KIND_LIST: List entity types contain a set of entries that do not map to canonical values. However, list entity types can contain references to other entity types (with or without aliases).
* * KIND_REGEXP: Regexp entity types allow to specify regular expressions in entries values.
* Possible values are: `KIND_MAP`, `KIND_LIST`, `KIND_REGEXP`.
*/
readonly kind: pulumi.Output<string>;
/**
* The language of the following fields in entityType:
* EntityType.entities.value
* EntityType.entities.synonyms
* EntityType.excluded_phrases.value
* If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
*/
readonly languageCode: pulumi.Output<string | undefined>;
/**
* The unique identifier of the entity type.
* Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/entityTypes/<Entity Type ID>.
*/
readonly name: pulumi.Output<string>;
/**
* The agent to create a entity type for.
* Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>.
*/
readonly parent: pulumi.Output<string | undefined>;
/**
* Indicates whether parameters of the entity type should be redacted in log. If redaction is enabled, page parameters and intent parameters referring to the entity type will be replaced by parameter name when logging.
*/
readonly redact: pulumi.Output<boolean | undefined>;
/**
* Create a CxEntityType 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: CxEntityTypeArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering CxEntityType resources.
*/
export interface CxEntityTypeState {
/**
* Represents kinds of entities.
* * AUTO_EXPANSION_MODE_UNSPECIFIED: Auto expansion disabled for the entity.
* * AUTO_EXPANSION_MODE_DEFAULT: Allows an agent to recognize values that have not been explicitly listed in the entity.
* Possible values are: `AUTO_EXPANSION_MODE_DEFAULT`, `AUTO_EXPANSION_MODE_UNSPECIFIED`.
*/
autoExpansionMode?: pulumi.Input<string>;
/**
* The human-readable name of the entity type, unique within the agent.
*/
displayName?: pulumi.Input<string>;
/**
* Enables fuzzy entity extraction during classification.
*/
enableFuzzyExtraction?: pulumi.Input<boolean>;
/**
* The collection of entity entries associated with the entity type.
* Structure is documented below.
*/
entities?: pulumi.Input<pulumi.Input<inputs.diagflow.CxEntityTypeEntity>[]>;
/**
* Collection of exceptional words and phrases that shouldn't be matched. For example, if you have a size entity type with entry giant(an adjective), you might consider adding giants(a noun) as an exclusion.
* If the kind of entity type is KIND_MAP, then the phrases specified by entities and excluded phrases should be mutually exclusive.
* Structure is documented below.
*/
excludedPhrases?: pulumi.Input<pulumi.Input<inputs.diagflow.CxEntityTypeExcludedPhrase>[]>;
/**
* Indicates whether the entity type can be automatically expanded.
* * KIND_MAP: Map entity types allow mapping of a group of synonyms to a canonical value.
* * KIND_LIST: List entity types contain a set of entries that do not map to canonical values. However, list entity types can contain references to other entity types (with or without aliases).
* * KIND_REGEXP: Regexp entity types allow to specify regular expressions in entries values.
* Possible values are: `KIND_MAP`, `KIND_LIST`, `KIND_REGEXP`.
*/
kind?: pulumi.Input<string>;
/**
* The language of the following fields in entityType:
* EntityType.entities.value
* EntityType.entities.synonyms
* EntityType.excluded_phrases.value
* If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
*/
languageCode?: pulumi.Input<string>;
/**
* The unique identifier of the entity type.
* Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/entityTypes/<Entity Type ID>.
*/
name?: pulumi.Input<string>;
/**
* The agent to create a entity type for.
* Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>.
*/
parent?: pulumi.Input<string>;
/**
* Indicates whether parameters of the entity type should be redacted in log. If redaction is enabled, page parameters and intent parameters referring to the entity type will be replaced by parameter name when logging.
*/
redact?: pulumi.Input<boolean>;
}
/**
* The set of arguments for constructing a CxEntityType resource.
*/
export interface CxEntityTypeArgs {
/**
* Represents kinds of entities.
* * AUTO_EXPANSION_MODE_UNSPECIFIED: Auto expansion disabled for the entity.
* * AUTO_EXPANSION_MODE_DEFAULT: Allows an agent to recognize values that have not been explicitly listed in the entity.
* Possible values are: `AUTO_EXPANSION_MODE_DEFAULT`, `AUTO_EXPANSION_MODE_UNSPECIFIED`.
*/
autoExpansionMode?: pulumi.Input<string>;
/**
* The human-readable name of the entity type, unique within the agent.
*/
displayName: pulumi.Input<string>;
/**
* Enables fuzzy entity extraction during classification.
*/
enableFuzzyExtraction?: pulumi.Input<boolean>;
/**
* The collection of entity entries associated with the entity type.
* Structure is documented below.
*/
entities: pulumi.Input<pulumi.Input<inputs.diagflow.CxEntityTypeEntity>[]>;
/**
* Collection of exceptional words and phrases that shouldn't be matched. For example, if you have a size entity type with entry giant(an adjective), you might consider adding giants(a noun) as an exclusion.
* If the kind of entity type is KIND_MAP, then the phrases specified by entities and excluded phrases should be mutually exclusive.
* Structure is documented below.
*/
excludedPhrases?: pulumi.Input<pulumi.Input<inputs.diagflow.CxEntityTypeExcludedPhrase>[]>;
/**
* Indicates whether the entity type can be automatically expanded.
* * KIND_MAP: Map entity types allow mapping of a group of synonyms to a canonical value.
* * KIND_LIST: List entity types contain a set of entries that do not map to canonical values. However, list entity types can contain references to other entity types (with or without aliases).
* * KIND_REGEXP: Regexp entity types allow to specify regular expressions in entries values.
* Possible values are: `KIND_MAP`, `KIND_LIST`, `KIND_REGEXP`.
*/
kind: pulumi.Input<string>;
/**
* The language of the following fields in entityType:
* EntityType.entities.value
* EntityType.entities.synonyms
* EntityType.excluded_phrases.value
* If not specified, the agent's default language is used. Many languages are supported. Note: languages must be enabled in the agent before they can be used.
*/
languageCode?: pulumi.Input<string>;
/**
* The agent to create a entity type for.
* Format: projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>.
*/
parent?: pulumi.Input<string>;
/**
* Indicates whether parameters of the entity type should be redacted in log. If redaction is enabled, page parameters and intent parameters referring to the entity type will be replaced by parameter name when logging.
*/
redact?: pulumi.Input<boolean>;
}