import * as pulumi from "@pulumi/pulumi"; /** * Manages an AWS End User Messaging SMS Keyword. * * > **Note:** The mandatory keywords `HELP` and `STOP` exist on every origination identity and cannot be created or deleted independently of it. For these mandatory keywords only, this resource adopts and manages the `keywordMessage` in place, while `keywordAction` is managed by AWS and cannot be set. Destroying a resource that manages a mandatory keyword does not delete or reset it in AWS; the keyword remains on the origination identity with its last-applied message. Non-mandatory keywords are created and deleted normally. * * ## Example Usage * * ### Phone Number * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.pinpoint.Smsvoicev2PhoneNumber("example", { * isoCountryCode: "US", * messageType: "TRANSACTIONAL", * numberType: "SIMULATOR", * numberCapabilities: ["SMS"], * }); * const exampleSmsvoicev2Keyword = new aws.pinpoint.Smsvoicev2Keyword("example", { * originationIdentityArn: example.arn, * keyword: "EXAMPLE", * keywordMessage: "Thanks for messaging our example number.", * }); * ``` * * ### Pool * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.pinpoint.Smsvoicev2PhoneNumber("example", { * isoCountryCode: "US", * messageType: "TRANSACTIONAL", * numberType: "SIMULATOR", * numberCapabilities: ["SMS"], * }); * const exampleSmsvoicev2Pool = new aws.pinpoint.Smsvoicev2Pool("example", { * isoCountryCode: "US", * messageType: "TRANSACTIONAL", * originationIdentities: [example.arn], * }); * const exampleSmsvoicev2Keyword = new aws.pinpoint.Smsvoicev2Keyword("example", { * originationIdentityArn: exampleSmsvoicev2Pool.arn, * keyword: "OPTOUT", * keywordMessage: "You have been unsubscribed.", * keywordAction: "OPT_OUT", * }); * ``` * * ### Mandatory Keyword * * The mandatory `HELP` and `STOP` keywords are adopted rather than created. Omit `keywordAction`; AWS manages it. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.pinpoint.Smsvoicev2PhoneNumber("example", { * isoCountryCode: "US", * messageType: "TRANSACTIONAL", * numberType: "SIMULATOR", * numberCapabilities: ["SMS"], * }); * const help = new aws.pinpoint.Smsvoicev2Keyword("help", { * originationIdentityArn: example.arn, * keyword: "HELP", * keywordMessage: "Reply STOP to unsubscribe. Message and data rates may apply.", * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * * `originationIdentityArn` (String) ARN of the origination identity the keyword is attached to. * * `keyword` (String) Keyword text. * * #### Optional * * * `accountId` (String) AWS Account where this resource is managed. * * `region` (String) Region where this resource is managed. * * Using `pulumi import`, import a keyword using the `originationIdentityArn` and `keyword`, separated by a comma. For example: * * ```sh * $ pulumi import aws:pinpoint/smsvoicev2Keyword:Smsvoicev2Keyword example "arn:aws:sms-voice:us-east-1:123456789012:phone-number/phone-abcdef0123456789abcdef0123456789,EXAMPLE" * ``` */ export declare class Smsvoicev2Keyword extends pulumi.CustomResource { /** * Get an existing Smsvoicev2Keyword 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?: Smsvoicev2KeywordState, opts?: pulumi.CustomResourceOptions): Smsvoicev2Keyword; /** * Returns true if the given object is an instance of Smsvoicev2Keyword. 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 Smsvoicev2Keyword; /** * Keyword to configure. Must be upper-case; AWS stores keywords in upper-case. 1-30 characters and cannot start or end with a space. Changing this forces a new resource. */ readonly keyword: pulumi.Output; /** * Action to perform when the keyword is received. Valid values: `AUTOMATIC_RESPONSE`, `OPT_OUT`, `OPT_IN`. Defaults to `AUTOMATIC_RESPONSE`. Must not be set for mandatory keywords, whose action is managed by AWS. */ readonly keywordAction: pulumi.Output; /** * Message to send when the keyword is received. */ readonly keywordMessage: pulumi.Output; /** * ARN of the origination identity (phone number or pool) to attach the keyword to. Changing this forces a new resource. * * The following arguments are optional: */ readonly originationIdentityArn: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * Create a Smsvoicev2Keyword 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: Smsvoicev2KeywordArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Smsvoicev2Keyword resources. */ export interface Smsvoicev2KeywordState { /** * Keyword to configure. Must be upper-case; AWS stores keywords in upper-case. 1-30 characters and cannot start or end with a space. Changing this forces a new resource. */ keyword?: pulumi.Input; /** * Action to perform when the keyword is received. Valid values: `AUTOMATIC_RESPONSE`, `OPT_OUT`, `OPT_IN`. Defaults to `AUTOMATIC_RESPONSE`. Must not be set for mandatory keywords, whose action is managed by AWS. */ keywordAction?: pulumi.Input; /** * Message to send when the keyword is received. */ keywordMessage?: pulumi.Input; /** * ARN of the origination identity (phone number or pool) to attach the keyword to. Changing this forces a new resource. * * The following arguments are optional: */ originationIdentityArn?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; } /** * The set of arguments for constructing a Smsvoicev2Keyword resource. */ export interface Smsvoicev2KeywordArgs { /** * Keyword to configure. Must be upper-case; AWS stores keywords in upper-case. 1-30 characters and cannot start or end with a space. Changing this forces a new resource. */ keyword: pulumi.Input; /** * Action to perform when the keyword is received. Valid values: `AUTOMATIC_RESPONSE`, `OPT_OUT`, `OPT_IN`. Defaults to `AUTOMATIC_RESPONSE`. Must not be set for mandatory keywords, whose action is managed by AWS. */ keywordAction?: pulumi.Input; /** * Message to send when the keyword is received. */ keywordMessage: pulumi.Input; /** * ARN of the origination identity (phone number or pool) to attach the keyword to. Changing this forces a new resource. * * The following arguments are optional: */ originationIdentityArn: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; } //# sourceMappingURL=smsvoicev2Keyword.d.ts.map