@aws-solutions-constructs/aws-lambda-dynamodb 2.82.0 → 2.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -8,8 +8,8 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "@aws-solutions-constructs/core": "2.82.0",
12
- "aws-cdk-lib": "^2.187.0",
11
+ "@aws-solutions-constructs/core": "2.84.0",
12
+ "aws-cdk-lib": "^2.190.0",
13
13
  "constructs": "^10.0.0"
14
14
  },
15
15
  "dependencyClosure": {
@@ -1266,6 +1266,19 @@
1266
1266
  }
1267
1267
  }
1268
1268
  },
1269
+ "aws-cdk-lib.aws_dsql": {
1270
+ "targets": {
1271
+ "dotnet": {
1272
+ "package": "Amazon.CDK.AWS.DSQL"
1273
+ },
1274
+ "java": {
1275
+ "package": "software.amazon.awscdk.services.dsql"
1276
+ },
1277
+ "python": {
1278
+ "module": "aws_cdk.aws_dsql"
1279
+ }
1280
+ }
1281
+ },
1269
1282
  "aws-cdk-lib.aws_dynamodb": {
1270
1283
  "targets": {
1271
1284
  "dotnet": {
@@ -4273,6 +4286,6 @@
4273
4286
  "symbolId": "lib/index:LambdaToDynamoDBProps"
4274
4287
  }
4275
4288
  },
4276
- "version": "2.82.0",
4277
- "fingerprint": "GbngdKolvQDWeCaXbkBPL2ZmFGic3tEdZ+0p7EvIhrM="
4289
+ "version": "2.84.0",
4290
+ "fingerprint": "QT6FYbLJVhfWQa2G7JxICC8UDGPVdyZt4QshO06m+CI="
4278
4291
  }
package/lib/index.js CHANGED
@@ -86,5 +86,5 @@ class LambdaToDynamoDB extends constructs_1.Construct {
86
86
  }
87
87
  exports.LambdaToDynamoDB = LambdaToDynamoDB;
88
88
  _a = JSII_RTTI_SYMBOL_1;
89
- LambdaToDynamoDB[_a] = { fqn: "@aws-solutions-constructs/aws-lambda-dynamodb.LambdaToDynamoDB", version: "2.82.0" };
89
+ LambdaToDynamoDB[_a] = { fqn: "@aws-solutions-constructs/aws-lambda-dynamodb.LambdaToDynamoDB", version: "2.84.0" };
90
90
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWNBLHFEQUFxRDtBQUNyRCwyREFBMkQ7QUFFM0Qsd0ZBQXdGO0FBQ3hGLDJDQUF1QztBQTJEdkMsTUFBYSxnQkFBaUIsU0FBUSxzQkFBUztJQUs3Qzs7Ozs7OztPQU9HO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE0QjtRQUNwRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVqQyx5RkFBeUY7UUFDekYsZ0RBQWdEO1FBQ2hELElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDM0IsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUNoSCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFO2dCQUNsQyxlQUFlLEVBQUUsUUFBUSxDQUFDLHVCQUF1QixFQUFFO2dCQUNuRCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLFlBQVksRUFBRSxLQUFLLENBQUMsUUFBUTtnQkFDNUIsaUJBQWlCLEVBQUU7b0JBQ2pCLGtCQUFrQixFQUFFLElBQUk7b0JBQ3hCLGdCQUFnQixFQUFFLElBQUk7aUJBQ3ZCO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsUUFBUSxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRixDQUFDO1FBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFO1lBQ3ZELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5QyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDZCxDQUFDLENBQUM7UUFFSCxpRkFBaUY7UUFDakYsOEVBQThFO1FBQzlFLDhFQUE4RTtRQUM5RSxNQUFNLDBCQUEwQixHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7WUFDbkUsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1NBQ3pDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsMEJBQTBCLENBQUMsV0FBWSxDQUFDO1FBRTNELGtDQUFrQztRQUNsQyxNQUFNLDRCQUE0QixHQUFHLEtBQUssQ0FBQyw0QkFBNEIsSUFBSSxnQkFBZ0IsQ0FBQztRQUM1RixJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRTdGLGlEQUFpRDtRQUNqRCxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzNCLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN6RCxJQUFJLFdBQVcsS0FBSyxLQUFLLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN2RSxDQUFDO2lCQUFNLElBQUksV0FBVyxLQUFPLE1BQU0sRUFBRSxDQUFDO2dCQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7aUJBQU0sSUFBSSxXQUFXLEtBQU8sV0FBVyxFQUFFLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUMxRSxDQUFDO2lCQUFNLElBQUksV0FBVyxLQUFPLE9BQU8sRUFBRSxDQUFDO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsbUNBQW1DO1FBQ25DLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFLFdBQVcsS0FBSyxRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzdFLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUM3QztvQkFDRSxFQUFFLEVBQUUsS0FBSztvQkFDVCxNQUFNLEVBQUUsbUZBQW1GO2lCQUM1RjthQUNGLENBQUMsQ0FBQztRQUVMLENBQUM7SUFDSCxDQUFDOztBQXBGSCw0Q0FxRkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBkeW5hbW9kYiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZHluYW1vZGInO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuLy8gTm90ZTogVG8gZW5zdXJlIENES3YyIGNvbXBhdGliaWxpdHksIGtlZXAgdGhlIGltcG9ydCBzdGF0ZW1lbnQgZm9yIENvbnN0cnVjdCBzZXBhcmF0ZVxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogQHN1bW1hcnkgVGhlIHByb3BlcnRpZXMgZm9yIHRoZSBMYW1iZGFUb0R5bmFtb0RCIENvbnN0cnVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhbWJkYVRvRHluYW1vREJQcm9wcyB7XG4gIC8qKlxuICAgKiBFeGlzdGluZyBpbnN0YW5jZSBvZiBMYW1iZGEgRnVuY3Rpb24gb2JqZWN0LCBwcm92aWRpbmcgYm90aCB0aGlzIGFuZCBgbGFtYmRhRnVuY3Rpb25Qcm9wc2Agd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ0xhbWJkYU9iaj86IGxhbWJkYS5GdW5jdGlvbjtcbiAgLyoqXG4gICAqIFVzZXIgcHJvdmlkZWQgcHJvcHMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgcHJvcHMgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVmYXVsdCBwcm9wcyBhcmUgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb25Qcm9wcz86IGxhbWJkYS5GdW5jdGlvblByb3BzO1xuICAvKipcbiAgICogT3B0aW9uYWwgdXNlciBwcm92aWRlZCBwcm9wcyB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBwcm9wc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlZmF1bHQgcHJvcHMgYXJlIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IGR5bmFtb1RhYmxlUHJvcHM/OiBkeW5hbW9kYi5UYWJsZVByb3BzO1xuICAvKipcbiAgICogRXhpc3RpbmcgaW5zdGFuY2Ugb2YgRHluYW1vREIgdGFibGUgb2JqZWN0LCBwcm92aWRpbmcgYm90aCB0aGlzIGFuZCBgZHluYW1vVGFibGVQcm9wc2Agd2lsbCBjYXVzZSBhbiBlcnJvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBleGlzdGluZ1RhYmxlT2JqPzogZHluYW1vZGIuVGFibGU7XG4gIC8qKlxuICAgKiBPcHRpb25hbCB0YWJsZSBwZXJtaXNzaW9ucyB0byBncmFudCB0byB0aGUgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKiBPbmUgb2YgdGhlIGZvbGxvd2luZyBtYXkgYmUgc3BlY2lmaWVkOiBcIkFsbFwiLCBcIlJlYWRcIiwgXCJSZWFkV3JpdGVcIiwgXCJXcml0ZVwiLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFJlYWQvd3JpdGUgYWNjZXNzIGlzIGdpdmVuIHRvIHRoZSBMYW1iZGEgZnVuY3Rpb24gaWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVQZXJtaXNzaW9ucz86IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIE5hbWUgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24gZW52aXJvbm1lbnQgdmFyaWFibGUgc2V0IHRvIHRoZSBuYW1lIG9mIHRoZSBEeW5hbW9EQiB0YWJsZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEREJfVEFCTEVfTkFNRVxuICAgKi9cbiAgcmVhZG9ubHkgdGFibGVFbnZpcm9ubWVudFZhcmlhYmxlTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIEFuIGV4aXN0aW5nIFZQQyBmb3IgdGhlIGNvbnN0cnVjdCB0byB1c2UgKGNvbnN0cnVjdCB3aWxsIE5PVCBjcmVhdGUgYSBuZXcgVlBDIGluIHRoaXMgY2FzZSlcbiAgICovXG4gIHJlYWRvbmx5IGV4aXN0aW5nVnBjPzogZWMyLklWcGM7XG4gIC8qKlxuICAgKiBQcm9wZXJ0aWVzIHRvIG92ZXJyaWRlIGRlZmF1bHQgcHJvcGVydGllcyBpZiBkZXBsb3lWcGMgaXMgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdnBjUHJvcHM/OiBlYzIuVnBjUHJvcHM7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRlcGxveSBhIG5ldyBWUENcbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwbG95VnBjPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIExhbWJkYVRvRHluYW1vREIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgbGFtYmRhRnVuY3Rpb246IGxhbWJkYS5GdW5jdGlvbjtcbiAgcHVibGljIHJlYWRvbmx5IGR5bmFtb1RhYmxlOiBkeW5hbW9kYi5UYWJsZTtcbiAgcHVibGljIHJlYWRvbmx5IHZwYz86IGVjMi5JVnBjO1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBMYW1iZGFUb0R5bmFtb0RCIGNsYXNzLlxuICAgKiBAcGFyYW0ge2Nkay5BcHB9IHNjb3BlIC0gcmVwcmVzZW50cyB0aGUgc2NvcGUgZm9yIGFsbCB0aGUgcmVzb3VyY2VzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWQgLSB0aGlzIGlzIGEgYSBzY29wZS11bmlxdWUgaWQuXG4gICAqIEBwYXJhbSB7TGFtYmRhVG9EeW5hbW9EQlByb3BzfSBwcm9wcyAtIHVzZXIgcHJvdmlkZWQgcHJvcHMgZm9yIHRoZSBjb25zdHJ1Y3RcbiAgICogQHNpbmNlIDAuOC4wXG4gICAqIEBhY2Nlc3MgcHVibGljXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTGFtYmRhVG9EeW5hbW9EQlByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICBkZWZhdWx0cy5DaGVja0R5bmFtb0RCUHJvcHMocHJvcHMpO1xuICAgIGRlZmF1bHRzLkNoZWNrVnBjUHJvcHMocHJvcHMpO1xuICAgIGRlZmF1bHRzLkNoZWNrTGFtYmRhUHJvcHMocHJvcHMpO1xuXG4gICAgLy8gT3RoZXIgcGVybWlzc2lvbnMgZm9yIGNvbnN0cnVjdHMgYXJlIGFjY2VwdGVkIGFzIGFycmF5cywgdHVybmluZyB0YWJsZVBlcm1pc3Npb25zIGludG9cbiAgICAvLyBhbiBhcnJheSB0byB1c2UgdGhlIHNhbWUgdmFsaWRhdGlvbiBmdW5jdGlvbi5cbiAgICBpZiAocHJvcHMudGFibGVQZXJtaXNzaW9ucykge1xuICAgICAgZGVmYXVsdHMuQ2hlY2tMaXN0VmFsdWVzKFsnQWxsJywgJ1JlYWQnLCAnUmVhZFdyaXRlJywgJ1dyaXRlJ10sIFtwcm9wcy50YWJsZVBlcm1pc3Npb25zXSwgJ3RhYmxlIHBlcm1pc3Npb24nKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZGVwbG95VnBjIHx8IHByb3BzLmV4aXN0aW5nVnBjKSB7XG4gICAgICB0aGlzLnZwYyA9IGRlZmF1bHRzLmJ1aWxkVnBjKHNjb3BlLCB7XG4gICAgICAgIGRlZmF1bHRWcGNQcm9wczogZGVmYXVsdHMuRGVmYXVsdElzb2xhdGVkVnBjUHJvcHMoKSxcbiAgICAgICAgZXhpc3RpbmdWcGM6IHByb3BzLmV4aXN0aW5nVnBjLFxuICAgICAgICB1c2VyVnBjUHJvcHM6IHByb3BzLnZwY1Byb3BzLFxuICAgICAgICBjb25zdHJ1Y3RWcGNQcm9wczoge1xuICAgICAgICAgIGVuYWJsZURuc0hvc3RuYW1lczogdHJ1ZSxcbiAgICAgICAgICBlbmFibGVEbnNTdXBwb3J0OiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIGRlZmF1bHRzLkFkZEF3c1NlcnZpY2VFbmRwb2ludChzY29wZSwgdGhpcy52cGMsIGRlZmF1bHRzLlNlcnZpY2VFbmRwb2ludFR5cGVzLkRZTkFNT0RCKTtcbiAgICB9XG5cbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gZGVmYXVsdHMuYnVpbGRMYW1iZGFGdW5jdGlvbih0aGlzLCB7XG4gICAgICBleGlzdGluZ0xhbWJkYU9iajogcHJvcHMuZXhpc3RpbmdMYW1iZGFPYmosXG4gICAgICBsYW1iZGFGdW5jdGlvblByb3BzOiBwcm9wcy5sYW1iZGFGdW5jdGlvblByb3BzLFxuICAgICAgdnBjOiB0aGlzLnZwY1xuICAgIH0pO1xuXG4gICAgLy8gU2luY2Ugd2UgYXJlIG9ubHkgaW52b2tpbmcgdGhpcyBmdW5jdGlvbiB3aXRoIGFuIGV4aXN0aW5nIFRhYmxlIG9yIHRhYmxlUHJvcHMsXG4gICAgLy8gKG5vdCBhIHRhYmxlIGludGVyZmFjZSksIHdlIGtub3cgdGhhdCB0aGUgaW1wbGVtZW50YXRpb24gd2lsbCBhbHdheXMgcmV0dXJuXG4gICAgLy8gYSBUYWJsZSBvYmplY3QgYW5kIHdlIGNhbiBzYWZlbHkgY2FzdCBhd2F5IHRoZSBvcHRpb25hbCBhc3BlY3Qgb2YgdGhlIHR5cGUuXG4gICAgY29uc3QgYnVpbGREeW5hbW9EQlRhYmxlUmVzcG9uc2UgPSBkZWZhdWx0cy5idWlsZER5bmFtb0RCVGFibGUodGhpcywge1xuICAgICAgZHluYW1vVGFibGVQcm9wczogcHJvcHMuZHluYW1vVGFibGVQcm9wcyxcbiAgICAgIGV4aXN0aW5nVGFibGVPYmo6IHByb3BzLmV4aXN0aW5nVGFibGVPYmpcbiAgICB9KTtcbiAgICB0aGlzLmR5bmFtb1RhYmxlID0gYnVpbGREeW5hbW9EQlRhYmxlUmVzcG9uc2UudGFibGVPYmplY3QhO1xuXG4gICAgLy8gQ29uZmlndXJlIGVudmlyb25tZW50IHZhcmlhYmxlc1xuICAgIGNvbnN0IHRhYmxlRW52aXJvbm1lbnRWYXJpYWJsZU5hbWUgPSBwcm9wcy50YWJsZUVudmlyb25tZW50VmFyaWFibGVOYW1lIHx8ICdEREJfVEFCTEVfTkFNRSc7XG4gICAgdGhpcy5sYW1iZGFGdW5jdGlvbi5hZGRFbnZpcm9ubWVudCh0YWJsZUVudmlyb25tZW50VmFyaWFibGVOYW1lLCB0aGlzLmR5bmFtb1RhYmxlLnRhYmxlTmFtZSk7XG5cbiAgICAvLyBBZGQgdGhlIHJlcXVlc3RlZCBvciBkZWZhdWx0IHRhYmxlIHBlcm1pc3Npb25zXG4gICAgaWYgKHByb3BzLnRhYmxlUGVybWlzc2lvbnMpIHtcbiAgICAgIGNvbnN0IHBlcm1pc3Npb25zID0gcHJvcHMudGFibGVQZXJtaXNzaW9ucy50b1VwcGVyQ2FzZSgpO1xuICAgICAgaWYgKHBlcm1pc3Npb25zID09PSAnQUxMJykge1xuICAgICAgICB0aGlzLmR5bmFtb1RhYmxlLmdyYW50RnVsbEFjY2Vzcyh0aGlzLmxhbWJkYUZ1bmN0aW9uLmdyYW50UHJpbmNpcGFsKTtcbiAgICAgIH0gZWxzZSBpZiAocGVybWlzc2lvbnMgID09PSAgJ1JFQUQnKSB7XG4gICAgICAgIHRoaXMuZHluYW1vVGFibGUuZ3JhbnRSZWFkRGF0YSh0aGlzLmxhbWJkYUZ1bmN0aW9uLmdyYW50UHJpbmNpcGFsKTtcbiAgICAgIH0gZWxzZSBpZiAocGVybWlzc2lvbnMgID09PSAgJ1JFQURXUklURScpIHtcbiAgICAgICAgdGhpcy5keW5hbW9UYWJsZS5ncmFudFJlYWRXcml0ZURhdGEodGhpcy5sYW1iZGFGdW5jdGlvbi5ncmFudFByaW5jaXBhbCk7XG4gICAgICB9IGVsc2UgaWYgKHBlcm1pc3Npb25zICA9PT0gICdXUklURScpIHtcbiAgICAgICAgdGhpcy5keW5hbW9UYWJsZS5ncmFudFdyaXRlRGF0YSh0aGlzLmxhbWJkYUZ1bmN0aW9uLmdyYW50UHJpbmNpcGFsKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5keW5hbW9UYWJsZS5ncmFudFJlYWRXcml0ZURhdGEodGhpcy5sYW1iZGFGdW5jdGlvbi5ncmFudFByaW5jaXBhbCk7XG4gICAgfVxuXG4gICAgLy8gQ29uZGl0aW9uYWwgbWV0YWRhdGEgZm9yIGNmbl9uYWdcbiAgICBpZiAocHJvcHMuZHluYW1vVGFibGVQcm9wcz8uYmlsbGluZ01vZGUgPT09IGR5bmFtb2RiLkJpbGxpbmdNb2RlLlBST1ZJU0lPTkVEKSB7XG4gICAgICBkZWZhdWx0cy5hZGRDZm5TdXBwcmVzc1J1bGVzKHRoaXMuZHluYW1vVGFibGUsIFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBcIlc3M1wiLFxuICAgICAgICAgIHJlYXNvbjogYFBST1ZJU0lPTkVEIGJpbGxpbmcgbW9kZSBpcyBhIGRlZmF1bHQgYW5kIGlzIG5vdCBleHBsaWNpdGx5IGFwcGxpZWQgYXMgYSBzZXR0aW5nLmAsXG4gICAgICAgIH0sXG4gICAgICBdKTtcblxuICAgIH1cbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-solutions-constructs/aws-lambda-dynamodb",
3
- "version": "2.82.0",
3
+ "version": "2.84.0",
4
4
  "description": "CDK Constructs for AWS Lambda to AWS DynamoDB integration.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -54,14 +54,14 @@
54
54
  }
55
55
  },
56
56
  "dependencies": {
57
- "@aws-solutions-constructs/core": "2.82.0",
57
+ "@aws-solutions-constructs/core": "2.84.0",
58
58
  "constructs": "^10.0.0"
59
59
  },
60
60
  "devDependencies": {
61
- "@aws-cdk/integ-tests-alpha": "2.187.0-alpha.0",
61
+ "@aws-cdk/integ-tests-alpha": "2.190.0-alpha.0",
62
62
  "@types/node": "^10.3.0",
63
63
  "constructs": "^10.0.0",
64
- "aws-cdk-lib": "2.187.0"
64
+ "aws-cdk-lib": "2.190.0"
65
65
  },
66
66
  "jest": {
67
67
  "moduleFileExtensions": [
@@ -78,9 +78,9 @@
78
78
  ]
79
79
  },
80
80
  "peerDependencies": {
81
- "@aws-solutions-constructs/core": "2.82.0",
81
+ "@aws-solutions-constructs/core": "2.84.0",
82
82
  "constructs": "^10.0.0",
83
- "aws-cdk-lib": "^2.187.0"
83
+ "aws-cdk-lib": "^2.190.0"
84
84
  },
85
85
  "keywords": [
86
86
  "aws",
@@ -0,0 +1,13 @@
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
+ export {};
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
6
+ * with the License. A copy of the License is located at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
11
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
12
+ * and limitations under the License.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
16
+ const lib_1 = require("../lib");
17
+ const lambda = require("aws-cdk-lib/aws-lambda");
18
+ const dynamodb = require("aws-cdk-lib/aws-dynamodb");
19
+ const core_1 = require("@aws-solutions-constructs/core");
20
+ const integ_tests_alpha_1 = require("@aws-cdk/integ-tests-alpha");
21
+ const defaults = require("@aws-solutions-constructs/core");
22
+ const app = new aws_cdk_lib_1.App();
23
+ // Empty arguments
24
+ const stack = new aws_cdk_lib_1.Stack(app, (0, core_1.generateIntegStackName)(__filename));
25
+ const props = {
26
+ lambdaFunctionProps: {
27
+ code: lambda.Code.fromAsset(`${__dirname}/lambda`),
28
+ runtime: defaults.COMMERCIAL_REGION_LAMBDA_NODE_RUNTIME,
29
+ handler: 'index.handler'
30
+ },
31
+ dynamoTableProps: {
32
+ partitionKey: { name: "api_key", type: dynamodb.AttributeType.STRING },
33
+ pointInTimeRecoverySpecification: {
34
+ pointInTimeRecoveryEnabled: true
35
+ }
36
+ },
37
+ };
38
+ new lib_1.LambdaToDynamoDB(stack, 'test-lambda-dynamodb-stack', props);
39
+ new integ_tests_alpha_1.IntegTest(stack, 'Integ', {
40
+ testCases: [
41
+ stack
42
+ ]
43
+ });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWcubGFtZGRiLXBvaW50LWluLXRpbWUtcmVjb3ZlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlZy5sYW1kZGItcG9pbnQtaW4tdGltZS1yZWNvdmVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7O0FBRUgsNkNBQXlDO0FBQ3pDLGdDQUFpRTtBQUNqRSxpREFBaUQ7QUFDakQscURBQXFEO0FBQ3JELHlEQUF3RTtBQUN4RSxrRUFBdUQ7QUFDdkQsMkRBQTJEO0FBRTNELE1BQU0sR0FBRyxHQUFHLElBQUksaUJBQUcsRUFBRSxDQUFDO0FBRXRCLGtCQUFrQjtBQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLG1CQUFLLENBQUMsR0FBRyxFQUFFLElBQUEsNkJBQXNCLEVBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUVqRSxNQUFNLEtBQUssR0FBMEI7SUFDbkMsbUJBQW1CLEVBQUU7UUFDbkIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyxTQUFTLENBQUM7UUFDbEQsT0FBTyxFQUFFLFFBQVEsQ0FBQyxxQ0FBcUM7UUFDdkQsT0FBTyxFQUFFLGVBQWU7S0FDekI7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRTtRQUN0RSxnQ0FBZ0MsRUFBRTtZQUNoQywwQkFBMEIsRUFBRSxJQUFJO1NBQ2pDO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsSUFBSSxzQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDakUsSUFBSSw2QkFBUyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUU7SUFDNUIsU0FBUyxFQUFFO1FBQ1QsS0FBSztLQUNOO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQXBwLCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgTGFtYmRhVG9EeW5hbW9EQiwgTGFtYmRhVG9EeW5hbW9EQlByb3BzIH0gZnJvbSBcIi4uL2xpYlwiO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgZHluYW1vZGIgZnJvbSAnYXdzLWNkay1saWIvYXdzLWR5bmFtb2RiJztcbmltcG9ydCB7IGdlbmVyYXRlSW50ZWdTdGFja05hbWUgfSBmcm9tICdAYXdzLXNvbHV0aW9ucy1jb25zdHJ1Y3RzL2NvcmUnO1xuaW1wb3J0IHsgSW50ZWdUZXN0IH0gZnJvbSAnQGF3cy1jZGsvaW50ZWctdGVzdHMtYWxwaGEnO1xuaW1wb3J0ICogYXMgZGVmYXVsdHMgZnJvbSAnQGF3cy1zb2x1dGlvbnMtY29uc3RydWN0cy9jb3JlJztcblxuY29uc3QgYXBwID0gbmV3IEFwcCgpO1xuXG4vLyBFbXB0eSBhcmd1bWVudHNcbmNvbnN0IHN0YWNrID0gbmV3IFN0YWNrKGFwcCwgZ2VuZXJhdGVJbnRlZ1N0YWNrTmFtZShfX2ZpbGVuYW1lKSk7XG5cbmNvbnN0IHByb3BzOiBMYW1iZGFUb0R5bmFtb0RCUHJvcHMgPSB7XG4gIGxhbWJkYUZ1bmN0aW9uUHJvcHM6IHtcbiAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQoYCR7X19kaXJuYW1lfS9sYW1iZGFgKSxcbiAgICBydW50aW1lOiBkZWZhdWx0cy5DT01NRVJDSUFMX1JFR0lPTl9MQU1CREFfTk9ERV9SVU5USU1FLFxuICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJ1xuICB9LFxuICBkeW5hbW9UYWJsZVByb3BzOiB7XG4gICAgcGFydGl0aW9uS2V5OiB7IG5hbWU6IFwiYXBpX2tleVwiLCB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklORyB9LFxuICAgIHBvaW50SW5UaW1lUmVjb3ZlcnlTcGVjaWZpY2F0aW9uOiB7XG4gICAgICBwb2ludEluVGltZVJlY292ZXJ5RW5hYmxlZDogdHJ1ZVxuICAgIH1cbiAgfSxcbn07XG5cbm5ldyBMYW1iZGFUb0R5bmFtb0RCKHN0YWNrLCAndGVzdC1sYW1iZGEtZHluYW1vZGItc3RhY2snLCBwcm9wcyk7XG5uZXcgSW50ZWdUZXN0KHN0YWNrLCAnSW50ZWcnLCB7XG4gIHRlc3RDYXNlczogW1xuICAgIHN0YWNrXG4gIF1cbn0pO1xuIl19
@@ -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 function(event) {
15
+ console.log('request:', JSON.stringify(event, undefined, 2));
16
+ return {
17
+ statusCode: 200,
18
+ headers: { 'Content-Type': 'text/plain' },
19
+ body: `Hello, CDK! You've hit ${event.path}\n`
20
+ };
21
+ };
@@ -0,0 +1 @@
1
+ {"version":"41.0.0"}
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": "41.0.0",
3
+ "testCases": {
4
+ "lamddb-point-in-time-recovery/Integ/DefaultTest": {
5
+ "stacks": [
6
+ "lamddb-point-in-time-recovery"
7
+ ],
8
+ "assertionStack": "lamddb-point-in-time-recovery/Integ/DefaultTest/DeployAssert",
9
+ "assertionStackName": "lamddbpointintimerecoveryIntegDefaultTestDeployAssertB0CCD339"
10
+ }
11
+ },
12
+ "minimumCliVersion": "2.1005.0"
13
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "version": "41.0.0",
3
+ "files": {
4
+ "a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c": {
5
+ "displayName": "test-lambda-dynamodb-stack/LambdaFunction/Code",
6
+ "source": {
7
+ "path": "asset.a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c",
8
+ "packaging": "zip"
9
+ },
10
+ "destinations": {
11
+ "current_account-current_region": {
12
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
13
+ "objectKey": "a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c.zip",
14
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
15
+ }
16
+ }
17
+ },
18
+ "cdf64f9fe16dedc5e85b9ae6760d3a90e114c7b81efcfde82a7fdba7a6322281": {
19
+ "displayName": "lamddb-point-in-time-recovery Template",
20
+ "source": {
21
+ "path": "lamddb-point-in-time-recovery.template.json",
22
+ "packaging": "file"
23
+ },
24
+ "destinations": {
25
+ "current_account-current_region": {
26
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
27
+ "objectKey": "cdf64f9fe16dedc5e85b9ae6760d3a90e114c7b81efcfde82a7fdba7a6322281.json",
28
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
29
+ }
30
+ }
31
+ }
32
+ },
33
+ "dockerImages": {}
34
+ }
@@ -0,0 +1,253 @@
1
+ {
2
+ "Resources": {
3
+ "testlambdadynamodbstackLambdaFunctionServiceRole758347A1": {
4
+ "Type": "AWS::IAM::Role",
5
+ "Properties": {
6
+ "AssumeRolePolicyDocument": {
7
+ "Statement": [
8
+ {
9
+ "Action": "sts:AssumeRole",
10
+ "Effect": "Allow",
11
+ "Principal": {
12
+ "Service": "lambda.amazonaws.com"
13
+ }
14
+ }
15
+ ],
16
+ "Version": "2012-10-17"
17
+ },
18
+ "Policies": [
19
+ {
20
+ "PolicyDocument": {
21
+ "Statement": [
22
+ {
23
+ "Action": [
24
+ "logs:CreateLogGroup",
25
+ "logs:CreateLogStream",
26
+ "logs:PutLogEvents"
27
+ ],
28
+ "Effect": "Allow",
29
+ "Resource": {
30
+ "Fn::Join": [
31
+ "",
32
+ [
33
+ "arn:",
34
+ {
35
+ "Ref": "AWS::Partition"
36
+ },
37
+ ":logs:",
38
+ {
39
+ "Ref": "AWS::Region"
40
+ },
41
+ ":",
42
+ {
43
+ "Ref": "AWS::AccountId"
44
+ },
45
+ ":log-group:/aws/lambda/*"
46
+ ]
47
+ ]
48
+ }
49
+ }
50
+ ],
51
+ "Version": "2012-10-17"
52
+ },
53
+ "PolicyName": "LambdaFunctionServiceRolePolicy"
54
+ }
55
+ ]
56
+ },
57
+ "Metadata": {
58
+ "guard": {
59
+ "SuppressedRules": [
60
+ "IAM_NO_INLINE_POLICY_CHECK"
61
+ ]
62
+ }
63
+ }
64
+ },
65
+ "testlambdadynamodbstackLambdaFunctionServiceRoleDefaultPolicy547FB7F4": {
66
+ "Type": "AWS::IAM::Policy",
67
+ "Properties": {
68
+ "PolicyDocument": {
69
+ "Statement": [
70
+ {
71
+ "Action": [
72
+ "dynamodb:BatchGetItem",
73
+ "dynamodb:BatchWriteItem",
74
+ "dynamodb:ConditionCheckItem",
75
+ "dynamodb:DeleteItem",
76
+ "dynamodb:DescribeTable",
77
+ "dynamodb:GetItem",
78
+ "dynamodb:GetRecords",
79
+ "dynamodb:GetShardIterator",
80
+ "dynamodb:PutItem",
81
+ "dynamodb:Query",
82
+ "dynamodb:Scan",
83
+ "dynamodb:UpdateItem"
84
+ ],
85
+ "Effect": "Allow",
86
+ "Resource": [
87
+ {
88
+ "Fn::GetAtt": [
89
+ "testlambdadynamodbstackDynamoTable8138E93B",
90
+ "Arn"
91
+ ]
92
+ },
93
+ {
94
+ "Ref": "AWS::NoValue"
95
+ }
96
+ ]
97
+ }
98
+ ],
99
+ "Version": "2012-10-17"
100
+ },
101
+ "PolicyName": "testlambdadynamodbstackLambdaFunctionServiceRoleDefaultPolicy547FB7F4",
102
+ "Roles": [
103
+ {
104
+ "Ref": "testlambdadynamodbstackLambdaFunctionServiceRole758347A1"
105
+ }
106
+ ]
107
+ }
108
+ },
109
+ "testlambdadynamodbstackLambdaFunction5DDB3E8D": {
110
+ "Type": "AWS::Lambda::Function",
111
+ "Properties": {
112
+ "Code": {
113
+ "S3Bucket": {
114
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
115
+ },
116
+ "S3Key": "a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c.zip"
117
+ },
118
+ "Environment": {
119
+ "Variables": {
120
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1",
121
+ "DDB_TABLE_NAME": {
122
+ "Ref": "testlambdadynamodbstackDynamoTable8138E93B"
123
+ }
124
+ }
125
+ },
126
+ "Handler": "index.handler",
127
+ "Role": {
128
+ "Fn::GetAtt": [
129
+ "testlambdadynamodbstackLambdaFunctionServiceRole758347A1",
130
+ "Arn"
131
+ ]
132
+ },
133
+ "Runtime": "nodejs20.x",
134
+ "TracingConfig": {
135
+ "Mode": "Active"
136
+ }
137
+ },
138
+ "DependsOn": [
139
+ "testlambdadynamodbstackLambdaFunctionServiceRoleDefaultPolicy547FB7F4",
140
+ "testlambdadynamodbstackLambdaFunctionServiceRole758347A1"
141
+ ],
142
+ "Metadata": {
143
+ "cfn_nag": {
144
+ "rules_to_suppress": [
145
+ {
146
+ "id": "W58",
147
+ "reason": "Lambda functions has the required permission to write CloudWatch Logs. It uses custom policy instead of arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole with tighter permissions."
148
+ },
149
+ {
150
+ "id": "W89",
151
+ "reason": "This is not a rule for the general case, just for specific use cases/industries"
152
+ },
153
+ {
154
+ "id": "W92",
155
+ "reason": "Impossible for us to define the correct concurrency for clients"
156
+ }
157
+ ]
158
+ }
159
+ }
160
+ },
161
+ "testlambdadynamodbstackLambdaFunctioninlinePolicyAddedToExecutionRole019E2DE85": {
162
+ "Type": "AWS::IAM::Policy",
163
+ "Properties": {
164
+ "PolicyDocument": {
165
+ "Statement": [
166
+ {
167
+ "Action": [
168
+ "xray:PutTelemetryRecords",
169
+ "xray:PutTraceSegments"
170
+ ],
171
+ "Effect": "Allow",
172
+ "Resource": "*"
173
+ }
174
+ ],
175
+ "Version": "2012-10-17"
176
+ },
177
+ "PolicyName": "testlambdadynamodbstackLambdaFunctioninlinePolicyAddedToExecutionRole019E2DE85",
178
+ "Roles": [
179
+ {
180
+ "Ref": "testlambdadynamodbstackLambdaFunctionServiceRole758347A1"
181
+ }
182
+ ]
183
+ }
184
+ },
185
+ "testlambdadynamodbstackDynamoTable8138E93B": {
186
+ "Type": "AWS::DynamoDB::Table",
187
+ "Properties": {
188
+ "AttributeDefinitions": [
189
+ {
190
+ "AttributeName": "api_key",
191
+ "AttributeType": "S"
192
+ }
193
+ ],
194
+ "BillingMode": "PAY_PER_REQUEST",
195
+ "KeySchema": [
196
+ {
197
+ "AttributeName": "api_key",
198
+ "KeyType": "HASH"
199
+ }
200
+ ],
201
+ "PointInTimeRecoverySpecification": {
202
+ "PointInTimeRecoveryEnabled": true
203
+ },
204
+ "SSESpecification": {
205
+ "SSEEnabled": true
206
+ }
207
+ },
208
+ "UpdateReplacePolicy": "Retain",
209
+ "DeletionPolicy": "Retain",
210
+ "Metadata": {
211
+ "guard": {
212
+ "SuppressedRules": [
213
+ "DYNAMODB_TABLE_ENCRYPTED_KMS"
214
+ ]
215
+ }
216
+ }
217
+ }
218
+ },
219
+ "Parameters": {
220
+ "BootstrapVersion": {
221
+ "Type": "AWS::SSM::Parameter::Value<String>",
222
+ "Default": "/cdk-bootstrap/hnb659fds/version",
223
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
224
+ }
225
+ },
226
+ "Rules": {
227
+ "CheckBootstrapVersion": {
228
+ "Assertions": [
229
+ {
230
+ "Assert": {
231
+ "Fn::Not": [
232
+ {
233
+ "Fn::Contains": [
234
+ [
235
+ "1",
236
+ "2",
237
+ "3",
238
+ "4",
239
+ "5"
240
+ ],
241
+ {
242
+ "Ref": "BootstrapVersion"
243
+ }
244
+ ]
245
+ }
246
+ ]
247
+ },
248
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
249
+ }
250
+ ]
251
+ }
252
+ }
253
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "version": "41.0.0",
3
+ "files": {
4
+ "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22": {
5
+ "displayName": "lamddbpointintimerecoveryIntegDefaultTestDeployAssertB0CCD339 Template",
6
+ "source": {
7
+ "path": "lamddbpointintimerecoveryIntegDefaultTestDeployAssertB0CCD339.template.json",
8
+ "packaging": "file"
9
+ },
10
+ "destinations": {
11
+ "current_account-current_region": {
12
+ "bucketName": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}",
13
+ "objectKey": "21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json",
14
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-file-publishing-role-${AWS::AccountId}-${AWS::Region}"
15
+ }
16
+ }
17
+ }
18
+ },
19
+ "dockerImages": {}
20
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "Parameters": {
3
+ "BootstrapVersion": {
4
+ "Type": "AWS::SSM::Parameter::Value<String>",
5
+ "Default": "/cdk-bootstrap/hnb659fds/version",
6
+ "Description": "Version of the CDK Bootstrap resources in this environment, automatically retrieved from SSM Parameter Store. [cdk:skip]"
7
+ }
8
+ },
9
+ "Rules": {
10
+ "CheckBootstrapVersion": {
11
+ "Assertions": [
12
+ {
13
+ "Assert": {
14
+ "Fn::Not": [
15
+ {
16
+ "Fn::Contains": [
17
+ [
18
+ "1",
19
+ "2",
20
+ "3",
21
+ "4",
22
+ "5"
23
+ ],
24
+ {
25
+ "Ref": "BootstrapVersion"
26
+ }
27
+ ]
28
+ }
29
+ ]
30
+ },
31
+ "AssertDescription": "CDK bootstrap stack version 6 required. Please run 'cdk bootstrap' with a recent version of the CDK CLI."
32
+ }
33
+ ]
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,314 @@
1
+ {
2
+ "version": "43.0.0",
3
+ "artifacts": {
4
+ "lamddbpointintimerecoveryIntegDefaultTestDeployAssertB0CCD339.assets": {
5
+ "type": "cdk:asset-manifest",
6
+ "properties": {
7
+ "file": "lamddbpointintimerecoveryIntegDefaultTestDeployAssertB0CCD339.assets.json",
8
+ "requiresBootstrapStackVersion": 6,
9
+ "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version"
10
+ }
11
+ },
12
+ "lamddbpointintimerecoveryIntegDefaultTestDeployAssertB0CCD339": {
13
+ "type": "aws:cloudformation:stack",
14
+ "environment": "aws://unknown-account/unknown-region",
15
+ "properties": {
16
+ "templateFile": "lamddbpointintimerecoveryIntegDefaultTestDeployAssertB0CCD339.template.json",
17
+ "terminationProtection": false,
18
+ "validateOnSynth": false,
19
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
20
+ "cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
21
+ "stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/21fbb51d7b23f6a6c262b46a9caee79d744a3ac019fd45422d988b96d44b2a22.json",
22
+ "requiresBootstrapStackVersion": 6,
23
+ "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
24
+ "additionalDependencies": [
25
+ "lamddbpointintimerecoveryIntegDefaultTestDeployAssertB0CCD339.assets"
26
+ ],
27
+ "lookupRole": {
28
+ "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}",
29
+ "requiresBootstrapStackVersion": 8,
30
+ "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version"
31
+ }
32
+ },
33
+ "dependencies": [
34
+ "lamddbpointintimerecoveryIntegDefaultTestDeployAssertB0CCD339.assets"
35
+ ],
36
+ "metadata": {
37
+ "/lamddb-point-in-time-recovery/Integ/DefaultTest/DeployAssert/BootstrapVersion": [
38
+ {
39
+ "type": "aws:cdk:logicalId",
40
+ "data": "BootstrapVersion"
41
+ }
42
+ ],
43
+ "/lamddb-point-in-time-recovery/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion": [
44
+ {
45
+ "type": "aws:cdk:logicalId",
46
+ "data": "CheckBootstrapVersion"
47
+ }
48
+ ]
49
+ },
50
+ "displayName": "lamddb-point-in-time-recovery/Integ/DefaultTest/DeployAssert"
51
+ },
52
+ "lamddb-point-in-time-recovery.assets": {
53
+ "type": "cdk:asset-manifest",
54
+ "properties": {
55
+ "file": "lamddb-point-in-time-recovery.assets.json",
56
+ "requiresBootstrapStackVersion": 6,
57
+ "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version"
58
+ }
59
+ },
60
+ "lamddb-point-in-time-recovery": {
61
+ "type": "aws:cloudformation:stack",
62
+ "environment": "aws://unknown-account/unknown-region",
63
+ "properties": {
64
+ "templateFile": "lamddb-point-in-time-recovery.template.json",
65
+ "terminationProtection": false,
66
+ "validateOnSynth": false,
67
+ "assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
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}/cdf64f9fe16dedc5e85b9ae6760d3a90e114c7b81efcfde82a7fdba7a6322281.json",
70
+ "requiresBootstrapStackVersion": 6,
71
+ "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
72
+ "additionalDependencies": [
73
+ "lamddb-point-in-time-recovery.assets"
74
+ ],
75
+ "lookupRole": {
76
+ "arn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-lookup-role-${AWS::AccountId}-${AWS::Region}",
77
+ "requiresBootstrapStackVersion": 8,
78
+ "bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version"
79
+ }
80
+ },
81
+ "dependencies": [
82
+ "lamddb-point-in-time-recovery.assets"
83
+ ],
84
+ "metadata": {
85
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunctionServiceRole": [
86
+ {
87
+ "type": "aws:cdk:analytics:construct",
88
+ "data": {
89
+ "assumedBy": {
90
+ "principalAccount": "*",
91
+ "assumeRoleAction": "*"
92
+ },
93
+ "inlinePolicies": "*"
94
+ }
95
+ },
96
+ {
97
+ "type": "aws:cdk:analytics:method",
98
+ "data": {
99
+ "attachInlinePolicy": [
100
+ "*"
101
+ ]
102
+ }
103
+ },
104
+ {
105
+ "type": "aws:cdk:analytics:method",
106
+ "data": {
107
+ "attachInlinePolicy": [
108
+ "*"
109
+ ]
110
+ }
111
+ },
112
+ {
113
+ "type": "aws:cdk:analytics:method",
114
+ "data": {
115
+ "addToPrincipalPolicy": [
116
+ {}
117
+ ]
118
+ }
119
+ },
120
+ {
121
+ "type": "aws:cdk:analytics:method",
122
+ "data": {
123
+ "attachInlinePolicy": [
124
+ "*"
125
+ ]
126
+ }
127
+ },
128
+ {
129
+ "type": "aws:cdk:analytics:method",
130
+ "data": {
131
+ "attachInlinePolicy": [
132
+ "*"
133
+ ]
134
+ }
135
+ }
136
+ ],
137
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/ImportLambdaFunctionServiceRole": [
138
+ {
139
+ "type": "aws:cdk:analytics:construct",
140
+ "data": "*"
141
+ }
142
+ ],
143
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/Resource": [
144
+ {
145
+ "type": "aws:cdk:logicalId",
146
+ "data": "testlambdadynamodbstackLambdaFunctionServiceRole758347A1"
147
+ }
148
+ ],
149
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/DefaultPolicy": [
150
+ {
151
+ "type": "aws:cdk:analytics:construct",
152
+ "data": "*"
153
+ },
154
+ {
155
+ "type": "aws:cdk:analytics:method",
156
+ "data": {
157
+ "attachToRole": [
158
+ "*"
159
+ ]
160
+ }
161
+ },
162
+ {
163
+ "type": "aws:cdk:analytics:method",
164
+ "data": {
165
+ "attachToRole": [
166
+ "*"
167
+ ]
168
+ }
169
+ },
170
+ {
171
+ "type": "aws:cdk:analytics:method",
172
+ "data": {
173
+ "addStatements": [
174
+ {}
175
+ ]
176
+ }
177
+ }
178
+ ],
179
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/DefaultPolicy/Resource": [
180
+ {
181
+ "type": "aws:cdk:logicalId",
182
+ "data": "testlambdadynamodbstackLambdaFunctionServiceRoleDefaultPolicy547FB7F4"
183
+ }
184
+ ],
185
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunction": [
186
+ {
187
+ "type": "aws:cdk:analytics:construct",
188
+ "data": {
189
+ "role": "*",
190
+ "tracing": "Active",
191
+ "code": "*",
192
+ "runtime": "*",
193
+ "handler": "*"
194
+ }
195
+ },
196
+ {
197
+ "type": "aws:cdk:analytics:method",
198
+ "data": {
199
+ "addEnvironment": [
200
+ "*",
201
+ "*",
202
+ {
203
+ "removeInEdge": true
204
+ }
205
+ ]
206
+ }
207
+ },
208
+ {
209
+ "type": "aws:cdk:analytics:method",
210
+ "data": {
211
+ "addEnvironment": [
212
+ "*",
213
+ "*"
214
+ ]
215
+ }
216
+ }
217
+ ],
218
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunction/Resource": [
219
+ {
220
+ "type": "aws:cdk:logicalId",
221
+ "data": "testlambdadynamodbstackLambdaFunction5DDB3E8D"
222
+ }
223
+ ],
224
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunction/inlinePolicyAddedToExecutionRole-0": [
225
+ {
226
+ "type": "aws:cdk:analytics:construct",
227
+ "data": {
228
+ "statements": "*"
229
+ }
230
+ },
231
+ {
232
+ "type": "aws:cdk:analytics:method",
233
+ "data": {
234
+ "addStatements": [
235
+ {}
236
+ ]
237
+ }
238
+ },
239
+ {
240
+ "type": "aws:cdk:analytics:method",
241
+ "data": {
242
+ "attachToRole": [
243
+ "*"
244
+ ]
245
+ }
246
+ },
247
+ {
248
+ "type": "aws:cdk:analytics:method",
249
+ "data": {
250
+ "attachToRole": [
251
+ "*"
252
+ ]
253
+ }
254
+ }
255
+ ],
256
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunction/inlinePolicyAddedToExecutionRole-0/Resource": [
257
+ {
258
+ "type": "aws:cdk:logicalId",
259
+ "data": "testlambdadynamodbstackLambdaFunctioninlinePolicyAddedToExecutionRole019E2DE85"
260
+ }
261
+ ],
262
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/DynamoTable": [
263
+ {
264
+ "type": "aws:cdk:analytics:construct",
265
+ "data": {
266
+ "billingMode": "PAY_PER_REQUEST",
267
+ "encryption": "AWS_MANAGED",
268
+ "pointInTimeRecovery": "*",
269
+ "partitionKey": {
270
+ "name": "*",
271
+ "type": "S"
272
+ },
273
+ "pointInTimeRecoverySpecification": {
274
+ "pointInTimeRecoveryEnabled": true
275
+ }
276
+ }
277
+ }
278
+ ],
279
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/DynamoTable/Resource": [
280
+ {
281
+ "type": "aws:cdk:logicalId",
282
+ "data": "testlambdadynamodbstackDynamoTable8138E93B"
283
+ }
284
+ ],
285
+ "/lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/DynamoTable/ScalingRole": [
286
+ {
287
+ "type": "aws:cdk:analytics:construct",
288
+ "data": "*"
289
+ }
290
+ ],
291
+ "/lamddb-point-in-time-recovery/BootstrapVersion": [
292
+ {
293
+ "type": "aws:cdk:logicalId",
294
+ "data": "BootstrapVersion"
295
+ }
296
+ ],
297
+ "/lamddb-point-in-time-recovery/CheckBootstrapVersion": [
298
+ {
299
+ "type": "aws:cdk:logicalId",
300
+ "data": "CheckBootstrapVersion"
301
+ }
302
+ ]
303
+ },
304
+ "displayName": "lamddb-point-in-time-recovery"
305
+ },
306
+ "Tree": {
307
+ "type": "cdk:tree",
308
+ "properties": {
309
+ "file": "tree.json"
310
+ }
311
+ }
312
+ },
313
+ "minimumCliVersion": "2.1007.0"
314
+ }
@@ -0,0 +1 @@
1
+ {"version":"tree-0.1","tree":{"id":"App","path":"","children":{"lamddb-point-in-time-recovery":{"id":"lamddb-point-in-time-recovery","path":"lamddb-point-in-time-recovery","children":{"test-lambda-dynamodb-stack":{"id":"test-lambda-dynamodb-stack","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack","children":{"LambdaFunctionServiceRole":{"id":"LambdaFunctionServiceRole","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunctionServiceRole","children":{"ImportLambdaFunctionServiceRole":{"id":"ImportLambdaFunctionServiceRole","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/ImportLambdaFunctionServiceRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.187.0","metadata":["*"]}},"Resource":{"id":"Resource","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/Resource","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"}}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnRole","version":"2.187.0"}},"DefaultPolicy":{"id":"DefaultPolicy","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/DefaultPolicy","children":{"Resource":{"id":"Resource","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunctionServiceRole/DefaultPolicy/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::IAM::Policy","aws:cdk:cloudformation:props":{"policyDocument":{"Statement":[{"Action":["dynamodb:BatchGetItem","dynamodb:BatchWriteItem","dynamodb:ConditionCheckItem","dynamodb:DeleteItem","dynamodb:DescribeTable","dynamodb:GetItem","dynamodb:GetRecords","dynamodb:GetShardIterator","dynamodb:PutItem","dynamodb:Query","dynamodb:Scan","dynamodb:UpdateItem"],"Effect":"Allow","Resource":[{"Fn::GetAtt":["testlambdadynamodbstackDynamoTable8138E93B","Arn"]},{"Ref":"AWS::NoValue"}]}],"Version":"2012-10-17"},"policyName":"testlambdadynamodbstackLambdaFunctionServiceRoleDefaultPolicy547FB7F4","roles":[{"Ref":"testlambdadynamodbstackLambdaFunctionServiceRole758347A1"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.187.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.187.0","metadata":["*",{"attachToRole":["*"]},{"attachToRole":["*"]},{"addStatements":[{}]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Role","version":"2.187.0","metadata":[{"assumedBy":{"principalAccount":"*","assumeRoleAction":"*"},"inlinePolicies":"*"},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]},{"addToPrincipalPolicy":[{}]},{"attachInlinePolicy":["*"]},{"attachInlinePolicy":["*"]}]}},"LambdaFunction":{"id":"LambdaFunction","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunction","children":{"Code":{"id":"Code","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunction/Code","children":{"Stage":{"id":"Stage","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunction/Code/Stage","constructInfo":{"fqn":"aws-cdk-lib.AssetStaging","version":"2.187.0"}},"AssetBucket":{"id":"AssetBucket","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunction/Code/AssetBucket","constructInfo":{"fqn":"aws-cdk-lib.aws_s3.BucketBase","version":"2.187.0","metadata":[]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_s3_assets.Asset","version":"2.187.0"}},"Resource":{"id":"Resource","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunction/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::Lambda::Function","aws:cdk:cloudformation:props":{"code":{"s3Bucket":{"Fn::Sub":"cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"},"s3Key":"a0c6248ec595d3ceec1177aa5ac5b494fdf4c66f1b88aa48086befd44f193d8c.zip"},"environment":{"variables":{"AWS_NODEJS_CONNECTION_REUSE_ENABLED":"1","DDB_TABLE_NAME":{"Ref":"testlambdadynamodbstackDynamoTable8138E93B"}}},"handler":"index.handler","role":{"Fn::GetAtt":["testlambdadynamodbstackLambdaFunctionServiceRole758347A1","Arn"]},"runtime":"nodejs20.x","tracingConfig":{"mode":"Active"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.CfnFunction","version":"2.187.0"}},"inlinePolicyAddedToExecutionRole-0":{"id":"inlinePolicyAddedToExecutionRole-0","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunction/inlinePolicyAddedToExecutionRole-0","children":{"Resource":{"id":"Resource","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/LambdaFunction/inlinePolicyAddedToExecutionRole-0/Resource","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":"testlambdadynamodbstackLambdaFunctioninlinePolicyAddedToExecutionRole019E2DE85","roles":[{"Ref":"testlambdadynamodbstackLambdaFunctionServiceRole758347A1"}]}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.CfnPolicy","version":"2.187.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_iam.Policy","version":"2.187.0","metadata":[{"statements":"*"},{"addStatements":[{}]},{"attachToRole":["*"]},{"attachToRole":["*"]}]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_lambda.Function","version":"2.187.0","metadata":[{"role":"*","tracing":"Active","code":"*","runtime":"*","handler":"*"},{"addEnvironment":["*","*",{"removeInEdge":true}]},{"addEnvironment":["*","*"]}]}},"DynamoTable":{"id":"DynamoTable","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/DynamoTable","children":{"Resource":{"id":"Resource","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/DynamoTable/Resource","attributes":{"aws:cdk:cloudformation:type":"AWS::DynamoDB::Table","aws:cdk:cloudformation:props":{"attributeDefinitions":[{"attributeName":"api_key","attributeType":"S"}],"billingMode":"PAY_PER_REQUEST","keySchema":[{"attributeName":"api_key","keyType":"HASH"}],"pointInTimeRecoverySpecification":{"pointInTimeRecoveryEnabled":true},"sseSpecification":{"sseEnabled":true}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_dynamodb.CfnTable","version":"2.187.0"}},"ScalingRole":{"id":"ScalingRole","path":"lamddb-point-in-time-recovery/test-lambda-dynamodb-stack/DynamoTable/ScalingRole","constructInfo":{"fqn":"aws-cdk-lib.Resource","version":"2.187.0","metadata":["*"]}}},"constructInfo":{"fqn":"aws-cdk-lib.aws_dynamodb.Table","version":"2.187.0","metadata":[{"billingMode":"PAY_PER_REQUEST","encryption":"AWS_MANAGED","pointInTimeRecovery":"*","partitionKey":{"name":"*","type":"S"},"pointInTimeRecoverySpecification":{"pointInTimeRecoveryEnabled":true}}]}}},"constructInfo":{"fqn":"@aws-solutions-constructs/aws-lambda-dynamodb.LambdaToDynamoDB","version":"2.82.0"}},"Integ":{"id":"Integ","path":"lamddb-point-in-time-recovery/Integ","children":{"DefaultTest":{"id":"DefaultTest","path":"lamddb-point-in-time-recovery/Integ/DefaultTest","children":{"Default":{"id":"Default","path":"lamddb-point-in-time-recovery/Integ/DefaultTest/Default","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}},"DeployAssert":{"id":"DeployAssert","path":"lamddb-point-in-time-recovery/Integ/DefaultTest/DeployAssert","children":{"BootstrapVersion":{"id":"BootstrapVersion","path":"lamddb-point-in-time-recovery/Integ/DefaultTest/DeployAssert/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.187.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamddb-point-in-time-recovery/Integ/DefaultTest/DeployAssert/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.187.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.187.0"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTestCase","version":"2.187.0-alpha.0"}}},"constructInfo":{"fqn":"@aws-cdk/integ-tests-alpha.IntegTest","version":"2.187.0-alpha.0"}},"BootstrapVersion":{"id":"BootstrapVersion","path":"lamddb-point-in-time-recovery/BootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnParameter","version":"2.187.0"}},"CheckBootstrapVersion":{"id":"CheckBootstrapVersion","path":"lamddb-point-in-time-recovery/CheckBootstrapVersion","constructInfo":{"fqn":"aws-cdk-lib.CfnRule","version":"2.187.0"}}},"constructInfo":{"fqn":"aws-cdk-lib.Stack","version":"2.187.0"}},"Tree":{"id":"Tree","path":"Tree","constructInfo":{"fqn":"constructs.Construct","version":"10.4.2"}}},"constructInfo":{"fqn":"aws-cdk-lib.App","version":"2.187.0"}}}