UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

916 lines 194 kB
import * as cdk from "../../core"; import * as constructs from "constructs"; import * as cfn_parse from "../../core/lib/helpers-internal"; /** * Configuration sets let you create groups of rules that you can apply to the emails you send using Amazon SES. * * For more information about using configuration sets, see [Using Amazon SES Configuration Sets](https://docs.aws.amazon.com/ses/latest/dg/using-configuration-sets.html) in the [Amazon SES Developer Guide](https://docs.aws.amazon.com/ses/latest/dg/) . * * > *Required permissions:* * > * > To apply any of the resource options, you will need to have the corresponding AWS Identity and Access Management (IAM) SES API v2 permissions: * > * > - `ses:GetConfigurationSet` * > * > - (This permission is replacing the v1 *ses:DescribeConfigurationSet* permission which will not work with these v2 resource options.) * > - `ses:PutConfigurationSetDeliveryOptions` * > - `ses:PutConfigurationSetReputationOptions` * > - `ses:PutConfigurationSetSendingOptions` * > - `ses:PutConfigurationSetSuppressionOptions` * > - `ses:PutConfigurationSetTrackingOptions` * * @cloudformationResource AWS::SES::ConfigurationSet * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html */ export declare class CfnConfigurationSet extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnConfigurationSet from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnConfigurationSet; /** * Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS). */ deliveryOptions?: CfnConfigurationSet.DeliveryOptionsProperty | cdk.IResolvable; /** * The name of the configuration set. The name must meet the following requirements:. */ name?: string; /** * An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. */ reputationOptions?: cdk.IResolvable | CfnConfigurationSet.ReputationOptionsProperty; /** * An object that defines whether or not Amazon SES can send email that you send using the configuration set. */ sendingOptions?: cdk.IResolvable | CfnConfigurationSet.SendingOptionsProperty; /** * An object that contains information about the suppression list preferences for your account. */ suppressionOptions?: cdk.IResolvable | CfnConfigurationSet.SuppressionOptionsProperty; /** * An object that defines the open and click tracking options for emails that you send using the configuration set. */ trackingOptions?: cdk.IResolvable | CfnConfigurationSet.TrackingOptionsProperty; /** * The Virtual Deliverability Manager (VDM) options that apply to the configuration set. */ vdmOptions?: cdk.IResolvable | CfnConfigurationSet.VdmOptionsProperty; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props?: CfnConfigurationSetProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnConfigurationSet { /** * Used to enable or disable email sending for messages that use this configuration set in the current AWS Region. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-sendingoptions.html */ interface SendingOptionsProperty { /** * If `true` , email sending is enabled for the configuration set. * * If `false` , email sending is disabled for the configuration set. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-sendingoptions.html#cfn-ses-configurationset-sendingoptions-sendingenabled */ readonly sendingEnabled?: boolean | cdk.IResolvable; } /** * An object that contains information about the suppression list preferences for your account. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-suppressionoptions.html */ interface SuppressionOptionsProperty { /** * A list that contains the reasons that email addresses are automatically added to the suppression list for your account. * * This list can contain any or all of the following: * * - `COMPLAINT` – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a complaint. * - `BOUNCE` – Amazon SES adds an email address to the suppression list for your account when a message sent to that address results in a hard bounce. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-suppressionoptions.html#cfn-ses-configurationset-suppressionoptions-suppressedreasons */ readonly suppressedReasons?: Array<string>; } /** * An object that defines the tracking options for a configuration set. * * When you use the Amazon SES API v2 to send an email, it contains an invisible image that's used to track when recipients open your email. If your email contains links, those links are changed slightly in order to track when recipients click them. * * You can optionally configure a custom subdomain that is used to redirect email recipients to an Amazon SES-operated domain. This domain captures open and click events generated by Amazon SES emails. * * For more information, see [Configuring Custom Domains to Handle Open and Click Tracking](https://docs.aws.amazon.com/ses/latest/dg/configure-custom-open-click-domains.html) in the *Amazon SES Developer Guide* . * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-trackingoptions.html */ interface TrackingOptionsProperty { /** * The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-trackingoptions.html#cfn-ses-configurationset-trackingoptions-customredirectdomain */ readonly customRedirectDomain?: string; /** * The https policy to use for tracking open and click events. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-trackingoptions.html#cfn-ses-configurationset-trackingoptions-httpspolicy */ readonly httpsPolicy?: string; } /** * Enable or disable collection of reputation metrics for emails that you send using this configuration set in the current AWS Region. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-reputationoptions.html */ interface ReputationOptionsProperty { /** * If `true` , tracking of reputation metrics is enabled for the configuration set. * * If `false` , tracking of reputation metrics is disabled for the configuration set. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-reputationoptions.html#cfn-ses-configurationset-reputationoptions-reputationmetricsenabled */ readonly reputationMetricsEnabled?: boolean | cdk.IResolvable; } /** * The Virtual Deliverability Manager (VDM) options that apply to a configuration set. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-vdmoptions.html */ interface VdmOptionsProperty { /** * Specifies additional settings for your VDM configuration as applicable to the Dashboard. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-vdmoptions.html#cfn-ses-configurationset-vdmoptions-dashboardoptions */ readonly dashboardOptions?: CfnConfigurationSet.DashboardOptionsProperty | cdk.IResolvable; /** * Specifies additional settings for your VDM configuration as applicable to the Guardian. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-vdmoptions.html#cfn-ses-configurationset-vdmoptions-guardianoptions */ readonly guardianOptions?: CfnConfigurationSet.GuardianOptionsProperty | cdk.IResolvable; } /** * An object containing additional settings for your VDM configuration as applicable to the Dashboard. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-dashboardoptions.html */ interface DashboardOptionsProperty { /** * Specifies the status of your VDM engagement metrics collection. Can be one of the following:. * * - `ENABLED` – Amazon SES enables engagement metrics for the configuration set. * - `DISABLED` – Amazon SES disables engagement metrics for the configuration set. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-dashboardoptions.html#cfn-ses-configurationset-dashboardoptions-engagementmetrics */ readonly engagementMetrics: string; } /** * An object containing additional settings for your VDM configuration as applicable to the Guardian. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-guardianoptions.html */ interface GuardianOptionsProperty { /** * Specifies the status of your VDM optimized shared delivery. Can be one of the following:. * * - `ENABLED` – Amazon SES enables optimized shared delivery for the configuration set. * - `DISABLED` – Amazon SES disables optimized shared delivery for the configuration set. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-guardianoptions.html#cfn-ses-configurationset-guardianoptions-optimizedshareddelivery */ readonly optimizedSharedDelivery: string; } /** * Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS). * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-deliveryoptions.html */ interface DeliveryOptionsProperty { /** * The maximum amount of time, in seconds, that Amazon SES API v2 will attempt delivery of email. * * If specified, the value must greater than or equal to 300 seconds (5 minutes) and less than or equal to 50400 seconds (840 minutes). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-deliveryoptions.html#cfn-ses-configurationset-deliveryoptions-maxdeliveryseconds */ readonly maxDeliverySeconds?: number; /** * The name of the dedicated IP pool to associate with the configuration set. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-deliveryoptions.html#cfn-ses-configurationset-deliveryoptions-sendingpoolname */ readonly sendingPoolName?: string; /** * Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). * * If the value is `REQUIRE` , messages are only delivered if a TLS connection can be established. If the value is `OPTIONAL` , messages can be delivered in plain text if a TLS connection can't be established. * * Valid Values: `REQUIRE | OPTIONAL` * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationset-deliveryoptions.html#cfn-ses-configurationset-deliveryoptions-tlspolicy */ readonly tlsPolicy?: string; } } /** * Properties for defining a `CfnConfigurationSet` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html */ export interface CfnConfigurationSetProps { /** * Specifies the name of the dedicated IP pool to associate with the configuration set and whether messages that use the configuration set are required to use Transport Layer Security (TLS). * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html#cfn-ses-configurationset-deliveryoptions */ readonly deliveryOptions?: CfnConfigurationSet.DeliveryOptionsProperty | cdk.IResolvable; /** * The name of the configuration set. The name must meet the following requirements:. * * - Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). * - Contain 64 characters or fewer. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html#cfn-ses-configurationset-name */ readonly name?: string; /** * An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html#cfn-ses-configurationset-reputationoptions */ readonly reputationOptions?: cdk.IResolvable | CfnConfigurationSet.ReputationOptionsProperty; /** * An object that defines whether or not Amazon SES can send email that you send using the configuration set. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html#cfn-ses-configurationset-sendingoptions */ readonly sendingOptions?: cdk.IResolvable | CfnConfigurationSet.SendingOptionsProperty; /** * An object that contains information about the suppression list preferences for your account. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html#cfn-ses-configurationset-suppressionoptions */ readonly suppressionOptions?: cdk.IResolvable | CfnConfigurationSet.SuppressionOptionsProperty; /** * An object that defines the open and click tracking options for emails that you send using the configuration set. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html#cfn-ses-configurationset-trackingoptions */ readonly trackingOptions?: cdk.IResolvable | CfnConfigurationSet.TrackingOptionsProperty; /** * The Virtual Deliverability Manager (VDM) options that apply to the configuration set. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationset.html#cfn-ses-configurationset-vdmoptions */ readonly vdmOptions?: cdk.IResolvable | CfnConfigurationSet.VdmOptionsProperty; } /** * Specifies a configuration set event destination. * * *Events* include message sends, deliveries, opens, clicks, bounces, and complaints. *Event destinations* are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage. * * A single configuration set can include more than one event destination. * * @cloudformationResource AWS::SES::ConfigurationSetEventDestination * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html */ export declare class CfnConfigurationSetEventDestination extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnConfigurationSetEventDestination from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnConfigurationSetEventDestination; /** * @cloudformationAttribute Id */ readonly attrId: string; /** * The name of the configuration set that contains the event destination. */ configurationSetName: string; /** * An object that defines the event destination. */ eventDestination: CfnConfigurationSetEventDestination.EventDestinationProperty | cdk.IResolvable; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnConfigurationSetEventDestinationProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnConfigurationSetEventDestination { /** * In the Amazon SES API v2, *events* include message sends, deliveries, opens, clicks, bounces, complaints and delivery delays. * * *Event destinations* are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html */ interface EventDestinationProperty { /** * An object that defines an Amazon CloudWatch destination for email events. * * You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-cloudwatchdestination */ readonly cloudWatchDestination?: CfnConfigurationSetEventDestination.CloudWatchDestinationProperty | cdk.IResolvable; /** * If `true` , the event destination is enabled. * * When the event destination is enabled, the specified event types are sent to the destinations in this `EventDestinationDefinition` . * * If `false` , the event destination is disabled. When the event destination is disabled, events aren't sent to the specified destinations. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-enabled */ readonly enabled?: boolean | cdk.IResolvable; /** * An object that defines an Amazon EventBridge destination for email events. * * You can use Amazon EventBridge to send notifications when certain email events occur. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-eventbridgedestination */ readonly eventBridgeDestination?: CfnConfigurationSetEventDestination.EventBridgeDestinationProperty | cdk.IResolvable; /** * An object that contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-kinesisfirehosedestination */ readonly kinesisFirehoseDestination?: cdk.IResolvable | CfnConfigurationSetEventDestination.KinesisFirehoseDestinationProperty; /** * The types of events that Amazon SES sends to the specified event destinations. * * - `SEND` - The send request was successful and SES will attempt to deliver the message to the recipient’s mail server. (If account-level or global suppression is being used, SES will still count it as a send, but delivery is suppressed.) * - `REJECT` - SES accepted the email, but determined that it contained a virus and didn’t attempt to deliver it to the recipient’s mail server. * - `BOUNCE` - ( *Hard bounce* ) The recipient's mail server permanently rejected the email. ( *Soft bounces* are only included when SES fails to deliver the email after retrying for a period of time.) * - `COMPLAINT` - The email was successfully delivered to the recipient’s mail server, but the recipient marked it as spam. * - `DELIVERY` - SES successfully delivered the email to the recipient's mail server. * - `OPEN` - The recipient received the message and opened it in their email client. * - `CLICK` - The recipient clicked one or more links in the email. * - `RENDERING_FAILURE` - The email wasn't sent because of a template rendering issue. This event type can occur when template data is missing, or when there is a mismatch between template parameters and data. (This event type only occurs when you send email using the [`SendTemplatedEmail`](https://docs.aws.amazon.com/ses/latest/APIReference/API_SendTemplatedEmail.html) or [`SendBulkTemplatedEmail`](https://docs.aws.amazon.com/ses/latest/APIReference/API_SendBulkTemplatedEmail.html) API operations.) * - `DELIVERY_DELAY` - The email couldn't be delivered to the recipient’s mail server because a temporary issue occurred. Delivery delays can occur, for example, when the recipient's inbox is full, or when the receiving email server experiences a transient issue. * - `SUBSCRIPTION` - The email was successfully delivered, but the recipient updated their subscription preferences by clicking on an *unsubscribe* link as part of your [subscription management](https://docs.aws.amazon.com/ses/latest/dg/sending-email-subscription-management.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-matchingeventtypes */ readonly matchingEventTypes: Array<string>; /** * The name of the event destination. The name must meet the following requirements:. * * - Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). * - Contain 64 characters or fewer. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-name */ readonly name?: string; /** * An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-snsdestination */ readonly snsDestination?: cdk.IResolvable | CfnConfigurationSetEventDestination.SnsDestinationProperty; } /** * Contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination. * * Event destinations, such as Amazon SNS, are associated with configuration sets, which enable you to publish email sending events. For information about using configuration sets, see the [Amazon SES Developer Guide](https://docs.aws.amazon.com/ses/latest/dg/monitor-sending-activity.html) . * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-snsdestination.html */ interface SnsDestinationProperty { /** * The ARN of the Amazon SNS topic for email sending events. * * You can find the ARN of a topic by using the [ListTopics](https://docs.aws.amazon.com/sns/latest/api/API_ListTopics.html) Amazon SNS operation. * * For more information about Amazon SNS topics, see the [Amazon SNS Developer Guide](https://docs.aws.amazon.com/sns/latest/dg/CreateTopic.html) . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-snsdestination.html#cfn-ses-configurationseteventdestination-snsdestination-topicarn */ readonly topicArn: string; } /** * An object that defines an Amazon CloudWatch destination for email events. * * You can use Amazon CloudWatch to monitor and gain insights on your email sending metrics. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-cloudwatchdestination.html */ interface CloudWatchDestinationProperty { /** * An array of objects that define the dimensions to use when you send email events to Amazon CloudWatch. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-cloudwatchdestination.html#cfn-ses-configurationseteventdestination-cloudwatchdestination-dimensionconfigurations */ readonly dimensionConfigurations?: Array<CfnConfigurationSetEventDestination.DimensionConfigurationProperty | cdk.IResolvable> | cdk.IResolvable; } /** * An object that defines the dimension configuration to use when you send email events to Amazon CloudWatch. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html */ interface DimensionConfigurationProperty { /** * The default value of the dimension that is published to Amazon CloudWatch if you don't provide the value of the dimension when you send an email. * * This value has to meet the following criteria: * * - Can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-), at signs (@), and periods (.). * - It can contain no more than 256 characters. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html#cfn-ses-configurationseteventdestination-dimensionconfiguration-defaultdimensionvalue */ readonly defaultDimensionValue: string; /** * The name of an Amazon CloudWatch dimension associated with an email sending metric. * * The name has to meet the following criteria: * * - It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores (_), or dashes (-). * - It can contain no more than 256 characters. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html#cfn-ses-configurationseteventdestination-dimensionconfiguration-dimensionname */ readonly dimensionName: string; /** * The location where the Amazon SES API v2 finds the value of a dimension to publish to Amazon CloudWatch. * * To use the message tags that you specify using an `X-SES-MESSAGE-TAGS` header or a parameter to the `SendEmail` or `SendRawEmail` API, choose `messageTag` . To use your own email headers, choose `emailHeader` . To use link tags, choose `linkTag` . * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-dimensionconfiguration.html#cfn-ses-configurationseteventdestination-dimensionconfiguration-dimensionvaluesource */ readonly dimensionValueSource: string; } /** * An object that defines an Amazon Kinesis Data Firehose destination for email events. * * You can use Amazon Kinesis Data Firehose to stream data to other services, such as Amazon S3 and Amazon Redshift. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-kinesisfirehosedestination.html */ interface KinesisFirehoseDestinationProperty { /** * The ARN of the Amazon Kinesis Firehose stream that email sending events should be published to. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-kinesisfirehosedestination.html#cfn-ses-configurationseteventdestination-kinesisfirehosedestination-deliverystreamarn */ readonly deliveryStreamArn: string; /** * The Amazon Resource Name (ARN) of the IAM role that the Amazon SES API v2 uses to send email events to the Amazon Kinesis Data Firehose stream. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-kinesisfirehosedestination.html#cfn-ses-configurationseteventdestination-kinesisfirehosedestination-iamrolearn */ readonly iamRoleArn: string; } /** * An object that defines an Amazon EventBridge destination for email events. * * You can use Amazon EventBridge to send notifications when certain email events occur. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventbridgedestination.html */ interface EventBridgeDestinationProperty { /** * The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. * * Only the default bus is supported. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventbridgedestination.html#cfn-ses-configurationseteventdestination-eventbridgedestination-eventbusarn */ readonly eventBusArn: string; } } /** * Properties for defining a `CfnConfigurationSetEventDestination` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html */ export interface CfnConfigurationSetEventDestinationProps { /** * The name of the configuration set that contains the event destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html#cfn-ses-configurationseteventdestination-configurationsetname */ readonly configurationSetName: string; /** * An object that defines the event destination. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-configurationseteventdestination.html#cfn-ses-configurationseteventdestination-eventdestination */ readonly eventDestination: CfnConfigurationSetEventDestination.EventDestinationProperty | cdk.IResolvable; } /** * A list that contains contacts that have subscribed to a particular topic or topics. * * @cloudformationResource AWS::SES::ContactList * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html */ export declare class CfnContactList extends cdk.CfnResource implements cdk.IInspectable, cdk.ITaggable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnContactList from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnContactList; /** * The name of the contact list. */ contactListName?: string; /** * A description of what the contact list is about. */ description?: string; /** * Tag Manager which manages the tags for this resource */ readonly tags: cdk.TagManager; /** * The tags associated with a contact list. */ tagsRaw?: Array<cdk.CfnTag>; /** * An interest group, theme, or label within a list. */ topics?: Array<cdk.IResolvable | CfnContactList.TopicProperty> | cdk.IResolvable; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props?: CfnContactListProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnContactList { /** * An interest group, theme, or label within a list. * * Lists can have multiple topics. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-contactlist-topic.html */ interface TopicProperty { /** * The default subscription status to be applied to a contact if the contact has not noted their preference for subscribing to a topic. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-contactlist-topic.html#cfn-ses-contactlist-topic-defaultsubscriptionstatus */ readonly defaultSubscriptionStatus: string; /** * A description of what the topic is about, which the contact will see. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-contactlist-topic.html#cfn-ses-contactlist-topic-description */ readonly description?: string; /** * The name of the topic the contact will see. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-contactlist-topic.html#cfn-ses-contactlist-topic-displayname */ readonly displayName: string; /** * The name of the topic. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-contactlist-topic.html#cfn-ses-contactlist-topic-topicname */ readonly topicName: string; } } /** * Properties for defining a `CfnContactList` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html */ export interface CfnContactListProps { /** * The name of the contact list. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html#cfn-ses-contactlist-contactlistname */ readonly contactListName?: string; /** * A description of what the contact list is about. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html#cfn-ses-contactlist-description */ readonly description?: string; /** * The tags associated with a contact list. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html#cfn-ses-contactlist-tags */ readonly tags?: Array<cdk.CfnTag>; /** * An interest group, theme, or label within a list. * * A contact list can have multiple topics. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-contactlist.html#cfn-ses-contactlist-topics */ readonly topics?: Array<cdk.IResolvable | CfnContactList.TopicProperty> | cdk.IResolvable; } /** * Create a new pool of dedicated IP addresses. * * A pool can include one or more dedicated IP addresses that are associated with your AWS account . You can associate a pool with a configuration set. When you send an email that uses that configuration set, the message is sent from one of the addresses in the associated pool. * * > You can't delete dedicated IP pools that have a `STANDARD` scaling mode with one or more dedicated IP addresses. This constraint doesn't apply to dedicated IP pools that have a `MANAGED` scaling mode. * * @cloudformationResource AWS::SES::DedicatedIpPool * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html */ export declare class CfnDedicatedIpPool extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnDedicatedIpPool from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDedicatedIpPool; /** * The name of the dedicated IP pool that the IP address is associated with. */ poolName?: string; /** * The type of scaling mode. */ scalingMode?: string; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props?: CfnDedicatedIpPoolProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } /** * Properties for defining a `CfnDedicatedIpPool` * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html */ export interface CfnDedicatedIpPoolProps { /** * The name of the dedicated IP pool that the IP address is associated with. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html#cfn-ses-dedicatedippool-poolname */ readonly poolName?: string; /** * The type of scaling mode. * * The following options are available: * * - `STANDARD` - The customer controls which IPs are part of the dedicated IP pool. * - `MANAGED` - The reputation and number of IPs are automatically managed by Amazon SES . * * The `STANDARD` option is selected by default if no value is specified. * * > Updating *ScalingMode* doesn't require a replacement if you're updating its value from `STANDARD` to `MANAGED` . However, updating *ScalingMode* from `MANAGED` to `STANDARD` is not supported. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-dedicatedippool.html#cfn-ses-dedicatedippool-scalingmode */ readonly scalingMode?: string; } /** * Specifies an identity for using within SES. * * An identity is an email address or domain that you use when you send email. Before you can use an identity to send email, you first have to verify it. By verifying an identity, you demonstrate that you're the owner of the identity, and that you've given Amazon SES API v2 permission to send email from the identity. * * When you verify an email address, SES sends an email to the address. Your email address is verified as soon as you follow the link in the verification email. When you verify a domain without specifying the `DkimSigningAttributes` properties, OR only the `NextSigningKeyLength` property of `DkimSigningAttributes` , this resource provides a set of CNAME token names and values ( *DkimDNSTokenName1* , *DkimDNSTokenValue1* , *DkimDNSTokenName2* , *DkimDNSTokenValue2* , *DkimDNSTokenName3* , *DkimDNSTokenValue3* ) as outputs. You can then add these to the DNS configuration for your domain. Your domain is verified when Amazon SES detects these records in the DNS configuration for your domain. This verification method is known as Easy DKIM. * * Alternatively, you can perform the verification process by providing your own public-private key pair. This verification method is known as Bring Your Own DKIM (BYODKIM). To use BYODKIM, your resource must include `DkimSigningAttributes` properties `DomainSigningSelector` and `DomainSigningPrivateKey` . When you specify this object, you provide a selector ( `DomainSigningSelector` ) (a component of the DNS record name that identifies the public key to use for DKIM authentication) and a private key ( `DomainSigningPrivateKey` ). * * Additionally, you can associate an existing configuration set with the email identity that you're verifying. * * @cloudformationResource AWS::SES::EmailIdentity * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ses-emailidentity.html */ export declare class CfnEmailIdentity extends cdk.CfnResource implements cdk.IInspectable { /** * The CloudFormation resource type name for this resource class. */ static readonly CFN_RESOURCE_TYPE_NAME: string; /** * Build a CfnEmailIdentity from CloudFormation properties * * A factory method that creates a new instance of this class from an object * containing the CloudFormation properties of this resource. * Used in the @aws-cdk/cloudformation-include module. * * @internal */ static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnEmailIdentity; /** * The host name for the first token that you have to add to the DNS configuration for your domain. * * @cloudformationAttribute DkimDNSTokenName1 */ readonly attrDkimDnsTokenName1: string; /** * The host name for the second token that you have to add to the DNS configuration for your domain. * * @cloudformationAttribute DkimDNSTokenName2 */ readonly attrDkimDnsTokenName2: string; /** * The host name for the third token that you have to add to the DNS configuration for your domain. * * @cloudformationAttribute DkimDNSTokenName3 */ readonly attrDkimDnsTokenName3: string; /** * The record value for the first token that you have to add to the DNS configuration for your domain. * * @cloudformationAttribute DkimDNSTokenValue1 */ readonly attrDkimDnsTokenValue1: string; /** * The record value for the second token that you have to add to the DNS configuration for your domain. * * @cloudformationAttribute DkimDNSTokenValue2 */ readonly attrDkimDnsTokenValue2: string; /** * The record value for the third token that you have to add to the DNS configuration for your domain. * * @cloudformationAttribute DkimDNSTokenValue3 */ readonly attrDkimDnsTokenValue3: string; /** * Used to associate a configuration set with an email identity. */ configurationSetAttributes?: CfnEmailIdentity.ConfigurationSetAttributesProperty | cdk.IResolvable; /** * An object that contains information about the DKIM attributes for the identity. */ dkimAttributes?: CfnEmailIdentity.DkimAttributesProperty | cdk.IResolvable; /** * If your request includes this object, Amazon SES configures the identity to use Bring Your Own DKIM (BYODKIM) for DKIM authentication purposes, or, configures the key length to be used for [Easy DKIM](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html) . */ dkimSigningAttributes?: CfnEmailIdentity.DkimSigningAttributesProperty | cdk.IResolvable; /** * The email address or domain to verify. */ emailIdentity: string; /** * Used to enable or disable feedback forwarding for an identity. */ feedbackAttributes?: CfnEmailIdentity.FeedbackAttributesProperty | cdk.IResolvable; /** * Used to enable or disable the custom Mail-From domain configuration for an email identity. */ mailFromAttributes?: cdk.IResolvable | CfnEmailIdentity.MailFromAttributesProperty; /** * @param scope Scope in which this resource is defined * @param id Construct identifier for this resource (unique in its scope) * @param props Resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnEmailIdentityProps); protected get cfnProperties(): Record<string, any>; /** * Examines the CloudFormation resource and discloses attributes * * @param inspector tree inspector to collect and process attributes */ inspect(inspector: cdk.TreeInspector): void; protected renderProperties(props: Record<string, any>): Record<string, any>; } export declare namespace CfnEmailIdentity { /** * Used to associate a configuration set with an email identity. * * @struct * @stability external * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-emailidentity-configurationsetattributes.html */ interface ConfigurationSetAttributesProperty { /** * The configuration set to associate with an email identity. * * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-emailidentity-configurationsetattributes.html#cfn-ses-emailidentity-configurationsetattributes-configurationsetname */ readonly configurationSetName?: string; } /** * Used to configure or change the DKIM authentication settings for an email domain identity. * * You can use this operation to do any of the following: * * - Update the signing attributes for an identity that uses Bring Your Own DKIM (BYODKIM). * - Up