@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.
Files changed (24) hide show
  1. package/.jsii +3 -3
  2. package/README.adoc +6 -2
  3. package/lib/index.js +1 -1
  4. package/package.json +3 -3
  5. package/test/integ.lamsns-deployFunction.js.snapshot/asset.4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640/index.js +21 -0
  6. package/test/integ.lamsns-deployFunction.js.snapshot/cdk.out +1 -1
  7. package/test/integ.lamsns-deployFunction.js.snapshot/integ.json +2 -2
  8. package/test/integ.lamsns-deployFunction.js.snapshot/lamsns-deployFunction.assets.json +8 -8
  9. package/test/integ.lamsns-deployFunction.js.snapshot/lamsns-deployFunction.template.json +2 -2
  10. package/test/integ.lamsns-deployFunction.js.snapshot/lamsnsdeployFunctionIntegDefaultTestDeployAssert36FE5D09.assets.json +1 -1
  11. package/test/integ.lamsns-deployFunction.js.snapshot/manifest.json +65 -41
  12. package/test/integ.lamsns-deployFunction.js.snapshot/tree.json +1 -1
  13. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/lamsns-deployFunctionWithVpc.assets.json +3 -3
  14. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/lamsns-deployFunctionWithVpc.template.json +1 -1
  15. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/manifest.json +1 -1
  16. package/test/integ.lamsns-deployFunctionWithVpc.js.snapshot/tree.json +1 -1
  17. package/test/integ.lamsns-existingFunction.js.snapshot/asset.4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640/index.js +21 -0
  18. package/test/integ.lamsns-existingFunction.js.snapshot/cdk.out +1 -1
  19. package/test/integ.lamsns-existingFunction.js.snapshot/integ.json +2 -2
  20. package/test/integ.lamsns-existingFunction.js.snapshot/lamsns-existingFunction.assets.json +8 -8
  21. package/test/integ.lamsns-existingFunction.js.snapshot/lamsns-existingFunction.template.json +2 -2
  22. package/test/integ.lamsns-existingFunction.js.snapshot/lamsnsexistingFunctionIntegDefaultTestDeployAssert733AE3CB.assets.json +1 -1
  23. package/test/integ.lamsns-existingFunction.js.snapshot/manifest.json +65 -41
  24. 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.95.1",
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.95.1",
4502
- "fingerprint": "GK7cwi5RCMerKgZ4bdrZlHQ/W13DqpSwM8FxzHQ1A1A="
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.NODEJS_20_X,
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.NODEJS_20_X)
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.95.1" };
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.95.1",
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.95.1",
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.95.1",
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":"45.0.0"}
1
+ {"version":"48.0.0"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "45.0.0",
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.1020.2"
12
+ "minimumCliVersion": "2.1029.2"
13
13
  }
@@ -1,30 +1,30 @@
1
1
  {
2
- "version": "45.0.0",
2
+ "version": "48.0.0",
3
3
  "files": {
4
- "0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f": {
4
+ "4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640": {
5
5
  "displayName": "test-lambda-sns/LambdaFunction/Code",
6
6
  "source": {
7
- "path": "asset.0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f",
7
+ "path": "asset.4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640",
8
8
  "packaging": "zip"
9
9
  },
10
10
  "destinations": {
11
- "current_account-current_region-86d36d19": {
11
+ "current_account-current_region-9a75cf4c": {
12
12
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
13
- "objectKey": "0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f.zip",
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
- "04d2b35bd0a00b9ed7527435892abc66a3ebd581d4efde3bf874fd3282550e8a": {
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-389b3f14": {
25
+ "current_account-current_region-c6e82a47": {
26
26
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
27
- "objectKey": "04d2b35bd0a00b9ed7527435892abc66a3ebd581d4efde3bf874fd3282550e8a.json",
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": "0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f.zip"
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": "nodejs20.x",
151
+ "Runtime": "nodejs22.x",
152
152
  "TracingConfig": {
153
153
  "Mode": "Active"
154
154
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "45.0.0",
2
+ "version": "48.0.0",
3
3
  "files": {
4
4
  "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": {
5
5
  "displayName": "lamsnsdeployFunctionIntegDefaultTestDeployAssert36FE5D09 Template",
@@ -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}/04d2b35bd0a00b9ed7527435892abc66a3ebd581d4efde3bf874fd3282550e8a.json",
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/core:enableStackNameDuplicates": {
343
+ "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": {
344
344
  "recommendedValue": true,
345
- "explanation": "Allow multiple stacks with the same name"
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
- "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": {
360
- "recommendedValue": true,
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:removeDefaultDesiredCount": {
361
+ "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": {
376
362
  "recommendedValue": true,
377
- "explanation": "Do not specify a default DesiredCount for ECS services"
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
- "@aws-cdk/aws-efs:defaultEncryptionAtRest": {
388
- "recommendedValue": true,
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 by default create default policy names for imported roles that depend on the stack the role is in."
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.206.0"},"children":{"lamsns-deployFunction":{"id":"lamsns-deployFunction","path":"lamsns-deployFunction","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.206.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.86.0"},"children":{"LambdaFunctionServiceRole":{"id":"LambdaFunctionServiceRole","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.206.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.206.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunctionServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.206.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.206.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.206.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.206.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.206.0"},"children":{"Stage":{"id":"Stage","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunction/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.206.0"}},"AssetBucket":{"id":"AssetBucket","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunction/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.206.0","metadata":[]}}}},"Resource":{"id":"Resource","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunction/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.206.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":"0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f.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"}}}},"inlinePolicyAddedToExecutionRole-0":{"id":"inlinePolicyAddedToExecutionRole-0","path":"lamsns-deployFunction/test-lambda-sns/LambdaFunction/inlinePolicyAddedToExecutionRole-0","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.206.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.206.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.206.0","metadata":[]}},"SnsTopic":{"id":"SnsTopic","path":"lamsns-deployFunction/test-lambda-sns/SnsTopic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"2.206.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.206.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.206.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.206.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.206.0-alpha.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"lamsns-deployFunction/Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.206.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.206.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-deployFunction/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.206.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-deployFunction/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.206.0"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-deployFunction/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.206.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-deployFunction/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.206.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-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"}}}}}
@@ -29,16 +29,16 @@
29
29
  }
30
30
  }
31
31
  },
32
- "12bd769eb2a6c8b37252664bfb902a155fb4915c82b8b4fb25ce4882cc5a3592": {
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-21b23063": {
39
+ "current_account-current_region-2774b7aa": {
40
40
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
41
- "objectKey": "12bd769eb2a6c8b37252664bfb902a155fb4915c82b8b4fb25ce4882cc5a3592.json",
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
  }
@@ -199,7 +199,7 @@
199
199
  "Arn"
200
200
  ]
201
201
  },
202
- "Runtime": "nodejs20.x",
202
+ "Runtime": "nodejs22.x",
203
203
  "TracingConfig": {
204
204
  "Mode": "Active"
205
205
  },
@@ -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}/12bd769eb2a6c8b37252664bfb902a155fb4915c82b8b4fb25ce4882cc5a3592.json",
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":"45.0.0"}
1
+ {"version":"48.0.0"}
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "45.0.0",
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.1020.2"
12
+ "minimumCliVersion": "2.1029.2"
13
13
  }
@@ -1,30 +1,30 @@
1
1
  {
2
- "version": "45.0.0",
2
+ "version": "48.0.0",
3
3
  "files": {
4
- "0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f": {
4
+ "4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640": {
5
5
  "displayName": "LambdaFunction/Code",
6
6
  "source": {
7
- "path": "asset.0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f",
7
+ "path": "asset.4085f2fc7cce70548a05ffc5162591a6b42f88398292e9c4b2739feed32a1640",
8
8
  "packaging": "zip"
9
9
  },
10
10
  "destinations": {
11
- "current_account-current_region-86d36d19": {
11
+ "current_account-current_region-9a75cf4c": {
12
12
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
13
- "objectKey": "0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f.zip",
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
- "fad36393dc6ebe5f647167ba56c72c6918b2ef01bbf620b4fc1a86b94114502a": {
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-59d877d7": {
25
+ "current_account-current_region-0a45b797": {
26
26
  "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
27
- "objectKey": "fad36393dc6ebe5f647167ba56c72c6918b2ef01bbf620b4fc1a86b94114502a.json",
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
  }
@@ -125,7 +125,7 @@
125
125
  "S3Bucket": {
126
126
  "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
127
127
  },
128
- "S3Key": "0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f.zip"
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": "nodejs20.x",
151
+ "Runtime": "nodejs22.x",
152
152
  "TracingConfig": {
153
153
  "Mode": "Active"
154
154
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "45.0.0",
2
+ "version": "48.0.0",
3
3
  "files": {
4
4
  "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": {
5
5
  "displayName": "lamsnsexistingFunctionIntegDefaultTestDeployAssert733AE3CB Template",
@@ -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}/fad36393dc6ebe5f647167ba56c72c6918b2ef01bbf620b4fc1a86b94114502a.json",
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/core:enableStackNameDuplicates": {
343
+ "@aws-cdk/aws-signer:signingProfileNamePassedToCfn": {
344
344
  "recommendedValue": true,
345
- "explanation": "Allow multiple stacks with the same name"
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
- "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": {
360
- "recommendedValue": true,
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:removeDefaultDesiredCount": {
361
+ "@aws-cdk/aws-ecs-patterns:secGroupsDisablesImplicitOpenListener": {
376
362
  "recommendedValue": true,
377
- "explanation": "Do not specify a default DesiredCount for ECS services"
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
- "@aws-cdk/aws-efs:defaultEncryptionAtRest": {
388
- "recommendedValue": true,
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 by default create default policy names for imported roles that depend on the stack the role is in."
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.206.0"},"children":{"lamsns-existingFunction":{"id":"lamsns-existingFunction","path":"lamsns-existingFunction","constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.206.0"},"children":{"LambdaFunctionServiceRole":{"id":"LambdaFunctionServiceRole","path":"lamsns-existingFunction/LambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.206.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.206.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lamsns-existingFunction/LambdaFunctionServiceRole/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.206.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.206.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.206.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.206.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.206.0"},"children":{"Stage":{"id":"Stage","path":"lamsns-existingFunction/LambdaFunction/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.206.0"}},"AssetBucket":{"id":"AssetBucket","path":"lamsns-existingFunction/LambdaFunction/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.206.0","metadata":[]}}}},"Resource":{"id":"Resource","path":"lamsns-existingFunction/LambdaFunction/Resource","constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.206.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":"0904d3723480fed2daf7885caa427b930881caae6879d1e6b0d395020173ef6f.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":"nodejs20.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.206.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.206.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.86.0"},"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.206.0","metadata":[]}},"SnsTopic":{"id":"SnsTopic","path":"lamsns-existingFunction/test-lambda-sns/SnsTopic","constructInfo":{"fqn":"aws-cdk-lib.aws_sns.Topic","version":"2.206.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.206.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.206.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.206.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.206.0-alpha.0"},"children":{"DefaultTest":{"id":"DefaultTest","path":"lamsns-existingFunction/Integ/DefaultTest","constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.206.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.206.0"},"children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-existingFunction/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.206.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-existingFunction/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.206.0"}}}}}}}},"BootstrapVersion":{"id":"BootstrapVersion","path":"lamsns-existingFunction/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.206.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamsns-existingFunction/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.206.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-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"}}}}}