Skip to content

Commit 9e21803

Browse files
feat(sqs): support for permission settings for dead letter source queues (#28745)
This PR allows for the configuration of constraints on source queues that can designate this queue as their dead letter queue. ```ts declare const sourceQueue: sqs.IQueue; // Only the sourceQueue can specify this queue as the dead-letter queue. const queue1 = new sqs.Queue(this, 'Queue1', { redriveAllowPolicy: { sourceQueues: [sourceQueue], } }); // No source queues can specify this queue as the dead-letter queue. const queue2 = new sqs.Queue(this, 'Queue2', { redriveAllowPolicy: { redrivePermission: sqs.RedrivePermission.DENY_ALL, } }); ``` Closes #19766. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
1 parent 7b03a19 commit 9e21803

File tree

12 files changed

+717
-0
lines changed

12 files changed

+717
-0
lines changed

packages/@aws-cdk-testing/framework-integ/test/aws-sqs/test/integ.sqs-source-queue-permission.js.snapshot/SqsTestDefaultTestDeployAssert659366A6.assets.json

+19
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/aws-sqs/test/integ.sqs-source-queue-permission.js.snapshot/SqsTestDefaultTestDeployAssert659366A6.template.json

+36
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/aws-sqs/test/integ.sqs-source-queue-permission.js.snapshot/aws-cdk-sqs.assets.json

+19
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
{
2+
"Resources": {
3+
"SourceQueue1F4BBA4BB": {
4+
"Type": "AWS::SQS::Queue",
5+
"UpdateReplacePolicy": "Delete",
6+
"DeletionPolicy": "Delete"
7+
},
8+
"SourceQueue22481CB5A": {
9+
"Type": "AWS::SQS::Queue",
10+
"UpdateReplacePolicy": "Delete",
11+
"DeletionPolicy": "Delete"
12+
},
13+
"DeadLetterQueue9F481546": {
14+
"Type": "AWS::SQS::Queue",
15+
"Properties": {
16+
"RedriveAllowPolicy": {
17+
"redrivePermission": "byQueue",
18+
"sourceQueueArns": [
19+
{
20+
"Fn::GetAtt": [
21+
"SourceQueue1F4BBA4BB",
22+
"Arn"
23+
]
24+
},
25+
{
26+
"Fn::GetAtt": [
27+
"SourceQueue22481CB5A",
28+
"Arn"
29+
]
30+
}
31+
]
32+
}
33+
},
34+
"UpdateReplacePolicy": "Delete",
35+
"DeletionPolicy": "Delete"
36+
}
37+
},
38+
"Parameters": {
39+
"BootstrapVersion": {
40+
"Type": "AWS::SSM::Parameter::Value<String>",
41+
"Default": "/cdk-bootstrap/hnb659fds/version",
42+
"Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
43+
}
44+
},
45+
"Rules": {
46+
"CheckBootstrapVersion": {
47+
"Assertions": [
48+
{
49+
"Assert": {
50+
"Fn::Not": [
51+
{
52+
"Fn::Contains": [
53+
[
54+
"1",
55+
"2",
56+
"3",
57+
"4",
58+
"5"
59+
],
60+
{
61+
"Ref": "BootstrapVersion"
62+
}
63+
]
64+
}
65+
]
66+
},
67+
"AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
68+
}
69+
]
70+
}
71+
}
72+
}

packages/@aws-cdk-testing/framework-integ/test/aws-sqs/test/integ.sqs-source-queue-permission.js.snapshot/cdk.out

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/aws-sqs/test/integ.sqs-source-queue-permission.js.snapshot/integ.json

+12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/@aws-cdk-testing/framework-integ/test/aws-sqs/test/integ.sqs-source-queue-permission.js.snapshot/manifest.json

+125
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)