ConfigurationSetEventDestinationArgs

data class ConfigurationSetEventDestinationArgs(val configurationSetName: Output<String>? = null, val eventDestination: Output<ConfigurationSetEventDestinationEventDestinationArgs>? = null, val eventDestinationName: Output<String>? = null) : ConvertibleToJava<ConfigurationSetEventDestinationArgs>

Resource for managing an AWS SESv2 (Simple Email V2) Configuration Set Event Destination.

Example Usage

Cloud Watch Destination

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.sesv2.ConfigurationSet("example", {configurationSetName: "example"});
const exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination("example", {
configurationSetName: example.configurationSetName,
eventDestinationName: "example",
eventDestination: {
cloudWatchDestination: {
dimensionConfigurations: [{
defaultDimensionValue: "example",
dimensionName: "example",
dimensionValueSource: "MESSAGE_TAG",
}],
},
enabled: true,
matchingEventTypes: ["SEND"],
},
});
import pulumi
import pulumi_aws as aws
example = aws.sesv2.ConfigurationSet("example", configuration_set_name="example")
example_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination("example",
configuration_set_name=example.configuration_set_name,
event_destination_name="example",
event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(
cloud_watch_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs(
dimension_configurations=[aws.sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs(
default_dimension_value="example",
dimension_name="example",
dimension_value_source="MESSAGE_TAG",
)],
),
enabled=True,
matching_event_types=["SEND"],
))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.SesV2.ConfigurationSet("example", new()
{
ConfigurationSetName = "example",
});
var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination("example", new()
{
ConfigurationSetName = example.ConfigurationSetName,
EventDestinationName = "example",
EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs
{
CloudWatchDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs
{
DimensionConfigurations = new[]
{
new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs
{
DefaultDimensionValue = "example",
DimensionName = "example",
DimensionValueSource = "MESSAGE_TAG",
},
},
},
Enabled = true,
MatchingEventTypes = new[]
{
"SEND",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := sesv2.NewConfigurationSet(ctx, "example", &sesv2.ConfigurationSetArgs{
ConfigurationSetName: pulumi.String("example"),
})
if err != nil {
return err
}
_, err = sesv2.NewConfigurationSetEventDestination(ctx, "example", &sesv2.ConfigurationSetEventDestinationArgs{
ConfigurationSetName: example.ConfigurationSetName,
EventDestinationName: pulumi.String("example"),
EventDestination: &sesv2.ConfigurationSetEventDestinationEventDestinationArgs{
CloudWatchDestination: &sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs{
DimensionConfigurations: sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArray{
&sesv2.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs{
DefaultDimensionValue: pulumi.String("example"),
DimensionName: pulumi.String("example"),
DimensionValueSource: pulumi.String("MESSAGE_TAG"),
},
},
},
Enabled: pulumi.Bool(true),
MatchingEventTypes: pulumi.StringArray{
pulumi.String("SEND"),
},
},
})
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.sesv2.ConfigurationSet;
import com.pulumi.aws.sesv2.ConfigurationSetArgs;
import com.pulumi.aws.sesv2.ConfigurationSetEventDestination;
import com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;
import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;
import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs;
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 example = new ConfigurationSet("example", ConfigurationSetArgs.builder()
.configurationSetName("example")
.build());
var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder()
.configurationSetName(example.configurationSetName())
.eventDestinationName("example")
.eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()
.cloudWatchDestination(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationArgs.builder()
.dimensionConfigurations(ConfigurationSetEventDestinationEventDestinationCloudWatchDestinationDimensionConfigurationArgs.builder()
.defaultDimensionValue("example")
.dimensionName("example")
.dimensionValueSource("MESSAGE_TAG")
.build())
.build())
.enabled(true)
.matchingEventTypes("SEND")
.build())
.build());
}
}
resources:
example:
type: aws:sesv2:ConfigurationSet
properties:
configurationSetName: example
exampleConfigurationSetEventDestination:
type: aws:sesv2:ConfigurationSetEventDestination
name: example
properties:
configurationSetName: ${example.configurationSetName}
eventDestinationName: example
eventDestination:
cloudWatchDestination:
dimensionConfigurations:
- defaultDimensionValue: example
dimensionName: example
dimensionValueSource: MESSAGE_TAG
enabled: true
matchingEventTypes:
- SEND

Kinesis Firehose Destination

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.sesv2.ConfigurationSet("example", {configurationSetName: "example"});
const exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination("example", {
configurationSetName: example.configurationSetName,
eventDestinationName: "example",
eventDestination: {
kinesisFirehoseDestination: {
deliveryStreamArn: exampleAwsKinesisFirehoseDeliveryStream.arn,
iamRoleArn: exampleAwsIamRole.arn,
},
enabled: true,
matchingEventTypes: ["SEND"],
},
});
import pulumi
import pulumi_aws as aws
example = aws.sesv2.ConfigurationSet("example", configuration_set_name="example")
example_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination("example",
configuration_set_name=example.configuration_set_name,
event_destination_name="example",
event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(
kinesis_firehose_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs(
delivery_stream_arn=example_aws_kinesis_firehose_delivery_stream["arn"],
iam_role_arn=example_aws_iam_role["arn"],
),
enabled=True,
matching_event_types=["SEND"],
))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.SesV2.ConfigurationSet("example", new()
{
ConfigurationSetName = "example",
});
var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination("example", new()
{
ConfigurationSetName = example.ConfigurationSetName,
EventDestinationName = "example",
EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs
{
KinesisFirehoseDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs
{
DeliveryStreamArn = exampleAwsKinesisFirehoseDeliveryStream.Arn,
IamRoleArn = exampleAwsIamRole.Arn,
},
Enabled = true,
MatchingEventTypes = new[]
{
"SEND",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := sesv2.NewConfigurationSet(ctx, "example", &sesv2.ConfigurationSetArgs{
ConfigurationSetName: pulumi.String("example"),
})
if err != nil {
return err
}
_, err = sesv2.NewConfigurationSetEventDestination(ctx, "example", &sesv2.ConfigurationSetEventDestinationArgs{
ConfigurationSetName: example.ConfigurationSetName,
EventDestinationName: pulumi.String("example"),
EventDestination: &sesv2.ConfigurationSetEventDestinationEventDestinationArgs{
KinesisFirehoseDestination: &sesv2.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs{
DeliveryStreamArn: pulumi.Any(exampleAwsKinesisFirehoseDeliveryStream.Arn),
IamRoleArn: pulumi.Any(exampleAwsIamRole.Arn),
},
Enabled: pulumi.Bool(true),
MatchingEventTypes: pulumi.StringArray{
pulumi.String("SEND"),
},
},
})
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.sesv2.ConfigurationSet;
import com.pulumi.aws.sesv2.ConfigurationSetArgs;
import com.pulumi.aws.sesv2.ConfigurationSetEventDestination;
import com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;
import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;
import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs;
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 example = new ConfigurationSet("example", ConfigurationSetArgs.builder()
.configurationSetName("example")
.build());
var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder()
.configurationSetName(example.configurationSetName())
.eventDestinationName("example")
.eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()
.kinesisFirehoseDestination(ConfigurationSetEventDestinationEventDestinationKinesisFirehoseDestinationArgs.builder()
.deliveryStreamArn(exampleAwsKinesisFirehoseDeliveryStream.arn())
.iamRoleArn(exampleAwsIamRole.arn())
.build())
.enabled(true)
.matchingEventTypes("SEND")
.build())
.build());
}
}
resources:
example:
type: aws:sesv2:ConfigurationSet
properties:
configurationSetName: example
exampleConfigurationSetEventDestination:
type: aws:sesv2:ConfigurationSetEventDestination
name: example
properties:
configurationSetName: ${example.configurationSetName}
eventDestinationName: example
eventDestination:
kinesisFirehoseDestination:
deliveryStreamArn: ${exampleAwsKinesisFirehoseDeliveryStream.arn}
iamRoleArn: ${exampleAwsIamRole.arn}
enabled: true
matchingEventTypes:
- SEND

Pinpoint Destination

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.sesv2.ConfigurationSet("example", {configurationSetName: "example"});
const exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination("example", {
configurationSetName: example.configurationSetName,
eventDestinationName: "example",
eventDestination: {
pinpointDestination: {
applicationArn: exampleAwsPinpointApp.arn,
},
enabled: true,
matchingEventTypes: ["SEND"],
},
});
import pulumi
import pulumi_aws as aws
example = aws.sesv2.ConfigurationSet("example", configuration_set_name="example")
example_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination("example",
configuration_set_name=example.configuration_set_name,
event_destination_name="example",
event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(
pinpoint_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs(
application_arn=example_aws_pinpoint_app["arn"],
),
enabled=True,
matching_event_types=["SEND"],
))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.SesV2.ConfigurationSet("example", new()
{
ConfigurationSetName = "example",
});
var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination("example", new()
{
ConfigurationSetName = example.ConfigurationSetName,
EventDestinationName = "example",
EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs
{
PinpointDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs
{
ApplicationArn = exampleAwsPinpointApp.Arn,
},
Enabled = true,
MatchingEventTypes = new[]
{
"SEND",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := sesv2.NewConfigurationSet(ctx, "example", &sesv2.ConfigurationSetArgs{
ConfigurationSetName: pulumi.String("example"),
})
if err != nil {
return err
}
_, err = sesv2.NewConfigurationSetEventDestination(ctx, "example", &sesv2.ConfigurationSetEventDestinationArgs{
ConfigurationSetName: example.ConfigurationSetName,
EventDestinationName: pulumi.String("example"),
EventDestination: &sesv2.ConfigurationSetEventDestinationEventDestinationArgs{
PinpointDestination: &sesv2.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs{
ApplicationArn: pulumi.Any(exampleAwsPinpointApp.Arn),
},
Enabled: pulumi.Bool(true),
MatchingEventTypes: pulumi.StringArray{
pulumi.String("SEND"),
},
},
})
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.sesv2.ConfigurationSet;
import com.pulumi.aws.sesv2.ConfigurationSetArgs;
import com.pulumi.aws.sesv2.ConfigurationSetEventDestination;
import com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;
import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;
import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs;
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 example = new ConfigurationSet("example", ConfigurationSetArgs.builder()
.configurationSetName("example")
.build());
var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder()
.configurationSetName(example.configurationSetName())
.eventDestinationName("example")
.eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()
.pinpointDestination(ConfigurationSetEventDestinationEventDestinationPinpointDestinationArgs.builder()
.applicationArn(exampleAwsPinpointApp.arn())
.build())
.enabled(true)
.matchingEventTypes("SEND")
.build())
.build());
}
}
resources:
example:
type: aws:sesv2:ConfigurationSet
properties:
configurationSetName: example
exampleConfigurationSetEventDestination:
type: aws:sesv2:ConfigurationSetEventDestination
name: example
properties:
configurationSetName: ${example.configurationSetName}
eventDestinationName: example
eventDestination:
pinpointDestination:
applicationArn: ${exampleAwsPinpointApp.arn}
enabled: true
matchingEventTypes:
- SEND

SNS Destination

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.sesv2.ConfigurationSet("example", {configurationSetName: "example"});
const exampleConfigurationSetEventDestination = new aws.sesv2.ConfigurationSetEventDestination("example", {
configurationSetName: example.configurationSetName,
eventDestinationName: "example",
eventDestination: {
snsDestination: {
topicArn: exampleAwsSnsTopic.arn,
},
enabled: true,
matchingEventTypes: ["SEND"],
},
});
import pulumi
import pulumi_aws as aws
example = aws.sesv2.ConfigurationSet("example", configuration_set_name="example")
example_configuration_set_event_destination = aws.sesv2.ConfigurationSetEventDestination("example",
configuration_set_name=example.configuration_set_name,
event_destination_name="example",
event_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationArgs(
sns_destination=aws.sesv2.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs(
topic_arn=example_aws_sns_topic["arn"],
),
enabled=True,
matching_event_types=["SEND"],
))
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.SesV2.ConfigurationSet("example", new()
{
ConfigurationSetName = "example",
});
var exampleConfigurationSetEventDestination = new Aws.SesV2.ConfigurationSetEventDestination("example", new()
{
ConfigurationSetName = example.ConfigurationSetName,
EventDestinationName = "example",
EventDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationArgs
{
SnsDestination = new Aws.SesV2.Inputs.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs
{
TopicArn = exampleAwsSnsTopic.Arn,
},
Enabled = true,
MatchingEventTypes = new[]
{
"SEND",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/sesv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := sesv2.NewConfigurationSet(ctx, "example", &sesv2.ConfigurationSetArgs{
ConfigurationSetName: pulumi.String("example"),
})
if err != nil {
return err
}
_, err = sesv2.NewConfigurationSetEventDestination(ctx, "example", &sesv2.ConfigurationSetEventDestinationArgs{
ConfigurationSetName: example.ConfigurationSetName,
EventDestinationName: pulumi.String("example"),
EventDestination: &sesv2.ConfigurationSetEventDestinationEventDestinationArgs{
SnsDestination: &sesv2.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs{
TopicArn: pulumi.Any(exampleAwsSnsTopic.Arn),
},
Enabled: pulumi.Bool(true),
MatchingEventTypes: pulumi.StringArray{
pulumi.String("SEND"),
},
},
})
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.sesv2.ConfigurationSet;
import com.pulumi.aws.sesv2.ConfigurationSetArgs;
import com.pulumi.aws.sesv2.ConfigurationSetEventDestination;
import com.pulumi.aws.sesv2.ConfigurationSetEventDestinationArgs;
import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationArgs;
import com.pulumi.aws.sesv2.inputs.ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs;
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 example = new ConfigurationSet("example", ConfigurationSetArgs.builder()
.configurationSetName("example")
.build());
var exampleConfigurationSetEventDestination = new ConfigurationSetEventDestination("exampleConfigurationSetEventDestination", ConfigurationSetEventDestinationArgs.builder()
.configurationSetName(example.configurationSetName())
.eventDestinationName("example")
.eventDestination(ConfigurationSetEventDestinationEventDestinationArgs.builder()
.snsDestination(ConfigurationSetEventDestinationEventDestinationSnsDestinationArgs.builder()
.topicArn(exampleAwsSnsTopic.arn())
.build())
.enabled(true)
.matchingEventTypes("SEND")
.build())
.build());
}
}
resources:
example:
type: aws:sesv2:ConfigurationSet
properties:
configurationSetName: example
exampleConfigurationSetEventDestination:
type: aws:sesv2:ConfigurationSetEventDestination
name: example
properties:
configurationSetName: ${example.configurationSetName}
eventDestinationName: example
eventDestination:
snsDestination:
topicArn: ${exampleAwsSnsTopic.arn}
enabled: true
matchingEventTypes:
- SEND

Import

Using pulumi import, import SESv2 (Simple Email V2) Configuration Set Event Destination using the id (configuration_set_name|event_destination_name). For example:

$ pulumi import aws:sesv2/configurationSetEventDestination:ConfigurationSetEventDestination example example_configuration_set|example_event_destination

Constructors

Link copied to clipboard
constructor(configurationSetName: Output<String>? = null, eventDestination: Output<ConfigurationSetEventDestinationEventDestinationArgs>? = null, eventDestinationName: Output<String>? = null)

Properties

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

The name of the configuration set.

Link copied to clipboard

A name that identifies the event destination within the configuration set.

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

An object that defines the event destination. See event_destination below.

Functions

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