Skip to content

Commit 95a8827

Browse files
author
awstools
committed
feat(client-sesv2): This release provides enhanced visibility into your SES identity verification status. This will offer you more actionable insights, enabling you to promptly address any verification-related issues.
1 parent 00b6795 commit 95a8827

File tree

8 files changed

+395
-134
lines changed

8 files changed

+395
-134
lines changed

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,16 @@ export interface GetEmailIdentityCommandOutput extends GetEmailIdentityResponse,
8282
* // ],
8383
* // ConfigurationSetName: "STRING_VALUE",
8484
* // VerificationStatus: "PENDING" || "SUCCESS" || "FAILED" || "TEMPORARY_FAILURE" || "NOT_STARTED",
85+
* // VerificationInfo: { // VerificationInfo
86+
* // LastCheckedTimestamp: new Date("TIMESTAMP"),
87+
* // LastSuccessTimestamp: new Date("TIMESTAMP"),
88+
* // ErrorType: "SERVICE_ERROR" || "DNS_SERVER_ERROR" || "HOST_NOT_FOUND" || "TYPE_NOT_FOUND" || "INVALID_VALUE",
89+
* // SOARecord: { // SOARecord
90+
* // PrimaryNameServer: "STRING_VALUE",
91+
* // AdminEmail: "STRING_VALUE",
92+
* // SerialNumber: Number("long"),
93+
* // },
94+
* // },
8595
* // };
8696
*
8797
* ```

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {
1717
import {
1818
PutEmailIdentityMailFromAttributesRequest,
1919
PutEmailIdentityMailFromAttributesResponse,
20-
} from "../models/models_0";
20+
} from "../models/models_1";
2121
import {
2222
de_PutEmailIdentityMailFromAttributesCommand,
2323
se_PutEmailIdentityMailFromAttributesCommand,

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ import {
1414
SMITHY_CONTEXT_KEY,
1515
} from "@smithy/types";
1616

17-
import { PutSuppressedDestinationRequest } from "../models/models_0";
18-
import { PutSuppressedDestinationResponse } from "../models/models_1";
17+
import { PutSuppressedDestinationRequest, PutSuppressedDestinationResponse } from "../models/models_1";
1918
import { de_PutSuppressedDestinationCommand, se_PutSuppressedDestinationCommand } from "../protocols/Aws_restJson1";
2019
import { ServiceInputTypes, ServiceOutputTypes, SESv2ClientResolvedConfig } from "../SESv2Client";
2120

clients/client-sesv2/src/endpoint/ruleset.ts

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,27 @@ import { RuleSetObject } from "@smithy/types";
66
or see "smithy.rules#endpointRuleSet"
77
in codegen/sdk-codegen/aws-models/sesv2.json */
88

9-
const q="required",
10-
r="fn",
11-
s="argv",
12-
t="ref";
13-
const a="isSet",
14-
b="tree",
15-
c="error",
16-
d="endpoint",
17-
e="PartitionResult",
18-
f={[q]:false,"type":"String"},
19-
g={[q]:true,"default":false,"type":"Boolean"},
20-
h={[t]:"Endpoint"},
21-
i={[r]:"booleanEquals",[s]:[{[t]:"UseFIPS"},true]},
22-
j={[r]:"booleanEquals",[s]:[{[t]:"UseDualStack"},true]},
23-
k={},
24-
l={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsFIPS"]}]},
25-
m={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsDualStack"]}]},
26-
n=[i],
27-
o=[j],
28-
p=[{[t]:"Region"}];
29-
const _data={version:"1.0",parameters:{Region:f,UseDualStack:g,UseFIPS:g,Endpoint:f},rules:[{conditions:[{[r]:a,[s]:[h]}],type:b,rules:[{conditions:n,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{conditions:o,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:h,properties:k,headers:k},type:d}]},{conditions:[{[r]:a,[s]:p}],type:b,rules:[{conditions:[{[r]:"aws.partition",[s]:p,assign:e}],type:b,rules:[{conditions:[i,j],type:b,rules:[{conditions:[l,m],type:b,rules:[{endpoint:{url:"https://email-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:n,type:b,rules:[{conditions:[l],type:b,rules:[{endpoint:{url:"https://email-fips.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:o,type:b,rules:[{conditions:[m],type:b,rules:[{endpoint:{url:"https://email.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{endpoint:{url:"https://email.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"Invalid Configuration: Missing Region",type:c}]};
9+
const s="required",
10+
t="fn",
11+
u="argv",
12+
v="ref";
13+
const a=true,
14+
b="isSet",
15+
c="booleanEquals",
16+
d="error",
17+
e="endpoint",
18+
f="tree",
19+
g="PartitionResult",
20+
h={[s]:false,"type":"String"},
21+
i={[s]:true,"default":false,"type":"Boolean"},
22+
j={[v]:"Endpoint"},
23+
k={[t]:c,[u]:[{[v]:"UseFIPS"},true]},
24+
l={[t]:c,[u]:[{[v]:"UseDualStack"},true]},
25+
m={},
26+
n={[t]:"getAttr",[u]:[{[v]:g},"supportsFIPS"]},
27+
o={[t]:c,[u]:[true,{[t]:"getAttr",[u]:[{[v]:g},"supportsDualStack"]}]},
28+
p=[k],
29+
q=[l],
30+
r=[{[v]:"Region"}];
31+
const _data={version:"1.0",parameters:{Region:h,UseDualStack:i,UseFIPS:i,Endpoint:h},rules:[{conditions:[{[t]:b,[u]:[j]}],rules:[{conditions:p,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:d},{conditions:q,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:d},{endpoint:{url:j,properties:m,headers:m},type:e}],type:f},{conditions:[{[t]:b,[u]:r}],rules:[{conditions:[{[t]:"aws.partition",[u]:r,assign:g}],rules:[{conditions:[k,l],rules:[{conditions:[{[t]:c,[u]:[a,n]},o],rules:[{endpoint:{url:"https://email-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:m,headers:m},type:e}],type:f},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:d}],type:f},{conditions:p,rules:[{conditions:[{[t]:c,[u]:[n,a]}],rules:[{endpoint:{url:"https://email-fips.{Region}.{PartitionResult#dnsSuffix}",properties:m,headers:m},type:e}],type:f},{error:"FIPS is enabled but this partition does not support FIPS",type:d}],type:f},{conditions:q,rules:[{conditions:[o],rules:[{endpoint:{url:"https://email.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:m,headers:m},type:e}],type:f},{error:"DualStack is enabled but this partition does not support DualStack",type:d}],type:f},{endpoint:{url:"https://email.{Region}.{PartitionResult#dnsSuffix}",properties:m,headers:m},type:e}],type:f}],type:f},{error:"Invalid Configuration: Missing Region",type:d}]};
3032
export const ruleSet: RuleSetObject = _data;

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

Lines changed: 129 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1999,7 +1999,9 @@ export interface RawMessage {
19991999
* <p>Attachments must be in a file format that the Amazon SES supports.</p>
20002000
* </li>
20012001
* <li>
2002-
* <p>The entire message must be Base64 encoded.</p>
2002+
* <p>The raw data of the message needs to base64-encoded if you are accessing
2003+
* Amazon SES directly through the HTTPS interface. If you are accessing Amazon SES using an Amazon Web Services
2004+
* SDK, the SDK takes care of the base 64-encoding for you.</p>
20032005
* </li>
20042006
* <li>
20052007
* <p>If any of the MIME parts in your message contain content that is outside of
@@ -2072,7 +2074,9 @@ export interface EmailContent {
20722074
* </p>
20732075
* </li>
20742076
* <li>
2075-
* <p>The entire message must be Base64 encoded.</p>
2077+
* <p>The raw data of the message needs to base64-encoded if you are accessing
2078+
* Amazon SES directly through the HTTPS interface. If you are accessing Amazon SES using an Amazon Web Services
2079+
* SDK, the SDK takes care of the base 64-encoding for you.</p>
20762080
* </li>
20772081
* <li>
20782082
* <p>If any of the MIME parts in your message contain content that is outside of
@@ -2244,13 +2248,14 @@ export type DkimSigningKeyLength = (typeof DkimSigningKeyLength)[keyof typeof Dk
22442248

22452249
/**
22462250
* @public
2247-
* <p>An object that contains configuration for Bring Your Own DKIM (BYODKIM), or, for Easy DKIM</p>
2251+
* <p>An object that contains configuration for Bring Your Own DKIM (BYODKIM), or, for Easy
2252+
* DKIM</p>
22482253
*/
22492254
export interface DkimSigningAttributes {
22502255
/**
22512256
* @public
2252-
* <p>[Bring Your Own DKIM] A string that's used to identify a public key in the DNS configuration for a
2253-
* domain.</p>
2257+
* <p>[Bring Your Own DKIM] A string that's used to identify a public key in the DNS
2258+
* configuration for a domain.</p>
22542259
*/
22552260
DomainSigningSelector?: string;
22562261

@@ -2264,7 +2269,8 @@ export interface DkimSigningAttributes {
22642269

22652270
/**
22662271
* @public
2267-
* <p>[Easy DKIM] The key length of the future DKIM key pair to be generated. This can be changed at most once per day.</p>
2272+
* <p>[Easy DKIM] The key length of the future DKIM key pair to be generated. This can be
2273+
* changed at most once per day.</p>
22682274
*/
22692275
NextSigningKeyLength?: DkimSigningKeyLength;
22702276
}
@@ -2431,7 +2437,8 @@ export interface DkimAttributes {
24312437

24322438
/**
24332439
* @public
2434-
* <p>[Easy DKIM] The key length of the future DKIM key pair to be generated. This can be changed at most once per day.</p>
2440+
* <p>[Easy DKIM] The key length of the future DKIM key pair to be generated. This can be
2441+
* changed at most once per day.</p>
24352442
*/
24362443
NextSigningKeyLength?: DkimSigningKeyLength;
24372444

@@ -5078,6 +5085,111 @@ export interface MailFromAttributes {
50785085
BehaviorOnMxFailure: BehaviorOnMxFailure | undefined;
50795086
}
50805087

5088+
/**
5089+
* @public
5090+
* @enum
5091+
*/
5092+
export const VerificationError = {
5093+
DNS_SERVER_ERROR: "DNS_SERVER_ERROR",
5094+
HOST_NOT_FOUND: "HOST_NOT_FOUND",
5095+
INVALID_VALUE: "INVALID_VALUE",
5096+
SERVICE_ERROR: "SERVICE_ERROR",
5097+
TYPE_NOT_FOUND: "TYPE_NOT_FOUND",
5098+
} as const;
5099+
5100+
/**
5101+
* @public
5102+
*/
5103+
export type VerificationError = (typeof VerificationError)[keyof typeof VerificationError];
5104+
5105+
/**
5106+
* @public
5107+
* <p>An object that contains information about the start of authority (SOA) record
5108+
* associated with the identity.</p>
5109+
*/
5110+
export interface SOARecord {
5111+
/**
5112+
* @public
5113+
* <p>Primary name server specified in the SOA record.</p>
5114+
*/
5115+
PrimaryNameServer?: string;
5116+
5117+
/**
5118+
* @public
5119+
* <p>Administrative contact email from the SOA record.</p>
5120+
*/
5121+
AdminEmail?: string;
5122+
5123+
/**
5124+
* @public
5125+
* <p>Serial number from the SOA record.</p>
5126+
*/
5127+
SerialNumber?: number;
5128+
}
5129+
5130+
/**
5131+
* @public
5132+
* <p>An object that contains additional information about the verification status for the
5133+
* identity.</p>
5134+
*/
5135+
export interface VerificationInfo {
5136+
/**
5137+
* @public
5138+
* <p>The last time a verification attempt was made for this identity.</p>
5139+
*/
5140+
LastCheckedTimestamp?: Date;
5141+
5142+
/**
5143+
* @public
5144+
* <p>The last time a successful verification was made for this identity.</p>
5145+
*/
5146+
LastSuccessTimestamp?: Date;
5147+
5148+
/**
5149+
* @public
5150+
* <p>Provides the reason for the failure describing why Amazon SES was not able to successfully
5151+
* verify the identity. Below are the possible values: </p>
5152+
* <ul>
5153+
* <li>
5154+
* <p>
5155+
* <code>INVALID_VALUE</code> – Amazon SES was able to find the record, but the
5156+
* value contained within the record was invalid. Ensure you have published the
5157+
* correct values for the record.</p>
5158+
* </li>
5159+
* <li>
5160+
* <p>
5161+
* <code>TYPE_NOT_FOUND</code> – The queried hostname exists but does not
5162+
* have the requested type of DNS record. Ensure that you have published the
5163+
* correct type of DNS record.</p>
5164+
* </li>
5165+
* <li>
5166+
* <p>
5167+
* <code>HOST_NOT_FOUND</code> – The queried hostname does not exist or was
5168+
* not reachable at the time of the request. Ensure that you have published the
5169+
* required DNS record(s). </p>
5170+
* </li>
5171+
* <li>
5172+
* <p>
5173+
* <code>SERVICE_ERROR</code> – A temporary issue is preventing Amazon SES from
5174+
* determining the verification status of the domain.</p>
5175+
* </li>
5176+
* <li>
5177+
* <p>
5178+
* <code>DNS_SERVER_ERROR</code> – The DNS server encountered an issue and
5179+
* was unable to complete the request.</p>
5180+
* </li>
5181+
* </ul>
5182+
*/
5183+
ErrorType?: VerificationError;
5184+
5185+
/**
5186+
* @public
5187+
* <p>An object that contains information about the start of authority (SOA) record
5188+
* associated with the identity.</p>
5189+
*/
5190+
SOARecord?: SOARecord;
5191+
}
5192+
50815193
/**
50825194
* @public
50835195
* @enum
@@ -5191,6 +5303,13 @@ export interface GetEmailIdentityResponse {
51915303
* </ul>
51925304
*/
51935305
VerificationStatus?: VerificationStatus;
5306+
5307+
/**
5308+
* @public
5309+
* <p>An object that contains additional information about the verification status for the
5310+
* identity.</p>
5311+
*/
5312+
VerificationInfo?: VerificationInfo;
51945313
}
51955314

51965315
/**
@@ -5560,7 +5679,8 @@ export interface IdentityInfo {
55605679

55615680
/**
55625681
* @public
5563-
* <p>The verification status of the identity. The status can be one of the following:</p>
5682+
* <p>The verification status of the identity. The status can be one of the
5683+
* following:</p>
55645684
* <ul>
55655685
* <li>
55665686
* <p>
@@ -6140,7 +6260,7 @@ export interface ListEmailTemplatesRequest {
61406260
* <p>The number of results to show in a single call to <code>ListEmailTemplates</code>. If the number of
61416261
* results is larger than the number you specified in this parameter, then the response
61426262
* includes a <code>NextToken</code> element, which you can use to obtain additional results.</p>
6143-
* <p>The value you specify has to be at least 1, and can be no more than 10.</p>
6263+
* <p>The value you specify has to be at least 1, and can be no more than 100.</p>
61446264
*/
61456265
PageSize?: number;
61466266
}
@@ -7224,78 +7344,6 @@ export interface PutEmailIdentityFeedbackAttributesRequest {
72247344
*/
72257345
export interface PutEmailIdentityFeedbackAttributesResponse {}
72267346

7227-
/**
7228-
* @public
7229-
* <p>A request to configure the custom MAIL FROM domain for a verified identity.</p>
7230-
*/
7231-
export interface PutEmailIdentityMailFromAttributesRequest {
7232-
/**
7233-
* @public
7234-
* <p>The verified email identity.</p>
7235-
*/
7236-
EmailIdentity: string | undefined;
7237-
7238-
/**
7239-
* @public
7240-
* <p> The custom MAIL FROM domain that you want the verified identity to use. The MAIL FROM
7241-
* domain must meet the following criteria:</p>
7242-
* <ul>
7243-
* <li>
7244-
* <p>It has to be a subdomain of the verified identity.</p>
7245-
* </li>
7246-
* <li>
7247-
* <p>It can't be used to receive email.</p>
7248-
* </li>
7249-
* <li>
7250-
* <p>It can't be used in a "From" address if the MAIL FROM domain is a destination
7251-
* for feedback forwarding emails.</p>
7252-
* </li>
7253-
* </ul>
7254-
*/
7255-
MailFromDomain?: string;
7256-
7257-
/**
7258-
* @public
7259-
* <p>The action to take if the required MX record isn't found when you send an email. When
7260-
* you set this value to <code>UseDefaultValue</code>, the mail is sent using
7261-
* <i>amazonses.com</i> as the MAIL FROM domain. When you set this value
7262-
* to <code>RejectMessage</code>, the Amazon SES API v2 returns a
7263-
* <code>MailFromDomainNotVerified</code> error, and doesn't attempt to deliver the
7264-
* email.</p>
7265-
* <p>These behaviors are taken when the custom MAIL FROM domain configuration is in the
7266-
* <code>Pending</code>, <code>Failed</code>, and <code>TemporaryFailure</code>
7267-
* states.</p>
7268-
*/
7269-
BehaviorOnMxFailure?: BehaviorOnMxFailure;
7270-
}
7271-
7272-
/**
7273-
* @public
7274-
* <p>An HTTP 200 response if the request succeeds, or an error message if the request
7275-
* fails.</p>
7276-
*/
7277-
export interface PutEmailIdentityMailFromAttributesResponse {}
7278-
7279-
/**
7280-
* @public
7281-
* <p>A request to add an email destination to the suppression list for your account.</p>
7282-
*/
7283-
export interface PutSuppressedDestinationRequest {
7284-
/**
7285-
* @public
7286-
* <p>The email address that should be added to the suppression list for your
7287-
* account.</p>
7288-
*/
7289-
EmailAddress: string | undefined;
7290-
7291-
/**
7292-
* @public
7293-
* <p>The factors that should cause the email address to be added to the suppression list
7294-
* for your account.</p>
7295-
*/
7296-
Reason: SuppressionListReason | undefined;
7297-
}
7298-
72997347
/**
73007348
* @internal
73017349
*/

0 commit comments

Comments
 (0)