Skip to content

Commit 2cf23a5

Browse files
author
awstools
committed
feat(client-sesv2): This release adds support for engagement tracking over Https using custom domains.
1 parent 2953ff4 commit 2cf23a5

File tree

8 files changed

+137
-66
lines changed

8 files changed

+137
-66
lines changed

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

+1
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ export interface CreateConfigurationSetCommandOutput extends CreateConfiguration
4343
* ConfigurationSetName: "STRING_VALUE", // required
4444
* TrackingOptions: { // TrackingOptions
4545
* CustomRedirectDomain: "STRING_VALUE", // required
46+
* HttpsPolicy: "REQUIRE" || "REQUIRE_OPEN_ONLY" || "OPTIONAL",
4647
* },
4748
* DeliveryOptions: { // DeliveryOptions
4849
* TlsPolicy: "REQUIRE" || "OPTIONAL",

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

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ export interface GetConfigurationSetCommandOutput extends GetConfigurationSetRes
5151
* // ConfigurationSetName: "STRING_VALUE",
5252
* // TrackingOptions: { // TrackingOptions
5353
* // CustomRedirectDomain: "STRING_VALUE", // required
54+
* // HttpsPolicy: "REQUIRE" || "REQUIRE_OPEN_ONLY" || "OPTIONAL",
5455
* // },
5556
* // DeliveryOptions: { // DeliveryOptions
5657
* // TlsPolicy: "REQUIRE" || "OPTIONAL",

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

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export interface PutConfigurationSetTrackingOptionsCommandOutput
4747
* const input = { // PutConfigurationSetTrackingOptionsRequest
4848
* ConfigurationSetName: "STRING_VALUE", // required
4949
* CustomRedirectDomain: "STRING_VALUE",
50+
* HttpsPolicy: "REQUIRE" || "REQUIRE_OPEN_ONLY" || "OPTIONAL",
5051
* };
5152
* const command = new PutConfigurationSetTrackingOptionsCommand(input);
5253
* const response = await client.send(command);

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import { commonParams } from "../endpoint/EndpointParameters";
88
import {
99
PutEmailIdentityDkimSigningAttributesRequest,
1010
PutEmailIdentityDkimSigningAttributesRequestFilterSensitiveLog,
11-
PutEmailIdentityDkimSigningAttributesResponse,
1211
} from "../models/models_0";
12+
import { PutEmailIdentityDkimSigningAttributesResponse } from "../models/models_1";
1313
import {
1414
de_PutEmailIdentityDkimSigningAttributesCommand,
1515
se_PutEmailIdentityDkimSigningAttributesCommand,

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

+31-65
Original file line numberDiff line numberDiff line change
@@ -1493,6 +1493,21 @@ export interface Tag {
14931493
Value: string | undefined;
14941494
}
14951495

1496+
/**
1497+
* @public
1498+
* @enum
1499+
*/
1500+
export const HttpsPolicy = {
1501+
OPTIONAL: "OPTIONAL",
1502+
REQUIRE: "REQUIRE",
1503+
REQUIRE_OPEN_ONLY: "REQUIRE_OPEN_ONLY",
1504+
} as const;
1505+
1506+
/**
1507+
* @public
1508+
*/
1509+
export type HttpsPolicy = (typeof HttpsPolicy)[keyof typeof HttpsPolicy];
1510+
14961511
/**
14971512
* <p>An object that defines the tracking options for a configuration set. When you use the
14981513
* Amazon SES API v2 to send an email, it contains an invisible image that's used to track when
@@ -1509,6 +1524,12 @@ export interface TrackingOptions {
15091524
* @public
15101525
*/
15111526
CustomRedirectDomain: string | undefined;
1527+
1528+
/**
1529+
* <p>The https policy to use for tracking open and click events.</p>
1530+
* @public
1531+
*/
1532+
HttpsPolicy?: HttpsPolicy;
15121533
}
15131534

15141535
/**
@@ -7127,6 +7148,16 @@ export interface PutConfigurationSetTrackingOptionsRequest {
71277148
* @public
71287149
*/
71297150
CustomRedirectDomain?: string;
7151+
7152+
/**
7153+
* <p>The https policy to use for tracking open and click events. If the value is OPTIONAL or HttpsPolicy is not
7154+
* specified, the open trackers use HTTP and click tracker use the original protocol of the link.
7155+
* If the value is REQUIRE, both open and click tracker uses HTTPS and if the value is REQUIRE_OPEN_ONLY
7156+
* open tracker uses HTTPS and link tracker is same as original protocol of the link.
7157+
* </p>
7158+
* @public
7159+
*/
7160+
HttpsPolicy?: HttpsPolicy;
71307161
}
71317162

71327163
/**
@@ -7367,71 +7398,6 @@ export interface PutEmailIdentityDkimSigningAttributesRequest {
73677398
SigningAttributes?: DkimSigningAttributes;
73687399
}
73697400

7370-
/**
7371-
* <p>If the action is successful, the service sends back an HTTP 200 response.</p>
7372-
* <p>The following data is returned in JSON format by the service.</p>
7373-
* @public
7374-
*/
7375-
export interface PutEmailIdentityDkimSigningAttributesResponse {
7376-
/**
7377-
* <p>The DKIM authentication status of the identity. Amazon SES determines the authentication
7378-
* status by searching for specific records in the DNS configuration for your domain. If
7379-
* you used <a href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html">Easy
7380-
* DKIM</a> to set up DKIM authentication, Amazon SES tries to find three unique CNAME
7381-
* records in the DNS configuration for your domain.</p>
7382-
* <p>If you provided a public key to perform DKIM authentication, Amazon SES tries to find a TXT
7383-
* record that uses the selector that you specified. The value of the TXT record must be a
7384-
* public key that's paired with the private key that you specified in the process of
7385-
* creating the identity.</p>
7386-
* <p>The status can be one of the following:</p>
7387-
* <ul>
7388-
* <li>
7389-
* <p>
7390-
* <code>PENDING</code> – The verification process was initiated, but Amazon SES
7391-
* hasn't yet detected the DKIM records in the DNS configuration for the
7392-
* domain.</p>
7393-
* </li>
7394-
* <li>
7395-
* <p>
7396-
* <code>SUCCESS</code> – The verification process completed
7397-
* successfully.</p>
7398-
* </li>
7399-
* <li>
7400-
* <p>
7401-
* <code>FAILED</code> – The verification process failed. This typically
7402-
* occurs when Amazon SES fails to find the DKIM records in the DNS configuration of the
7403-
* domain.</p>
7404-
* </li>
7405-
* <li>
7406-
* <p>
7407-
* <code>TEMPORARY_FAILURE</code> – A temporary issue is preventing Amazon SES
7408-
* from determining the DKIM authentication status of the domain.</p>
7409-
* </li>
7410-
* <li>
7411-
* <p>
7412-
* <code>NOT_STARTED</code> – The DKIM verification process hasn't been
7413-
* initiated for the domain.</p>
7414-
* </li>
7415-
* </ul>
7416-
* @public
7417-
*/
7418-
DkimStatus?: DkimStatus;
7419-
7420-
/**
7421-
* <p>If you used <a href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html">Easy DKIM</a> to configure DKIM authentication for the domain, then this object
7422-
* contains a set of unique strings that you use to create a set of CNAME records that you
7423-
* add to the DNS configuration for your domain. When Amazon SES detects these records in the
7424-
* DNS configuration for your domain, the DKIM authentication process is complete.</p>
7425-
* <p>If you configured DKIM authentication for the domain by providing your own
7426-
* public-private key pair, then this object contains the selector that's associated with
7427-
* your public key.</p>
7428-
* <p>Regardless of the DKIM authentication method you use, Amazon SES searches for the
7429-
* appropriate records in the DNS configuration of the domain for up to 72 hours.</p>
7430-
* @public
7431-
*/
7432-
DkimTokens?: string[];
7433-
}
7434-
74357401
/**
74367402
* @internal
74377403
*/

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

+66
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import {
55
BulkEmailEntry,
66
BulkEmailEntryResult,
77
Destination,
8+
DkimStatus,
89
EmailContent,
910
EmailTemplateContent,
1011
EventDestinationDefinition,
@@ -16,6 +17,71 @@ import {
1617
TopicPreference,
1718
} from "./models_0";
1819

20+
/**
21+
* <p>If the action is successful, the service sends back an HTTP 200 response.</p>
22+
* <p>The following data is returned in JSON format by the service.</p>
23+
* @public
24+
*/
25+
export interface PutEmailIdentityDkimSigningAttributesResponse {
26+
/**
27+
* <p>The DKIM authentication status of the identity. Amazon SES determines the authentication
28+
* status by searching for specific records in the DNS configuration for your domain. If
29+
* you used <a href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html">Easy
30+
* DKIM</a> to set up DKIM authentication, Amazon SES tries to find three unique CNAME
31+
* records in the DNS configuration for your domain.</p>
32+
* <p>If you provided a public key to perform DKIM authentication, Amazon SES tries to find a TXT
33+
* record that uses the selector that you specified. The value of the TXT record must be a
34+
* public key that's paired with the private key that you specified in the process of
35+
* creating the identity.</p>
36+
* <p>The status can be one of the following:</p>
37+
* <ul>
38+
* <li>
39+
* <p>
40+
* <code>PENDING</code> – The verification process was initiated, but Amazon SES
41+
* hasn't yet detected the DKIM records in the DNS configuration for the
42+
* domain.</p>
43+
* </li>
44+
* <li>
45+
* <p>
46+
* <code>SUCCESS</code> – The verification process completed
47+
* successfully.</p>
48+
* </li>
49+
* <li>
50+
* <p>
51+
* <code>FAILED</code> – The verification process failed. This typically
52+
* occurs when Amazon SES fails to find the DKIM records in the DNS configuration of the
53+
* domain.</p>
54+
* </li>
55+
* <li>
56+
* <p>
57+
* <code>TEMPORARY_FAILURE</code> – A temporary issue is preventing Amazon SES
58+
* from determining the DKIM authentication status of the domain.</p>
59+
* </li>
60+
* <li>
61+
* <p>
62+
* <code>NOT_STARTED</code> – The DKIM verification process hasn't been
63+
* initiated for the domain.</p>
64+
* </li>
65+
* </ul>
66+
* @public
67+
*/
68+
DkimStatus?: DkimStatus;
69+
70+
/**
71+
* <p>If you used <a href="https://docs.aws.amazon.com/ses/latest/DeveloperGuide/easy-dkim.html">Easy DKIM</a> to configure DKIM authentication for the domain, then this object
72+
* contains a set of unique strings that you use to create a set of CNAME records that you
73+
* add to the DNS configuration for your domain. When Amazon SES detects these records in the
74+
* DNS configuration for your domain, the DKIM authentication process is complete.</p>
75+
* <p>If you configured DKIM authentication for the domain by providing your own
76+
* public-private key pair, then this object contains the selector that's associated with
77+
* your public key.</p>
78+
* <p>Regardless of the DKIM authentication method you use, Amazon SES searches for the
79+
* appropriate records in the DNS configuration of the domain for up to 72 hours.</p>
80+
* @public
81+
*/
82+
DkimTokens?: string[];
83+
}
84+
1985
/**
2086
* <p>A request to set the attributes that control how bounce and complaint events are
2187
* processed.</p>

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

+1
Original file line numberDiff line numberDiff line change
@@ -1762,6 +1762,7 @@ export const se_PutConfigurationSetTrackingOptionsCommand = async (
17621762
body = JSON.stringify(
17631763
take(input, {
17641764
CustomRedirectDomain: [],
1765+
HttpsPolicy: [],
17651766
})
17661767
);
17671768
b.m("PUT").h(headers).b(body);

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

+35
Original file line numberDiff line numberDiff line change
@@ -5696,6 +5696,32 @@
56965696
"smithy.api#documentation": "<p>An object containing additional settings for your VDM configuration as applicable to\n the Guardian.</p>"
56975697
}
56985698
},
5699+
"com.amazonaws.sesv2#HttpsPolicy": {
5700+
"type": "enum",
5701+
"members": {
5702+
"REQUIRE": {
5703+
"target": "smithy.api#Unit",
5704+
"traits": {
5705+
"smithy.api#enumValue": "REQUIRE"
5706+
}
5707+
},
5708+
"REQUIRE_OPEN_ONLY": {
5709+
"target": "smithy.api#Unit",
5710+
"traits": {
5711+
"smithy.api#enumValue": "REQUIRE_OPEN_ONLY"
5712+
}
5713+
},
5714+
"OPTIONAL": {
5715+
"target": "smithy.api#Unit",
5716+
"traits": {
5717+
"smithy.api#enumValue": "OPTIONAL"
5718+
}
5719+
}
5720+
},
5721+
"traits": {
5722+
"smithy.api#documentation": "<p>The https policy to use for tracking open and click events. If the value is OPTIONAL or HttpsPolicy is not\n specified, the open trackers use HTTP and click tracker use the original protocol of the link.\n If the value is REQUIRE, both open and click tracker uses HTTPS and if the value is REQUIRE_OPEN_ONLY\n open tracker uses HTTPS and link tracker is same as original protocol of the link.\n </p>"
5723+
}
5724+
},
56995725
"com.amazonaws.sesv2#Identity": {
57005726
"type": "string",
57015727
"traits": {
@@ -8693,6 +8719,9 @@
86938719
"traits": {
86948720
"smithy.api#documentation": "<p>The domain to use to track open and click events.</p>"
86958721
}
8722+
},
8723+
"HttpsPolicy": {
8724+
"target": "com.amazonaws.sesv2#HttpsPolicy"
86968725
}
86978726
},
86988727
"traits": {
@@ -11953,6 +11982,12 @@
1195311982
"smithy.api#documentation": "<p>The domain to use for tracking open and click events.</p>",
1195411983
"smithy.api#required": {}
1195511984
}
11985+
},
11986+
"HttpsPolicy": {
11987+
"target": "com.amazonaws.sesv2#HttpsPolicy",
11988+
"traits": {
11989+
"smithy.api#documentation": "<p>The https policy to use for tracking open and click events.</p>"
11990+
}
1195611991
}
1195711992
},
1195811993
"traits": {

0 commit comments

Comments
 (0)