EventDestinationArgs

data class EventDestinationArgs(val cloudwatchDestinations: Output<List<EventDestinationCloudwatchDestinationArgs>>? = null, val configurationSetName: Output<String>? = null, val enabled: Output<Boolean>? = null, val kinesisDestination: Output<EventDestinationKinesisDestinationArgs>? = null, val matchingTypes: Output<List<String>>? = null, val name: Output<String>? = null, val snsDestination: Output<EventDestinationSnsDestinationArgs>? = null) : ConvertibleToJava<EventDestinationArgs>

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",
}],
});
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",
}])
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",
},
},
});
});
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
})
}
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());
}
}
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

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,
},
});
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"],
})
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,
},
});
});
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
})
}
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());
}
}
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}

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,
},
});
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"],
})
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,
},
});
});
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
})
}
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());
}
}
resources:
sns:
type: aws:ses:EventDestination
properties:
name: event-destination-sns
configurationSetName: ${exampleAwsSesConfigurationSet.name}
enabled: true
matchingTypes:
- bounce
- send
snsDestination:
topicArn: ${example.arn}

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

Constructors

Link copied to clipboard
constructor(cloudwatchDestinations: Output<List<EventDestinationCloudwatchDestinationArgs>>? = null, configurationSetName: Output<String>? = null, enabled: Output<Boolean>? = null, kinesisDestination: Output<EventDestinationKinesisDestinationArgs>? = null, matchingTypes: Output<List<String>>? = null, name: Output<String>? = null, snsDestination: Output<EventDestinationSnsDestinationArgs>? = null)

Properties

Link copied to clipboard

CloudWatch destination for the events

Link copied to clipboard
val configurationSetName: Output<String>? = null

The name of the configuration set

Link copied to clipboard
val enabled: Output<Boolean>? = null

If true, the event destination will be enabled

Link copied to clipboard

Send the events to a kinesis firehose destination

Link copied to clipboard
val matchingTypes: Output<List<String>>? = null

A list of matching types. May be any of "send", "reject", "bounce", "complaint", "delivery", "open", "click", or "renderingFailure".

Link copied to clipboard
val name: Output<String>? = null

The name of the event destination

Link copied to clipboard

Send the events to an SNS Topic destination

Functions

Link copied to clipboard
open override fun toJava(): EventDestinationArgs