Event Destination
Provides an SES event destination
Example Usage
CloudWatch Destination
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const cloudwatch = new aws.ses.EventDestination("cloudwatch", {
name: "event-destination-cloudwatch",
configurationSetName: example.name,
enabled: true,
matchingTypes: [
"bounce",
"send",
],
cloudwatchDestinations: [{
defaultValue: "default",
dimensionName: "dimension",
valueSource: "emailHeader",
}],
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
cloudwatch = aws.ses.EventDestination("cloudwatch",
name="event-destination-cloudwatch",
configuration_set_name=example["name"],
enabled=True,
matching_types=[
"bounce",
"send",
],
cloudwatch_destinations=[{
"default_value": "default",
"dimension_name": "dimension",
"value_source": "emailHeader",
}])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var cloudwatch = new Aws.Ses.EventDestination("cloudwatch", new()
{
Name = "event-destination-cloudwatch",
ConfigurationSetName = example.Name,
Enabled = true,
MatchingTypes = new[]
{
"bounce",
"send",
},
CloudwatchDestinations = new[]
{
new Aws.Ses.Inputs.EventDestinationCloudwatchDestinationArgs
{
DefaultValue = "default",
DimensionName = "dimension",
ValueSource = "emailHeader",
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ses.NewEventDestination(ctx, "cloudwatch", &ses.EventDestinationArgs{
Name: pulumi.String("event-destination-cloudwatch"),
ConfigurationSetName: pulumi.Any(example.Name),
Enabled: pulumi.Bool(true),
MatchingTypes: pulumi.StringArray{
pulumi.String("bounce"),
pulumi.String("send"),
},
CloudwatchDestinations: ses.EventDestinationCloudwatchDestinationArray{
&ses.EventDestinationCloudwatchDestinationArgs{
DefaultValue: pulumi.String("default"),
DimensionName: pulumi.String("dimension"),
ValueSource: pulumi.String("emailHeader"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ses.EventDestination;
import com.pulumi.aws.ses.EventDestinationArgs;
import com.pulumi.aws.ses.inputs.EventDestinationCloudwatchDestinationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var cloudwatch = new EventDestination("cloudwatch", EventDestinationArgs.builder()
.name("event-destination-cloudwatch")
.configurationSetName(example.name())
.enabled(true)
.matchingTypes(
"bounce",
"send")
.cloudwatchDestinations(EventDestinationCloudwatchDestinationArgs.builder()
.defaultValue("default")
.dimensionName("dimension")
.valueSource("emailHeader")
.build())
.build());
}
}
Content copied to clipboard
resources:
cloudwatch:
type: aws:ses:EventDestination
properties:
name: event-destination-cloudwatch
configurationSetName: ${example.name}
enabled: true
matchingTypes:
- bounce
- send
cloudwatchDestinations:
- defaultValue: default
dimensionName: dimension
valueSource: emailHeader
Content copied to clipboard
Kinesis Destination
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const kinesis = new aws.ses.EventDestination("kinesis", {
name: "event-destination-kinesis",
configurationSetName: exampleAwsSesConfigurationSet.name,
enabled: true,
matchingTypes: [
"bounce",
"send",
],
kinesisDestination: {
streamArn: exampleAwsKinesisFirehoseDeliveryStream.arn,
roleArn: example.arn,
},
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
kinesis = aws.ses.EventDestination("kinesis",
name="event-destination-kinesis",
configuration_set_name=example_aws_ses_configuration_set["name"],
enabled=True,
matching_types=[
"bounce",
"send",
],
kinesis_destination={
"stream_arn": example_aws_kinesis_firehose_delivery_stream["arn"],
"role_arn": example["arn"],
})
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var kinesis = new Aws.Ses.EventDestination("kinesis", new()
{
Name = "event-destination-kinesis",
ConfigurationSetName = exampleAwsSesConfigurationSet.Name,
Enabled = true,
MatchingTypes = new[]
{
"bounce",
"send",
},
KinesisDestination = new Aws.Ses.Inputs.EventDestinationKinesisDestinationArgs
{
StreamArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,
RoleArn = example.Arn,
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ses.NewEventDestination(ctx, "kinesis", &ses.EventDestinationArgs{
Name: pulumi.String("event-destination-kinesis"),
ConfigurationSetName: pulumi.Any(exampleAwsSesConfigurationSet.Name),
Enabled: pulumi.Bool(true),
MatchingTypes: pulumi.StringArray{
pulumi.String("bounce"),
pulumi.String("send"),
},
KinesisDestination: &ses.EventDestinationKinesisDestinationArgs{
StreamArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),
RoleArn: pulumi.Any(example.Arn),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ses.EventDestination;
import com.pulumi.aws.ses.EventDestinationArgs;
import com.pulumi.aws.ses.inputs.EventDestinationKinesisDestinationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var kinesis = new EventDestination("kinesis", EventDestinationArgs.builder()
.name("event-destination-kinesis")
.configurationSetName(exampleAwsSesConfigurationSet.name())
.enabled(true)
.matchingTypes(
"bounce",
"send")
.kinesisDestination(EventDestinationKinesisDestinationArgs.builder()
.streamArn(exampleAwsKinesisFirehoseDeliveryStream.arn())
.roleArn(example.arn())
.build())
.build());
}
}
Content copied to clipboard
resources:
kinesis:
type: aws:ses:EventDestination
properties:
name: event-destination-kinesis
configurationSetName: ${exampleAwsSesConfigurationSet.name}
enabled: true
matchingTypes:
- bounce
- send
kinesisDestination:
streamArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}
roleArn: ${example.arn}
Content copied to clipboard
SNS Destination
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const sns = new aws.ses.EventDestination("sns", {
name: "event-destination-sns",
configurationSetName: exampleAwsSesConfigurationSet.name,
enabled: true,
matchingTypes: [
"bounce",
"send",
],
snsDestination: {
topicArn: example.arn,
},
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
sns = aws.ses.EventDestination("sns",
name="event-destination-sns",
configuration_set_name=example_aws_ses_configuration_set["name"],
enabled=True,
matching_types=[
"bounce",
"send",
],
sns_destination={
"topic_arn": example["arn"],
})
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var sns = new Aws.Ses.EventDestination("sns", new()
{
Name = "event-destination-sns",
ConfigurationSetName = exampleAwsSesConfigurationSet.Name,
Enabled = true,
MatchingTypes = new[]
{
"bounce",
"send",
},
SnsDestination = new Aws.Ses.Inputs.EventDestinationSnsDestinationArgs
{
TopicArn = example.Arn,
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ses"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ses.NewEventDestination(ctx, "sns", &ses.EventDestinationArgs{
Name: pulumi.String("event-destination-sns"),
ConfigurationSetName: pulumi.Any(exampleAwsSesConfigurationSet.Name),
Enabled: pulumi.Bool(true),
MatchingTypes: pulumi.StringArray{
pulumi.String("bounce"),
pulumi.String("send"),
},
SnsDestination: &ses.EventDestinationSnsDestinationArgs{
TopicArn: pulumi.Any(example.Arn),
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ses.EventDestination;
import com.pulumi.aws.ses.EventDestinationArgs;
import com.pulumi.aws.ses.inputs.EventDestinationSnsDestinationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var sns = new EventDestination("sns", EventDestinationArgs.builder()
.name("event-destination-sns")
.configurationSetName(exampleAwsSesConfigurationSet.name())
.enabled(true)
.matchingTypes(
"bounce",
"send")
.snsDestination(EventDestinationSnsDestinationArgs.builder()
.topicArn(example.arn())
.build())
.build());
}
}
Content copied to clipboard
resources:
sns:
type: aws:ses:EventDestination
properties:
name: event-destination-sns
configurationSetName: ${exampleAwsSesConfigurationSet.name}
enabled: true
matchingTypes:
- bounce
- send
snsDestination:
topicArn: ${example.arn}
Content copied to clipboard
Import
Using pulumi import
, import SES event destinations using configuration_set_name
together with the event destination's name
. For example:
$ pulumi import aws:ses/eventDestination:EventDestination sns some-configuration-set-test/event-destination-sns
Content copied to clipboard
Properties
Link copied to clipboard
CloudWatch destination for the events
Link copied to clipboard
The name of the configuration set
Link copied to clipboard
Send the events to a kinesis firehose destination
Link copied to clipboard
A list of matching types. May be any of "send"
, "reject"
, "bounce"
, "complaint"
, "delivery"
, "open"
, "click"
, or "renderingFailure"
.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Send the events to an SNS Topic destination