import * as core from "@terrascript/core"; export interface CloudwatchDestinationArgs extends core.SchemaArgs { defaultValue: string | core.StringOut; dimensionName: string | core.StringOut; valueSource: string | core.StringOut; } export class CloudwatchDestination extends core.Schema { @core.attr(String) public defaultValue!: string | core.StringOut; @core.attr(String) public dimensionName!: string | core.StringOut; @core.attr(String) public valueSource!: string | core.StringOut; } export interface KinesisDestinationArgs extends core.SchemaArgs { roleArn: string | core.StringOut; streamArn: string | core.StringOut; } export class KinesisDestination extends core.Schema { @core.attr(String) public roleArn!: string | core.StringOut; @core.attr(String) public streamArn!: string | core.StringOut; } export interface SnsDestinationArgs extends core.SchemaArgs { topicArn: string | core.StringOut; } export class SnsDestination extends core.Schema { @core.attr(String) public topicArn!: string | core.StringOut; } export interface EventDestinationArgs extends core.ResourceArgs { /** * (Optional) CloudWatch destination for the events */ cloudwatchDestination?: | core.Array | core.ArrayOut; /** * (Required) The name of the configuration set */ configurationSetName: string | core.StringOut; /** * (Optional) If true, the event destination will be enabled */ enabled?: boolean | core.BooleanOut; /** * (Optional) Send the events to a kinesis firehose destination */ kinesisDestination?: KinesisDestination; /** * (Required) A list of matching types. May be any of `"send"`, `"reject"`, `"bounce"`, `"complaint"`, * "delivery"`, `"open"`, `"click"`, or `"renderingFailure"`. */ matchingTypes: core.Array | core.ArrayOut; /** * (Required) The name of the event destination */ name: string | core.StringOut; /** * (Optional) Send the events to an SNS Topic destination */ snsDestination?: SnsDestination; } export class EventDestination extends core.Resource { /** * The SES event destination ARN. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Optional) CloudWatch destination for the events */ @core.attr(CloudwatchDestination, { kind: "array" }) public cloudwatchDestination?: | core.Array | core.ArrayOut; /** * (Required) The name of the configuration set */ @core.attr(String) public configurationSetName!: string | core.StringOut; /** * (Optional) If true, the event destination will be enabled */ @core.attr(Boolean) public enabled?: boolean | core.BooleanOut; /** * The SES event destination name. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Send the events to a kinesis firehose destination */ @core.attr(KinesisDestination) public kinesisDestination?: KinesisDestination; /** * (Required) A list of matching types. May be any of `"send"`, `"reject"`, `"bounce"`, `"complaint"`, * "delivery"`, `"open"`, `"click"`, or `"renderingFailure"`. */ @core.attr(String, { kind: "array" }) public matchingTypes!: core.Array | core.ArrayOut; /** * (Required) The name of the event destination */ @core.attr(String) public name!: string | core.StringOut; /** * (Optional) Send the events to an SNS Topic destination */ @core.attr(SnsDestination) public snsDestination?: SnsDestination; constructor(name: string, args?: EventDestinationArgs) { super(name, "aws_ses_event_destination", args); } public override getNamespace(): string { return "aws_ses"; } }