import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages an AWS End User Messaging SMS Event Destination. * * An event destination is a location where messaging events are published. Exactly one of `cloudwatchLogsDestination`, `kinesisFirehoseDestination`, or `snsDestination` must be configured per event destination. Changing the sink type (e.g., from `snsDestination` to `cloudwatchLogsDestination`) forces resource replacement — AWS's `UpdateEventDestination` rejects sink-type changes with `ConflictException`. * * ## Example Usage * * ### CloudWatch Logs Destination * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.pinpoint.Smsvoicev2ConfigurationSet("example", {name: "example-configuration-set"}); * const exampleSmsvoicev2EventDestination = new aws.pinpoint.Smsvoicev2EventDestination("example", { * cloudwatchLogsDestination: { * iamRoleArn: exampleAwsIamRole.arn, * logGroupArn: exampleAwsCloudwatchLogGroup.arn, * }, * configurationSetName: example.name, * eventDestinationName: "example", * matchingEventTypes: ["ALL"], * }); * ``` * * ### Kinesis Firehose Destination * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.pinpoint.Smsvoicev2ConfigurationSet("example", {name: "example-configuration-set"}); * const exampleSmsvoicev2EventDestination = new aws.pinpoint.Smsvoicev2EventDestination("example", { * kinesisFirehoseDestination: { * deliveryStreamArn: exampleAwsKinesisFirehoseDeliveryStream.arn, * iamRoleArn: exampleAwsIamRole.arn, * }, * configurationSetName: example.name, * eventDestinationName: "example", * matchingEventTypes: ["ALL"], * }); * ``` * * ### SNS Destination * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.pinpoint.Smsvoicev2ConfigurationSet("example", {name: "example-configuration-set"}); * const exampleSmsvoicev2EventDestination = new aws.pinpoint.Smsvoicev2EventDestination("example", { * snsDestination: { * topicArn: exampleAwsSnsTopic.arn, * }, * configurationSetName: example.name, * eventDestinationName: "example", * matchingEventTypes: ["ALL"], * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * * `configurationSetName` (String) Name of the configuration set this event destination belongs to. * * `eventDestinationName` (String) Name of the event destination. * * #### Optional * * * `accountId` (String) AWS Account where this resource is managed. * * `region` (String) Region where this resource is managed. * * Using `pulumi import`, import an event destination using the `configurationSetName` and `eventDestinationName`, separated by a comma. For example: * * ```sh * $ pulumi import aws:pinpoint/smsvoicev2EventDestination:Smsvoicev2EventDestination example "example-configuration-set,example-event-destination" * ``` */ export declare class Smsvoicev2EventDestination extends pulumi.CustomResource { /** * Get an existing Smsvoicev2EventDestination 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?: Smsvoicev2EventDestinationState, opts?: pulumi.CustomResourceOptions): Smsvoicev2EventDestination; /** * Returns true if the given object is an instance of Smsvoicev2EventDestination. 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 Smsvoicev2EventDestination; /** * Send events to Amazon CloudWatch Logs. Exactly one of `cloudwatchLogsDestination`, `kinesisFirehoseDestination`, or `snsDestination` must be configured. See `cloudwatchLogsDestination` Block for details. */ readonly cloudwatchLogsDestination: pulumi.Output; /** * ARN of the parent configuration set. */ readonly configurationSetArn: pulumi.Output; /** * Name of the configuration set this event destination belongs to. Changing this forces a new resource. */ readonly configurationSetName: pulumi.Output; /** * Whether the event destination is enabled. Defaults to `true`. */ readonly enabled: pulumi.Output; /** * Name of the event destination. Changing this forces a new resource. */ readonly eventDestinationName: pulumi.Output; /** * Send events to Amazon Data Firehose. Exactly one of `cloudwatchLogsDestination`, `kinesisFirehoseDestination`, or `snsDestination` must be configured. See `kinesisFirehoseDestination` Block for details. */ readonly kinesisFirehoseDestination: pulumi.Output; /** * Event types for which the destination receives records. See the [AWS API reference](https://docs.aws.amazon.com/pinpoint/latest/apireference_smsvoicev2/API_CreateEventDestination.html#pinpoint-CreateEventDestination-request-MatchingEventTypes) for valid values. * * The following arguments are optional: */ readonly matchingEventTypes: 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; /** * Send events to Amazon SNS. Exactly one of `cloudwatchLogsDestination`, `kinesisFirehoseDestination`, or `snsDestination` must be configured. See `snsDestination` Block for details. */ readonly snsDestination: pulumi.Output; /** * Create a Smsvoicev2EventDestination 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: Smsvoicev2EventDestinationArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Smsvoicev2EventDestination resources. */ export interface Smsvoicev2EventDestinationState { /** * Send events to Amazon CloudWatch Logs. Exactly one of `cloudwatchLogsDestination`, `kinesisFirehoseDestination`, or `snsDestination` must be configured. See `cloudwatchLogsDestination` Block for details. */ cloudwatchLogsDestination?: pulumi.Input; /** * ARN of the parent configuration set. */ configurationSetArn?: pulumi.Input; /** * Name of the configuration set this event destination belongs to. Changing this forces a new resource. */ configurationSetName?: pulumi.Input; /** * Whether the event destination is enabled. Defaults to `true`. */ enabled?: pulumi.Input; /** * Name of the event destination. Changing this forces a new resource. */ eventDestinationName?: pulumi.Input; /** * Send events to Amazon Data Firehose. Exactly one of `cloudwatchLogsDestination`, `kinesisFirehoseDestination`, or `snsDestination` must be configured. See `kinesisFirehoseDestination` Block for details. */ kinesisFirehoseDestination?: pulumi.Input; /** * Event types for which the destination receives records. See the [AWS API reference](https://docs.aws.amazon.com/pinpoint/latest/apireference_smsvoicev2/API_CreateEventDestination.html#pinpoint-CreateEventDestination-request-MatchingEventTypes) for valid values. * * The following arguments are optional: */ matchingEventTypes?: pulumi.Input[] | undefined>; /** * 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; /** * Send events to Amazon SNS. Exactly one of `cloudwatchLogsDestination`, `kinesisFirehoseDestination`, or `snsDestination` must be configured. See `snsDestination` Block for details. */ snsDestination?: pulumi.Input; } /** * The set of arguments for constructing a Smsvoicev2EventDestination resource. */ export interface Smsvoicev2EventDestinationArgs { /** * Send events to Amazon CloudWatch Logs. Exactly one of `cloudwatchLogsDestination`, `kinesisFirehoseDestination`, or `snsDestination` must be configured. See `cloudwatchLogsDestination` Block for details. */ cloudwatchLogsDestination?: pulumi.Input; /** * Name of the configuration set this event destination belongs to. Changing this forces a new resource. */ configurationSetName: pulumi.Input; /** * Whether the event destination is enabled. Defaults to `true`. */ enabled?: pulumi.Input; /** * Name of the event destination. Changing this forces a new resource. */ eventDestinationName: pulumi.Input; /** * Send events to Amazon Data Firehose. Exactly one of `cloudwatchLogsDestination`, `kinesisFirehoseDestination`, or `snsDestination` must be configured. See `kinesisFirehoseDestination` Block for details. */ kinesisFirehoseDestination?: pulumi.Input; /** * Event types for which the destination receives records. See the [AWS API reference](https://docs.aws.amazon.com/pinpoint/latest/apireference_smsvoicev2/API_CreateEventDestination.html#pinpoint-CreateEventDestination-request-MatchingEventTypes) for valid values. * * The following arguments are optional: */ matchingEventTypes: 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; /** * Send events to Amazon SNS. Exactly one of `cloudwatchLogsDestination`, `kinesisFirehoseDestination`, or `snsDestination` must be configured. See `snsDestination` Block for details. */ snsDestination?: pulumi.Input; } //# sourceMappingURL=smsvoicev2EventDestination.d.ts.map