Event Destination Args
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",
}],
});
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
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
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
Send the events to an SNS Topic destination