@aws-solutions-constructs/aws-lambda-sns 2.95.1 → 2.96.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +3 -3
- package/README.adoc +6 -2
- package/lib/index.js +1 -1
- package/package.json +3 -3
- package/test/integ.lamsns-deployFunction.js.snapshot/asset.4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640/index.js +21 -0
- package/test/integ.lamsns-deployFunction.js.snapshot/cdk.out +1 -1
- package/test/integ.lamsns-deployFunction.js.snapshot/integ.json +2 -2
- package/test/integ.lamsns-deployFunction.js.snapshot/lamsns-deployFunction.assets.json +8 -8
- package/test/integ.lamsns-deployFunction.js.snapshot/lamsns-deployFunction.template.json +2 -2
- package/test/integ.lamsns-deployFunction.js.snapshot/lamsnsdeployFunctionIntegDefaultTestDeployAssert36FE5D09.assets.json +1 -1
- package/test/integ.lamsns-deployFunction.js.snapshot/manifest.json +65 -41
- package/test/integ.lamsns-deployFunction.js.snapshot/tree.json +1 -1
- package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/lamsns-deployFunctionWithVpc.assets.json +3 -3
- package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/lamsns-deployFunctionWithVpc.template.json +1 -1
- package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/manifest.json +1 -1
- package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/tree.json +1 -1
- package/test/integ.lamsns-existingFunction.js.snapshot/asset.4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640/index.js +21 -0
- package/test/integ.lamsns-existingFunction.js.snapshot/cdk.out +1 -1
- package/test/integ.lamsns-existingFunction.js.snapshot/integ.json +2 -2
- package/test/integ.lamsns-existingFunction.js.snapshot/lamsns-existingFunction.assets.json +8 -8
- package/test/integ.lamsns-existingFunction.js.snapshot/lamsns-existingFunction.template.json +2 -2
- package/test/integ.lamsns-existingFunction.js.snapshot/lamsnsexistingFunctionIntegDefaultTestDeployAssert733AE3CB.assets.json +1 -1
- package/test/integ.lamsns-existingFunction.js.snapshot/manifest.json +65 -41
- package/test/integ.lamsns-existingFunction.js.snapshot/tree.json +1 -1
package/.jsii
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"url": "https://aws.amazon.com"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@aws-solutions-constructs/core": "2.
|
|
11
|
+
"@aws-solutions-constructs/core": "2.96.0",
|
|
12
12
|
"aws-cdk-lib": "^2.223.0",
|
|
13
13
|
"constructs": "^10.0.0"
|
|
14
14
|
},
|
|
@@ -4498,6 +4498,6 @@
|
|
|
4498
4498
|
"symbolId": "lib/index:LambdaToSnsProps"
|
|
4499
4499
|
}
|
|
4500
4500
|
},
|
|
4501
|
-
"version": "2.
|
|
4502
|
-
"fingerprint": "
|
|
4501
|
+
"version": "2.96.0",
|
|
4502
|
+
"fingerprint": "wBpYFYW/6ThgrQICvztSRCtWnl1V5vfokyyzMjzgWnk="
|
|
4503
4503
|
}
|
package/README.adoc
CHANGED
|
@@ -48,7 +48,7 @@ import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
|
48
48
|
|
|
49
49
|
new LambdaToSns(this, 'test-lambda-sns', {
|
|
50
50
|
lambdaFunctionProps: {
|
|
51
|
-
runtime: lambda.Runtime.
|
|
51
|
+
runtime: lambda.Runtime.NODEJS_22_X,
|
|
52
52
|
handler: 'index.handler',
|
|
53
53
|
code: lambda.Code.fromAsset(`lambda`)
|
|
54
54
|
}
|
|
@@ -90,7 +90,7 @@ import software.amazon.awsconstructs.services.lambdasns.*;
|
|
|
90
90
|
|
|
91
91
|
new LambdaToSns(this, "test-lambda-sns-stack", new LambdaToSnsProps.Builder()
|
|
92
92
|
.lambdaFunctionProps(new FunctionProps.Builder()
|
|
93
|
-
.runtime(Runtime.
|
|
93
|
+
.runtime(Runtime.NODEJS_22_X)
|
|
94
94
|
.code(Code.fromAsset("lambda"))
|
|
95
95
|
.handler("index.handler")
|
|
96
96
|
.build())
|
|
@@ -218,6 +218,10 @@ and higher functions)
|
|
|
218
218
|
|
|
219
219
|
image::aws-lambda-sns.png["Diagram showing the Lambda function, SNS topic and IAM role created by the construct",scaledwidth=100%]
|
|
220
220
|
|
|
221
|
+
== Example Lambda Function Implementation
|
|
222
|
+
|
|
223
|
+
While Solutions Constructs does not publish code for the Lambda function to call SNS, here are many examples: https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/sns/actions['example']. (these examples are in JavaScript, but examples in other languages can also be found at this site)
|
|
224
|
+
|
|
221
225
|
// github block
|
|
222
226
|
|
|
223
227
|
'''''
|
package/lib/index.js
CHANGED
|
@@ -61,5 +61,5 @@ class LambdaToSns extends constructs_1.Construct {
|
|
|
61
61
|
}
|
|
62
62
|
exports.LambdaToSns = LambdaToSns;
|
|
63
63
|
_a = JSII_RTTI_SYMBOL_1;
|
|
64
|
-
LambdaToSns[_a] = { fqn: "@aws-solutions-constructs/aws-lambda-sns.LambdaToSns", version: "2.
|
|
64
|
+
LambdaToSns[_a] = { fqn: "@aws-solutions-constructs/aws-lambda-sns.LambdaToSns", version: "2.96.0" };
|
|
65
65
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWlCQSwyREFBMkQ7QUFDM0Qsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQThFdkM7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxzQkFBUztJQUt0Qzs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixRQUFRLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFakMsSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO2dCQUNsQyxlQUFlLEVBQUUsUUFBUSxDQUFDLHVCQUF1QixFQUFFO2dCQUNuRCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDNUIsaUJBQWlCLEVBQUU7b0JBQ2pCLGtCQUFrQixFQUFFLElBQUk7b0JBQ3hCLGdCQUFnQixFQUFFLElBQUk7aUJBQ3ZCO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBRUQsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxjQUFjLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRTtZQUN2RCxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDOUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsc0JBQXNCO1FBQ3RCLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3ZELGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLHNDQUFzQyxFQUFFLEtBQUssQ0FBQyxzQ0FBc0M7WUFDcEYsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1lBQ2xDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7U0FDN0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7UUFDekMsa0NBQWtDO1FBQ2xDLE1BQU0sK0JBQStCLEdBQUcsS0FBSyxDQUFDLCtCQUErQixJQUFJLGVBQWUsQ0FBQztRQUNqRyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQywrQkFBK0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sZ0NBQWdDLEdBQUcsS0FBSyxDQUFDLGdDQUFnQyxJQUFJLGdCQUFnQixDQUFDO1FBQ3BHLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLGdDQUFnQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFOUYsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakUsQ0FBQzs7QUExREwsa0NBMkRDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gSW1wb3J0c1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0ICogYXMgc25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbi8vIE5vdGU6IFRvIGVuc3VyZSBDREt2MiBjb21wYXRpYmlsaXR5LCBrZWVwIHRoZSBpbXBvcnQgc3RhdGVtZW50IGZvciBDb25zdHJ1Y3Qgc2VwYXJhdGVcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbi8qKlxuICogQHN1bW1hcnkgVGhlIHByb3BlcnRpZXMgZm9yIHRoZSBMYW1iZGFUb1NucyBjbGFzcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYW1iZGFUb1Nuc1Byb3BzIHtcbiAgLyoqXG4gICAqIEV4aXN0aW5nIGluc3RhbmNlIG9mIExhbWJkYSBGdW5jdGlvbiBvYmplY3QsIHByb3ZpZGluZyBib3RoIHRoaXMgYW5kIGBsYW1iZGFGdW5jdGlvblByb3BzYCB3aWxsIGNhdXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nTGFtYmRhT2JqPzogbGFtYmRhLkZ1bmN0aW9uO1xuICAvKipcbiAgICogVXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wcyBmb3IgdGhlIExhbWJkYSBmdW5jdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHVzZWQuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFGdW5jdGlvblByb3BzPzogbGFtYmRhLkZ1bmN0aW9uUHJvcHM7XG4gIC8qKlxuICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBTTlMgVG9waWMgb2JqZWN0LCBwcm92aWRpbmcgYm90aCB0aGlzIGFuZCB0b3BpY1Byb3BzIHdpbGwgY2F1c2UgYW4gZXJyb3IuLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nVG9waWNPYmo/OiBzbnMuVG9waWM7XG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BlcnRpZXMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcGVydGllcyBmb3IgdGhlIFNOUyB0b3BpYy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEZWZhdWx0IHByb3BlcnRpZXMgYXJlIHVzZWQuXG4gICAqL1xuICByZWFkb25seSB0b3BpY1Byb3BzPzogc25zLlRvcGljUHJvcHM7XG4gIC8qKlxuICAgKiBBbiBleGlzdGluZyBWUEMgZm9yIHRoZSBjb25zdHJ1Y3QgdG8gdXNlIChjb25zdHJ1Y3Qgd2lsbCBOT1QgY3JlYXRlIGEgbmV3IFZQQyBpbiB0aGlzIGNhc2UpXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1ZwYz86IGVjMi5JVnBjO1xuICAvKipcbiAgICogUHJvcGVydGllcyB0byBvdmVycmlkZSBkZWZhdWx0IHByb3BlcnRpZXMgaWYgZGVwbG95VnBjIGlzIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZwY1Byb3BzPzogZWMyLlZwY1Byb3BzO1xuICAvKipcbiAgICogV2hldGhlciB0byBkZXBsb3kgYSBuZXcgVlBDXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveVZwYz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBPcHRpb25hbCBOYW1lIGZvciB0aGUgTGFtYmRhIGZ1bmN0aW9uIGVudmlyb25tZW50IHZhcmlhYmxlIHNldCB0byB0aGUgYXJuIG9mIHRoZSBUb3BpYy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBTTlNfVE9QSUNfQVJOXG4gICAqL1xuICByZWFkb25seSB0b3BpY0FybkVudmlyb25tZW50VmFyaWFibGVOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogT3B0aW9uYWwgTmFtZSBmb3IgdGhlIExhbWJkYSBmdW5jdGlvbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBzZXQgdG8gdGhlIG5hbWUgb2YgdGhlIFRvcGljLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFNOU19UT1BJQ19OQU1FXG4gICAqL1xuICByZWFkb25seSB0b3BpY05hbWVFbnZpcm9ubWVudFZhcmlhYmxlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIElmIG5vIGtleSBpcyBwcm92aWRlZCwgdGhpcyBmbGFnIGRldGVybWluZXMgd2hldGhlciB0aGUgU05TIFRvcGljIGlzIGVuY3J5cHRlZCB3aXRoIGEgbmV3IENNSyBvciBhbiBBV1MgbWFuYWdlZCBrZXkuXG4gICAqIFRoaXMgZmxhZyBpcyBpZ25vcmVkIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGFyZSBkZWZpbmVkOiB0b3BpY1Byb3BzLm1hc3RlcktleSwgZW5jcnlwdGlvbktleSBvciBlbmNyeXB0aW9uS2V5UHJvcHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRmFsc2UgaWYgdG9waWNQcm9wcy5tYXN0ZXJLZXksIGVuY3J5cHRpb25LZXksIGFuZCBlbmNyeXB0aW9uS2V5UHJvcHMgYXJlIGFsbCB1bmRlZmluZWQuXG4gICAqL1xuICByZWFkb25seSBlbmFibGVFbmNyeXB0aW9uV2l0aEN1c3RvbWVyTWFuYWdlZEtleT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCwgaW1wb3J0ZWQgZW5jcnlwdGlvbiBrZXkgdG8gZW5jcnlwdCB0aGUgU05TIFRvcGljIHdpdGguXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbktleT86IGttcy5LZXk7XG4gIC8qKlxuICAgKiBPcHRpb25hbCB1c2VyIHByb3ZpZGVkIHByb3BlcnRpZXMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcGVydGllcyBmb3IgdGhlIEtNUyBlbmNyeXB0aW9uIGtleSB1c2VkIHRvIGVuY3J5cHQgdGhlIFNOUyBUb3BpYyB3aXRoLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IGVuY3J5cHRpb25LZXlQcm9wcz86IGttcy5LZXlQcm9wcztcbn1cblxuLyoqXG4gKiBAc3VtbWFyeSBUaGUgTGFtYmRhVG9TbnMgY2xhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBMYW1iZGFUb1NucyBleHRlbmRzIENvbnN0cnVjdCB7XG4gICAgcHVibGljIHJlYWRvbmx5IGxhbWJkYUZ1bmN0aW9uOiBsYW1iZGEuRnVuY3Rpb247XG4gICAgcHVibGljIHJlYWRvbmx5IHNuc1RvcGljOiBzbnMuVG9waWM7XG4gICAgcHVibGljIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gICAgLyoqXG4gICAgICogQHN1bW1hcnkgQ29uc3RydWN0cyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgTGFtYmRhVG9TbnMgY2xhc3MuXG4gICAgICogQHBhcmFtIHtjZGsuQXBwfSBzY29wZSAtIHJlcHJlc2VudHMgdGhlIHNjb3BlIGZvciBhbGwgdGhlIHJlc291cmNlcy5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSB0aGlzIGlzIGEgYSBzY29wZS11bmlxdWUgaWQuXG4gICAgICogQHBhcmFtIHtMYW1iZGFUb1Nuc1Byb3BzfSBwcm9wcyAtIHVzZXIgcHJvdmlkZWQgcHJvcHMgZm9yIHRoZSBjb25zdHJ1Y3QuXG4gICAgICogQHNpbmNlIDAuOC4wXG4gICAgICogQGFjY2VzcyBwdWJsaWNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTGFtYmRhVG9TbnNQcm9wcykge1xuICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgIGRlZmF1bHRzLkNoZWNrU25zUHJvcHMocHJvcHMpO1xuICAgICAgZGVmYXVsdHMuQ2hlY2tWcGNQcm9wcyhwcm9wcyk7XG4gICAgICBkZWZhdWx0cy5DaGVja0xhbWJkYVByb3BzKHByb3BzKTtcblxuICAgICAgaWYgKHByb3BzLmRlcGxveVZwYyB8fCBwcm9wcy5leGlzdGluZ1ZwYykge1xuICAgICAgICB0aGlzLnZwYyA9IGRlZmF1bHRzLmJ1aWxkVnBjKHNjb3BlLCB7XG4gICAgICAgICAgZGVmYXVsdFZwY1Byb3BzOiBkZWZhdWx0cy5EZWZhdWx0SXNvbGF0ZWRWcGNQcm9wcygpLFxuICAgICAgICAgIGV4aXN0aW5nVnBjOiBwcm9wcy5leGlzdGluZ1ZwYyxcbiAgICAgICAgICB1c2VyVnBjUHJvcHM6IHByb3BzLnZwY1Byb3BzLFxuICAgICAgICAgIGNvbnN0cnVjdFZwY1Byb3BzOiB7XG4gICAgICAgICAgICBlbmFibGVEbnNIb3N0bmFtZXM6IHRydWUsXG4gICAgICAgICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRlZmF1bHRzLkFkZEF3c1NlcnZpY2VFbmRwb2ludChzY29wZSwgdGhpcy52cGMsIGRlZmF1bHRzLlNlcnZpY2VFbmRwb2ludFR5cGVzLlNOUyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNldHVwIHRoZSBMYW1iZGEgZnVuY3Rpb25cbiAgICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBkZWZhdWx0cy5idWlsZExhbWJkYUZ1bmN0aW9uKHRoaXMsIHtcbiAgICAgICAgZXhpc3RpbmdMYW1iZGFPYmo6IHByb3BzLmV4aXN0aW5nTGFtYmRhT2JqLFxuICAgICAgICBsYW1iZGFGdW5jdGlvblByb3BzOiBwcm9wcy5sYW1iZGFGdW5jdGlvblByb3BzLFxuICAgICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgfSk7XG5cbiAgICAgIC8vIFNldHVwIHRoZSBTTlMgdG9waWNcbiAgICAgIGNvbnN0IGJ1aWxkVG9waWNSZXNwb25zZSA9IGRlZmF1bHRzLmJ1aWxkVG9waWModGhpcywgaWQsIHtcbiAgICAgICAgZXhpc3RpbmdUb3BpY09iajogcHJvcHMuZXhpc3RpbmdUb3BpY09iaixcbiAgICAgICAgdG9waWNQcm9wczogcHJvcHMudG9waWNQcm9wcyxcbiAgICAgICAgZW5hYmxlRW5jcnlwdGlvbldpdGhDdXN0b21lck1hbmFnZWRLZXk6IHByb3BzLmVuYWJsZUVuY3J5cHRpb25XaXRoQ3VzdG9tZXJNYW5hZ2VkS2V5LFxuICAgICAgICBlbmNyeXB0aW9uS2V5OiBwcm9wcy5lbmNyeXB0aW9uS2V5LFxuICAgICAgICBlbmNyeXB0aW9uS2V5UHJvcHM6IHByb3BzLmVuY3J5cHRpb25LZXlQcm9wc1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc25zVG9waWMgPSBidWlsZFRvcGljUmVzcG9uc2UudG9waWM7XG4gICAgICAvLyBDb25maWd1cmUgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4gICAgICBjb25zdCB0b3BpY0FybkVudmlyb25tZW50VmFyaWFibGVOYW1lID0gcHJvcHMudG9waWNBcm5FbnZpcm9ubWVudFZhcmlhYmxlTmFtZSB8fCAnU05TX1RPUElDX0FSTic7XG4gICAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmFkZEVudmlyb25tZW50KHRvcGljQXJuRW52aXJvbm1lbnRWYXJpYWJsZU5hbWUsIHRoaXMuc25zVG9waWMudG9waWNBcm4pO1xuICAgICAgY29uc3QgdG9waWNOYW1lRW52aXJvbm1lbnRWYXJpYWJsZU5hbWUgPSBwcm9wcy50b3BpY05hbWVFbnZpcm9ubWVudFZhcmlhYmxlTmFtZSB8fCAnU05TX1RPUElDX05BTUUnO1xuICAgICAgdGhpcy5sYW1iZGFGdW5jdGlvbi5hZGRFbnZpcm9ubWVudCh0b3BpY05hbWVFbnZpcm9ubWVudFZhcmlhYmxlTmFtZSwgdGhpcy5zbnNUb3BpYy50b3BpY05hbWUpO1xuXG4gICAgICAvLyBBZGQgcHVibGlzaGluZyBwZXJtaXNzaW9ucyB0byB0aGUgZnVuY3Rpb25cbiAgICAgIHRoaXMuc25zVG9waWMuZ3JhbnRQdWJsaXNoKHRoaXMubGFtYmRhRnVuY3Rpb24uZ3JhbnRQcmluY2lwYWwpO1xuICAgIH1cbn0iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-solutions-constructs/aws-lambda-sns",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.96.0",
|
|
4
4
|
"description": "CDK constructs for defining an interaction between an AWS Lambda function and an Amazon SNS topic.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "lib/index.d.ts",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
}
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@aws-solutions-constructs/core": "2.
|
|
58
|
+
"@aws-solutions-constructs/core": "2.96.0",
|
|
59
59
|
"constructs": "^10.0.0"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
]
|
|
80
80
|
},
|
|
81
81
|
"peerDependencies": {
|
|
82
|
-
"@aws-solutions-constructs/core": "2.
|
|
82
|
+
"@aws-solutions-constructs/core": "2.96.0",
|
|
83
83
|
"constructs": "^10.0.0",
|
|
84
84
|
"aws-cdk-lib": "^2.223.0"
|
|
85
85
|
},
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
+
* with the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
exports.handler = async (event, context) => {
|
|
15
|
+
console.log('Received event:', JSON.stringify(event, null, 2));
|
|
16
|
+
return {
|
|
17
|
+
statusCode: 200,
|
|
18
|
+
headers: { 'Content-Type': 'text/plain' },
|
|
19
|
+
body: `Hello from AWS Solutions Constructs! You've hit ${event.path}\n`
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"48.0.0"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "48.0.0",
|
|
3
3
|
"testCases": {
|
|
4
4
|
"lamsns-deployFunction/Integ/DefaultTest": {
|
|
5
5
|
"stacks": [
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
"assertionStackName": "lamsnsdeployFunctionIntegDefaultTestDeployAssert36FE5D09"
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
|
-
"minimumCliVersion": "2.
|
|
12
|
+
"minimumCliVersion": "2.1029.2"
|
|
13
13
|
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "48.0.0",
|
|
3
3
|
"files": {
|
|
4
|
-
"
|
|
4
|
+
"4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640": {
|
|
5
5
|
"displayName": "test-lambda-sns/LambdaFunction/Code",
|
|
6
6
|
"source": {
|
|
7
|
-
"path": "asset.
|
|
7
|
+
"path": "asset.4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640",
|
|
8
8
|
"packaging": "zip"
|
|
9
9
|
},
|
|
10
10
|
"destinations": {
|
|
11
|
-
"current_account-current_region-
|
|
11
|
+
"current_account-current_region-9a75cf4c": {
|
|
12
12
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
13
|
-
"objectKey": "
|
|
13
|
+
"objectKey": "4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640.zip",
|
|
14
14
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
|
-
"
|
|
18
|
+
"8884492db6810ff50f1ee1448dc700ec7dff0e32bca1337890ec6de0cf4c1625": {
|
|
19
19
|
"displayName": "lamsns-deployFunction Template",
|
|
20
20
|
"source": {
|
|
21
21
|
"path": "lamsns-deployFunction.template.json",
|
|
22
22
|
"packaging": "file"
|
|
23
23
|
},
|
|
24
24
|
"destinations": {
|
|
25
|
-
"current_account-current_region-
|
|
25
|
+
"current_account-current_region-c6e82a47": {
|
|
26
26
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
27
|
-
"objectKey": "
|
|
27
|
+
"objectKey": "8884492db6810ff50f1ee1448dc700ec7dff0e32bca1337890ec6de0cf4c1625.json",
|
|
28
28
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"S3Bucket": {
|
|
126
126
|
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
|
|
127
127
|
},
|
|
128
|
-
"S3Key": "
|
|
128
|
+
"S3Key": "4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640.zip"
|
|
129
129
|
},
|
|
130
130
|
"Environment": {
|
|
131
131
|
"Variables": {
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
"Arn"
|
|
149
149
|
]
|
|
150
150
|
},
|
|
151
|
-
"Runtime": "
|
|
151
|
+
"Runtime": "nodejs22.x",
|
|
152
152
|
"TracingConfig": {
|
|
153
153
|
"Mode": "Active"
|
|
154
154
|
}
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"validateOnSynth": false,
|
|
67
67
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
|
|
68
68
|
"cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
|
|
69
|
-
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/
|
|
69
|
+
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/8884492db6810ff50f1ee1448dc700ec7dff0e32bca1337890ec6de0cf4c1625.json",
|
|
70
70
|
"requiresBootstrapStackVersion": 6,
|
|
71
71
|
"bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
|
|
72
72
|
"additionalDependencies": [
|
|
@@ -340,57 +340,48 @@
|
|
|
340
340
|
"properties": {
|
|
341
341
|
"module": "aws-cdk-lib",
|
|
342
342
|
"flags": {
|
|
343
|
-
"@aws-cdk/
|
|
343
|
+
"@aws-cdk/aws-signer:signingProfileNamePassedToCfn": {
|
|
344
344
|
"recommendedValue": true,
|
|
345
|
-
"explanation": "
|
|
346
|
-
},
|
|
347
|
-
"aws-cdk:enableDiffNoFail": {
|
|
348
|
-
"recommendedValue": true,
|
|
349
|
-
"explanation": "Make `cdk diff` not fail when there are differences"
|
|
345
|
+
"explanation": "Pass signingProfileName to CfnSigningProfile"
|
|
350
346
|
},
|
|
351
347
|
"@aws-cdk/core:newStyleStackSynthesis": {
|
|
352
348
|
"recommendedValue": true,
|
|
353
|
-
"explanation": "Switch to new stack synthesis method which enables CI/CD"
|
|
349
|
+
"explanation": "Switch to new stack synthesis method which enables CI/CD",
|
|
350
|
+
"unconfiguredBehavesLike": {
|
|
351
|
+
"v2": true
|
|
352
|
+
}
|
|
354
353
|
},
|
|
355
354
|
"@aws-cdk/core:stackRelativeExports": {
|
|
356
355
|
"recommendedValue": true,
|
|
357
|
-
"explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path"
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
"explanation": "DockerImageAsset properly supports `.dockerignore` files by default"
|
|
362
|
-
},
|
|
363
|
-
"@aws-cdk/aws-secretsmanager:parseOwnedSecretName": {
|
|
364
|
-
"recommendedValue": true,
|
|
365
|
-
"explanation": "Fix the referencing of SecretsManager names from ARNs"
|
|
366
|
-
},
|
|
367
|
-
"@aws-cdk/aws-kms:defaultKeyPolicies": {
|
|
368
|
-
"recommendedValue": true,
|
|
369
|
-
"explanation": "Tighten default KMS key policies"
|
|
370
|
-
},
|
|
371
|
-
"@aws-cdk/aws-s3:grantWriteWithoutAcl": {
|
|
372
|
-
"recommendedValue": true,
|
|
373
|
-
"explanation": "Remove `PutObjectAcl` from Bucket.grantWrite"
|
|
356
|
+
"explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path",
|
|
357
|
+
"unconfiguredBehavesLike": {
|
|
358
|
+
"v2": true
|
|
359
|
+
}
|
|
374
360
|
},
|
|
375
|
-
"@aws-cdk/aws-ecs-patterns:
|
|
361
|
+
"@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": {
|
|
376
362
|
"recommendedValue": true,
|
|
377
|
-
"explanation": "
|
|
363
|
+
"explanation": "Disable implicit openListener when custom security groups are provided"
|
|
378
364
|
},
|
|
379
365
|
"@aws-cdk/aws-rds:lowercaseDbIdentifier": {
|
|
380
366
|
"recommendedValue": true,
|
|
381
|
-
"explanation": "Force lowercasing of RDS Cluster names in CDK"
|
|
367
|
+
"explanation": "Force lowercasing of RDS Cluster names in CDK",
|
|
368
|
+
"unconfiguredBehavesLike": {
|
|
369
|
+
"v2": true
|
|
370
|
+
}
|
|
382
371
|
},
|
|
383
372
|
"@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": {
|
|
384
373
|
"recommendedValue": true,
|
|
385
|
-
"explanation": "Allow adding/removing multiple UsagePlanKeys independently"
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
"explanation": "Enable this feature flag to have elastic file systems encrypted at rest by default."
|
|
374
|
+
"explanation": "Allow adding/removing multiple UsagePlanKeys independently",
|
|
375
|
+
"unconfiguredBehavesLike": {
|
|
376
|
+
"v2": true
|
|
377
|
+
}
|
|
390
378
|
},
|
|
391
379
|
"@aws-cdk/aws-lambda:recognizeVersionProps": {
|
|
392
380
|
"recommendedValue": true,
|
|
393
|
-
"explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`."
|
|
381
|
+
"explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.",
|
|
382
|
+
"unconfiguredBehavesLike": {
|
|
383
|
+
"v2": true
|
|
384
|
+
}
|
|
394
385
|
},
|
|
395
386
|
"@aws-cdk/aws-lambda:recognizeLayerVersion": {
|
|
396
387
|
"userValue": true,
|
|
@@ -399,7 +390,10 @@
|
|
|
399
390
|
},
|
|
400
391
|
"@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": {
|
|
401
392
|
"recommendedValue": true,
|
|
402
|
-
"explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default."
|
|
393
|
+
"explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.",
|
|
394
|
+
"unconfiguredBehavesLike": {
|
|
395
|
+
"v2": true
|
|
396
|
+
}
|
|
403
397
|
},
|
|
404
398
|
"@aws-cdk/core:checkSecretUsage": {
|
|
405
399
|
"userValue": true,
|
|
@@ -476,7 +470,7 @@
|
|
|
476
470
|
"@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": {
|
|
477
471
|
"userValue": true,
|
|
478
472
|
"recommendedValue": true,
|
|
479
|
-
"explanation": "Enable this feature to
|
|
473
|
+
"explanation": "Enable this feature to create default policy names for imported roles that depend on the stack the role is in."
|
|
480
474
|
},
|
|
481
475
|
"@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": {
|
|
482
476
|
"userValue": true,
|
|
@@ -620,7 +614,10 @@
|
|
|
620
614
|
},
|
|
621
615
|
"@aws-cdk/pipelines:reduceAssetRoleTrustScope": {
|
|
622
616
|
"recommendedValue": true,
|
|
623
|
-
"explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy"
|
|
617
|
+
"explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy",
|
|
618
|
+
"unconfiguredBehavesLike": {
|
|
619
|
+
"v2": true
|
|
620
|
+
}
|
|
624
621
|
},
|
|
625
622
|
"@aws-cdk/aws-eks:nodegroupNameAttribute": {
|
|
626
623
|
"userValue": true,
|
|
@@ -649,7 +646,10 @@
|
|
|
649
646
|
},
|
|
650
647
|
"@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": {
|
|
651
648
|
"recommendedValue": true,
|
|
652
|
-
"explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model."
|
|
649
|
+
"explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.",
|
|
650
|
+
"unconfiguredBehavesLike": {
|
|
651
|
+
"v2": true
|
|
652
|
+
}
|
|
653
653
|
},
|
|
654
654
|
"@aws-cdk/core:explicitStackTags": {
|
|
655
655
|
"userValue": true,
|
|
@@ -713,7 +713,10 @@
|
|
|
713
713
|
},
|
|
714
714
|
"@aws-cdk/core:aspectStabilization": {
|
|
715
715
|
"recommendedValue": true,
|
|
716
|
-
"explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis."
|
|
716
|
+
"explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.",
|
|
717
|
+
"unconfiguredBehavesLike": {
|
|
718
|
+
"v2": true
|
|
719
|
+
}
|
|
717
720
|
},
|
|
718
721
|
"@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": {
|
|
719
722
|
"userValue": true,
|
|
@@ -747,7 +750,10 @@
|
|
|
747
750
|
},
|
|
748
751
|
"@aws-cdk/pipelines:reduceStageRoleTrustScope": {
|
|
749
752
|
"recommendedValue": true,
|
|
750
|
-
"explanation": "Remove the root account principal from Stage addActions trust policy"
|
|
753
|
+
"explanation": "Remove the root account principal from Stage addActions trust policy",
|
|
754
|
+
"unconfiguredBehavesLike": {
|
|
755
|
+
"v2": true
|
|
756
|
+
}
|
|
751
757
|
},
|
|
752
758
|
"@aws-cdk/aws-events:requireEventBusPolicySid": {
|
|
753
759
|
"userValue": true,
|
|
@@ -770,7 +776,10 @@
|
|
|
770
776
|
},
|
|
771
777
|
"@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": {
|
|
772
778
|
"recommendedValue": true,
|
|
773
|
-
"explanation": "When enabled, scopes down the trust policy for the cross-account action role"
|
|
779
|
+
"explanation": "When enabled, scopes down the trust policy for the cross-account action role",
|
|
780
|
+
"unconfiguredBehavesLike": {
|
|
781
|
+
"v2": true
|
|
782
|
+
}
|
|
774
783
|
},
|
|
775
784
|
"@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": {
|
|
776
785
|
"userValue": true,
|
|
@@ -800,6 +809,21 @@
|
|
|
800
809
|
"userValue": true,
|
|
801
810
|
"recommendedValue": true,
|
|
802
811
|
"explanation": "When enabled, CDK creates and manages loggroup for the lambda function"
|
|
812
|
+
},
|
|
813
|
+
"@aws-cdk/aws-elasticloadbalancingv2:networkLoadBalancerWithSecurityGroupByDefault": {
|
|
814
|
+
"recommendedValue": true,
|
|
815
|
+
"explanation": "When enabled, Network Load Balancer will be created with a security group by default."
|
|
816
|
+
},
|
|
817
|
+
"@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint": {
|
|
818
|
+
"recommendedValue": true,
|
|
819
|
+
"explanation": "When enabled, allows using a dynamic apiEndpoint with JSONPath format in HttpInvoke tasks.",
|
|
820
|
+
"unconfiguredBehavesLike": {
|
|
821
|
+
"v2": true
|
|
822
|
+
}
|
|
823
|
+
},
|
|
824
|
+
"@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId": {
|
|
825
|
+
"recommendedValue": true,
|
|
826
|
+
"explanation": "When enabled, ECS patterns will generate unique target group IDs to prevent conflicts during load balancer replacement"
|
|
803
827
|
}
|
|
804
828
|
}
|
|
805
829
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.
|
|
1
|
+
{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.223.0"},"children":{"lamsns-deployFunction":{"id":"lamsns-deployFunction","path":"lamsns-deployFunction","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.223.0"},"children":{"test-lambda-sns":{"id":"test-lambda-sns","path":"lamsns-deployFunction/test-lambda-sns","constructInfo":{"fqn":"@aws-solutions-constructs/aws-lambda-sns.LambdaToSns","version":"2.95.1"},"children":{"LambdaFunctionServiceRole":{"id":"LambdaFunctionServiceRole","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.223.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"inlinePolicies":"*"},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]},"children":{"ImportLambdaFunctionServiceRole":{"id":"ImportLambdaFunctionServiceRole","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunctionServiceRole/ImportLambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunctionServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"policies":[{"policyName":"LambdaFunctionServiceRolePolicy","policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/lambda/*"]]}}],"Version":"2012-10-17"}}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunctionServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunctionServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sns:Publish","Effect":"Allow","Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"}},{"Action":["kms:Decrypt","kms:GenerateDataKey*"],"Condition":{"ForAnyValue:StringEquals":{"kms:ResourceAliases":"alias/aws/sns"}},"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":kms:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":key/*"]]}}],"Version":"2012-10-17"},"policyName":"testlambdasnsLambdaFunctionServiceRoleDefaultPolicyBB1D55CB","roles":[{"Ref":"testlambdasnsLambdaFunctionServiceRole9C412F74"}]}}}}}}},"LambdaFunction":{"id":"LambdaFunction","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunction","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.223.0","metadata":[{"role":"*","tracing":"Active","runtime":"*","handler":"*","code":"*"},{"addEnvironment":["*","*",{"removeInEdge":true}]},{"addEnvironment":["*","*"]},{"addEnvironment":["*","*"]}]},"children":{"Code":{"id":"Code","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunction/Code","constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.223.0"},"children":{"Stage":{"id":"Stage","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunction/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.223.0"}},"AssetBucket":{"id":"AssetBucket","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunction/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.223.0","metadata":[]}}}},"Resource":{"id":"Resource","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunction/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640.zip"},"environment":{"variables":{"AWS_NODEJS_CONNECTION_REUSE_ENABLED":"1","SNS_TOPIC_ARN":{"Ref":"testlambdasnsSnsTopic57DFED98"},"SNS_TOPIC_NAME":{"Fn::GetAtt":["testlambdasnsSnsTopic57DFED98","TopicName"]}}},"handler":"index.handler","role":{"Fn::GetAtt":["testlambdasnsLambdaFunctionServiceRole9C412F74","Arn"]},"runtime":"nodejs22.x","tracingConfig":{"mode":"Active"}}}},"inlinePolicyAddedToExecutionRole-0":{"id":"inlinePolicyAddedToExecutionRole-0","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunction/inlinePolicyAddedToExecutionRole-0","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":[{"statements":"*"},{"addStatements":[{}]},{"attachToRole":["*"]},{"attachToRole":["*"]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunction/inlinePolicyAddedToExecutionRole-0/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"testlambdasnsLambdaFunctioninlinePolicyAddedToExecutionRole05A095F20","roles":[{"Ref":"testlambdasnsLambdaFunctionServiceRole9C412F74"}]}}}}}}},"aws-managed-key":{"id":"aws-managed-key","path":"lamsns-deployFunction/test-lambda-sns/aws-managed-key","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":[]}},"SnsTopic":{"id":"SnsTopic","path":"lamsns-deployFunction/test-lambda-sns/SnsTopic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"2.223.0","metadata":[{"masterKey":"*"}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunction/test-lambda-sns/SnsTopic/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopic","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Topic","aws:cdk:cloudformation:props":{"kmsMasterKeyId":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":kms:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":alias/aws/sns"]]}}}},"Policy":{"id":"Policy","path":"lamsns-deployFunction/test-lambda-sns/SnsTopic/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.TopicPolicy","version":"2.223.0","metadata":[{"topics":["*"]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunction/test-lambda-sns/SnsTopic/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopicPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::TopicPolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["SNS:AddPermission","SNS:DeleteTopic","SNS:GetTopicAttributes","SNS:ListSubscriptionsByTopic","SNS:Publish","SNS:Receive","SNS:RemovePermission","SNS:SetTopicAttributes","SNS:Subscribe"],"Condition":{"StringEquals":{"AWS:SourceOwner":{"Ref":"AWS::AccountId"}}},"Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"},"Sid":"TopicOwnerOnlyAccess"},{"Action":["SNS:AddPermission","SNS:DeleteTopic","SNS:GetTopicAttributes","SNS:ListSubscriptionsByTopic","SNS:Publish","SNS:Receive","SNS:RemovePermission","SNS:SetTopicAttributes","SNS:Subscribe"],"Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"},"Sid":"HttpsOnly"}],"Version":"2012-10-17"},"topics":[{"Ref":"testlambdasnsSnsTopic57DFED98"}]}}}}}}}}},"Integ":{"id":"Integ","path":"lamsns-deployFunction/Integ","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"2.223.0-alpha.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"lamsns-deployFunction/Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.223.0-alpha.0"},"children":{"Default":{"id":"Default","path":"lamsns-deployFunction/Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"lamsns-deployFunction/Integ/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.223.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-deployFunction/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.223.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-deployFunction/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.223.0"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-deployFunction/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.223.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-deployFunction/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.223.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}}
|
package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/lamsns-deployFunctionWithVpc.assets.json
CHANGED
|
@@ -29,16 +29,16 @@
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
|
-
"
|
|
32
|
+
"a91a2ebd507b10bee04b74cc0f23aac472b3571a076cf18572ef9e2c5f632981": {
|
|
33
33
|
"displayName": "lamsns-deployFunctionWithVpc Template",
|
|
34
34
|
"source": {
|
|
35
35
|
"path": "lamsns-deployFunctionWithVpc.template.json",
|
|
36
36
|
"packaging": "file"
|
|
37
37
|
},
|
|
38
38
|
"destinations": {
|
|
39
|
-
"current_account-current_region-
|
|
39
|
+
"current_account-current_region-2774b7aa": {
|
|
40
40
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
41
|
-
"objectKey": "
|
|
41
|
+
"objectKey": "a91a2ebd507b10bee04b74cc0f23aac472b3571a076cf18572ef9e2c5f632981.json",
|
|
42
42
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
43
43
|
}
|
|
44
44
|
}
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"validateOnSynth": false,
|
|
67
67
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
|
|
68
68
|
"cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
|
|
69
|
-
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/
|
|
69
|
+
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/a91a2ebd507b10bee04b74cc0f23aac472b3571a076cf18572ef9e2c5f632981.json",
|
|
70
70
|
"requiresBootstrapStackVersion": 6,
|
|
71
71
|
"bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
|
|
72
72
|
"additionalDependencies": [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.223.0"},"children":{"lamsns-deployFunctionWithVpc":{"id":"lamsns-deployFunctionWithVpc","path":"lamsns-deployFunctionWithVpc","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.223.0"},"children":{"test-lambda-sns":{"id":"test-lambda-sns","path":"lamsns-deployFunctionWithVpc/test-lambda-sns","constructInfo":{"fqn":"@aws-solutions-constructs/aws-lambda-sns.LambdaToSns","version":"2.94.0"},"children":{"LambdaFunctionServiceRole":{"id":"LambdaFunctionServiceRole","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.223.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"inlinePolicies":"*"},{"addToPolicy":[{}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]},{"addToPrincipalPolicy":[{}]}]},"children":{"ImportLambdaFunctionServiceRole":{"id":"ImportLambdaFunctionServiceRole","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/ImportLambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"policies":[{"policyName":"LambdaFunctionServiceRolePolicy","policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/lambda/*"]]}}],"Version":"2012-10-17"}}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["ec2:AssignPrivateIpAddresses","ec2:CreateNetworkInterface","ec2:DeleteNetworkInterface","ec2:DescribeNetworkInterfaces","ec2:UnassignPrivateIpAddresses"],"Effect":"Allow","Resource":"*"},{"Action":"sns:Publish","Effect":"Allow","Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"}},{"Action":["kms:Decrypt","kms:GenerateDataKey*"],"Condition":{"ForAnyValue:StringEquals":{"kms:ResourceAliases":"alias/aws/sns"}},"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":kms:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":key/*"]]}}],"Version":"2012-10-17"},"policyName":"testlambdasnsLambdaFunctionServiceRoleDefaultPolicyBB1D55CB","roles":[{"Ref":"testlambdasnsLambdaFunctionServiceRole9C412F74"}]}}}}}}},"ReplaceDefaultSecurityGroup-security-group":{"id":"ReplaceDefaultSecurityGroup-security-group","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/ReplaceDefaultSecurityGroup-security-group","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"2.223.0","metadata":[{"vpc":"*","allowAllOutbound":true}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/ReplaceDefaultSecurityGroup-security-group/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"lamsns-deployFunctionWithVpc/test-lambda-sns/ReplaceDefaultSecurityGroup-security-group","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}}}},"LambdaFunction":{"id":"LambdaFunction","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.223.0","metadata":[{"role":"*","tracing":"Active","runtime":"*","handler":"*","code":"*","securityGroups":["*"],"vpc":"*"},{"addEnvironment":["*","*",{"removeInEdge":true}]},{"addEnvironment":["*","*"]},{"addEnvironment":["*","*"]}]},"children":{"Code":{"id":"Code","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Code","constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.223.0"},"children":{"Stage":{"id":"Stage","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.223.0"}},"AssetBucket":{"id":"AssetBucket","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.223.0","metadata":[]}}}},"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640.zip"},"environment":{"variables":{"AWS_NODEJS_CONNECTION_REUSE_ENABLED":"1","SNS_TOPIC_ARN":{"Ref":"testlambdasnsSnsTopic57DFED98"},"SNS_TOPIC_NAME":{"Fn::GetAtt":["testlambdasnsSnsTopic57DFED98","TopicName"]}}},"handler":"index.handler","role":{"Fn::GetAtt":["testlambdasnsLambdaFunctionServiceRole9C412F74","Arn"]},"runtime":"nodejs20.x","tracingConfig":{"mode":"Active"},"vpcConfig":{"subnetIds":[{"Ref":"VpcisolatedSubnet1SubnetE62B1B9B"},{"Ref":"VpcisolatedSubnet2Subnet39217055"}],"securityGroupIds":[{"Fn::GetAtt":["testlambdasnsReplaceDefaultSecurityGroupsecuritygroup071D13CB","GroupId"]}]}}}},"inlinePolicyAddedToExecutionRole-0":{"id":"inlinePolicyAddedToExecutionRole-0","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/inlinePolicyAddedToExecutionRole-0","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":[{"statements":"*"},{"addStatements":[{}]},{"attachToRole":["*"]},{"attachToRole":["*"]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/inlinePolicyAddedToExecutionRole-0/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"testlambdasnsLambdaFunctioninlinePolicyAddedToExecutionRole05A095F20","roles":[{"Ref":"testlambdasnsLambdaFunctionServiceRole9C412F74"}]}}}}}}},"aws-managed-key":{"id":"aws-managed-key","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/aws-managed-key","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":[]}},"SnsTopic":{"id":"SnsTopic","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"2.223.0","metadata":[{"masterKey":"*"}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopic","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Topic","aws:cdk:cloudformation:props":{"kmsMasterKeyId":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":kms:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":alias/aws/sns"]]}}}},"Policy":{"id":"Policy","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.TopicPolicy","version":"2.223.0","metadata":[{"topics":["*"]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopicPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::TopicPolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["SNS:AddPermission","SNS:DeleteTopic","SNS:GetTopicAttributes","SNS:ListSubscriptionsByTopic","SNS:Publish","SNS:Receive","SNS:RemovePermission","SNS:SetTopicAttributes","SNS:Subscribe"],"Condition":{"StringEquals":{"AWS:SourceOwner":{"Ref":"AWS::AccountId"}}},"Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"},"Sid":"TopicOwnerOnlyAccess"},{"Action":["SNS:AddPermission","SNS:DeleteTopic","SNS:GetTopicAttributes","SNS:ListSubscriptionsByTopic","SNS:Publish","SNS:Receive","SNS:RemovePermission","SNS:SetTopicAttributes","SNS:Subscribe"],"Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"},"Sid":"HttpsOnly"}],"Version":"2012-10-17"},"topics":[{"Ref":"testlambdasnsSnsTopic57DFED98"}]}}}}}}}}},"Vpc":{"id":"Vpc","path":"lamsns-deployFunctionWithVpc/Vpc","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.Vpc","version":"2.223.0","metadata":[{"natGateways":"*","subnetConfiguration":[{"cidrMask":"*","name":"*","subnetType":"Isolated"}],"enableDnsHostnames":true,"enableDnsSupport":true}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/Vpc/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPC","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPC","aws:cdk:cloudformation:props":{"cidrBlock":"10.0.0.0/16","enableDnsHostnames":true,"enableDnsSupport":true,"instanceTenancy":"default","tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc"}]}}},"isolatedSubnet1":{"id":"isolatedSubnet1","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"2.223.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"}]},"children":{"Subnet":{"id":"Subnet","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[0,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.0.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"isolated"},{"key":"aws-cdk:subnet-type","value":"Isolated"},{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"Acl":{"id":"Acl","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"VpcisolatedSubnet1RouteTableE442650B"},"subnetId":{"Ref":"VpcisolatedSubnet1SubnetE62B1B9B"}}}}}},"isolatedSubnet2":{"id":"isolatedSubnet2","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"2.223.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"}]},"children":{"Subnet":{"id":"Subnet","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[1,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.64.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"isolated"},{"key":"aws-cdk:subnet-type","value":"Isolated"},{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"Acl":{"id":"Acl","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"VpcisolatedSubnet2RouteTable334F9764"},"subnetId":{"Ref":"VpcisolatedSubnet2Subnet39217055"}}}}}},"RestrictDefaultSecurityGroupCustomResource":{"id":"RestrictDefaultSecurityGroupCustomResource","path":"lamsns-deployFunctionWithVpc/Vpc/RestrictDefaultSecurityGroupCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.223.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"lamsns-deployFunctionWithVpc/Vpc/RestrictDefaultSecurityGroupCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.223.0"}}}},"FlowLog":{"id":"FlowLog","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.FlowLog","version":"2.223.0","metadata":[{"resourceType":"*"}]},"children":{"IAMRole":{"id":"IAMRole","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.223.0","metadata":[{"roleName":"*","assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportIAMRole":{"id":"ImportIAMRole","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/ImportIAMRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"vpc-flow-logs.amazonaws.com"}}],"Version":"2012-10-17"},"tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/FlowLog"}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogStream","logs:DescribeLogStreams","logs:PutLogEvents"],"Effect":"Allow","Resource":{"Fn::GetAtt":["VpcFlowLogLogGroup7B5C56B9","Arn"]}}],"Version":"2012-10-17"},"policyName":"VpcFlowLogIAMRoleDefaultPolicy406FB995","roles":[{"Ref":"VpcFlowLogIAMRole6A475D41"}]}}}}}}},"LogGroup":{"id":"LogGroup","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/LogGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.LogGroup","version":"2.223.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/LogGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.CfnLogGroup","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Logs::LogGroup","aws:cdk:cloudformation:props":{"retentionInDays":731,"tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/FlowLog"}]}}}}},"FlowLog":{"id":"FlowLog","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/FlowLog","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnFlowLog","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::FlowLog","aws:cdk:cloudformation:props":{"deliverLogsPermissionArn":{"Fn::GetAtt":["VpcFlowLogIAMRole6A475D41","Arn"]},"logDestinationType":"cloud-watch-logs","logGroupName":{"Ref":"VpcFlowLogLogGroup7B5C56B9"},"resourceId":{"Ref":"Vpc8378EB38"},"resourceType":"VPC","tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/FlowLog"}],"trafficType":"ALL"}}}}},"SNS":{"id":"SNS","path":"lamsns-deployFunctionWithVpc/Vpc/SNS","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint","version":"2.223.0","metadata":[{"vpc":"*","service":{"name":"*","port":"*","privateDnsDefault":true},"securityGroups":["*"]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/Vpc/SNS/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc"}],"privateDnsEnabled":true,"securityGroupIds":[{"Fn::GetAtt":["lamsnsdeployFunctionWithVpcSNSsecuritygroup072F337C","GroupId"]}],"serviceName":{"Fn::Join":["",["com.amazonaws.",{"Ref":"AWS::Region"},".sns"]]},"subnetIds":[{"Ref":"VpcisolatedSubnet1SubnetE62B1B9B"},{"Ref":"VpcisolatedSubnet2Subnet39217055"}],"vpcEndpointType":"Interface","vpcId":{"Ref":"Vpc8378EB38"}}}}}}}},"Custom::VpcRestrictDefaultSGCustomResourceProvider":{"id":"Custom::VpcRestrictDefaultSGCustomResourceProvider","path":"lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"2.223.0"},"children":{"Staging":{"id":"Staging","path":"lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.223.0"}},"Role":{"id":"Role","path":"lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.223.0"}},"Handler":{"id":"Handler","path":"lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.223.0"}}}},"lamsns-deployFunctionWithVpc-SNS-security-group":{"id":"lamsns-deployFunctionWithVpc-SNS-security-group","path":"lamsns-deployFunctionWithVpc/lamsns-deployFunctionWithVpc-SNS-security-group","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"2.223.0","metadata":[{"vpc":"*","allowAllOutbound":true},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*","*"]},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*",false]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/lamsns-deployFunctionWithVpc-SNS-security-group/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"lamsns-deployFunctionWithVpc/lamsns-deployFunctionWithVpc-SNS-security-group","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"securityGroupIngress":[{"cidrIp":{"Fn::GetAtt":["Vpc8378EB38","CidrBlock"]},"ipProtocol":"tcp","fromPort":443,"toPort":443,"description":{"Fn::Join":["",["from ",{"Fn::GetAtt":["Vpc8378EB38","CidrBlock"]},":443"]]}}],"vpcId":{"Ref":"Vpc8378EB38"}}}}}},"Integ":{"id":"Integ","path":"lamsns-deployFunctionWithVpc/Integ","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"2.223.0-alpha.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"lamsns-deployFunctionWithVpc/Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.223.0-alpha.0"},"children":{"Default":{"id":"Default","path":"lamsns-deployFunctionWithVpc/Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"lamsns-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.223.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.223.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.223.0"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-deployFunctionWithVpc/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.223.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-deployFunctionWithVpc/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.223.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}}
|
|
1
|
+
{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.223.0"},"children":{"lamsns-deployFunctionWithVpc":{"id":"lamsns-deployFunctionWithVpc","path":"lamsns-deployFunctionWithVpc","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.223.0"},"children":{"test-lambda-sns":{"id":"test-lambda-sns","path":"lamsns-deployFunctionWithVpc/test-lambda-sns","constructInfo":{"fqn":"@aws-solutions-constructs/aws-lambda-sns.LambdaToSns","version":"2.95.1"},"children":{"LambdaFunctionServiceRole":{"id":"LambdaFunctionServiceRole","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.223.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"inlinePolicies":"*"},{"addToPolicy":[{}]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]},{"addToPrincipalPolicy":[{}]}]},"children":{"ImportLambdaFunctionServiceRole":{"id":"ImportLambdaFunctionServiceRole","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/ImportLambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"policies":[{"policyName":"LambdaFunctionServiceRolePolicy","policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/lambda/*"]]}}],"Version":"2012-10-17"}}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunctionServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["ec2:AssignPrivateIpAddresses","ec2:CreateNetworkInterface","ec2:DeleteNetworkInterface","ec2:DescribeNetworkInterfaces","ec2:UnassignPrivateIpAddresses"],"Effect":"Allow","Resource":"*"},{"Action":"sns:Publish","Effect":"Allow","Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"}},{"Action":["kms:Decrypt","kms:GenerateDataKey*"],"Condition":{"ForAnyValue:StringEquals":{"kms:ResourceAliases":"alias/aws/sns"}},"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":kms:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":key/*"]]}}],"Version":"2012-10-17"},"policyName":"testlambdasnsLambdaFunctionServiceRoleDefaultPolicyBB1D55CB","roles":[{"Ref":"testlambdasnsLambdaFunctionServiceRole9C412F74"}]}}}}}}},"ReplaceDefaultSecurityGroup-security-group":{"id":"ReplaceDefaultSecurityGroup-security-group","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/ReplaceDefaultSecurityGroup-security-group","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"2.223.0","metadata":[{"vpc":"*","allowAllOutbound":true}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/ReplaceDefaultSecurityGroup-security-group/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"lamsns-deployFunctionWithVpc/test-lambda-sns/ReplaceDefaultSecurityGroup-security-group","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}}}},"LambdaFunction":{"id":"LambdaFunction","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.223.0","metadata":[{"role":"*","tracing":"Active","runtime":"*","handler":"*","code":"*","securityGroups":["*"],"vpc":"*"},{"addEnvironment":["*","*",{"removeInEdge":true}]},{"addEnvironment":["*","*"]},{"addEnvironment":["*","*"]}]},"children":{"Code":{"id":"Code","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Code","constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.223.0"},"children":{"Stage":{"id":"Stage","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.223.0"}},"AssetBucket":{"id":"AssetBucket","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.223.0","metadata":[]}}}},"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640.zip"},"environment":{"variables":{"AWS_NODEJS_CONNECTION_REUSE_ENABLED":"1","SNS_TOPIC_ARN":{"Ref":"testlambdasnsSnsTopic57DFED98"},"SNS_TOPIC_NAME":{"Fn::GetAtt":["testlambdasnsSnsTopic57DFED98","TopicName"]}}},"handler":"index.handler","role":{"Fn::GetAtt":["testlambdasnsLambdaFunctionServiceRole9C412F74","Arn"]},"runtime":"nodejs22.x","tracingConfig":{"mode":"Active"},"vpcConfig":{"subnetIds":[{"Ref":"VpcisolatedSubnet1SubnetE62B1B9B"},{"Ref":"VpcisolatedSubnet2Subnet39217055"}],"securityGroupIds":[{"Fn::GetAtt":["testlambdasnsReplaceDefaultSecurityGroupsecuritygroup071D13CB","GroupId"]}]}}}},"inlinePolicyAddedToExecutionRole-0":{"id":"inlinePolicyAddedToExecutionRole-0","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/inlinePolicyAddedToExecutionRole-0","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":[{"statements":"*"},{"addStatements":[{}]},{"attachToRole":["*"]},{"attachToRole":["*"]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/LambdaFunction/inlinePolicyAddedToExecutionRole-0/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"testlambdasnsLambdaFunctioninlinePolicyAddedToExecutionRole05A095F20","roles":[{"Ref":"testlambdasnsLambdaFunctionServiceRole9C412F74"}]}}}}}}},"aws-managed-key":{"id":"aws-managed-key","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/aws-managed-key","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":[]}},"SnsTopic":{"id":"SnsTopic","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"2.223.0","metadata":[{"masterKey":"*"}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopic","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Topic","aws:cdk:cloudformation:props":{"kmsMasterKeyId":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":kms:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":alias/aws/sns"]]}}}},"Policy":{"id":"Policy","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.TopicPolicy","version":"2.223.0","metadata":[{"topics":["*"]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/test-lambda-sns/SnsTopic/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopicPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::TopicPolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["SNS:AddPermission","SNS:DeleteTopic","SNS:GetTopicAttributes","SNS:ListSubscriptionsByTopic","SNS:Publish","SNS:Receive","SNS:RemovePermission","SNS:SetTopicAttributes","SNS:Subscribe"],"Condition":{"StringEquals":{"AWS:SourceOwner":{"Ref":"AWS::AccountId"}}},"Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"},"Sid":"TopicOwnerOnlyAccess"},{"Action":["SNS:AddPermission","SNS:DeleteTopic","SNS:GetTopicAttributes","SNS:ListSubscriptionsByTopic","SNS:Publish","SNS:Receive","SNS:RemovePermission","SNS:SetTopicAttributes","SNS:Subscribe"],"Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"},"Sid":"HttpsOnly"}],"Version":"2012-10-17"},"topics":[{"Ref":"testlambdasnsSnsTopic57DFED98"}]}}}}}}}}},"Vpc":{"id":"Vpc","path":"lamsns-deployFunctionWithVpc/Vpc","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.Vpc","version":"2.223.0","metadata":[{"natGateways":"*","subnetConfiguration":[{"cidrMask":"*","name":"*","subnetType":"Isolated"}],"enableDnsHostnames":true,"enableDnsSupport":true}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/Vpc/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPC","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPC","aws:cdk:cloudformation:props":{"cidrBlock":"10.0.0.0/16","enableDnsHostnames":true,"enableDnsSupport":true,"instanceTenancy":"default","tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc"}]}}},"isolatedSubnet1":{"id":"isolatedSubnet1","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"2.223.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"}]},"children":{"Subnet":{"id":"Subnet","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[0,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.0.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"isolated"},{"key":"aws-cdk:subnet-type","value":"Isolated"},{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"Acl":{"id":"Acl","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet1/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"VpcisolatedSubnet1RouteTableE442650B"},"subnetId":{"Ref":"VpcisolatedSubnet1SubnetE62B1B9B"}}}}}},"isolatedSubnet2":{"id":"isolatedSubnet2","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.PrivateSubnet","version":"2.223.0","metadata":[{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"},{"availabilityZone":"*","vpcId":"*","cidrBlock":"*","mapPublicIpOnLaunch":false,"ipv6CidrBlock":"*","assignIpv6AddressOnCreation":"*"}]},"children":{"Subnet":{"id":"Subnet","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/Subnet","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnet","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::Subnet","aws:cdk:cloudformation:props":{"availabilityZone":{"Fn::Select":[1,{"Fn::GetAZs":""}]},"cidrBlock":"10.0.64.0/18","mapPublicIpOnLaunch":false,"tags":[{"key":"aws-cdk:subnet-name","value":"isolated"},{"key":"aws-cdk:subnet-type","value":"Isolated"},{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"Acl":{"id":"Acl","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/Acl","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":[]}},"RouteTable":{"id":"RouteTable","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/RouteTable","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnRouteTable","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::RouteTable","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2"}],"vpcId":{"Ref":"Vpc8378EB38"}}}},"RouteTableAssociation":{"id":"RouteTableAssociation","path":"lamsns-deployFunctionWithVpc/Vpc/isolatedSubnet2/RouteTableAssociation","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SubnetRouteTableAssociation","aws:cdk:cloudformation:props":{"routeTableId":{"Ref":"VpcisolatedSubnet2RouteTable334F9764"},"subnetId":{"Ref":"VpcisolatedSubnet2Subnet39217055"}}}}}},"RestrictDefaultSecurityGroupCustomResource":{"id":"RestrictDefaultSecurityGroupCustomResource","path":"lamsns-deployFunctionWithVpc/Vpc/RestrictDefaultSecurityGroupCustomResource","constructInfo":{"fqn":"aws-cdk-lib.CustomResource","version":"2.223.0","metadata":["*"]},"children":{"Default":{"id":"Default","path":"lamsns-deployFunctionWithVpc/Vpc/RestrictDefaultSecurityGroupCustomResource/Default","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.223.0"}}}},"FlowLog":{"id":"FlowLog","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.FlowLog","version":"2.223.0","metadata":[{"resourceType":"*"}]},"children":{"IAMRole":{"id":"IAMRole","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.223.0","metadata":[{"roleName":"*","assumedBy":{"principalAccount":"*","assumeRoleAction":"*"}},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]},"children":{"ImportIAMRole":{"id":"ImportIAMRole","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/ImportIAMRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"vpc-flow-logs.amazonaws.com"}}],"Version":"2012-10-17"},"tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/FlowLog"}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/IAMRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["logs:CreateLogStream","logs:DescribeLogStreams","logs:PutLogEvents"],"Effect":"Allow","Resource":{"Fn::GetAtt":["VpcFlowLogLogGroup7B5C56B9","Arn"]}}],"Version":"2012-10-17"},"policyName":"VpcFlowLogIAMRoleDefaultPolicy406FB995","roles":[{"Ref":"VpcFlowLogIAMRole6A475D41"}]}}}}}}},"LogGroup":{"id":"LogGroup","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/LogGroup","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.LogGroup","version":"2.223.0","metadata":["*"]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/LogGroup/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_logs.CfnLogGroup","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Logs::LogGroup","aws:cdk:cloudformation:props":{"retentionInDays":731,"tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/FlowLog"}]}}}}},"FlowLog":{"id":"FlowLog","path":"lamsns-deployFunctionWithVpc/Vpc/FlowLog/FlowLog","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnFlowLog","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::FlowLog","aws:cdk:cloudformation:props":{"deliverLogsPermissionArn":{"Fn::GetAtt":["VpcFlowLogIAMRole6A475D41","Arn"]},"logDestinationType":"cloud-watch-logs","logGroupName":{"Ref":"VpcFlowLogLogGroup7B5C56B9"},"resourceId":{"Ref":"Vpc8378EB38"},"resourceType":"VPC","tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc/FlowLog"}],"trafficType":"ALL"}}}}},"SNS":{"id":"SNS","path":"lamsns-deployFunctionWithVpc/Vpc/SNS","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.InterfaceVpcEndpoint","version":"2.223.0","metadata":[{"vpc":"*","service":{"name":"*","port":"*","privateDnsDefault":true},"securityGroups":["*"]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/Vpc/SNS/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnVPCEndpoint","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::VPCEndpoint","aws:cdk:cloudformation:props":{"tags":[{"key":"Name","value":"lamsns-deployFunctionWithVpc/Vpc"}],"privateDnsEnabled":true,"securityGroupIds":[{"Fn::GetAtt":["lamsnsdeployFunctionWithVpcSNSsecuritygroup072F337C","GroupId"]}],"serviceName":{"Fn::Join":["",["com.amazonaws.",{"Ref":"AWS::Region"},".sns"]]},"subnetIds":[{"Ref":"VpcisolatedSubnet1SubnetE62B1B9B"},{"Ref":"VpcisolatedSubnet2Subnet39217055"}],"vpcEndpointType":"Interface","vpcId":{"Ref":"Vpc8378EB38"}}}}}}}},"Custom::VpcRestrictDefaultSGCustomResourceProvider":{"id":"Custom::VpcRestrictDefaultSGCustomResourceProvider","path":"lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider","constructInfo":{"fqn":"aws-cdk-lib.CustomResourceProviderBase","version":"2.223.0"},"children":{"Staging":{"id":"Staging","path":"lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.223.0"}},"Role":{"id":"Role","path":"lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.223.0"}},"Handler":{"id":"Handler","path":"lamsns-deployFunctionWithVpc/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler","constructInfo":{"fqn":"aws-cdk-lib.CfnResource","version":"2.223.0"}}}},"lamsns-deployFunctionWithVpc-SNS-security-group":{"id":"lamsns-deployFunctionWithVpc-SNS-security-group","path":"lamsns-deployFunctionWithVpc/lamsns-deployFunctionWithVpc-SNS-security-group","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.SecurityGroup","version":"2.223.0","metadata":[{"vpc":"*","allowAllOutbound":true},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*","*"]},{"addIngressRule":[{"canInlineRule":true,"connections":"*","uniqueId":"*"},{},"*",false]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-deployFunctionWithVpc/lamsns-deployFunctionWithVpc-SNS-security-group/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_ec2.CfnSecurityGroup","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::EC2::SecurityGroup","aws:cdk:cloudformation:props":{"groupDescription":"lamsns-deployFunctionWithVpc/lamsns-deployFunctionWithVpc-SNS-security-group","securityGroupEgress":[{"cidrIp":"0.0.0.0/0","description":"Allow all outbound traffic by default","ipProtocol":"-1"}],"securityGroupIngress":[{"cidrIp":{"Fn::GetAtt":["Vpc8378EB38","CidrBlock"]},"ipProtocol":"tcp","fromPort":443,"toPort":443,"description":{"Fn::Join":["",["from ",{"Fn::GetAtt":["Vpc8378EB38","CidrBlock"]},":443"]]}}],"vpcId":{"Ref":"Vpc8378EB38"}}}}}},"Integ":{"id":"Integ","path":"lamsns-deployFunctionWithVpc/Integ","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"2.223.0-alpha.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"lamsns-deployFunctionWithVpc/Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.223.0-alpha.0"},"children":{"Default":{"id":"Default","path":"lamsns-deployFunctionWithVpc/Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"lamsns-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.223.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.223.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-deployFunctionWithVpc/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.223.0"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-deployFunctionWithVpc/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.223.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-deployFunctionWithVpc/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.223.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
+
* with the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
exports.handler = async (event, context) => {
|
|
15
|
+
console.log('Received event:', JSON.stringify(event, null, 2));
|
|
16
|
+
return {
|
|
17
|
+
statusCode: 200,
|
|
18
|
+
headers: { 'Content-Type': 'text/plain' },
|
|
19
|
+
body: `Hello from AWS Solutions Constructs! You've hit ${event.path}\n`
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"
|
|
1
|
+
{"version":"48.0.0"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "48.0.0",
|
|
3
3
|
"testCases": {
|
|
4
4
|
"lamsns-existingFunction/Integ/DefaultTest": {
|
|
5
5
|
"stacks": [
|
|
@@ -9,5 +9,5 @@
|
|
|
9
9
|
"assertionStackName": "lamsnsexistingFunctionIntegDefaultTestDeployAssert733AE3CB"
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
|
-
"minimumCliVersion": "2.
|
|
12
|
+
"minimumCliVersion": "2.1029.2"
|
|
13
13
|
}
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "
|
|
2
|
+
"version": "48.0.0",
|
|
3
3
|
"files": {
|
|
4
|
-
"
|
|
4
|
+
"4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640": {
|
|
5
5
|
"displayName": "LambdaFunction/Code",
|
|
6
6
|
"source": {
|
|
7
|
-
"path": "asset.
|
|
7
|
+
"path": "asset.4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640",
|
|
8
8
|
"packaging": "zip"
|
|
9
9
|
},
|
|
10
10
|
"destinations": {
|
|
11
|
-
"current_account-current_region-
|
|
11
|
+
"current_account-current_region-9a75cf4c": {
|
|
12
12
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
13
|
-
"objectKey": "
|
|
13
|
+
"objectKey": "4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640.zip",
|
|
14
14
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
},
|
|
18
|
-
"
|
|
18
|
+
"88e1c38f65a610085b0926446fab0af286e3c71ca3acfce16096e1fa8b0c8351": {
|
|
19
19
|
"displayName": "lamsns-existingFunction Template",
|
|
20
20
|
"source": {
|
|
21
21
|
"path": "lamsns-existingFunction.template.json",
|
|
22
22
|
"packaging": "file"
|
|
23
23
|
},
|
|
24
24
|
"destinations": {
|
|
25
|
-
"current_account-current_region-
|
|
25
|
+
"current_account-current_region-0a45b797": {
|
|
26
26
|
"bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
|
|
27
|
-
"objectKey": "
|
|
27
|
+
"objectKey": "88e1c38f65a610085b0926446fab0af286e3c71ca3acfce16096e1fa8b0c8351.json",
|
|
28
28
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
|
|
29
29
|
}
|
|
30
30
|
}
|
package/test/integ.lamsns-existingFunction.js.snapshot/lamsns-existingFunction.template.json
CHANGED
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"S3Bucket": {
|
|
126
126
|
"Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
|
|
127
127
|
},
|
|
128
|
-
"S3Key": "
|
|
128
|
+
"S3Key": "4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640.zip"
|
|
129
129
|
},
|
|
130
130
|
"Environment": {
|
|
131
131
|
"Variables": {
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
"Arn"
|
|
149
149
|
]
|
|
150
150
|
},
|
|
151
|
-
"Runtime": "
|
|
151
|
+
"Runtime": "nodejs22.x",
|
|
152
152
|
"TracingConfig": {
|
|
153
153
|
"Mode": "Active"
|
|
154
154
|
}
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"validateOnSynth": false,
|
|
67
67
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
|
|
68
68
|
"cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
|
|
69
|
-
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/
|
|
69
|
+
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/88e1c38f65a610085b0926446fab0af286e3c71ca3acfce16096e1fa8b0c8351.json",
|
|
70
70
|
"requiresBootstrapStackVersion": 6,
|
|
71
71
|
"bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
|
|
72
72
|
"additionalDependencies": [
|
|
@@ -340,57 +340,48 @@
|
|
|
340
340
|
"properties": {
|
|
341
341
|
"module": "aws-cdk-lib",
|
|
342
342
|
"flags": {
|
|
343
|
-
"@aws-cdk/
|
|
343
|
+
"@aws-cdk/aws-signer:signingProfileNamePassedToCfn": {
|
|
344
344
|
"recommendedValue": true,
|
|
345
|
-
"explanation": "
|
|
346
|
-
},
|
|
347
|
-
"aws-cdk:enableDiffNoFail": {
|
|
348
|
-
"recommendedValue": true,
|
|
349
|
-
"explanation": "Make `cdk diff` not fail when there are differences"
|
|
345
|
+
"explanation": "Pass signingProfileName to CfnSigningProfile"
|
|
350
346
|
},
|
|
351
347
|
"@aws-cdk/core:newStyleStackSynthesis": {
|
|
352
348
|
"recommendedValue": true,
|
|
353
|
-
"explanation": "Switch to new stack synthesis method which enables CI/CD"
|
|
349
|
+
"explanation": "Switch to new stack synthesis method which enables CI/CD",
|
|
350
|
+
"unconfiguredBehavesLike": {
|
|
351
|
+
"v2": true
|
|
352
|
+
}
|
|
354
353
|
},
|
|
355
354
|
"@aws-cdk/core:stackRelativeExports": {
|
|
356
355
|
"recommendedValue": true,
|
|
357
|
-
"explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path"
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
"explanation": "DockerImageAsset properly supports `.dockerignore` files by default"
|
|
362
|
-
},
|
|
363
|
-
"@aws-cdk/aws-secretsmanager:parseOwnedSecretName": {
|
|
364
|
-
"recommendedValue": true,
|
|
365
|
-
"explanation": "Fix the referencing of SecretsManager names from ARNs"
|
|
366
|
-
},
|
|
367
|
-
"@aws-cdk/aws-kms:defaultKeyPolicies": {
|
|
368
|
-
"recommendedValue": true,
|
|
369
|
-
"explanation": "Tighten default KMS key policies"
|
|
370
|
-
},
|
|
371
|
-
"@aws-cdk/aws-s3:grantWriteWithoutAcl": {
|
|
372
|
-
"recommendedValue": true,
|
|
373
|
-
"explanation": "Remove `PutObjectAcl` from Bucket.grantWrite"
|
|
356
|
+
"explanation": "Name exports based on the construct paths relative to the stack, rather than the global construct path",
|
|
357
|
+
"unconfiguredBehavesLike": {
|
|
358
|
+
"v2": true
|
|
359
|
+
}
|
|
374
360
|
},
|
|
375
|
-
"@aws-cdk/aws-ecs-patterns:
|
|
361
|
+
"@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": {
|
|
376
362
|
"recommendedValue": true,
|
|
377
|
-
"explanation": "
|
|
363
|
+
"explanation": "Disable implicit openListener when custom security groups are provided"
|
|
378
364
|
},
|
|
379
365
|
"@aws-cdk/aws-rds:lowercaseDbIdentifier": {
|
|
380
366
|
"recommendedValue": true,
|
|
381
|
-
"explanation": "Force lowercasing of RDS Cluster names in CDK"
|
|
367
|
+
"explanation": "Force lowercasing of RDS Cluster names in CDK",
|
|
368
|
+
"unconfiguredBehavesLike": {
|
|
369
|
+
"v2": true
|
|
370
|
+
}
|
|
382
371
|
},
|
|
383
372
|
"@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": {
|
|
384
373
|
"recommendedValue": true,
|
|
385
|
-
"explanation": "Allow adding/removing multiple UsagePlanKeys independently"
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
"explanation": "Enable this feature flag to have elastic file systems encrypted at rest by default."
|
|
374
|
+
"explanation": "Allow adding/removing multiple UsagePlanKeys independently",
|
|
375
|
+
"unconfiguredBehavesLike": {
|
|
376
|
+
"v2": true
|
|
377
|
+
}
|
|
390
378
|
},
|
|
391
379
|
"@aws-cdk/aws-lambda:recognizeVersionProps": {
|
|
392
380
|
"recommendedValue": true,
|
|
393
|
-
"explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`."
|
|
381
|
+
"explanation": "Enable this feature flag to opt in to the updated logical id calculation for Lambda Version created using the `fn.currentVersion`.",
|
|
382
|
+
"unconfiguredBehavesLike": {
|
|
383
|
+
"v2": true
|
|
384
|
+
}
|
|
394
385
|
},
|
|
395
386
|
"@aws-cdk/aws-lambda:recognizeLayerVersion": {
|
|
396
387
|
"userValue": true,
|
|
@@ -399,7 +390,10 @@
|
|
|
399
390
|
},
|
|
400
391
|
"@aws-cdk/aws-cloudfront:defaultSecurityPolicyTLSv1.2_2021": {
|
|
401
392
|
"recommendedValue": true,
|
|
402
|
-
"explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default."
|
|
393
|
+
"explanation": "Enable this feature flag to have cloudfront distributions use the security policy TLSv1.2_2021 by default.",
|
|
394
|
+
"unconfiguredBehavesLike": {
|
|
395
|
+
"v2": true
|
|
396
|
+
}
|
|
403
397
|
},
|
|
404
398
|
"@aws-cdk/core:checkSecretUsage": {
|
|
405
399
|
"userValue": true,
|
|
@@ -476,7 +470,7 @@
|
|
|
476
470
|
"@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": {
|
|
477
471
|
"userValue": true,
|
|
478
472
|
"recommendedValue": true,
|
|
479
|
-
"explanation": "Enable this feature to
|
|
473
|
+
"explanation": "Enable this feature to create default policy names for imported roles that depend on the stack the role is in."
|
|
480
474
|
},
|
|
481
475
|
"@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": {
|
|
482
476
|
"userValue": true,
|
|
@@ -620,7 +614,10 @@
|
|
|
620
614
|
},
|
|
621
615
|
"@aws-cdk/pipelines:reduceAssetRoleTrustScope": {
|
|
622
616
|
"recommendedValue": true,
|
|
623
|
-
"explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy"
|
|
617
|
+
"explanation": "Remove the root account principal from PipelineAssetsFileRole trust policy",
|
|
618
|
+
"unconfiguredBehavesLike": {
|
|
619
|
+
"v2": true
|
|
620
|
+
}
|
|
624
621
|
},
|
|
625
622
|
"@aws-cdk/aws-eks:nodegroupNameAttribute": {
|
|
626
623
|
"userValue": true,
|
|
@@ -649,7 +646,10 @@
|
|
|
649
646
|
},
|
|
650
647
|
"@aws-cdk/aws-stepfunctions-tasks:useNewS3UriParametersForBedrockInvokeModelTask": {
|
|
651
648
|
"recommendedValue": true,
|
|
652
|
-
"explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model."
|
|
649
|
+
"explanation": "When enabled, use new props for S3 URI field in task definition of state machine for bedrock invoke model.",
|
|
650
|
+
"unconfiguredBehavesLike": {
|
|
651
|
+
"v2": true
|
|
652
|
+
}
|
|
653
653
|
},
|
|
654
654
|
"@aws-cdk/core:explicitStackTags": {
|
|
655
655
|
"userValue": true,
|
|
@@ -713,7 +713,10 @@
|
|
|
713
713
|
},
|
|
714
714
|
"@aws-cdk/core:aspectStabilization": {
|
|
715
715
|
"recommendedValue": true,
|
|
716
|
-
"explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis."
|
|
716
|
+
"explanation": "When enabled, a stabilization loop will be run when invoking Aspects during synthesis.",
|
|
717
|
+
"unconfiguredBehavesLike": {
|
|
718
|
+
"v2": true
|
|
719
|
+
}
|
|
717
720
|
},
|
|
718
721
|
"@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": {
|
|
719
722
|
"userValue": true,
|
|
@@ -747,7 +750,10 @@
|
|
|
747
750
|
},
|
|
748
751
|
"@aws-cdk/pipelines:reduceStageRoleTrustScope": {
|
|
749
752
|
"recommendedValue": true,
|
|
750
|
-
"explanation": "Remove the root account principal from Stage addActions trust policy"
|
|
753
|
+
"explanation": "Remove the root account principal from Stage addActions trust policy",
|
|
754
|
+
"unconfiguredBehavesLike": {
|
|
755
|
+
"v2": true
|
|
756
|
+
}
|
|
751
757
|
},
|
|
752
758
|
"@aws-cdk/aws-events:requireEventBusPolicySid": {
|
|
753
759
|
"userValue": true,
|
|
@@ -770,7 +776,10 @@
|
|
|
770
776
|
},
|
|
771
777
|
"@aws-cdk/pipelines:reduceCrossAccountActionRoleTrustScope": {
|
|
772
778
|
"recommendedValue": true,
|
|
773
|
-
"explanation": "When enabled, scopes down the trust policy for the cross-account action role"
|
|
779
|
+
"explanation": "When enabled, scopes down the trust policy for the cross-account action role",
|
|
780
|
+
"unconfiguredBehavesLike": {
|
|
781
|
+
"v2": true
|
|
782
|
+
}
|
|
774
783
|
},
|
|
775
784
|
"@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": {
|
|
776
785
|
"userValue": true,
|
|
@@ -800,6 +809,21 @@
|
|
|
800
809
|
"userValue": true,
|
|
801
810
|
"recommendedValue": true,
|
|
802
811
|
"explanation": "When enabled, CDK creates and manages loggroup for the lambda function"
|
|
812
|
+
},
|
|
813
|
+
"@aws-cdk/aws-elasticloadbalancingv2:networkLoadBalancerWithSecurityGroupByDefault": {
|
|
814
|
+
"recommendedValue": true,
|
|
815
|
+
"explanation": "When enabled, Network Load Balancer will be created with a security group by default."
|
|
816
|
+
},
|
|
817
|
+
"@aws-cdk/aws-stepfunctions-tasks:httpInvokeDynamicJsonPathEndpoint": {
|
|
818
|
+
"recommendedValue": true,
|
|
819
|
+
"explanation": "When enabled, allows using a dynamic apiEndpoint with JSONPath format in HttpInvoke tasks.",
|
|
820
|
+
"unconfiguredBehavesLike": {
|
|
821
|
+
"v2": true
|
|
822
|
+
}
|
|
823
|
+
},
|
|
824
|
+
"@aws-cdk/aws-ecs-patterns:uniqueTargetGroupId": {
|
|
825
|
+
"recommendedValue": true,
|
|
826
|
+
"explanation": "When enabled, ECS patterns will generate unique target group IDs to prevent conflicts during load balancer replacement"
|
|
803
827
|
}
|
|
804
828
|
}
|
|
805
829
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.
|
|
1
|
+
{"version":"tree-0.1","tree":{"id":"App","path":"","constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.223.0"},"children":{"lamsns-existingFunction":{"id":"lamsns-existingFunction","path":"lamsns-existingFunction","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.223.0"},"children":{"LambdaFunctionServiceRole":{"id":"LambdaFunctionServiceRole","path":"lamsns-existingFunction/LambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.223.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"inlinePolicies":"*"},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]}]},"children":{"ImportLambdaFunctionServiceRole":{"id":"ImportLambdaFunctionServiceRole","path":"lamsns-existingFunction/LambdaFunctionServiceRole/ImportLambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lamsns-existingFunction/LambdaFunctionServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Role","aws:cdk:cloudformation:props":{"assumeRolePolicyDocument":{"Statement":[{"Action":"sts:AssumeRole","Effect":"Allow","Principal":{"Service":"lambda.amazonaws.com"}}],"Version":"2012-10-17"},"policies":[{"policyName":"LambdaFunctionServiceRolePolicy","policyDocument":{"Statement":[{"Action":["logs:CreateLogGroup","logs:CreateLogStream","logs:PutLogEvents"],"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":logs:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":log-group:/aws/lambda/*"]]}}],"Version":"2012-10-17"}}]}}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lamsns-existingFunction/LambdaFunctionServiceRole/DefaultPolicy","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]},{"addStatements":[{}]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-existingFunction/LambdaFunctionServiceRole/DefaultPolicy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":"sns:Publish","Effect":"Allow","Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"}},{"Action":["kms:Decrypt","kms:GenerateDataKey*"],"Condition":{"ForAnyValue:StringEquals":{"kms:ResourceAliases":"alias/aws/sns"}},"Effect":"Allow","Resource":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":kms:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":key/*"]]}}],"Version":"2012-10-17"},"policyName":"LambdaFunctionServiceRoleDefaultPolicy126C8897","roles":[{"Ref":"LambdaFunctionServiceRole0C4CDE0B"}]}}}}}}},"LambdaFunction":{"id":"LambdaFunction","path":"lamsns-existingFunction/LambdaFunction","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.223.0","metadata":[{"role":"*","tracing":"Active","runtime":"*","handler":"*","code":"*"},{"addEnvironment":["*","*",{"removeInEdge":true}]},{"addEnvironment":["*","*"]},{"addEnvironment":["*","*"]}]},"children":{"Code":{"id":"Code","path":"lamsns-existingFunction/LambdaFunction/Code","constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.223.0"},"children":{"Stage":{"id":"Stage","path":"lamsns-existingFunction/LambdaFunction/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.223.0"}},"AssetBucket":{"id":"AssetBucket","path":"lamsns-existingFunction/LambdaFunction/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.223.0","metadata":[]}}}},"Resource":{"id":"Resource","path":"lamsns-existingFunction/LambdaFunction/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640.zip"},"environment":{"variables":{"AWS_NODEJS_CONNECTION_REUSE_ENABLED":"1","SNS_TOPIC_ARN":{"Ref":"testlambdasnsSnsTopic57DFED98"},"SNS_TOPIC_NAME":{"Fn::GetAtt":["testlambdasnsSnsTopic57DFED98","TopicName"]}}},"handler":"index.handler","role":{"Fn::GetAtt":["LambdaFunctionServiceRole0C4CDE0B","Arn"]},"runtime":"nodejs22.x","tracingConfig":{"mode":"Active"}}}},"inlinePolicyAddedToExecutionRole-0":{"id":"inlinePolicyAddedToExecutionRole-0","path":"lamsns-existingFunction/LambdaFunction/inlinePolicyAddedToExecutionRole-0","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.223.0","metadata":[{"statements":"*"},{"addStatements":[{}]},{"attachToRole":["*"]},{"attachToRole":["*"]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-existingFunction/LambdaFunction/inlinePolicyAddedToExecutionRole-0/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["xray:PutTelemetryRecords","xray:PutTraceSegments"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"},"policyName":"LambdaFunctioninlinePolicyAddedToExecutionRole007875684","roles":[{"Ref":"LambdaFunctionServiceRole0C4CDE0B"}]}}}}}}},"test-lambda-sns":{"id":"test-lambda-sns","path":"lamsns-existingFunction/test-lambda-sns","constructInfo":{"fqn":"@aws-solutions-constructs/aws-lambda-sns.LambdaToSns","version":"2.95.1"},"children":{"aws-managed-key":{"id":"aws-managed-key","path":"lamsns-existingFunction/test-lambda-sns/aws-managed-key","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.223.0","metadata":[]}},"SnsTopic":{"id":"SnsTopic","path":"lamsns-existingFunction/test-lambda-sns/SnsTopic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"2.223.0","metadata":[{"masterKey":"*"}]},"children":{"Resource":{"id":"Resource","path":"lamsns-existingFunction/test-lambda-sns/SnsTopic/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopic","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::Topic","aws:cdk:cloudformation:props":{"kmsMasterKeyId":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":kms:",{"Ref":"AWS::Region"},":",{"Ref":"AWS::AccountId"},":alias/aws/sns"]]}}}},"Policy":{"id":"Policy","path":"lamsns-existingFunction/test-lambda-sns/SnsTopic/Policy","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.TopicPolicy","version":"2.223.0","metadata":[{"topics":["*"]}]},"children":{"Resource":{"id":"Resource","path":"lamsns-existingFunction/test-lambda-sns/SnsTopic/Policy/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.CfnTopicPolicy","version":"2.223.0"},"attributes":{"aws:cdk:cloudformation:type":"AWS::SNS::TopicPolicy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["SNS:AddPermission","SNS:DeleteTopic","SNS:GetTopicAttributes","SNS:ListSubscriptionsByTopic","SNS:Publish","SNS:Receive","SNS:RemovePermission","SNS:SetTopicAttributes","SNS:Subscribe"],"Condition":{"StringEquals":{"AWS:SourceOwner":{"Ref":"AWS::AccountId"}}},"Effect":"Allow","Principal":{"AWS":{"Fn::Join":["",["arn:",{"Ref":"AWS::Partition"},":iam::",{"Ref":"AWS::AccountId"},":root"]]}},"Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"},"Sid":"TopicOwnerOnlyAccess"},{"Action":["SNS:AddPermission","SNS:DeleteTopic","SNS:GetTopicAttributes","SNS:ListSubscriptionsByTopic","SNS:Publish","SNS:Receive","SNS:RemovePermission","SNS:SetTopicAttributes","SNS:Subscribe"],"Condition":{"Bool":{"aws:SecureTransport":"false"}},"Effect":"Deny","Principal":{"AWS":"*"},"Resource":{"Ref":"testlambdasnsSnsTopic57DFED98"},"Sid":"HttpsOnly"}],"Version":"2012-10-17"},"topics":[{"Ref":"testlambdasnsSnsTopic57DFED98"}]}}}}}}}}},"Integ":{"id":"Integ","path":"lamsns-existingFunction/Integ","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"2.223.0-alpha.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"lamsns-existingFunction/Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.223.0-alpha.0"},"children":{"Default":{"id":"Default","path":"lamsns-existingFunction/Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"lamsns-existingFunction/Integ/DefaultTest/DeployAssert","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.223.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-existingFunction/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.223.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-existingFunction/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.223.0"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-existingFunction/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.223.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-existingFunction/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.223.0"}}}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}}}}
|