Skip to content

Commit 14fc94c

Browse files
author
awstools
committed
feat(client-ses): This release adds support for starting email contacts in your Amazon Connect instance as an email receiving action.
1 parent cce4188 commit 14fc94c

File tree

8 files changed

+147
-18
lines changed

8 files changed

+147
-18
lines changed

clients/client-ses/src/commands/CreateReceiptRuleCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ export interface CreateReceiptRuleCommandOutput extends CreateReceiptRuleRespons
8585
* TopicArn: "STRING_VALUE", // required
8686
* Encoding: "UTF-8" || "Base64",
8787
* },
88+
* ConnectAction: { // ConnectAction
89+
* InstanceARN: "STRING_VALUE", // required
90+
* IAMRoleARN: "STRING_VALUE", // required
91+
* },
8892
* },
8993
* ],
9094
* ScanEnabled: true || false,

clients/client-ses/src/commands/DescribeActiveReceiptRuleSetCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ export interface DescribeActiveReceiptRuleSetCommandOutput
9393
* // TopicArn: "STRING_VALUE", // required
9494
* // Encoding: "UTF-8" || "Base64",
9595
* // },
96+
* // ConnectAction: { // ConnectAction
97+
* // InstanceARN: "STRING_VALUE", // required
98+
* // IAMRoleARN: "STRING_VALUE", // required
99+
* // },
96100
* // },
97101
* // ],
98102
* // ScanEnabled: true || false,

clients/client-ses/src/commands/DescribeReceiptRuleCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@ export interface DescribeReceiptRuleCommandOutput extends DescribeReceiptRuleRes
8989
* // TopicArn: "STRING_VALUE", // required
9090
* // Encoding: "UTF-8" || "Base64",
9191
* // },
92+
* // ConnectAction: { // ConnectAction
93+
* // InstanceARN: "STRING_VALUE", // required
94+
* // IAMRoleARN: "STRING_VALUE", // required
95+
* // },
9296
* // },
9397
* // ],
9498
* // ScanEnabled: true || false,

clients/client-ses/src/commands/DescribeReceiptRuleSetCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,10 @@ export interface DescribeReceiptRuleSetCommandOutput extends DescribeReceiptRule
9393
* // TopicArn: "STRING_VALUE", // required
9494
* // Encoding: "UTF-8" || "Base64",
9595
* // },
96+
* // ConnectAction: { // ConnectAction
97+
* // InstanceARN: "STRING_VALUE", // required
98+
* // IAMRoleARN: "STRING_VALUE", // required
99+
* // },
96100
* // },
97101
* // ],
98102
* // ScanEnabled: true || false,

clients/client-ses/src/commands/UpdateReceiptRuleCommand.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ export interface UpdateReceiptRuleCommandOutput extends UpdateReceiptRuleRespons
8484
* TopicArn: "STRING_VALUE", // required
8585
* Encoding: "UTF-8" || "Base64",
8686
* },
87+
* ConnectAction: { // ConnectAction
88+
* InstanceARN: "STRING_VALUE", // required
89+
* IAMRoleARN: "STRING_VALUE", // required
90+
* },
8791
* },
8892
* ],
8993
* ScanEnabled: true || false,

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

Lines changed: 49 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -912,6 +912,36 @@ export class ConfigurationSetSendingPausedException extends __BaseException {
912912
}
913913
}
914914

915+
/**
916+
* <p>When included in a receipt rule, this action parses the received message and
917+
* starts an email contact in Amazon Connect on your behalf.</p>
918+
* <note>
919+
* <p>When you receive emails, the maximum email size (including headers) is 40 MB.
920+
* Additionally, emails may only have up to 10 attachments.
921+
* Emails larger than 40 MB or with more than 10 attachments will be bounced.</p>
922+
* </note>
923+
* <p>We recommend that you configure this action via Amazon Connect.</p>
924+
* @public
925+
*/
926+
export interface ConnectAction {
927+
/**
928+
* <p>The Amazon Resource Name (ARN) for the Amazon Connect instance that Amazon SES integrates with for starting
929+
* email contacts.</p>
930+
* <p>For more information about Amazon Connect instances, see the <a href="https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-instances.html">Amazon Connect Administrator Guide</a>
931+
* </p>
932+
* @public
933+
*/
934+
InstanceARN: string | undefined;
935+
936+
/**
937+
* <p> The Amazon Resource Name (ARN) of the IAM role to be used by Amazon Simple Email Service while starting email contacts
938+
* to the Amazon Connect instance. This role should have permission to invoke <code>connect:StartEmailContact</code>
939+
* for the given Amazon Connect instance.</p>
940+
* @public
941+
*/
942+
IAMRoleARN: string | undefined;
943+
}
944+
915945
/**
916946
* <p>Represents a request to create a configuration set. Configuration sets enable you to
917947
* publish email sending events. For information about using configuration sets, see the
@@ -1722,28 +1752,28 @@ export interface S3Action {
17221752

17231753
/**
17241754
* <p>The customer managed key that Amazon SES should use to encrypt your emails before saving
1725-
* them to the Amazon S3 bucket. You can use the default managed key or a custom managed key that
1726-
* you created in Amazon Web Services KMS as follows:</p>
1755+
* them to the Amazon S3 bucket. You can use the Amazon Web Services managed key or a customer managed key
1756+
* that you created in Amazon Web Services KMS as follows:</p>
17271757
* <ul>
17281758
* <li>
1729-
* <p>To use the default managed key, provide an ARN in the form of
1759+
* <p>To use the Amazon Web Services managed key, provide an ARN in the form of
17301760
* <code>arn:aws:kms:REGION:ACCOUNT-ID-WITHOUT-HYPHENS:alias/aws/ses</code>.
17311761
* For example, if your Amazon Web Services account ID is 123456789012 and you want to use the
1732-
* default managed key in the US West (Oregon) Region, the ARN of the default master
1762+
* Amazon Web Services managed key in the US West (Oregon) Region, the ARN of the Amazon Web Services managed
17331763
* key would be <code>arn:aws:kms:us-west-2:123456789012:alias/aws/ses</code>. If
1734-
* you use the default managed key, you don't need to perform any extra steps to
1735-
* give Amazon SES permission to use the key.</p>
1764+
* you use the Amazon Web Services managed key, you don't need to perform any extra steps to give
1765+
* Amazon SES permission to use the key.</p>
17361766
* </li>
17371767
* <li>
1738-
* <p>To use a custom managed key that you created in Amazon Web Services KMS, provide the ARN of
1739-
* the managed key and ensure that you add a statement to your key's policy to give
1740-
* Amazon SES permission to use it. For more information about giving permissions, see
1741-
* the <a href="https://docs.aws.amazon.com/ses/latest/dg/receiving-email-permissions.html">Amazon SES Developer
1768+
* <p>To use a customer managed key that you created in Amazon Web Services KMS, provide the ARN
1769+
* of the customer managed key and ensure that you add a statement to your key's
1770+
* policy to give Amazon SES permission to use it. For more information about giving
1771+
* permissions, see the <a href="https://docs.aws.amazon.com/ses/latest/dg/receiving-email-permissions.html">Amazon SES Developer
17421772
* Guide</a>.</p>
17431773
* </li>
17441774
* </ul>
17451775
* <p>For more information about key policies, see the <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html">Amazon Web Services KMS Developer Guide</a>. If
1746-
* you do not specify a managed key, Amazon SES does not encrypt your emails.</p>
1776+
* you do not specify an Amazon Web Services KMS key, Amazon SES does not encrypt your emails.</p>
17471777
* <important>
17481778
* <p>Your mail is encrypted by Amazon SES using the Amazon S3 encryption client before the mail
17491779
* is submitted to Amazon S3 for storage. It is not encrypted using Amazon S3 server-side
@@ -1762,14 +1792,12 @@ export interface S3Action {
17621792
/**
17631793
* <p> The ARN of the IAM role to be used by Amazon Simple Email Service while writing to the Amazon S3 bucket,
17641794
* optionally encrypting your mail via the provided customer managed key, and publishing to
1765-
* the Amazon SNS topic.
1766-
* This role should have access to the following APIs:
1767-
* </p>
1795+
* the Amazon SNS topic. This role should have access to the following APIs: </p>
17681796
* <ul>
17691797
* <li>
17701798
* <p>
17711799
* <code>s3:PutObject</code>, <code>kms:Encrypt</code> and
1772-
* <code>kms:GenerateDataKey</code> for the given Amazon S3 bucket.</p>
1800+
* <code>kms:GenerateDataKey</code> for the given Amazon S3 bucket.</p>
17731801
* </li>
17741802
* <li>
17751803
* <p>
@@ -1967,6 +1995,12 @@ export interface ReceiptAction {
19671995
* @public
19681996
*/
19691997
SNSAction?: SNSAction | undefined;
1998+
1999+
/**
2000+
* <p>Parses the received message and starts an email contact in Amazon Connect on your behalf.</p>
2001+
* @public
2002+
*/
2003+
ConnectAction?: ConnectAction | undefined;
19702004
}
19712005

19722006
/**

clients/client-ses/src/protocols/Aws_query.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,7 @@ import {
262262
ConfigurationSetAttribute,
263263
ConfigurationSetDoesNotExistException,
264264
ConfigurationSetSendingPausedException,
265+
ConnectAction,
265266
Content,
266267
CreateConfigurationSetEventDestinationRequest,
267268
CreateConfigurationSetEventDestinationResponse,
@@ -3996,6 +3997,20 @@ const se_ConfigurationSetAttributeList = (input: ConfigurationSetAttribute[], co
39963997
return entries;
39973998
};
39983999

4000+
/**
4001+
* serializeAws_queryConnectAction
4002+
*/
4003+
const se_ConnectAction = (input: ConnectAction, context: __SerdeContext): any => {
4004+
const entries: any = {};
4005+
if (input[_IARN] != null) {
4006+
entries[_IARN] = input[_IARN];
4007+
}
4008+
if (input[_IAMRARN] != null) {
4009+
entries[_IAMRARN] = input[_IAMRARN];
4010+
}
4011+
return entries;
4012+
};
4013+
39994014
/**
40004015
* serializeAws_queryContent
40014016
*/
@@ -4964,6 +4979,13 @@ const se_ReceiptAction = (input: ReceiptAction, context: __SerdeContext): any =>
49644979
entries[loc] = value;
49654980
});
49664981
}
4982+
if (input[_CAo] != null) {
4983+
const memberEntries = se_ConnectAction(input[_CAo], context);
4984+
Object.entries(memberEntries).forEach(([key, value]) => {
4985+
const loc = `ConnectAction.${key}`;
4986+
entries[loc] = value;
4987+
});
4988+
}
49674989
return entries;
49684990
};
49694991

@@ -6108,6 +6130,20 @@ const de_ConfigurationSetSendingPausedException = (
61086130
return contents;
61096131
};
61106132

6133+
/**
6134+
* deserializeAws_queryConnectAction
6135+
*/
6136+
const de_ConnectAction = (output: any, context: __SerdeContext): ConnectAction => {
6137+
const contents: any = {};
6138+
if (output[_IARN] != null) {
6139+
contents[_IARN] = __expectString(output[_IARN]);
6140+
}
6141+
if (output[_IAMRARN] != null) {
6142+
contents[_IAMRARN] = __expectString(output[_IAMRARN]);
6143+
}
6144+
return contents;
6145+
};
6146+
61116147
/**
61126148
* deserializeAws_queryCreateConfigurationSetEventDestinationResponse
61136149
*/
@@ -7293,6 +7329,9 @@ const de_ReceiptAction = (output: any, context: __SerdeContext): ReceiptAction =
72937329
if (output[_SNSA] != null) {
72947330
contents[_SNSA] = de_SNSAction(output[_SNSA], context);
72957331
}
7332+
if (output[_CAo] != null) {
7333+
contents[_CAo] = de_ConnectAction(output[_CAo], context);
7334+
}
72967335
return contents;
72977336
};
72987337

@@ -7998,6 +8037,7 @@ const _Bo = "Bounces";
79988037
const _Bu = "Bucket";
79998038
const _C = "Charset";
80008039
const _CA = "CcAddresses";
8040+
const _CAo = "ConnectAction";
80018041
const _CCS = "CreateConfigurationSet";
80028042
const _CCSED = "CreateConfigurationSetEventDestination";
80038043
const _CCSTO = "CreateConfigurationSetTrackingOptions";
@@ -8090,6 +8130,7 @@ const _HP = "HtmlPart";
80908130
const _HV = "HeaderValue";
80918131
const _I = "Identity";
80928132
const _IAMRARN = "IAMRoleARN";
8133+
const _IARN = "InstanceARN";
80938134
const _IF = "IpFilter";
80948135
const _IRA = "IamRoleArn";
80958136
const _IT = "InvocationType";

0 commit comments

Comments
 (0)