Skip to content

Commit 13844af

Browse files
author
awstools
committed
feat(client-sesv2): This release adds support for Amazon EventBridge as an email sending events destination.
1 parent b6bd981 commit 13844af

9 files changed

+116
-50
lines changed

clients/client-sesv2/src/commands/CreateConfigurationSetEventDestinationCommand.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,8 @@ export interface CreateConfigurationSetEventDestinationCommandOutput
4040
* <p>Create an event destination. <i>Events</i> include message sends,
4141
* deliveries, opens, clicks, bounces, and complaints. <i>Event
4242
* destinations</i> are places that you can send information about these events
43-
* to. For example, you can send event data to Amazon SNS to receive notifications when you
44-
* receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term
45-
* storage.</p>
43+
* to. For example, you can send event data to Amazon EventBridge and associate a rule to send the event
44+
* to the specified target.</p>
4645
* <p>A single configuration set can include more than one event destination.</p>
4746
* @example
4847
* Use a bare-bones client and the command you need to make an API call.
@@ -74,6 +73,9 @@ export interface CreateConfigurationSetEventDestinationCommandOutput
7473
* SnsDestination: { // SnsDestination
7574
* TopicArn: "STRING_VALUE", // required
7675
* },
76+
* EventBridgeDestination: { // EventBridgeDestination
77+
* EventBusArn: "STRING_VALUE", // required
78+
* },
7779
* PinpointDestination: { // PinpointDestination
7880
* ApplicationArn: "STRING_VALUE",
7981
* },

clients/client-sesv2/src/commands/DeleteConfigurationSetEventDestinationCommand.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,8 @@ export interface DeleteConfigurationSetEventDestinationCommandOutput
4141
* <p>
4242
* <i>Events</i> include message sends, deliveries, opens, clicks, bounces,
4343
* and complaints. <i>Event destinations</i> are places that you can send
44-
* information about these events to. For example, you can send event data to Amazon SNS to
45-
* receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to
46-
* stream data to Amazon S3 for long-term storage.</p>
44+
* information about these events to. For example, you can send event data to Amazon EventBridge and
45+
* associate a rule to send the event to the specified target.</p>
4746
* @example
4847
* Use a bare-bones client and the command you need to make an API call.
4948
* ```javascript

clients/client-sesv2/src/commands/GetConfigurationSetEventDestinationsCommand.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,8 @@ export interface GetConfigurationSetEventDestinationsCommandOutput
4141
* <p>
4242
* <i>Events</i> include message sends, deliveries, opens, clicks, bounces,
4343
* and complaints. <i>Event destinations</i> are places that you can send
44-
* information about these events to. For example, you can send event data to Amazon SNS to
45-
* receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to
46-
* stream data to Amazon S3 for long-term storage.</p>
44+
* information about these events to. For example, you can send event data to Amazon EventBridge and
45+
* associate a rule to send the event to the specified target.</p>
4746
* @example
4847
* Use a bare-bones client and the command you need to make an API call.
4948
* ```javascript
@@ -79,6 +78,9 @@ export interface GetConfigurationSetEventDestinationsCommandOutput
7978
* // SnsDestination: { // SnsDestination
8079
* // TopicArn: "STRING_VALUE", // required
8180
* // },
81+
* // EventBridgeDestination: { // EventBridgeDestination
82+
* // EventBusArn: "STRING_VALUE", // required
83+
* // },
8284
* // PinpointDestination: { // PinpointDestination
8385
* // ApplicationArn: "STRING_VALUE",
8486
* // },

clients/client-sesv2/src/commands/PutEmailIdentityFeedbackAttributesCommand.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ import { Command as $Command } from "@smithy/smithy-client";
55
import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
8-
import { PutEmailIdentityFeedbackAttributesRequest } from "../models/models_0";
9-
import { PutEmailIdentityFeedbackAttributesResponse } from "../models/models_1";
8+
import {
9+
PutEmailIdentityFeedbackAttributesRequest,
10+
PutEmailIdentityFeedbackAttributesResponse,
11+
} from "../models/models_1";
1012
import {
1113
de_PutEmailIdentityFeedbackAttributesCommand,
1214
se_PutEmailIdentityFeedbackAttributesCommand,

clients/client-sesv2/src/commands/UpdateConfigurationSetEventDestinationCommand.ts

+5-3
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,8 @@ export interface UpdateConfigurationSetEventDestinationCommandOutput
4141
* <p>
4242
* <i>Events</i> include message sends, deliveries, opens, clicks, bounces,
4343
* and complaints. <i>Event destinations</i> are places that you can send
44-
* information about these events to. For example, you can send event data to Amazon SNS to
45-
* receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to
46-
* stream data to Amazon S3 for long-term storage.</p>
44+
* information about these events to. For example, you can send event data to Amazon EventBridge and
45+
* associate a rule to send the event to the specified target.</p>
4746
* @example
4847
* Use a bare-bones client and the command you need to make an API call.
4948
* ```javascript
@@ -74,6 +73,9 @@ export interface UpdateConfigurationSetEventDestinationCommandOutput
7473
* SnsDestination: { // SnsDestination
7574
* TopicArn: "STRING_VALUE", // required
7675
* },
76+
* EventBridgeDestination: { // EventBridgeDestination
77+
* EventBusArn: "STRING_VALUE", // required
78+
* },
7779
* PinpointDestination: { // PinpointDestination
7880
* ApplicationArn: "STRING_VALUE",
7981
* },

clients/client-sesv2/src/models/models_0.ts

+30-29
Original file line numberDiff line numberDiff line change
@@ -1685,6 +1685,19 @@ export class LimitExceededException extends __BaseException {
16851685
}
16861686
}
16871687

1688+
/**
1689+
* <p>An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to
1690+
* send notifications when certain email events occur.</p>
1691+
* @public
1692+
*/
1693+
export interface EventBridgeDestination {
1694+
/**
1695+
* <p>The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. </p>
1696+
* @public
1697+
*/
1698+
EventBusArn: string | undefined;
1699+
}
1700+
16881701
/**
16891702
* <p>An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to
16901703
* stream data to other services, such as Amazon S3 and Amazon Redshift.</p>
@@ -1745,7 +1758,7 @@ export interface PinpointDestination {
17451758

17461759
/**
17471760
* <p>An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to
1748-
* send notification when certain email events occur.</p>
1761+
* send notifications when certain email events occur.</p>
17491762
* @public
17501763
*/
17511764
export interface SnsDestination {
@@ -1798,11 +1811,18 @@ export interface EventDestinationDefinition {
17981811

17991812
/**
18001813
* <p>An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to
1801-
* send notification when certain email events occur.</p>
1814+
* send notifications when certain email events occur.</p>
18021815
* @public
18031816
*/
18041817
SnsDestination?: SnsDestination;
18051818

1819+
/**
1820+
* <p>An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to
1821+
* send notifications when certain email events occur.</p>
1822+
* @public
1823+
*/
1824+
EventBridgeDestination?: EventBridgeDestination;
1825+
18061826
/**
18071827
* <p>An object that defines an Amazon Pinpoint project destination for email events. You can send
18081828
* email event data to a Amazon Pinpoint project to view metrics using the Transactional Messaging
@@ -4076,11 +4096,18 @@ export interface EventDestination {
40764096

40774097
/**
40784098
* <p>An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to
4079-
* send notification when certain email events occur.</p>
4099+
* send notifications when certain email events occur.</p>
40804100
* @public
40814101
*/
40824102
SnsDestination?: SnsDestination;
40834103

4104+
/**
4105+
* <p>An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to
4106+
* send notifications when certain email events occur.</p>
4107+
* @public
4108+
*/
4109+
EventBridgeDestination?: EventBridgeDestination;
4110+
40844111
/**
40854112
* <p>An object that defines an Amazon Pinpoint project destination for email events. You can send
40864113
* email event data to a Amazon Pinpoint project to view metrics using the Transactional Messaging
@@ -7401,32 +7428,6 @@ export interface PutEmailIdentityDkimSigningAttributesResponse {
74017428
DkimTokens?: string[];
74027429
}
74037430

7404-
/**
7405-
* <p>A request to set the attributes that control how bounce and complaint events are
7406-
* processed.</p>
7407-
* @public
7408-
*/
7409-
export interface PutEmailIdentityFeedbackAttributesRequest {
7410-
/**
7411-
* <p>The email identity.</p>
7412-
* @public
7413-
*/
7414-
EmailIdentity: string | undefined;
7415-
7416-
/**
7417-
* <p>Sets the feedback forwarding configuration for the identity.</p>
7418-
* <p>If the value is <code>true</code>, you receive email notifications when bounce or
7419-
* complaint events occur. These notifications are sent to the address that you specified
7420-
* in the <code>Return-Path</code> header of the original email.</p>
7421-
* <p>You're required to have a method of tracking bounces and complaints. If you haven't
7422-
* set up another mechanism for receiving bounce or complaint notifications (for example,
7423-
* by setting up an event destination), you receive an email notification when these events
7424-
* occur (even if this setting is disabled).</p>
7425-
* @public
7426-
*/
7427-
EmailForwardingEnabled?: boolean;
7428-
}
7429-
74307431
/**
74317432
* @internal
74327433
*/

clients/client-sesv2/src/models/models_1.ts

+26
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,32 @@ import {
1616
TopicPreference,
1717
} from "./models_0";
1818

19+
/**
20+
* <p>A request to set the attributes that control how bounce and complaint events are
21+
* processed.</p>
22+
* @public
23+
*/
24+
export interface PutEmailIdentityFeedbackAttributesRequest {
25+
/**
26+
* <p>The email identity.</p>
27+
* @public
28+
*/
29+
EmailIdentity: string | undefined;
30+
31+
/**
32+
* <p>Sets the feedback forwarding configuration for the identity.</p>
33+
* <p>If the value is <code>true</code>, you receive email notifications when bounce or
34+
* complaint events occur. These notifications are sent to the address that you specified
35+
* in the <code>Return-Path</code> header of the original email.</p>
36+
* <p>You're required to have a method of tracking bounces and complaints. If you haven't
37+
* set up another mechanism for receiving bounce or complaint notifications (for example,
38+
* by setting up an event destination), you receive an email notification when these events
39+
* occur (even if this setting is disabled).</p>
40+
* @public
41+
*/
42+
EmailForwardingEnabled?: boolean;
43+
}
44+
1945
/**
2046
* <p>An HTTP 200 response if the request succeeds, or an error message if the request
2147
* fails.</p>

clients/client-sesv2/src/protocols/Aws_restJson1.ts

+5
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,7 @@ import {
337337
EmailTemplateContent,
338338
EmailTemplateMetadata,
339339
EngagementEventType,
340+
EventBridgeDestination,
340341
EventDestinationDefinition,
341342
EventType,
342343
ExportDataSource,
@@ -4577,6 +4578,8 @@ const se_EmailContent = (input: EmailContent, context: __SerdeContext): any => {
45774578

45784579
// se_EmailTemplateContent omitted.
45794580

4581+
// se_EventBridgeDestination omitted.
4582+
45804583
// se_EventDestinationDefinition omitted.
45814584

45824585
// se_EventTypes omitted.
@@ -5026,6 +5029,8 @@ const de_EmailTemplateMetadataList = (output: any, context: __SerdeContext): Ema
50265029

50275030
// de_Esps omitted.
50285031

5032+
// de_EventBridgeDestination omitted.
5033+
50295034
// de_EventDestination omitted.
50305035

50315036
// de_EventDestinations omitted.

codegen/sdk-codegen/aws-models/sesv2.json

+34-7
Original file line numberDiff line numberDiff line change
@@ -995,7 +995,7 @@
995995
}
996996
],
997997
"traits": {
998-
"smithy.api#documentation": "<p>Create an event destination. <i>Events</i> include message sends,\n deliveries, opens, clicks, bounces, and complaints. <i>Event\n destinations</i> are places that you can send information about these events\n to. For example, you can send event data to Amazon SNS to receive notifications when you\n receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term\n storage.</p>\n <p>A single configuration set can include more than one event destination.</p>",
998+
"smithy.api#documentation": "<p>Create an event destination. <i>Events</i> include message sends,\n deliveries, opens, clicks, bounces, and complaints. <i>Event\n destinations</i> are places that you can send information about these events\n to. For example, you can send event data to Amazon EventBridge and associate a rule to send the event\n to the specified target.</p>\n <p>A single configuration set can include more than one event destination.</p>",
999999
"smithy.api#http": {
10001000
"method": "POST",
10011001
"uri": "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations",
@@ -2149,7 +2149,7 @@
21492149
}
21502150
],
21512151
"traits": {
2152-
"smithy.api#documentation": "<p>Delete an event destination.</p>\n <p>\n <i>Events</i> include message sends, deliveries, opens, clicks, bounces,\n and complaints. <i>Event destinations</i> are places that you can send\n information about these events to. For example, you can send event data to Amazon SNS to\n receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to\n stream data to Amazon S3 for long-term storage.</p>",
2152+
"smithy.api#documentation": "<p>Delete an event destination.</p>\n <p>\n <i>Events</i> include message sends, deliveries, opens, clicks, bounces,\n and complaints. <i>Event destinations</i> are places that you can send\n information about these events to. For example, you can send event data to Amazon EventBridge and\n associate a rule to send the event to the specified target.</p>",
21532153
"smithy.api#http": {
21542154
"method": "DELETE",
21552155
"uri": "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}",
@@ -3483,6 +3483,21 @@
34833483
"target": "com.amazonaws.sesv2#Esp"
34843484
}
34853485
},
3486+
"com.amazonaws.sesv2#EventBridgeDestination": {
3487+
"type": "structure",
3488+
"members": {
3489+
"EventBusArn": {
3490+
"target": "com.amazonaws.sesv2#AmazonResourceName",
3491+
"traits": {
3492+
"smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the Amazon EventBridge bus to publish email events to. Only the default bus is supported. </p>",
3493+
"smithy.api#required": {}
3494+
}
3495+
}
3496+
},
3497+
"traits": {
3498+
"smithy.api#documentation": "<p>An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to\n send notifications when certain email events occur.</p>"
3499+
}
3500+
},
34863501
"com.amazonaws.sesv2#EventDestination": {
34873502
"type": "structure",
34883503
"members": {
@@ -3522,7 +3537,13 @@
35223537
"SnsDestination": {
35233538
"target": "com.amazonaws.sesv2#SnsDestination",
35243539
"traits": {
3525-
"smithy.api#documentation": "<p>An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to\n send notification when certain email events occur.</p>"
3540+
"smithy.api#documentation": "<p>An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to\n send notifications when certain email events occur.</p>"
3541+
}
3542+
},
3543+
"EventBridgeDestination": {
3544+
"target": "com.amazonaws.sesv2#EventBridgeDestination",
3545+
"traits": {
3546+
"smithy.api#documentation": "<p>An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to\n send notifications when certain email events occur.</p>"
35263547
}
35273548
},
35283549
"PinpointDestination": {
@@ -3567,7 +3588,13 @@
35673588
"SnsDestination": {
35683589
"target": "com.amazonaws.sesv2#SnsDestination",
35693590
"traits": {
3570-
"smithy.api#documentation": "<p>An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to\n send notification when certain email events occur.</p>"
3591+
"smithy.api#documentation": "<p>An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to\n send notifications when certain email events occur.</p>"
3592+
}
3593+
},
3594+
"EventBridgeDestination": {
3595+
"target": "com.amazonaws.sesv2#EventBridgeDestination",
3596+
"traits": {
3597+
"smithy.api#documentation": "<p>An object that defines an Amazon EventBridge destination for email events. You can use Amazon EventBridge to\n send notifications when certain email events occur.</p>"
35713598
}
35723599
},
35733600
"PinpointDestination": {
@@ -4122,7 +4149,7 @@
41224149
}
41234150
],
41244151
"traits": {
4125-
"smithy.api#documentation": "<p>Retrieve a list of event destinations that are associated with a configuration\n set.</p>\n <p>\n <i>Events</i> include message sends, deliveries, opens, clicks, bounces,\n and complaints. <i>Event destinations</i> are places that you can send\n information about these events to. For example, you can send event data to Amazon SNS to\n receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to\n stream data to Amazon S3 for long-term storage.</p>",
4152+
"smithy.api#documentation": "<p>Retrieve a list of event destinations that are associated with a configuration\n set.</p>\n <p>\n <i>Events</i> include message sends, deliveries, opens, clicks, bounces,\n and complaints. <i>Event destinations</i> are places that you can send\n information about these events to. For example, you can send event data to Amazon EventBridge and\n associate a rule to send the event to the specified target.</p>",
41264153
"smithy.api#http": {
41274154
"method": "GET",
41284155
"uri": "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations",
@@ -11369,7 +11396,7 @@
1136911396
}
1137011397
},
1137111398
"traits": {
11372-
"smithy.api#documentation": "<p>An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to\n send notification when certain email events occur.</p>"
11399+
"smithy.api#documentation": "<p>An object that defines an Amazon SNS destination for email events. You can use Amazon SNS to\n send notifications when certain email events occur.</p>"
1137311400
}
1137411401
},
1137511402
"com.amazonaws.sesv2#Subject": {
@@ -12021,7 +12048,7 @@
1202112048
}
1202212049
],
1202312050
"traits": {
12024-
"smithy.api#documentation": "<p>Update the configuration of an event destination for a configuration set.</p>\n <p>\n <i>Events</i> include message sends, deliveries, opens, clicks, bounces,\n and complaints. <i>Event destinations</i> are places that you can send\n information about these events to. For example, you can send event data to Amazon SNS to\n receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to\n stream data to Amazon S3 for long-term storage.</p>",
12051+
"smithy.api#documentation": "<p>Update the configuration of an event destination for a configuration set.</p>\n <p>\n <i>Events</i> include message sends, deliveries, opens, clicks, bounces,\n and complaints. <i>Event destinations</i> are places that you can send\n information about these events to. For example, you can send event data to Amazon EventBridge and\n associate a rule to send the event to the specified target.</p>",
1202512052
"smithy.api#http": {
1202612053
"method": "PUT",
1202712054
"uri": "/v2/email/configuration-sets/{ConfigurationSetName}/event-destinations/{EventDestinationName}",

0 commit comments

Comments
 (0)