@liflig/cdk 1.49.0 → 1.51.1
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/lib/cdk-deploy/start-deploy-handler.js +1 -1
- package/lib/kinesis/index.d.ts +1 -0
- package/lib/kinesis/index.js +6 -0
- package/lib/kinesis/kinesis-to-datadog-stream.d.ts +27 -0
- package/lib/kinesis/kinesis-to-datadog-stream.js +124 -0
- package/lib/webapp/security-headers.js +31 -28
- package/package.json +41 -42
|
@@ -69,4 +69,4 @@ const startDeployHandler = async (event, context) => {
|
|
|
69
69
|
};
|
|
70
70
|
};
|
|
71
71
|
exports.startDeployHandler = startDeployHandler;
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtZGVwbG95LWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2RrLWRlcGxveS9zdGFydC1kZXBsb3ktaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFhQSxtREFBbUQ7QUFDbkQsNkJBQTZCO0FBQ3RCLE1BQU0sa0JBQWtCLEdBRTNCLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUU7O0lBQzNCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUU5QixNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQW9CLENBQUE7SUFDdkQsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFhLENBQUE7SUFFbEMsU0FBUyxVQUFVLENBQUMsSUFBWTtRQUM5QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQy9CLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQTtTQUNuQztRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQTtJQUM5QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDNUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtJQUV4RCx5REFBeUQ7SUFDekQsdURBQXVEO0lBQ3ZELE1BQU0sY0FBYyxHQUFHLDBCQUEwQixDQUFBO0lBRWpELE1BQU0sV0FBVyxHQUFHLEdBQUcsT0FBTyxDQUFDLFlBQVksR0FBRyxDQUFBO0lBRTlDLHNCQUFzQjtJQUN0QixJQUNFLE9BQU8sS0FBSyxDQUFDLFVBQVUsS0FBSyxRQUFRO1FBQ3BDLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxRQUFRO1FBQ25DLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ2hDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQ3JCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxRQUFRLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FDMUQsRUFDRDtRQUNBLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7S0FDNUU7SUFFRCxLQUFLLFVBQVUsR0FBRyxDQUFDLElBQVksRUFBRSxJQUFpQjtRQUNoRCxNQUFNLEVBQUU7YUFDTCxTQUFTLENBQUM7WUFDVCxNQUFNLEVBQUUsVUFBVTtZQUNsQixHQUFHLEVBQUUsR0FBRyxXQUFXLEdBQUcsSUFBSSxFQUFFO1lBQzVCLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQzthQUNELE9BQU8sRUFBRSxDQUFBO0lBQ2QsQ0FBQztJQUVELE1BQU0sR0FBRyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7SUFDeEQsMERBQTBEO0lBQzFELE1BQU0sR0FBRyxDQUNQLFVBQVUsRUFDVixJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ2IsT0FBTyxFQUFFLFVBQVU7S0FDcEIsQ0FBQyxDQUNILENBQUE7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLFNBQVM7U0FDMUIsVUFBVSxDQUFDO1FBQ1YsV0FBVztRQUNYLGtCQUFrQixFQUFFLElBQUk7UUFDeEIsc0JBQXNCLEVBQUUsR0FBRyxVQUFVLElBQUksV0FBVyxFQUFFO1FBQ3RELHdCQUF3QixFQUFFO1lBQ3hCO2dCQUNFLElBQUksRUFBRSxJQUFJO2dCQUNWLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDbEQsZ0JBQWdCLEVBQUUsZUFBZTthQUNsQztTQUNGO0tBQ0YsQ0FBQztTQUNELE9BQU8sRUFBRSxDQUFBO0lBRVosTUFBTSxPQUFPLEdBQUcsTUFBQSxLQUFLLENBQUMsS0FBSywwQ0FBRSxFQUFFLENBQUE7SUFDL0IsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtLQUNwQztJQUVELE9BQU87UUFDTCxpRUFBaUU7UUFDakUsb0VBQW9FO1FBQ3BFLG9DQUFvQztRQUNwQyxLQUFLLEVBQUUsT0FBTztLQUNmLENBQUE7QUFDSCxDQUFDLENBQUE7QUFuRlksUUFBQSxrQkFBa0Isc0JBbUY5QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtYXNzaWdubWVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1jYWxsICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLW1lbWJlci1hY2Nlc3MgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXMgKi9cbmltcG9ydCB7IEhhbmRsZXIgfSBmcm9tIFwiYXdzLWxhbWJkYVwiXG5pbXBvcnQgdHlwZSAqIGFzIF9BV1MgZnJvbSBcImF3cy1zZGtcIlxuXG5pbnRlcmZhY2UgU3RhcnREZXBsb3lFeHBlY3RlZElucHV0IHtcbiAgYnVja2V0TmFtZTogc3RyaW5nXG4gIGJ1Y2tldEtleTogc3RyaW5nXG4gIHN0YWNrTmFtZXM6IHN0cmluZ1tdXG59XG5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgaW5saW5lLWNvbXBpbGVkIGZvciB0aGUgbGFtYmRhLlxuLy8gSXQgbXVzdCBiZSBzZWxmLWNvbnRhaW5lZC5cbmV4cG9ydCBjb25zdCBzdGFydERlcGxveUhhbmRsZXI6IEhhbmRsZXI8XG4gIFBhcnRpYWw8U3RhcnREZXBsb3lFeHBlY3RlZElucHV0PlxuPiA9IGFzeW5jIChldmVudCwgY29udGV4dCkgPT4ge1xuICBjb25zdCBBV1MgPSByZXF1aXJlKFwiYXdzLXNka1wiKVxuXG4gIGNvbnN0IGNvZGVidWlsZCA9IG5ldyBBV1MuQ29kZUJ1aWxkKCkgYXMgX0FXUy5Db2RlQnVpbGRcbiAgY29uc3QgczMgPSBuZXcgQVdTLlMzKCkgYXMgX0FXUy5TM1xuXG4gIGZ1bmN0aW9uIHJlcXVpcmVFbnYobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB2YWx1ZSA9IHByb2Nlc3MuZW52W25hbWVdXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlzc2luZyAke25hbWV9YClcbiAgICB9XG4gICAgcmV0dXJuIHZhbHVlXG4gIH1cblxuICBjb25zdCBwcm9qZWN0TmFtZSA9IHJlcXVpcmVFbnYoXCJQUk9KRUNUX05BTUVcIilcbiAgY29uc3QgYnVja2V0TmFtZSA9IHJlcXVpcmVFbnYoXCJCVUNLRVRfTkFNRVwiKVxuICBjb25zdCBjZGtDb250ZXh0ID0gSlNPTi5wYXJzZShyZXF1aXJlRW52KFwiQ0RLX0NPTlRFWFRcIikpXG5cbiAgLy8gU2luY2Ugd2UgcGFzcyB0aGUgc3RhY2sgbmFtZXMgYXMgc3RyaW5ncyB0byB0aGUgc2hlbGwsXG4gIC8vIGJlIGEgYml0IHJlc3RyaWN0aXZlIG9mIHRoZSB2YWxpZCB2YWx1ZXMgd2UgY2FuIHVzZS5cbiAgY29uc3QgdmFsaWRTdGFja05hbWUgPSAvXlthLXowLTlfXVthLXowLTlcXC1fXSokL2lcblxuICBjb25zdCBzM0tleVByZWZpeCA9IGAke2NvbnRleHQuYXdzUmVxdWVzdElkfS9gXG5cbiAgLy8gVmFsaWRhdGUgdGhlIGlucHV0LlxuICBpZiAoXG4gICAgdHlwZW9mIGV2ZW50LmJ1Y2tldE5hbWUgIT09IFwic3RyaW5nXCIgfHxcbiAgICB0eXBlb2YgZXZlbnQuYnVja2V0S2V5ICE9PSBcInN0cmluZ1wiIHx8XG4gICAgIUFycmF5LmlzQXJyYXkoZXZlbnQuc3RhY2tOYW1lcykgfHxcbiAgICAhZXZlbnQuc3RhY2tOYW1lcy5ldmVyeShcbiAgICAgIChpdCkgPT4gdHlwZW9mIGl0ID09PSBcInN0cmluZ1wiICYmIHZhbGlkU3RhY2tOYW1lLnRlc3QoaXQpLFxuICAgIClcbiAgKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiSW5wdXQgaW52YWxpZDogXCIgKyBKU09OLnN0cmluZ2lmeShldmVudCwgdW5kZWZpbmVkLCBcIiAgXCIpKVxuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gcHV0KG5hbWU6IHN0cmluZywgZGF0YTogQVdTLlMzLkJvZHkpIHtcbiAgICBhd2FpdCBzM1xuICAgICAgLnB1dE9iamVjdCh7XG4gICAgICAgIEJ1Y2tldDogYnVja2V0TmFtZSxcbiAgICAgICAgS2V5OiBgJHtzM0tleVByZWZpeH0ke25hbWV9YCxcbiAgICAgICAgQm9keTogZGF0YSxcbiAgICAgIH0pXG4gICAgICAucHJvbWlzZSgpXG4gIH1cblxuICBhd2FpdCBwdXQoXCJzdGFjay1uYW1lcy50eHRcIiwgZXZlbnQuc3RhY2tOYW1lcy5qb2luKFwiIFwiKSlcbiAgLy8gRW5zdXJlIHRoYXQgd2UgcnVuIHRoZSBzY3JpcHQgdXNpbmcgc2FtZSBmZWF0dXJlIGZsYWdzLlxuICBhd2FpdCBwdXQoXG4gICAgXCJjZGsuanNvblwiLFxuICAgIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgIGNvbnRleHQ6IGNka0NvbnRleHQsXG4gICAgfSksXG4gIClcblxuICBjb25zdCBidWlsZCA9IGF3YWl0IGNvZGVidWlsZFxuICAgIC5zdGFydEJ1aWxkKHtcbiAgICAgIHByb2plY3ROYW1lLFxuICAgICAgc291cmNlVHlwZU92ZXJyaWRlOiBcIlMzXCIsXG4gICAgICBzb3VyY2VMb2NhdGlvbk92ZXJyaWRlOiBgJHtidWNrZXROYW1lfS8ke3MzS2V5UHJlZml4fWAsXG4gICAgICBzZWNvbmRhcnlTb3VyY2VzT3ZlcnJpZGU6IFtcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiUzNcIixcbiAgICAgICAgICBsb2NhdGlvbjogYCR7ZXZlbnQuYnVja2V0TmFtZX0vJHtldmVudC5idWNrZXRLZXl9YCxcbiAgICAgICAgICBzb3VyY2VJZGVudGlmaWVyOiBcIkNMT1VEQVNTRU1CTFlcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSlcbiAgICAucHJvbWlzZSgpXG5cbiAgY29uc3QgYnVpbGRJZCA9IGJ1aWxkLmJ1aWxkPy5pZFxuICBpZiAoYnVpbGRJZCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBidWlsZCBJRFwiKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAvLyBUaGlzIGlzIHRoZSB2YWx1ZSB0aGUgY2FsbGVyIHdpbGwgdXNlIHRvIGZldGNoIHVwZGF0ZWQgc3RhdHVzLlxuICAgIC8vIEF2b2lkIGV4cG9zaW5nIHdoYXQga2luZCBvZiBJRCB0aGlzIGlzLCBiZWNhdXNlIHdlIHNob3VsZCBiZSBmcmVlXG4gICAgLy8gdG8gY2hhbmdlIGltcGxlbWVudGF0aW9uIGRldGFpbHMuXG4gICAgam9iSWQ6IGJ1aWxkSWQsXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { KinesisToDatadogStream, KinesisToDatadogStreamProps, } from "./kinesis-to-datadog-stream";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KinesisToDatadogStream = void 0;
|
|
4
|
+
var kinesis_to_datadog_stream_1 = require("./kinesis-to-datadog-stream");
|
|
5
|
+
Object.defineProperty(exports, "KinesisToDatadogStream", { enumerable: true, get: function () { return kinesis_to_datadog_stream_1.KinesisToDatadogStream; } });
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2luZXNpcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5RUFHb0M7QUFGbEMsbUlBQUEsc0JBQXNCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBLaW5lc2lzVG9EYXRhZG9nU3RyZWFtLFxuICBLaW5lc2lzVG9EYXRhZG9nU3RyZWFtUHJvcHMsXG59IGZyb20gXCIuL2tpbmVzaXMtdG8tZGF0YWRvZy1zdHJlYW1cIlxuIl19
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as logs from "@aws-cdk/aws-logs";
|
|
2
|
+
import * as cdk from "@aws-cdk/core";
|
|
3
|
+
export interface KinesisToDatadogStreamProps {
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* The name of the SecretsManager secret where your Datadog API key is saved.
|
|
7
|
+
*
|
|
8
|
+
* The secret must be a JSON object on the format { "value": "SECRET" }
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
datadogApiKeySecretName: string;
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* The CloudWatch log groups from you are streaming to Datadog
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
logGroups: logs.LogGroup[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* Forwards logs from log-groups in CloudWatch to a Datadog account.
|
|
22
|
+
* The logs are delivered through a Firehose delivery stream, which is being subscribed to the log-groups in CloudWatch.
|
|
23
|
+
*
|
|
24
|
+
*/
|
|
25
|
+
export declare class KinesisToDatadogStream extends cdk.Construct {
|
|
26
|
+
constructor(scope: cdk.Construct, id: string, props: KinesisToDatadogStreamProps);
|
|
27
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KinesisToDatadogStream = void 0;
|
|
4
|
+
const iam = require("@aws-cdk/aws-iam");
|
|
5
|
+
const firehose = require("@aws-cdk/aws-kinesisfirehose");
|
|
6
|
+
const logs = require("@aws-cdk/aws-logs");
|
|
7
|
+
const s3 = require("@aws-cdk/aws-s3");
|
|
8
|
+
const aws_s3_1 = require("@aws-cdk/aws-s3");
|
|
9
|
+
const secretsmanager = require("@aws-cdk/aws-secretsmanager");
|
|
10
|
+
const cdk = require("@aws-cdk/core");
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* Forwards logs from log-groups in CloudWatch to a Datadog account.
|
|
14
|
+
* The logs are delivered through a Firehose delivery stream, which is being subscribed to the log-groups in CloudWatch.
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
class KinesisToDatadogStream extends cdk.Construct {
|
|
18
|
+
constructor(scope, id, props) {
|
|
19
|
+
super(scope, id);
|
|
20
|
+
const deliveryStreamLogGroup = new logs.LogGroup(this, "DeliveryStreamLogGroup");
|
|
21
|
+
const deliveryStreamLogStream = new logs.LogStream(this, "DeliveryStreamLogStream", {
|
|
22
|
+
logGroup: deliveryStreamLogGroup,
|
|
23
|
+
});
|
|
24
|
+
const failedDataBucket = new s3.Bucket(this, "FailedDataBucket", {
|
|
25
|
+
blockPublicAccess: aws_s3_1.BlockPublicAccess.BLOCK_ALL,
|
|
26
|
+
});
|
|
27
|
+
const cloudWatchLogsRole = new iam.Role(this, "CloudWatchLogsRole", {
|
|
28
|
+
assumedBy: new iam.ServicePrincipal(`logs.${cdk.Stack.of(this).region}.amazonaws.com`),
|
|
29
|
+
});
|
|
30
|
+
const firehoseLogsRole = new iam.Role(this, "FirehoseLogsRole", {
|
|
31
|
+
assumedBy: new iam.ServicePrincipal("firehose.amazonaws.com"),
|
|
32
|
+
});
|
|
33
|
+
const datadogDeliveryStream = new firehose.CfnDeliveryStream(this, "DeliveryStream", {
|
|
34
|
+
deliveryStreamType: "DirectPut",
|
|
35
|
+
httpEndpointDestinationConfiguration: {
|
|
36
|
+
roleArn: firehoseLogsRole.roleArn,
|
|
37
|
+
endpointConfiguration: {
|
|
38
|
+
url: "https://aws-kinesis-http-intake.logs.datadoghq.eu/v1/input",
|
|
39
|
+
accessKey: secretsmanager.Secret.fromSecretNameV2(scope, "DatadogApiKey", props.datadogApiKeySecretName)
|
|
40
|
+
.secretValueFromJson("value")
|
|
41
|
+
.toString(),
|
|
42
|
+
name: "datadog-logs-endpoint",
|
|
43
|
+
},
|
|
44
|
+
requestConfiguration: {
|
|
45
|
+
contentEncoding: "GZIP",
|
|
46
|
+
},
|
|
47
|
+
cloudWatchLoggingOptions: {
|
|
48
|
+
enabled: true,
|
|
49
|
+
logGroupName: deliveryStreamLogGroup.logGroupName,
|
|
50
|
+
logStreamName: deliveryStreamLogStream.logStreamName,
|
|
51
|
+
},
|
|
52
|
+
bufferingHints: {
|
|
53
|
+
intervalInSeconds: 60,
|
|
54
|
+
sizeInMBs: 4,
|
|
55
|
+
},
|
|
56
|
+
retryOptions: {
|
|
57
|
+
durationInSeconds: 60,
|
|
58
|
+
},
|
|
59
|
+
s3BackupMode: "FailedDataOnly",
|
|
60
|
+
s3Configuration: {
|
|
61
|
+
bucketArn: failedDataBucket.bucketArn,
|
|
62
|
+
compressionFormat: "UNCOMPRESSED",
|
|
63
|
+
roleArn: firehoseLogsRole.roleArn,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
new iam.Policy(this, "CloudWatchLogsPolicy", {
|
|
68
|
+
document: new iam.PolicyDocument({
|
|
69
|
+
statements: [
|
|
70
|
+
new iam.PolicyStatement({
|
|
71
|
+
actions: ["firehose:PutRecord", "firehose:PutRecordBatch"],
|
|
72
|
+
resources: [datadogDeliveryStream.attrArn],
|
|
73
|
+
}),
|
|
74
|
+
],
|
|
75
|
+
}),
|
|
76
|
+
roles: [cloudWatchLogsRole],
|
|
77
|
+
});
|
|
78
|
+
new iam.Policy(this, "FirehoseLogsPolicy", {
|
|
79
|
+
document: new iam.PolicyDocument({
|
|
80
|
+
statements: [
|
|
81
|
+
new iam.PolicyStatement({
|
|
82
|
+
actions: [
|
|
83
|
+
"s3:AbortMultipartUpload",
|
|
84
|
+
"s3:GetBucketLocation",
|
|
85
|
+
"s3:GetObject",
|
|
86
|
+
"s3:ListBucket",
|
|
87
|
+
"s3:ListBucketMultipartUploads",
|
|
88
|
+
"s3:PutObject",
|
|
89
|
+
],
|
|
90
|
+
resources: [
|
|
91
|
+
failedDataBucket.bucketArn,
|
|
92
|
+
`${failedDataBucket.bucketArn}/*`,
|
|
93
|
+
],
|
|
94
|
+
}),
|
|
95
|
+
new iam.PolicyStatement({
|
|
96
|
+
actions: ["logs:PutLogEvents"],
|
|
97
|
+
resources: [
|
|
98
|
+
`arn:aws:logs:${cdk.Stack.of(this).region}:${cdk.Stack.of(this).account}:log-group:${deliveryStreamLogGroup.logGroupName}:log-stream:${deliveryStreamLogStream.logStreamName}`,
|
|
99
|
+
],
|
|
100
|
+
}),
|
|
101
|
+
new iam.PolicyStatement({
|
|
102
|
+
actions: [
|
|
103
|
+
"kinesis:DescribeStream",
|
|
104
|
+
"kinesis:GetShardIterator",
|
|
105
|
+
"kinesis:GetRecords",
|
|
106
|
+
],
|
|
107
|
+
resources: [datadogDeliveryStream.attrArn],
|
|
108
|
+
}),
|
|
109
|
+
],
|
|
110
|
+
}),
|
|
111
|
+
roles: [firehoseLogsRole],
|
|
112
|
+
});
|
|
113
|
+
props.logGroups.forEach((logGroup, index) => {
|
|
114
|
+
new logs.CfnSubscriptionFilter(this, `SubscriptionFilter${index}`, {
|
|
115
|
+
logGroupName: logGroup.logGroupName,
|
|
116
|
+
destinationArn: datadogDeliveryStream.attrArn,
|
|
117
|
+
filterPattern: logs.FilterPattern.allEvents().logPatternString,
|
|
118
|
+
roleArn: cloudWatchLogsRole.roleArn,
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.KinesisToDatadogStream = KinesisToDatadogStream;
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2luZXNpcy10by1kYXRhZG9nLXN0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9raW5lc2lzL2tpbmVzaXMtdG8tZGF0YWRvZy1zdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0NBQXVDO0FBQ3ZDLHlEQUF3RDtBQUN4RCwwQ0FBeUM7QUFDekMsc0NBQXFDO0FBQ3JDLDRDQUFtRDtBQUNuRCw4REFBNkQ7QUFDN0QscUNBQW9DO0FBbUJwQzs7Ozs7R0FLRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsR0FBRyxDQUFDLFNBQVM7SUFDdkQsWUFDRSxLQUFvQixFQUNwQixFQUFVLEVBQ1YsS0FBa0M7UUFFbEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLHNCQUFzQixHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FDOUMsSUFBSSxFQUNKLHdCQUF3QixDQUN6QixDQUFBO1FBRUQsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQ2hELElBQUksRUFDSix5QkFBeUIsRUFDekI7WUFDRSxRQUFRLEVBQUUsc0JBQXNCO1NBQ2pDLENBQ0YsQ0FBQTtRQUVELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRTtZQUMvRCxpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyxTQUFTO1NBQy9DLENBQUMsQ0FBQTtRQUVGLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUNsRSxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQ2pDLFFBQVEsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxnQkFBZ0IsQ0FDbEQ7U0FDRixDQUFDLENBQUE7UUFFRixNQUFNLGdCQUFnQixHQUFH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QkFDSDtxQkFDRixDQUFDO29CQUNGLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQzt3QkFDdEIsT0FBTyxFQUFFOzRCQUNQLHdCQUF3Qjs0QkFDeEIsMEJBQTBCOzRCQUMxQixvQkFBb0I7eUJBQ3JCO3dCQUNELFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQztxQkFDM0MsQ0FBQztpQkFDSDthQUNGLENBQUM7WUFDRixLQUFLLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztTQUMxQixDQUFDLENBQUE7UUFFRixLQUFLLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMxQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEtBQUssRUFBRSxFQUFFO2dCQUNqRSxZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7Z0JBQ25DLGNBQWMsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPO2dCQUM3QyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxnQkFBZ0I7Z0JBQzlELE9BQU8sRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO2FBQ3BDLENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGO0FBM0lELHdEQTJJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGlhbSBmcm9tIFwiQGF3cy1jZGsvYXdzLWlhbVwiXG5pbXBvcnQgKiBhcyBmaXJlaG9zZSBmcm9tIFwiQGF3cy1jZGsvYXdzLWtpbmVzaXNmaXJlaG9zZVwiXG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gXCJAYXdzLWNkay9hd3MtbG9nc1wiXG5pbXBvcnQgKiBhcyBzMyBmcm9tIFwiQGF3cy1jZGsvYXdzLXMzXCJcbmltcG9ydCB7IEJsb2NrUHVibGljQWNjZXNzIH0gZnJvbSBcIkBhd3MtY2RrL2F3cy1zM1wiXG5pbXBvcnQgKiBhcyBzZWNyZXRzbWFuYWdlciBmcm9tIFwiQGF3cy1jZGsvYXdzLXNlY3JldHNtYW5hZ2VyXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiQGF3cy1jZGsvY29yZVwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgS2luZXNpc1RvRGF0YWRvZ1N0cmVhbVByb3BzIHtcbiAgLyoqXG4gICAqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBTZWNyZXRzTWFuYWdlciBzZWNyZXQgd2hlcmUgeW91ciBEYXRhZG9nIEFQSSBrZXkgaXMgc2F2ZWQuXG4gICAqXG4gICAqIFRoZSBzZWNyZXQgbXVzdCBiZSBhIEpTT04gb2JqZWN0IG9uIHRoZSBmb3JtYXQgeyBcInZhbHVlXCI6IFwiU0VDUkVUXCIgfVxuICAgKlxuICAgKi9cbiAgZGF0YWRvZ0FwaUtleVNlY3JldE5hbWU6IHN0cmluZ1xuICAvKipcbiAgICpcbiAgICogVGhlIENsb3VkV2F0Y2ggbG9nIGdyb3VwcyBmcm9tIHlvdSBhcmUgc3RyZWFtaW5nIHRvIERhdGFkb2dcbiAgICpcbiAgICovXG4gIGxvZ0dyb3VwczogbG9ncy5Mb2dHcm91cFtdXG59XG5cbi8qKlxuICpcbiAqIEZvcndhcmRzIGxvZ3MgZnJvbSBsb2ctZ3JvdXBzIGluIENsb3VkV2F0Y2ggdG8gYSBEYXRhZG9nIGFjY291bnQuXG4gKiBUaGUgbG9ncyBhcmUgZGVsaXZlcmVkIHRocm91Z2ggYSBGaXJlaG9zZSBkZWxpdmVyeSBzdHJlYW0sIHdoaWNoIGlzIGJlaW5nIHN1YnNjcmliZWQgdG8gdGhlIGxvZy1ncm91cHMgaW4gQ2xvdWRXYXRjaC5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBLaW5lc2lzVG9EYXRhZG9nU3RyZWFtIGV4dGVuZHMgY2RrLkNvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBjZGsuQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEtpbmVzaXNUb0RhdGFkb2dTdHJlYW1Qcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgZGVsaXZlcnlTdHJlYW1Mb2dHcm91cCA9IG5ldyBsb2dzLkxvZ0dyb3VwKFxuICAgICAgdGhpcyxcbiAgICAgIFwiRGVsaXZlcnlTdHJlYW1Mb2dHcm91cFwiLFxuICAgIClcblxuICAgIGNvbnN0IGRlbGl2ZXJ5U3RyZWFtTG9nU3RyZWFtID0gbmV3IGxvZ3MuTG9nU3RyZWFtKFxuICAgICAgdGhpcyxcbiAgICAgIFwiRGVsaXZlcnlTdHJlYW1Mb2dTdHJlYW1cIixcbiAgICAgIHtcbiAgICAgICAgbG9nR3JvdXA6IGRlbGl2ZXJ5U3RyZWFtTG9nR3JvdXAsXG4gICAgICB9LFxuICAgIClcblxuICAgIGNvbnN0IGZhaWxlZERhdGFCdWNrZXQgPSBuZXcgczMuQnVja2V0KHRoaXMsIFwiRmFpbGVkRGF0YUJ1Y2tldFwiLCB7XG4gICAgICBibG9ja1B1YmxpY0FjY2VzczogQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgIH0pXG5cbiAgICBjb25zdCBjbG91ZFdhdGNoTG9nc1JvbGUgPSBuZXcgaWFtLlJvbGUodGhpcywgXCJDbG91ZFdhdGNoTG9nc1JvbGVcIiwge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoXG4gICAgICAgIGBsb2dzLiR7Y2RrLlN0YWNrLm9mKHRoaXMpLnJlZ2lvbn0uYW1hem9uYXdzLmNvbWAsXG4gICAgICApLFxuICAgIH0pXG5cbiAgICBjb25zdCBmaXJlaG9zZUxvZ3NSb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiRmlyZWhvc2VMb2dzUm9sZVwiLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImZpcmVob3NlLmFtYXpvbmF3cy5jb21cIiksXG4gICAgfSlcblxuICAgIGNvbnN0IGRhdGFkb2dEZWxpdmVyeVN0cmVhbSA9IG5ldyBmaXJlaG9zZS5DZm5EZWxpdmVyeVN0cmVhbShcbiAgICAgIHRoaXMsXG4gICAgICBcIkRlbGl2ZXJ5U3RyZWFtXCIsXG4gICAgICB7XG4gICAgICAgIGRlbGl2ZXJ5U3RyZWFtVHlwZTogXCJEaXJlY3RQdXRcIixcbiAgICAgICAgaHR0cEVuZHBvaW50RGVzdGluYXRpb25Db25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgcm9sZUFybjogZmlyZWhvc2VMb2dzUm9sZS5yb2xlQXJuLFxuICAgICAgICAgIGVuZHBvaW50Q29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgdXJsOiBcImh0dHBzOi8vYXdzLWtpbmVzaXMtaHR0cC1pbnRha2UubG9ncy5kYXRhZG9naHEuZXUvdjEvaW5wdXRcIixcbiAgICAgICAgICAgIGFjY2Vzc0tleTogc2VjcmV0c21hbmFnZXIuU2VjcmV0LmZyb21TZWNyZXROYW1lVjIoXG4gICAgICAgICAgICAgIHNjb3BlLFxuICAgICAgICAgICAgICBcIkRhdGFkb2dBcGlLZXlcIixcbiAgICAgICAgICAgICAgcHJvcHMuZGF0YWRvZ0FwaUtleVNlY3JldE5hbWUsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgIC5zZWNyZXRWYWx1ZUZyb21Kc29uKFwidmFsdWVcIilcbiAgICAgICAgICAgICAgLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBuYW1lOiBcImRhdGFkb2ctbG9ncy1lbmRwb2ludFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcmVxdWVzdENvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgIGNvbnRlbnRFbmNvZGluZzogXCJHWklQXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjbG91ZFdhdGNoTG9nZ2luZ09wdGlvbnM6IHtcbiAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICBsb2dHcm91cE5hbWU6IGRlbGl2ZXJ5U3RyZWFtTG9nR3JvdXAubG9nR3JvdXBOYW1lLFxuICAgICAgICAgICAgbG9nU3RyZWFtTmFtZTogZGVsaXZlcnlTdHJlYW1Mb2dTdHJlYW0ubG9nU3RyZWFtTmFtZSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJ1ZmZlcmluZ0hpbnRzOiB7XG4gICAgICAgICAgICBpbnRlcnZhbEluU2Vjb25kczogNjAsXG4gICAgICAgICAgICBzaXplSW5NQnM6IDQsXG4gICAgICAgICAgfSxcbiAgICAgICAgICByZXRyeU9wdGlvbnM6IHtcbiAgICAgICAgICAgIGR1cmF0aW9uSW5TZWNvbmRzOiA2MCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHMzQmFja3VwTW9kZTogXCJGYWlsZWREYXRhT25seVwiLFxuICAgICAgICAgIHMzQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgYnVja2V0QXJuOiBmYWlsZWREYXRhQnVja2V0LmJ1Y2tldEFybixcbiAgICAgICAgICAgIGNvbXByZXNzaW9uRm9ybWF0OiBcIlVOQ09NUFJFU1NFRFwiLFxuICAgICAgICAgICAgcm9sZUFybjogZmlyZWhvc2VMb2dzUm9sZS5yb2xlQXJuLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIClcblxuICAgIG5ldyBpYW0uUG9saWN5KHRoaXMsIFwiQ2xvdWRXYXRjaExvZ3NQb2xpY3lcIiwge1xuICAgICAgZG9jdW1lbnQ6IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1wiZmlyZWhvc2U6UHV0UmVjb3JkXCIsIFwiZmlyZWhvc2U6UHV0UmVjb3JkQmF0Y2hcIl0sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFtkYXRhZG9nRGVsaXZlcnlTdHJlYW0uYXR0ckFybl0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICAgIHJvbGVzOiBbY2xvdWRXYXRjaExvZ3NSb2xlXSxcbiAgICB9KVxuXG4gICAgbmV3IGlhbS5Qb2xpY3kodGhpcywgXCJGaXJlaG9zZUxvZ3NQb2xpY3lcIiwge1xuICAgICAgZG9jdW1lbnQ6IG5ldyBpYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICBcInMzOkFib3J0TXVsdGlwYXJ0VXBsb2FkXCIsXG4gICAgICAgICAgICAgIFwiczM6R2V0QnVja2V0TG9jYXRpb25cIixcbiAgICAgICAgICAgICAgXCJzMzpHZXRPYmplY3RcIixcbiAgICAgICAgICAgICAgXCJzMzpMaXN0QnVja2V0XCIsXG4gICAgICAgICAgICAgIFwiczM6TGlzdEJ1Y2tldE11bHRpcGFydFVwbG9hZHNcIixcbiAgICAgICAgICAgICAgXCJzMzpQdXRPYmplY3RcIixcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICAgZmFpbGVkRGF0YUJ1Y2tldC5idWNrZXRBcm4sXG4gICAgICAgICAgICAgIGAke2ZhaWxlZERhdGFCdWNrZXQuYnVja2V0QXJufS8qYCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgfSksXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1wibG9nczpQdXRMb2dFdmVudHNcIl0sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICAgICAgYGFybjphd3M6bG9nczoke2Nkay5TdGFjay5vZih0aGlzKS5yZWdpb259OiR7XG4gICAgICAgICAgICAgICAgY2RrLlN0YWNrLm9mKHRoaXMpLmFjY291bnRcbiAgICAgICAgICAgICAgfTpsb2ctZ3JvdXA6JHtkZWxpdmVyeVN0cmVhbUxvZ0dyb3VwLmxvZ0dyb3VwTmFtZX06bG9nLXN0cmVhbToke1xuICAgICAgICAgICAgICAgIGRlbGl2ZXJ5U3RyZWFtTG9nU3RyZWFtLmxvZ1N0cmVhbU5hbWVcbiAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgXCJraW5lc2lzOkRlc2NyaWJlU3RyZWFtXCIsXG4gICAgICAgICAgICAgIFwia2luZXNpczpHZXRTaGFyZEl0ZXJhdG9yXCIsXG4gICAgICAgICAgICAgIFwia2luZXNpczpHZXRSZWNvcmRzXCIsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgcmVzb3VyY2VzOiBbZGF0YWRvZ0RlbGl2ZXJ5U3RyZWFtLmF0dHJBcm5dLFxuICAgICAgICAgIH0pLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgICByb2xlczogW2ZpcmVob3NlTG9nc1JvbGVdLFxuICAgIH0pXG5cbiAgICBwcm9wcy5sb2dHcm91cHMuZm9yRWFjaCgobG9nR3JvdXAsIGluZGV4KSA9PiB7XG4gICAgICBuZXcgbG9ncy5DZm5TdWJzY3JpcHRpb25GaWx0ZXIodGhpcywgYFN1YnNjcmlwdGlvbkZpbHRlciR7aW5kZXh9YCwge1xuICAgICAgICBsb2dHcm91cE5hbWU6IGxvZ0dyb3VwLmxvZ0dyb3VwTmFtZSxcbiAgICAgICAgZGVzdGluYXRpb25Bcm46IGRhdGFkb2dEZWxpdmVyeVN0cmVhbS5hdHRyQXJuLFxuICAgICAgICBmaWx0ZXJQYXR0ZXJuOiBsb2dzLkZpbHRlclBhdHRlcm4uYWxsRXZlbnRzKCkubG9nUGF0dGVyblN0cmluZyxcbiAgICAgICAgcm9sZUFybjogY2xvdWRXYXRjaExvZ3NSb2xlLnJvbGVBcm4sXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
|
@@ -21,20 +21,20 @@ function trim(value) {
|
|
|
21
21
|
}
|
|
22
22
|
function generateContentSecurityPolicyHeader(headerOptions) {
|
|
23
23
|
const defaultValues = {
|
|
24
|
-
baseUri: "self",
|
|
25
|
-
childSrc: "none",
|
|
26
|
-
connectSrc: "self",
|
|
27
|
-
defaultSrc: "self",
|
|
28
|
-
fontSrc: "self",
|
|
29
|
-
formAction: "self",
|
|
30
|
-
frameAncestors: "none",
|
|
31
|
-
frameSrc: "self",
|
|
32
|
-
imgSrc: "self",
|
|
33
|
-
manifestSrc: "self",
|
|
34
|
-
mediaSrc: "self",
|
|
35
|
-
objectSrc: "none",
|
|
36
|
-
scriptSrc: "self",
|
|
37
|
-
styleSrc: "self",
|
|
24
|
+
baseUri: "'self'",
|
|
25
|
+
childSrc: "'none'",
|
|
26
|
+
connectSrc: "'self'",
|
|
27
|
+
defaultSrc: "'self'",
|
|
28
|
+
fontSrc: "'self'",
|
|
29
|
+
formAction: "'self'",
|
|
30
|
+
frameAncestors: "'none'",
|
|
31
|
+
frameSrc: "'self'",
|
|
32
|
+
imgSrc: "'self'",
|
|
33
|
+
manifestSrc: "'self'",
|
|
34
|
+
mediaSrc: "'self'",
|
|
35
|
+
objectSrc: "'none'",
|
|
36
|
+
scriptSrc: "'self'",
|
|
37
|
+
styleSrc: "'self'",
|
|
38
38
|
};
|
|
39
39
|
const options = {
|
|
40
40
|
...defaultValues,
|
|
@@ -42,18 +42,18 @@ function generateContentSecurityPolicyHeader(headerOptions) {
|
|
|
42
42
|
};
|
|
43
43
|
Object.values(options).forEach((v) => typeof v === "string" && validateCspParam(v));
|
|
44
44
|
let headerValue = "";
|
|
45
|
-
headerValue += `base-uri
|
|
46
|
-
headerValue += `child-src
|
|
47
|
-
headerValue += `connect-src
|
|
48
|
-
headerValue += `default-src
|
|
49
|
-
headerValue += `font-src
|
|
50
|
-
headerValue += `frame-src
|
|
51
|
-
headerValue += `img-src
|
|
52
|
-
headerValue += `manifest-src
|
|
53
|
-
headerValue += `media-src
|
|
54
|
-
headerValue += `object-src
|
|
55
|
-
headerValue += `script-src
|
|
56
|
-
headerValue += `style-src
|
|
45
|
+
headerValue += `base-uri ${trim(options.baseUri)};`;
|
|
46
|
+
headerValue += `child-src ${trim(options.childSrc)};`;
|
|
47
|
+
headerValue += `connect-src ${trim(options.connectSrc)};`;
|
|
48
|
+
headerValue += `default-src ${trim(options.defaultSrc)};`;
|
|
49
|
+
headerValue += `font-src ${trim(options.fontSrc)};`;
|
|
50
|
+
headerValue += `frame-src ${trim(options.frameSrc)};`;
|
|
51
|
+
headerValue += `img-src ${trim(options.imgSrc)};`;
|
|
52
|
+
headerValue += `manifest-src ${trim(options.manifestSrc)};`;
|
|
53
|
+
headerValue += `media-src ${trim(options.mediaSrc)};`;
|
|
54
|
+
headerValue += `object-src ${trim(options.objectSrc)};`;
|
|
55
|
+
headerValue += `script-src ${trim(options.scriptSrc)};`;
|
|
56
|
+
headerValue += `style-src ${trim(options.styleSrc)};`;
|
|
57
57
|
return trim(headerValue);
|
|
58
58
|
}
|
|
59
59
|
function generateStrictTransportSecurityHeader(headerOptions) {
|
|
@@ -114,10 +114,13 @@ class WebappSecurityHeaders extends cdk.Construct {
|
|
|
114
114
|
headers['${cspHeaderName}'] = {value: "${contentSecurityPolicy}"};
|
|
115
115
|
return response;
|
|
116
116
|
}`;
|
|
117
|
-
|
|
117
|
+
// Hardcoded logical ID due to bug: https://github.com/aws/aws-cdk/issues/15523
|
|
118
|
+
const functionId = `Function${this.node.addr}`;
|
|
119
|
+
this.securityHeadersFunction = new cloudfront.Function(this, functionId, {
|
|
120
|
+
functionName: functionId,
|
|
118
121
|
code: cloudfront.FunctionCode.fromInline(lambdaCode),
|
|
119
122
|
});
|
|
120
123
|
}
|
|
121
124
|
}
|
|
122
125
|
exports.WebappSecurityHeaders = WebappSecurityHeaders;
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktaGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93ZWJhcHAvc2VjdXJpdHktaGVhZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBcUQ7QUFDckQscUNBQW9DO0FBeUNwQyxTQUFTLGdCQUFnQixDQUFDLEtBQWE7SUFDckMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzdCLE1BQU0sS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUE7S0FDekQ7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDN0IsTUFBTSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtLQUN6RDtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM5QixNQUFNLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO0tBQzFEO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsNERBQTREO0FBQzVELFNBQVMsSUFBSSxDQUFDLEtBQWE7SUFDekIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUMxQyxDQUFDO0FBRUQsU0FBUyxtQ0FBbUMsQ0FDMUMsYUFBMkM7SUFFM0MsTUFBTSxhQUFhLEdBQUc7UUFDcEIsT0FBTyxFQUFFLE1BQU07UUFDZixRQUFRLEVBQUUsTUFBTTtRQUNoQixVQUFVLEVBQUUsTUFBTTtRQUNsQixVQUFVLEVBQUUsTUFBTTtRQUNsQixPQUFPLEVBQUUsTUFBTTtRQUNmLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLGNBQWMsRUFBRSxNQUFNO1FBQ3RCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLE1BQU0sRUFBRSxNQUFNO1FBQ2QsV0FBVyxF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QUM7Q0FDRjtBQW5DRCxzREFtQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gXCJAYXdzLWNkay9hd3MtY2xvdWRmcm9udFwiXG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcIkBhd3MtY2RrL2NvcmVcIlxuXG5leHBvcnQgaW50ZXJmYWNlIEZyYW1lT3B0aW9uc0hlYWRlciB7XG4gIHZhbHVlPzogXCJERU5ZXCIgfCBcIlNBTUVPUklHSU5cIlxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlZmVycmVyUG9saWN5SGVhZGVyIHtcbiAgdmFsdWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdHJpY3RUcmFuc3BvcnRTZWN1cml0eUhlYWRlciB7XG4gIG1heEFnZT86IG51bWJlclxuICBpbmNsdWRlU3ViRG9tYWlucz86IGJvb2xlYW5cbiAgcHJlbG9hZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXIge1xuICByZXBvcnRPbmx5PzogYm9vbGVhblxuICBiYXNlVXJpPzogc3RyaW5nXG4gIGNoaWxkU3JjPzogc3RyaW5nXG4gIGRlZmF1bHRTcmM/OiBzdHJpbmdcbiAgZm9udFNyYz86IHN0cmluZ1xuICBmcmFtZVNyYz86IHN0cmluZ1xuICBmb3JtQWN0aW9uPzogc3RyaW5nXG4gIGZyYW1lQW5jZXN0b3JzPzogc3RyaW5nXG4gIGltZ1NyYz86IHN0cmluZ1xuICBtYW5pZmVzdFNyYz86IHN0cmluZ1xuICBtZWRpYVNyYz86IHN0cmluZ1xuICBvYmplY3RTcmM/OiBzdHJpbmdcbiAgc2NyaXB0U3JjPzogc3RyaW5nXG4gIHN0eWxlU3JjPzogc3RyaW5nXG4gIGNvbm5lY3RTcmM/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUhlYWRlcnMge1xuICBjb250ZW50U2VjdXJpdHlQb2xpY3k/OiBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXJcbiAgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHk/OiBTdHJpY3RUcmFuc3BvcnRTZWN1cml0eUhlYWRlclxuICByZWZlcnJlclBvbGljeT86IFJlZmVycmVyUG9saWN5SGVhZGVyXG4gIGZyYW1lT3B0aW9ucz86IEZyYW1lT3B0aW9uc0hlYWRlclxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNzcFBhcmFtKHBhcmFtOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAocGFyYW0uaW5kZXhPZignXCInKSAhPT0gLTEpIHtcbiAgICB0aHJvdyBFcnJvcignQ1NQIG92ZXJyaWRlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyIFwiJylcbiAgfVxuXG4gIGlmIChwYXJhbS5pbmRleE9mKFwiO1wiKSAhPT0gLTEpIHtcbiAgICB0aHJvdyBFcnJvcihcIkNTUCBvdmVycmlkZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlciA7XCIpXG4gIH1cblxuICBpZiAocGFyYW0uaW5kZXhPZihcIlxcXFxcIikgIT09IC0xKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJDU1Agb3ZlcnJpZGUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIgXFxcXFwiKVxuICB9XG5cbiAgcmV0dXJuIHBhcmFtXG59XG5cbi8qIFJlcGxhY2UgYWxsIHdoaXRlc3BhY2UgaW4gYSBzdHJpbmcgd2l0aCBhIHNpbmdsZSBzcGFjZSAqL1xuZnVuY3Rpb24gdHJpbSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xccysvZywgXCIgXCIpLnRyaW0oKVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZUNvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlcihcbiAgaGVhZGVyT3B0aW9ucz86IENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlcixcbikge1xuICBjb25zdCBkZWZhdWx0VmFsdWVzID0ge1xuICAgIGJhc2VVcmk6IFwic2VsZlwiLFxuICAgIGNoaWxkU3JjOiBcIm5vbmVcIixcbiAgICBjb25uZWN0U3JjOiBcInNlbGZcIixcbiAgICBkZWZhdWx0U3JjOiBcInNlbGZcIixcbiAgICBmb250U3JjOiBcInNlbGZcIixcbiAgICBmb3JtQWN0aW9uOiBcInNlbGZcIixcbiAgICBmcmFtZUFuY2VzdG9yczogXCJub25lXCIsXG4gICAgZnJhbWVTcmM6IFwic2VsZlwiLFxuICAgIGltZ1NyYzogXCJzZWxmXCIsXG4gICAgbWFuaWZlc3RTcmM6IFwic2VsZlwiLFxuICAgIG1lZGlhU3JjOiBcInNlbGZcIixcbiAgICBvYmplY3RTcmM6IFwibm9uZVwiLFxuICAgIHNjcmlwdFNyYzogXCJzZWxmXCIsXG4gICAgc3R5bGVTcmM6IFwic2VsZlwiLFxuICB9XG5cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAuLi5kZWZhdWx0VmFsdWVzLFxuICAgIC4uLmhlYWRlck9wdGlvbnMsXG4gIH1cblxuICBPYmplY3QudmFsdWVzKG9wdGlvbnMpLmZvckVhY2goXG4gICAgKHYpID0+IHR5cGVvZiB2ID09PSBcInN0cmluZ1wiICYmIHZhbGlkYXRlQ3NwUGFyYW0odiksXG4gIClcblxuICBsZXQgaGVhZGVyVmFsdWUgPSBcIlwiXG4gIGhlYWRlclZhbHVlICs9IGBiYXNlLXVyaSAnJHt0cmltKHRyaW0ob3B0aW9ucy5iYXNlVXJpKSl9JztgXG4gIGhlYWRlclZhbHVlICs9IGBjaGlsZC1zcmMgJyR7dHJpbShvcHRpb25zLmNoaWxkU3JjKX0nO2BcbiAgaGVhZGVyVmFsdWUgKz0gYGNvbm5lY3Qtc3JjICcke3RyaW0ob3B0aW9ucy5jb25uZWN0U3JjKX0nO2BcbiAgaGVhZGVyVmFsdWUgKz0gYGRlZmF1bHQtc3JjICcke3RyaW0ob3B0aW9ucy5kZWZhdWx0U3JjKX0nO2BcbiAgaGVhZGVyVmFsdWUgKz0gYGZvbnQtc3JjICcke3RyaW0ob3B0aW9ucy5mb250U3JjKX0nO2BcbiAgaGVhZGVyVmFsdWUgKz0gYGZyYW1lLXNyYyAnJHt0cmltKG9wdGlvbnMuZnJhbWVTcmMpfSc7YFxuICBoZWFkZXJWYWx1ZSArPSBgaW1nLXNyYyAnJHt0cmltKG9wdGlvbnMuaW1nU3JjKX0nO2BcbiAgaGVhZGVyVmFsdWUgKz0gYG1hbmlmZXN0LXNyYyAnJHt0cmltKG9wdGlvbnMubWFuaWZlc3RTcmMpfSc7YFxuICBoZWFkZXJWYWx1ZSArPSBgbWVkaWEtc3JjICcke3RyaW0ob3B0aW9ucy5tZWRpYVNyYyl9JztgXG4gIGhlYWRlclZhbHVlICs9IGBvYmplY3Qtc3JjICcke3RyaW0ob3B0aW9ucy5vYmplY3RTcmMpfSc7YFxuICBoZWFkZXJWYWx1ZSArPSBgc2NyaXB0LXNyYyAnJHt0cmltKG9wdGlvbnMuc2NyaXB0U3JjKX0nO2BcbiAgaGVhZGVyVmFsdWUgKz0gYHN0eWxlLXNyYyAnJHt0cmltKG9wdGlvbnMuc3R5bGVTcmMpfSc7YFxuXG4gIHJldHVybiB0cmltKGhlYWRlclZhbHVlKVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5SGVhZGVyKFxuICBoZWFkZXJPcHRpb25zPzogU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlIZWFkZXIsXG4pIHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHtcbiAgICBtYXhBZ2U6IDYzMDcyMDAwLFxuICAgIGluY2x1ZGVTdWJEb21haW5zOiBmYWxzZSxcbiAgICBwcmVsb2FkOiBmYWxzZSxcbiAgfVxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIC4uLmRlZmF1bHRWYWx1ZXMsXG4gICAgLi4uaGVhZGVyT3B0aW9ucyxcbiAgfVxuICBsZXQgaGVhZGVyVmFsdWUgPSBcIlwiXG4gIGhlYWRlclZhbHVlICs9IGBtYXgtYWdlPSR7b3B0aW9ucy5tYXhBZ2V9O2BcbiAgaGVhZGVyVmFsdWUgKz0gb3B0aW9ucy5wcmVsb2FkID8gXCJwcmVsb2FkO1wiIDogXCJcIlxuICBoZWFkZXJWYWx1ZSArPSBvcHRpb25zLmluY2x1ZGVTdWJEb21haW5zID8gXCJpbmNsdWRlU3ViRG9tYWlucztcIiA6IFwiXCJcbiAgcmV0dXJuIHRyaW0oaGVhZGVyVmFsdWUpXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlUmVmZXJyZXJQb2xpY3lIZWFkZXIoaGVhZGVyT3B0aW9ucz86IFJlZmVycmVyUG9saWN5SGVhZGVyKSB7XG4gIGNvbnN0IGRlZmF1bHRWYWx1ZXMgPSB7XG4gICAgdmFsdWU6IFwic3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpblwiLFxuICB9XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgLi4uZGVmYXVsdFZhbHVlcyxcbiAgICAuLi5oZWFkZXJPcHRpb25zLFxuICB9XG4gIHJldHVybiBvcHRpb25zLnZhbHVlXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlRnJhbWVPcHRpb25zSGVhZGVyKGhlYWRlck9wdGlvbnM/OiBGcmFtZU9wdGlvbnNIZWFkZXIpIHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHtcbiAgICB2YWx1ZTogXCJERU5ZXCIsXG4gIH1cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAuLi5kZWZhdWx0VmFsdWVzLFxuICAgIC4uLmhlYWRlck9wdGlvbnMsXG4gIH1cbiAgcmV0dXJuIHRyaW0ob3B0aW9ucy52YWx1ZSlcbn1cblxuZXhwb3J0IGNsYXNzIFdlYmFwcFNlY3VyaXR5SGVhZGVycyBleHRlbmRzIGNkay5Db25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgc2VjdXJpdHlIZWFkZXJzRnVuY3Rpb246IGNsb3VkZnJvbnQuRnVuY3Rpb25cblxuICBjb25zdHJ1Y3RvcihzY29wZTogY2RrLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNlY3VyaXR5SGVhZGVycykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIGNvbnN0IGNzcEhlYWRlck5hbWUgPSBwcm9wcy5jb250ZW50U2VjdXJpdHlQb2xpY3k/LnJlcG9ydE9ubHlcbiAgICAgID8gXCJjb250ZW50LXNlY3VyaXR5LXBvbGljeS1yZXBvcnQtb25seVwiXG4gICAgICA6IFwiY29udGVudC1zZWN1cml0eS1wb2xpY3lcIlxuXG4gICAgY29uc3QgY29udGVudFNlY3VyaXR5UG9saWN5ID0gZ2VuZXJhdGVDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXIoXG4gICAgICBwcm9wcy5jb250ZW50U2VjdXJpdHlQb2xpY3ksXG4gICAgKVxuICAgIGNvbnN0IHN0cmljdFRyYW5zcG9ydFNlY3VyaXR5ID0gZ2VuZXJhdGVTdHJpY3RUcmFuc3BvcnRTZWN1cml0eUhlYWRlcihcbiAgICAgIHByb3BzLnN0cmljdFRyYW5zcG9ydFNlY3VyaXR5LFxuICAgIClcbiAgICBjb25zdCByZWZlcnJlclBvbGljeSA9IGdlbmVyYXRlUmVmZXJyZXJQb2xpY3lIZWFkZXIocHJvcHMucmVmZXJyZXJQb2xpY3kpXG4gICAgY29uc3QgZnJhbWVPcHRpb25zID0gZ2VuZXJhdGVGcmFtZU9wdGlvbnNIZWFkZXIocHJvcHMuZnJhbWVPcHRpb25zKVxuXG4gICAgY29uc3QgbGFtYmRhQ29kZSA9IGBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50KSB7XG4gICAgICB2YXIgcmVzcG9uc2UgPSBldmVudC5yZXNwb25zZTtcbiAgICAgIHZhciBoZWFkZXJzID0gcmVzcG9uc2UuaGVhZGVycztcbiAgICAgIGhlYWRlcnNbJ3JlZmVycmVyLXBvbGljeSddID0ge3ZhbHVlOiAnJHtyZWZlcnJlclBvbGljeX0nfTtcbiAgICAgIGhlYWRlcnNbJ3N0cmljdC10cmFuc3BvcnQtc2VjdXJpdHknXSA9IHt2YWx1ZTogJyR7c3RyaWN0VHJhbnNwb3J0U2VjdXJpdHl9J307XG4gICAgICBoZWFkZXJzWyd4LWNvbnRlbnQtdHlwZS1vcHRpb25zJ10gPSB7dmFsdWU6ICdub3NuaWZmJ307XG4gICAgICBoZWFkZXJzWyd4LWZyYW1lLW9wdGlvbnMnXSA9IHt2YWx1ZTogJyR7ZnJhbWVPcHRpb25zfSd9O1xuICAgICAgaGVhZGVyc1sneC14c3MtcHJvdGVjdGlvbiddID0ge3ZhbHVlOiAnMTsgbW9kZT1ibG9jayd9O1xuICAgICAgaGVhZGVyc1snJHtjc3BIZWFkZXJOYW1lfSddID0ge3ZhbHVlOiBcIiR7Y29udGVudFNlY3VyaXR5UG9saWN5fVwifTtcbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9YFxuXG4gICAgdGhpcy5zZWN1cml0eUhlYWRlcnNGdW5jdGlvbiA9IG5ldyBjbG91ZGZyb250LkZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25cIiwge1xuICAgICAgY29kZTogY2xvdWRmcm9udC5GdW5jdGlvbkNvZGUuZnJvbUlubGluZShsYW1iZGFDb2RlKSxcbiAgICB9KVxuICB9XG59XG4iXX0=
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktaGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93ZWJhcHAvc2VjdXJpdHktaGVhZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBcUQ7QUFDckQscUNBQW9DO0FBeUNwQyxTQUFTLGdCQUFnQixDQUFDLEtBQWE7SUFDckMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzdCLE1BQU0sS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUE7S0FDekQ7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDN0IsTUFBTSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtLQUN6RDtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM5QixNQUFNLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO0tBQzFEO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsNERBQTREO0FBQzVELFNBQVMsSUFBSSxDQUFDLEtBQWE7SUFDekIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUMxQyxDQUFDO0FBRUQsU0FBUyxtQ0FBbUMsQ0FDMUMsYUFBMkM7SUFFM0MsTUFBTSxhQUFhLEdBQUc7UUFDcEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsY0FBYyxFQUFFLFFBQVE7UUFDeEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsV0FB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WUFDeEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztTQUNyRCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUF2Q0Qsc0RBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tIFwiQGF3cy1jZGsvYXdzLWNsb3VkZnJvbnRcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJAYXdzLWNkay9jb3JlXCJcblxuZXhwb3J0IGludGVyZmFjZSBGcmFtZU9wdGlvbnNIZWFkZXIge1xuICB2YWx1ZT86IFwiREVOWVwiIHwgXCJTQU1FT1JJR0lOXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWZlcnJlclBvbGljeUhlYWRlciB7XG4gIHZhbHVlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlIZWFkZXIge1xuICBtYXhBZ2U/OiBudW1iZXJcbiAgaW5jbHVkZVN1YkRvbWFpbnM/OiBib29sZWFuXG4gIHByZWxvYWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyIHtcbiAgcmVwb3J0T25seT86IGJvb2xlYW5cbiAgYmFzZVVyaT86IHN0cmluZ1xuICBjaGlsZFNyYz86IHN0cmluZ1xuICBkZWZhdWx0U3JjPzogc3RyaW5nXG4gIGZvbnRTcmM/OiBzdHJpbmdcbiAgZnJhbWVTcmM/OiBzdHJpbmdcbiAgZm9ybUFjdGlvbj86IHN0cmluZ1xuICBmcmFtZUFuY2VzdG9ycz86IHN0cmluZ1xuICBpbWdTcmM/OiBzdHJpbmdcbiAgbWFuaWZlc3RTcmM/OiBzdHJpbmdcbiAgbWVkaWFTcmM/OiBzdHJpbmdcbiAgb2JqZWN0U3JjPzogc3RyaW5nXG4gIHNjcmlwdFNyYz86IHN0cmluZ1xuICBzdHlsZVNyYz86IHN0cmluZ1xuICBjb25uZWN0U3JjPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIZWFkZXJzIHtcbiAgY29udGVudFNlY3VyaXR5UG9saWN5PzogQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyXG4gIHN0cmljdFRyYW5zcG9ydFNlY3VyaXR5PzogU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlIZWFkZXJcbiAgcmVmZXJyZXJQb2xpY3k/OiBSZWZlcnJlclBvbGljeUhlYWRlclxuICBmcmFtZU9wdGlvbnM/OiBGcmFtZU9wdGlvbnNIZWFkZXJcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVDc3BQYXJhbShwYXJhbTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHBhcmFtLmluZGV4T2YoJ1wiJykgIT09IC0xKSB7XG4gICAgdGhyb3cgRXJyb3IoJ0NTUCBvdmVycmlkZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlciBcIicpXG4gIH1cblxuICBpZiAocGFyYW0uaW5kZXhPZihcIjtcIikgIT09IC0xKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJDU1Agb3ZlcnJpZGUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIgO1wiKVxuICB9XG5cbiAgaWYgKHBhcmFtLmluZGV4T2YoXCJcXFxcXCIpICE9PSAtMSkge1xuICAgIHRocm93IEVycm9yKFwiQ1NQIG92ZXJyaWRlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyIFxcXFxcIilcbiAgfVxuXG4gIHJldHVybiBwYXJhbVxufVxuXG4vKiBSZXBsYWNlIGFsbCB3aGl0ZXNwYWNlIGluIGEgc3RyaW5nIHdpdGggYSBzaW5nbGUgc3BhY2UgKi9cbmZ1bmN0aW9uIHRyaW0odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9cXHMrL2csIFwiIFwiKS50cmltKClcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXIoXG4gIGhlYWRlck9wdGlvbnM/OiBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXIsXG4pIHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHtcbiAgICBiYXNlVXJpOiBcIidzZWxmJ1wiLFxuICAgIGNoaWxkU3JjOiBcIidub25lJ1wiLFxuICAgIGNvbm5lY3RTcmM6IFwiJ3NlbGYnXCIsXG4gICAgZGVmYXVsdFNyYzogXCInc2VsZidcIixcbiAgICBmb250U3JjOiBcIidzZWxmJ1wiLFxuICAgIGZvcm1BY3Rpb246IFwiJ3NlbGYnXCIsXG4gICAgZnJhbWVBbmNlc3RvcnM6IFwiJ25vbmUnXCIsXG4gICAgZnJhbWVTcmM6IFwiJ3NlbGYnXCIsXG4gICAgaW1nU3JjOiBcIidzZWxmJ1wiLFxuICAgIG1hbmlmZXN0U3JjOiBcIidzZWxmJ1wiLFxuICAgIG1lZGlhU3JjOiBcIidzZWxmJ1wiLFxuICAgIG9iamVjdFNyYzogXCInbm9uZSdcIixcbiAgICBzY3JpcHRTcmM6IFwiJ3NlbGYnXCIsXG4gICAgc3R5bGVTcmM6IFwiJ3NlbGYnXCIsXG4gIH1cblxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIC4uLmRlZmF1bHRWYWx1ZXMsXG4gICAgLi4uaGVhZGVyT3B0aW9ucyxcbiAgfVxuXG4gIE9iamVjdC52YWx1ZXMob3B0aW9ucykuZm9yRWFjaChcbiAgICAodikgPT4gdHlwZW9mIHYgPT09IFwic3RyaW5nXCIgJiYgdmFsaWRhdGVDc3BQYXJhbSh2KSxcbiAgKVxuXG4gIGxldCBoZWFkZXJWYWx1ZSA9IFwiXCJcbiAgaGVhZGVyVmFsdWUgKz0gYGJhc2UtdXJpICR7dHJpbShvcHRpb25zLmJhc2VVcmkpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBjaGlsZC1zcmMgJHt0cmltKG9wdGlvbnMuY2hpbGRTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBjb25uZWN0LXNyYyAke3RyaW0ob3B0aW9ucy5jb25uZWN0U3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgZGVmYXVsdC1zcmMgJHt0cmltKG9wdGlvbnMuZGVmYXVsdFNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYGZvbnQtc3JjICR7dHJpbShvcHRpb25zLmZvbnRTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBmcmFtZS1zcmMgJHt0cmltKG9wdGlvbnMuZnJhbWVTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBpbWctc3JjICR7dHJpbShvcHRpb25zLmltZ1NyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYG1hbmlmZXN0LXNyYyAke3RyaW0ob3B0aW9ucy5tYW5pZmVzdFNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYG1lZGlhLXNyYyAke3RyaW0ob3B0aW9ucy5tZWRpYVNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYG9iamVjdC1zcmMgJHt0cmltKG9wdGlvbnMub2JqZWN0U3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgc2NyaXB0LXNyYyAke3RyaW0ob3B0aW9ucy5zY3JpcHRTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBzdHlsZS1zcmMgJHt0cmltKG9wdGlvbnMuc3R5bGVTcmMpfTtgXG5cbiAgcmV0dXJuIHRyaW0oaGVhZGVyVmFsdWUpXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlIZWFkZXIoXG4gIGhlYWRlck9wdGlvbnM/OiBTdHJpY3RUcmFuc3BvcnRTZWN1cml0eUhlYWRlcixcbikge1xuICBjb25zdCBkZWZhdWx0VmFsdWVzID0ge1xuICAgIG1heEFnZTogNjMwNzIwMDAsXG4gICAgaW5jbHVkZVN1YkRvbWFpbnM6IGZhbHNlLFxuICAgIHByZWxvYWQ6IGZhbHNlLFxuICB9XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgLi4uZGVmYXVsdFZhbHVlcyxcbiAgICAuLi5oZWFkZXJPcHRpb25zLFxuICB9XG4gIGxldCBoZWFkZXJWYWx1ZSA9IFwiXCJcbiAgaGVhZGVyVmFsdWUgKz0gYG1heC1hZ2U9JHtvcHRpb25zLm1heEFnZX07YFxuICBoZWFkZXJWYWx1ZSArPSBvcHRpb25zLnByZWxvYWQgPyBcInByZWxvYWQ7XCIgOiBcIlwiXG4gIGhlYWRlclZhbHVlICs9IG9wdGlvbnMuaW5jbHVkZVN1YkRvbWFpbnMgPyBcImluY2x1ZGVTdWJEb21haW5zO1wiIDogXCJcIlxuICByZXR1cm4gdHJpbShoZWFkZXJWYWx1ZSlcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVSZWZlcnJlclBvbGljeUhlYWRlcihoZWFkZXJPcHRpb25zPzogUmVmZXJyZXJQb2xpY3lIZWFkZXIpIHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHtcbiAgICB2YWx1ZTogXCJzdHJpY3Qtb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luXCIsXG4gIH1cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAuLi5kZWZhdWx0VmFsdWVzLFxuICAgIC4uLmhlYWRlck9wdGlvbnMsXG4gIH1cbiAgcmV0dXJuIG9wdGlvbnMudmFsdWVcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVGcmFtZU9wdGlvbnNIZWFkZXIoaGVhZGVyT3B0aW9ucz86IEZyYW1lT3B0aW9uc0hlYWRlcikge1xuICBjb25zdCBkZWZhdWx0VmFsdWVzID0ge1xuICAgIHZhbHVlOiBcIkRFTllcIixcbiAgfVxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIC4uLmRlZmF1bHRWYWx1ZXMsXG4gICAgLi4uaGVhZGVyT3B0aW9ucyxcbiAgfVxuICByZXR1cm4gdHJpbShvcHRpb25zLnZhbHVlKVxufVxuXG5leHBvcnQgY2xhc3MgV2ViYXBwU2VjdXJpdHlIZWFkZXJzIGV4dGVuZHMgY2RrLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBzZWN1cml0eUhlYWRlcnNGdW5jdGlvbjogY2xvdWRmcm9udC5GdW5jdGlvblxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2VjdXJpdHlIZWFkZXJzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgY3NwSGVhZGVyTmFtZSA9IHByb3BzLmNvbnRlbnRTZWN1cml0eVBvbGljeT8ucmVwb3J0T25seVxuICAgICAgPyBcImNvbnRlbnQtc2VjdXJpdHktcG9saWN5LXJlcG9ydC1vbmx5XCJcbiAgICAgIDogXCJjb250ZW50LXNlY3VyaXR5LXBvbGljeVwiXG5cbiAgICBjb25zdCBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSBnZW5lcmF0ZUNvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlcihcbiAgICAgIHByb3BzLmNvbnRlbnRTZWN1cml0eVBvbGljeSxcbiAgICApXG4gICAgY29uc3Qgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHkgPSBnZW5lcmF0ZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5SGVhZGVyKFxuICAgICAgcHJvcHMuc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHksXG4gICAgKVxuICAgIGNvbnN0IHJlZmVycmVyUG9saWN5ID0gZ2VuZXJhdGVSZWZlcnJlclBvbGljeUhlYWRlcihwcm9wcy5yZWZlcnJlclBvbGljeSlcbiAgICBjb25zdCBmcmFtZU9wdGlvbnMgPSBnZW5lcmF0ZUZyYW1lT3B0aW9uc0hlYWRlcihwcm9wcy5mcmFtZU9wdGlvbnMpXG5cbiAgICBjb25zdCBsYW1iZGFDb2RlID0gYGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQpIHtcbiAgICAgIHZhciByZXNwb25zZSA9IGV2ZW50LnJlc3BvbnNlO1xuICAgICAgdmFyIGhlYWRlcnMgPSByZXNwb25zZS5oZWFkZXJzO1xuICAgICAgaGVhZGVyc1sncmVmZXJyZXItcG9saWN5J10gPSB7dmFsdWU6ICcke3JlZmVycmVyUG9saWN5fSd9O1xuICAgICAgaGVhZGVyc1snc3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eSddID0ge3ZhbHVlOiAnJHtzdHJpY3RUcmFuc3BvcnRTZWN1cml0eX0nfTtcbiAgICAgIGhlYWRlcnNbJ3gtY29udGVudC10eXBlLW9wdGlvbnMnXSA9IHt2YWx1ZTogJ25vc25pZmYnfTtcbiAgICAgIGhlYWRlcnNbJ3gtZnJhbWUtb3B0aW9ucyddID0ge3ZhbHVlOiAnJHtmcmFtZU9wdGlvbnN9J307XG4gICAgICBoZWFkZXJzWyd4LXhzcy1wcm90ZWN0aW9uJ10gPSB7dmFsdWU6ICcxOyBtb2RlPWJsb2NrJ307XG4gICAgICBoZWFkZXJzWycke2NzcEhlYWRlck5hbWV9J10gPSB7dmFsdWU6IFwiJHtjb250ZW50U2VjdXJpdHlQb2xpY3l9XCJ9O1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1gXG5cbiAgICAvLyBIYXJkY29kZWQgbG9naWNhbCBJRCBkdWUgdG8gYnVnOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE1NTIzXG4gICAgY29uc3QgZnVuY3Rpb25JZCA9IGBGdW5jdGlvbiR7dGhpcy5ub2RlLmFkZHJ9YFxuXG4gICAgdGhpcy5zZWN1cml0eUhlYWRlcnNGdW5jdGlvbiA9IG5ldyBjbG91ZGZyb250LkZ1bmN0aW9uKHRoaXMsIGZ1bmN0aW9uSWQsIHtcbiAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25JZCxcbiAgICAgIGNvZGU6IGNsb3VkZnJvbnQuRnVuY3Rpb25Db2RlLmZyb21JbmxpbmUobGFtYmRhQ29kZSksXG4gICAgfSlcbiAgfVxufVxuIl19
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liflig/cdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.51.1",
|
|
4
4
|
"description": "Experimental CDK library for Liflig",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"scripts": {
|
|
10
10
|
"build": "tsc",
|
|
11
11
|
"watch": "tsc -w",
|
|
12
|
-
"test": "jest",
|
|
12
|
+
"test": "jest --runInBand",
|
|
13
13
|
"lint": "eslint .",
|
|
14
14
|
"lint:fix": "eslint --fix .",
|
|
15
15
|
"prepare": "npm run build && husky install",
|
|
@@ -34,51 +34,50 @@
|
|
|
34
34
|
"access": "public"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@aws-cdk/assert": "1.
|
|
38
|
-
"@aws-cdk/aws-certificatemanager": "1.
|
|
39
|
-
"@aws-cdk/aws-cloudfront": "1.
|
|
40
|
-
"@aws-cdk/aws-cloudfront-origins": "1.
|
|
41
|
-
"@aws-cdk/aws-cloudwatch": "1.
|
|
42
|
-
"@aws-cdk/aws-cloudwatch-actions": "1.
|
|
43
|
-
"@aws-cdk/aws-codebuild": "1.
|
|
44
|
-
"@aws-cdk/aws-codepipeline": "1.
|
|
45
|
-
"@aws-cdk/aws-codepipeline-actions": "1.
|
|
46
|
-
"@aws-cdk/aws-ecs": "1.
|
|
47
|
-
"@aws-cdk/aws-events-targets": "1.
|
|
48
|
-
"@aws-cdk/aws-iam": "1.
|
|
49
|
-
"@aws-cdk/aws-lambda": "1.
|
|
50
|
-
"@aws-cdk/aws-logs": "1.
|
|
51
|
-
"@aws-cdk/aws-rds": "1.
|
|
52
|
-
"@aws-cdk/aws-route53": "1.
|
|
53
|
-
"@aws-cdk/aws-route53-targets": "1.
|
|
54
|
-
"@aws-cdk/aws-s3": "1.
|
|
55
|
-
"@aws-cdk/aws-ses": "1.
|
|
56
|
-
"@aws-cdk/aws-sns": "1.
|
|
57
|
-
"@aws-cdk/aws-stepfunctions": "1.
|
|
58
|
-
"@aws-cdk/aws-stepfunctions-tasks": "1.
|
|
59
|
-
"@aws-cdk/core": "1.
|
|
60
|
-
"@aws-cdk/custom-resources": "1.
|
|
61
|
-
"@aws-cdk/pipelines": "1.
|
|
62
|
-
"@commitlint/cli": "
|
|
63
|
-
"@commitlint/config-conventional": "
|
|
64
|
-
"@types/aws-lambda": "8.10.
|
|
65
|
-
"@types/jest": "27.0.
|
|
66
|
-
"@types/node": "16.11.
|
|
67
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
68
|
-
"@typescript-eslint/parser": "5.
|
|
69
|
-
"aws-cdk": "1.
|
|
70
|
-
"eslint": "
|
|
37
|
+
"@aws-cdk/assert": "1.135.0",
|
|
38
|
+
"@aws-cdk/aws-certificatemanager": "1.135.0",
|
|
39
|
+
"@aws-cdk/aws-cloudfront": "1.135.0",
|
|
40
|
+
"@aws-cdk/aws-cloudfront-origins": "1.135.0",
|
|
41
|
+
"@aws-cdk/aws-cloudwatch": "1.135.0",
|
|
42
|
+
"@aws-cdk/aws-cloudwatch-actions": "1.135.0",
|
|
43
|
+
"@aws-cdk/aws-codebuild": "1.135.0",
|
|
44
|
+
"@aws-cdk/aws-codepipeline": "1.135.0",
|
|
45
|
+
"@aws-cdk/aws-codepipeline-actions": "1.135.0",
|
|
46
|
+
"@aws-cdk/aws-ecs": "1.135.0",
|
|
47
|
+
"@aws-cdk/aws-events-targets": "1.135.0",
|
|
48
|
+
"@aws-cdk/aws-iam": "1.135.0",
|
|
49
|
+
"@aws-cdk/aws-lambda": "1.135.0",
|
|
50
|
+
"@aws-cdk/aws-logs": "1.135.0",
|
|
51
|
+
"@aws-cdk/aws-rds": "1.135.0",
|
|
52
|
+
"@aws-cdk/aws-route53": "1.135.0",
|
|
53
|
+
"@aws-cdk/aws-route53-targets": "1.135.0",
|
|
54
|
+
"@aws-cdk/aws-s3": "1.135.0",
|
|
55
|
+
"@aws-cdk/aws-ses": "1.135.0",
|
|
56
|
+
"@aws-cdk/aws-sns": "1.135.0",
|
|
57
|
+
"@aws-cdk/aws-stepfunctions": "1.135.0",
|
|
58
|
+
"@aws-cdk/aws-stepfunctions-tasks": "1.135.0",
|
|
59
|
+
"@aws-cdk/core": "1.135.0",
|
|
60
|
+
"@aws-cdk/custom-resources": "1.135.0",
|
|
61
|
+
"@aws-cdk/pipelines": "1.135.0",
|
|
62
|
+
"@commitlint/cli": "15.0.0",
|
|
63
|
+
"@commitlint/config-conventional": "15.0.0",
|
|
64
|
+
"@types/aws-lambda": "8.10.88",
|
|
65
|
+
"@types/jest": "27.0.3",
|
|
66
|
+
"@types/node": "16.11.14",
|
|
67
|
+
"@typescript-eslint/eslint-plugin": "5.7.0",
|
|
68
|
+
"@typescript-eslint/parser": "5.7.0",
|
|
69
|
+
"aws-cdk": "1.135.0",
|
|
70
|
+
"eslint": "8.5.0",
|
|
71
71
|
"eslint-config-prettier": "8.3.0",
|
|
72
|
-
"eslint-plugin-deprecation": "1.2.1",
|
|
73
72
|
"eslint-plugin-prettier": "4.0.0",
|
|
74
73
|
"husky": "7.0.4",
|
|
75
|
-
"jest": "27.
|
|
74
|
+
"jest": "27.4.5",
|
|
76
75
|
"jest-cdk-snapshot": "1.4.2",
|
|
77
|
-
"prettier": "2.
|
|
78
|
-
"semantic-release": "18.0.
|
|
79
|
-
"ts-jest": "27.
|
|
76
|
+
"prettier": "2.5.1",
|
|
77
|
+
"semantic-release": "18.0.1",
|
|
78
|
+
"ts-jest": "27.1.2",
|
|
80
79
|
"ts-node": "10.4.0",
|
|
81
|
-
"typescript": "4.
|
|
80
|
+
"typescript": "4.5.4"
|
|
82
81
|
},
|
|
83
82
|
"dependencies": {
|
|
84
83
|
"@capraconsulting/webapp-deploy-lambda": "^1.2.1",
|