Skip to content

ConfigurationSetEventDestination

The ConfigurationSetEventDestination resource allows you to manage event destinations for AWS PinpointEmail configuration sets, enabling the tracking of email events such as bounces and complaints. For more details, refer to the AWS PinpointEmail ConfigurationSetEventDestinations documentation.

Minimal Example

Create a basic configuration set event destination with required properties and a common optional property:

ts
import AWS from "alchemy/aws/control";

const eventDestination = await AWS.PinpointEmail.ConfigurationSetEventDestination("basicEventDestination", {
  EventDestinationName: "MyEventDestination",
  ConfigurationSetName: "MyConfigurationSet",
  EventDestination: {
    CloudWatchDestination: {
      DimensionConfigurations: [{
        DefaultDimensionValue: "default",
        DimensionName: "emailId",
        DimensionValueSource: "messageTag"
      }]
    },
    KinesisFirehoseDestination: {
      DeliveryStreamARN: "arn:aws:firehose:us-west-2:123456789012:deliverystream/my-delivery-stream",
      IAMRoleARN: "arn:aws:iam::123456789012:role/my-role"
    }
  }
});

Advanced Configuration

Configure an event destination with multiple destinations for improved tracking capabilities:

ts
const advancedEventDestination = await AWS.PinpointEmail.ConfigurationSetEventDestination("advancedEventDestination", {
  EventDestinationName: "AdvancedEventDestination",
  ConfigurationSetName: "MyConfigurationSet",
  EventDestination: {
    CloudWatchDestination: {
      DimensionConfigurations: [{
        DefaultDimensionValue: "default",
        DimensionName: "emailId",
        DimensionValueSource: "messageTag"
      }]
    },
    KinesisFirehoseDestination: {
      DeliveryStreamARN: "arn:aws:firehose:us-west-2:123456789012:deliverystream/my-delivery-stream",
      IAMRoleARN: "arn:aws:iam::123456789012:role/my-role"
    },
    SnsDestination: {
      TopicARN: "arn:aws:sns:us-west-2:123456789012:my-sns-topic"
    }
  }
});

Using for Multiple Destinations

Set up event destinations to track different events across multiple platforms:

ts
const multiDestinationEvent = await AWS.PinpointEmail.ConfigurationSetEventDestination("multiDestinationEvent", {
  EventDestinationName: "MultiDestinationEvent",
  ConfigurationSetName: "MyConfigurationSet",
  EventDestination: {
    CloudWatchDestination: {
      DimensionConfigurations: [{
        DefaultDimensionValue: "default",
        DimensionName: "emailId",
        DimensionValueSource: "messageTag"
      }]
    },
    SnsDestination: {
      TopicARN: "arn:aws:sns:us-west-2:123456789012:my-sns-topic"
    },
    KinesisFirehoseDestination: {
      DeliveryStreamARN: "arn:aws:firehose:us-west-2:123456789012:deliverystream/my-delivery-stream",
      IAMRoleARN: "arn:aws:iam::123456789012:role/my-role"
    }
  }
});