@liflig/cdk 1.54.0-alpha.1 → 2.0.0-alphav2.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/alarms/service-alarms.d.ts +6 -5
- package/lib/alarms/service-alarms.js +6 -5
- package/lib/alarms/slack-alarm.d.ts +5 -5
- package/lib/alarms/slack-alarm.js +9 -9
- package/lib/bastion-host.d.ts +4 -4
- package/lib/bastion-host.js +6 -5
- package/lib/build-artifacts/index.d.ts +3 -3
- package/lib/build-artifacts/index.js +7 -6
- package/lib/cdk-deploy/cdk-deploy.d.ts +4 -3
- package/lib/cdk-deploy/cdk-deploy.js +9 -8
- package/lib/cdk-pipelines/liflig-cdk-pipeline.d.ts +6 -6
- package/lib/cdk-pipelines/liflig-cdk-pipeline.js +9 -8
- package/lib/cdk-pipelines/slack-notification.d.ts +4 -4
- package/lib/cdk-pipelines/slack-notification.js +7 -6
- package/lib/cloudtrail-slack-integration/cloudtrail-slack-integration.d.ts +5 -4
- package/lib/cloudtrail-slack-integration/cloudtrail-slack-integration.js +12 -11
- package/lib/configure-parameters/configure-parameters.d.ts +6 -6
- package/lib/configure-parameters/configure-parameters.js +5 -5
- package/lib/cross-region-ssm-parameter.d.ts +3 -3
- package/lib/cross-region-ssm-parameter.js +4 -4
- package/lib/ecs/cluster.d.ts +7 -7
- package/lib/ecs/cluster.js +9 -8
- package/lib/ecs/fargate-service.d.ts +8 -7
- package/lib/ecs/fargate-service.js +10 -9
- package/lib/ecs/listener-rule.d.ts +5 -5
- package/lib/ecs/listener-rule.js +6 -6
- package/lib/ecs-update-image/ecs-update-image.d.ts +6 -6
- package/lib/ecs-update-image/ecs-update-image.js +6 -5
- package/lib/ecs-update-image/tag.d.ts +4 -4
- package/lib/ecs-update-image/tag.js +5 -5
- package/lib/griid/artefact-bucket.d.ts +3 -3
- package/lib/griid/artefact-bucket.js +5 -5
- package/lib/griid/index.d.ts +3 -3
- package/lib/griid/index.js +3 -3
- package/lib/hosted-zone-with-param.d.ts +5 -5
- package/lib/hosted-zone-with-param.js +6 -5
- package/lib/kinesis/kinesis-to-datadog-stream.d.ts +4 -4
- package/lib/kinesis/kinesis-to-datadog-stream.js +10 -9
- package/lib/load-balancer/load-balancer.d.ts +7 -7
- package/lib/load-balancer/load-balancer.js +8 -7
- package/lib/pipelines/deploy-env.d.ts +6 -6
- package/lib/pipelines/deploy-env.js +11 -10
- package/lib/pipelines/liflig-cdk-deployer-deps.d.ts +3 -3
- package/lib/pipelines/liflig-cdk-deployer-deps.js +5 -4
- package/lib/pipelines/pipeline.d.ts +6 -6
- package/lib/pipelines/pipeline.js +11 -10
- package/lib/platform/platform.d.ts +6 -6
- package/lib/platform/platform.js +5 -5
- package/lib/rds/database.d.ts +7 -6
- package/lib/rds/database.js +6 -5
- package/lib/ses/configurationsetsnsdestination/index.d.ts +4 -4
- package/lib/ses/configurationsetsnsdestination/index.js +8 -7
- package/lib/ses/sesdomain/index.d.ts +5 -4
- package/lib/ses/sesdomain/index.js +9 -8
- package/lib/ses/sesverifyemail/index.d.ts +4 -3
- package/lib/ses/sesverifyemail/index.js +8 -7
- package/lib/ssm-parameter-backed-resource.d.ts +5 -5
- package/lib/ssm-parameter-backed-resource.js +5 -4
- package/lib/ssm-parameter-reader.d.ts +3 -3
- package/lib/ssm-parameter-reader.js +3 -3
- package/lib/tags.d.ts +3 -2
- package/lib/tags.js +3 -3
- package/lib/utils.d.ts +2 -2
- package/lib/utils.js +2 -2
- package/lib/webapp/security-headers.d.ts +4 -4
- package/lib/webapp/security-headers.js +4 -4
- package/lib/webapp/webapp.d.ts +8 -8
- package/lib/webapp/webapp.js +9 -9
- package/lib/webapp-deploy-via-role.d.ts +3 -3
- package/lib/webapp-deploy-via-role.js +5 -4
- package/package.json +34 -72
package/lib/rds/database.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Database = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
|
|
4
|
+
const constructs = require("constructs");
|
|
5
|
+
const ec2 = require("aws-cdk-lib/aws-ec2");
|
|
6
|
+
const rds = require("aws-cdk-lib/aws-rds");
|
|
7
|
+
const cdk = require("aws-cdk-lib");
|
|
8
|
+
class Database extends constructs.Construct {
|
|
8
9
|
constructor(scope, id, props) {
|
|
9
10
|
var _a, _b, _c, _d;
|
|
10
11
|
super(scope, id);
|
|
@@ -53,4 +54,4 @@ class Database extends cdk.Construct {
|
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
exports.Database = Database;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmRzL2RhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQUN4QywyQ0FBMEM7QUFDMUMsMkNBQTBDO0FBRTFDLG1DQUFrQztBQXNDbEMsTUFBYSxRQUFTLFNBQVEsVUFBVSxDQUFDLFNBQVM7SUFJaEQsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUFvQjs7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLGNBQWMsR0FBRyxNQUFBLEtBQUssQ0FBQyxjQUFjLG1DQUFJLFFBQVEsQ0FBQTtRQUN2RCxNQUFNLFlBQVksR0FBRyxNQUFBLEtBQUssQ0FBQyxZQUFZLG1DQUFJLEtBQUssQ0FBQTtRQUVoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNwRCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDLENBQUE7UUFFRixNQUFNLE9BQU8sR0FBb0M7WUFDL0MsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUM1QyxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsVUFBVSxFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7Z0JBQ2hDLENBQUMsQ0FBQztvQkFDRSxVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNO2lCQUNsQztnQkFDSCxDQUFDLENBQUMsU0FBUztZQUNiLE9BQU8sRUFBRSxNQUFBLEtBQUssQ0FBQyxTQUFTLG1DQUFJLElBQUk7WUFDaEMsa0RBQWtEO1lBQ2xELHdCQUF3QjtZQUN4QixnQkFBZ0IsRUFBRSxNQUFBLEtBQUssQ0FBQyxrQkFBa0IsbUNBQUksRUFBRTtZQUNoRCx1Q0FBdUM7WUFDdkMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxHQUFHLEtBQUssQ0FBQyxpQkFBaUI7U0FDM0IsQ0FBQTtRQUVELE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0I7WUFDakMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLDRCQUE0QixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ3JELEdBQUcsT0FBTztnQkFDVixrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO2dCQUM1QyxXQUFXLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7YUFDeEQsQ0FBQztZQUNKLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUN6QyxHQUFHLE9BQU87Z0JBQ1YsWUFBWTtnQkFDWixXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUMvQyxnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCLENBQUMsQ0FBQTtRQUVOLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU8sQ0FBQTtRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBSWhDO1FBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFrQyxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQTtJQUN6RSxDQUFDO0lBRU0sbUJBQW1CLENBQUMsTUFBMEI7UUFDbkQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0NBQ0Y7QUExREQsNEJBMERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIlxuaW1wb3J0ICogYXMgcmRzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtcmRzXCJcbmltcG9ydCAqIGFzIHNtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VQcm9wcyBleHRlbmRzIGNkay5TdGFja1Byb3BzIHtcbiAgdnBjOiBlYzIuSVZwY1xuICBlbmdpbmU6IHJkcy5JSW5zdGFuY2VFbmdpbmVcbiAgLyoqXG4gICAqIEBkZWZhdWx0IG1hc3RlclxuICAgKi9cbiAgbWFzdGVyVXNlcm5hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZWZhdWx0IGFwcFxuICAgKi9cbiAgZGF0YWJhc2VOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBAZGVmYXVsdCAyNVxuICAgKi9cbiAgYWxsb2NhdGVkU3RvcmFnZUdiPzogbnVtYmVyXG4gIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZVxuICBpbnN0YW5jZUlkZW50aWZpZXI6IHN0cmluZ1xuICAvKipcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgaXNNdWx0aUF6PzogYm9vbGVhblxuICAvKipcbiAgICogTXVzdCBub3QgYmUgcmVtb3ZlZCBvbmNlIGl0IGhhcyBiZWVuIHNldCwgYXMgY2hhbmdpbmcgdGhpc1xuICAgKiByZXN1bHRzIGluIGEgbmV3IERCIGluc3RhbmNlIGJlaW5nIGNyZWF0ZWQuXG4gICAqXG4gICAqIEFsc28sIHJlbWVtYmVyIHRvIGdpdmUgZGF0YWJhc2UgYSBuZXcgbmFtZSB3aGVuIGNoYW5naW5nIHRoaXMgcHJvcCwgb3IgZWxzZVxuICAgKiB0aGUgbmV3IGluc3RhbmNlIG5hbWUgd2lsbCBjcmFzaCB3aXRoIHRoZSBleGlzdGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHNuYXBzaG90SWRlbnRpZmllcj86IHN0cmluZ1xuICAvKipcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHVzZVB1YmxpY1N1Ym5ldHM/OiBib29sZWFuXG4gIG92ZXJyaWRlRGJPcHRpb25zPzogUGFydGlhbDxyZHMuRGF0YWJhc2VJbnN0YW5jZVNvdXJjZVByb3BzPlxufVxuXG5leHBvcnQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBzZWNyZXQ6IHNtLklTZWNyZXRcbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb25zOiBlYzIuQ29ubmVjdGlvbnNcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgbWFzdGVyVXNlcm5hbWUgPSBwcm9wcy5tYXN0ZXJVc2VybmFtZSA/PyBcIm1hc3RlclwiXG4gICAgY29uc3QgZGF0YWJhc2VOYW1lID0gcHJvcHMuZGF0YWJhc2VOYW1lID8/IFwiYXBwXCJcblxuICAgIGNvbnN0IHNlY3JldCA9IG5ldyByZHMuRGF0YWJhc2VTZWNyZXQodGhpcywgXCJTZWNyZXRcIiwge1xuICAgICAgdXNlcm5hbWU6IG1hc3RlclVzZXJuYW1lLFxuICAgIH0pXG5cbiAgICBjb25zdCBvcHRpb25zOiByZHMuRGF0YWJhc2VJbnN0YW5jZVNvdXJjZVByb3BzID0ge1xuICAgICAgZW5naW5lOiBwcm9wcy5lbmdpbmUsXG4gICAgICBhbGxvd01ham9yVmVyc2lvblVwZ3JhZGU6IHRydWUsXG4gICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IHByb3BzLmluc3RhbmNlSWRlbnRpZmllcixcbiAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlLFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy51c2VQdWJsaWNTdWJuZXRzXG4gICAgICAgID8ge1xuICAgICAgICAgICAgc3VibmV0VHlwZTogZWMyLlN1Ym5ldFR5cGUuUFVCTElDLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBtdWx0aUF6OiBwcm9wcy5pc011bHRpQXogPz8gdHJ1ZSxcbiAgICAgIC8vIFdlIGRlZmF1bHQgdG8gMjUgR2lCIHN0b3JhZ2UgaW5zdGVhZCBvZiAxMDAgR2lCXG4gICAgICAvLyBpZiB3ZSBkbyBub3Qgc3BlY2lmeS5cbiAgICAgIGFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2VHYiA/PyAyNSxcbiAgICAgIC8vIFdlIHNwZWNpZnkgbWF4aW11bSBiYWNrdXAgcmV0ZW50aW9uLlxuICAgICAgYmFja3VwUmV0ZW50aW9uOiBjZGsuRHVyYXRpb24uZGF5cygzNSksXG4gICAgICAuLi5wcm9wcy5vdmVycmlkZURiT3B0aW9ucyxcbiAgICB9XG5cbiAgICBjb25zdCBkYiA9IHByb3BzLnNuYXBzaG90SWRlbnRpZmllclxuICAgICAgPyBuZXcgcmRzLkRhdGFiYXNlSW5zdGFuY2VGcm9tU25hcHNob3QodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICBzbmFwc2hvdElkZW50aWZpZXI6IHByb3BzLnNuYXBzaG90SWRlbnRpZmllcixcbiAgICAgICAgICBjcmVkZW50aWFsczogcmRzLlNuYXBzaG90Q3JlZGVudGlhbHMuZnJvbVNlY3JldChzZWNyZXQpLFxuICAgICAgICB9KVxuICAgICAgOiBuZXcgcmRzLkRhdGFiYXNlSW5zdGFuY2UodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgICBkYXRhYmFzZU5hbWUsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IHJkcy5DcmVkZW50aWFscy5mcm9tU2VjcmV0KHNlY3JldCksXG4gICAgICAgICAgc3RvcmFnZUVuY3J5cHRlZDogdHJ1ZSxcbiAgICAgICAgfSlcblxuICAgIHRoaXMuc2VjcmV0ID0gZGIuc2VjcmV0IVxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSBkYi5jb25uZWN0aW9uc1xuXG4gICAgLy8gT3ZlcnJpZGUgaW4gY2FzZSB3ZSBoYXZlIHBsYWNlZCBpdCBpbiBhIHB1YmxpYyBzdWJuZXQuXG4gICAgLy8gSXQgd291bGQgZGVmYXVsdCB0byBiZWluZyBwdWJsaWMgYWNjZXNzaWJsZSB3aGljaCB3ZSBkbyBub3Qgd2FudC5cbiAgICA7KGRiLm5vZGUuZGVmYXVsdENoaWxkIGFzIHJkcy5DZm5EQkluc3RhbmNlKS5wdWJsaWNseUFjY2Vzc2libGUgPSBmYWxzZVxuICB9XG5cbiAgcHVibGljIGFsbG93Q29ubmVjdGlvbkZyb20oc291cmNlOiBlYzIuSVNlY3VyaXR5R3JvdXApOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3Rpb25zLmFsbG93RGVmYXVsdFBvcnRGcm9tKHNvdXJjZSlcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as sns from "aws-cdk-lib/aws-sns";
|
|
3
3
|
export declare type ConfigurationSetSnsDestinationEventType = "SEND" | "REJECT" | "BOUNCE" | "COMPLAINT" | "DELIVERY" | "OPEN" | "CLICK" | "RENDERING_FAILURE" | "DELIVERY_DELAY" | "SUBSCRIPTION";
|
|
4
4
|
export interface ConfigurationSetSnsDestinationProps {
|
|
5
5
|
/**
|
|
@@ -19,6 +19,6 @@ export interface ConfigurationSetSnsDestinationProps {
|
|
|
19
19
|
*/
|
|
20
20
|
matchingEventTypes: ConfigurationSetSnsDestinationEventType[];
|
|
21
21
|
}
|
|
22
|
-
export declare class ConfigurationSetSnsDestination extends
|
|
23
|
-
constructor(scope:
|
|
22
|
+
export declare class ConfigurationSetSnsDestination extends constructs.Construct {
|
|
23
|
+
constructor(scope: constructs.Construct, id: string, props: ConfigurationSetSnsDestinationProps);
|
|
24
24
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConfigurationSetSnsDestination = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
4
|
+
const constructs = require("constructs");
|
|
5
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
6
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
7
|
+
const cdk = require("aws-cdk-lib");
|
|
8
|
+
const cr = require("aws-cdk-lib/custom-resources");
|
|
8
9
|
const handler_1 = require("./handler");
|
|
9
|
-
class ConfigurationSetSnsDestination extends
|
|
10
|
+
class ConfigurationSetSnsDestination extends constructs.Construct {
|
|
10
11
|
constructor(scope, id, props) {
|
|
11
12
|
super(scope, id);
|
|
12
13
|
new cdk.CustomResource(this, "Resource", {
|
|
@@ -22,7 +23,7 @@ class ConfigurationSetSnsDestination extends cdk.Construct {
|
|
|
22
23
|
}
|
|
23
24
|
}
|
|
24
25
|
exports.ConfigurationSetSnsDestination = ConfigurationSetSnsDestination;
|
|
25
|
-
class ConfigurationSetSnsDestinationProvider extends
|
|
26
|
+
class ConfigurationSetSnsDestinationProvider extends constructs.Construct {
|
|
26
27
|
constructor(scope, id) {
|
|
27
28
|
super(scope, id);
|
|
28
29
|
this.provider = new cr.Provider(this, "Provider", {
|
|
@@ -56,4 +57,4 @@ class ConfigurationSetSnsDestinationProvider extends cdk.Construct {
|
|
|
56
57
|
new ConfigurationSetSnsDestinationProvider(stack, id));
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VzL2NvbmZpZ3VyYXRpb25zZXRzbnNkZXN0aW5hdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBd0M7QUFDeEMsMkNBQTBDO0FBQzFDLGlEQUFnRDtBQUVoRCxtQ0FBa0M7QUFDbEMsbURBQWtEO0FBQ2xELHVDQUFpRTtBQWlDakUsTUFBYSw4QkFBK0IsU0FBUSxVQUFVLENBQUMsU0FBUztJQUN0RSxZQUNFLEtBQTJCLEVBQzNCLEVBQVUsRUFDVixLQUEwQztRQUUxQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLFlBQVksRUFDVixzQ0FBc0MsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWTtZQUN2RSxVQUFVLEVBQUU7Z0JBQ1Ysb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDaEQsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDaEQsV0FBVyxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsUUFBUTtnQkFDcEMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtnQkFDNUMsTUFBTSxFQUFFLENBQUM7YUFDVjtTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRjtBQXBCRCx3RUFvQkM7QUFFRCxNQUFNLHNDQUF1QyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBZ0J2RSxZQUFZLEtBQTJCLEVBQUUsRUFBVTtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEQsY0FBYyxFQUFFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNwRCxJQUFJLEVBQUUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUN6QixxQkFBcUIsK0NBQXFDLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FDekU7Z0JBQ0QsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ25DLE9BQU8sRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLGFBQWEsRUFBRTtvQkFDYixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7d0JBQ3RCLE9BQU8sRUFBRTs0QkFDUCw0Q0FBNEM7NEJBQzVDLDRDQUE0Qzs0QkFDNUMsNENBQTRDOzRCQUM1QywwQ0FBMEM7eUJBQzNDO3dCQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztxQkFDakIsQ0FBQztpQkFDSDthQUNGLENBQUM7U0FDSCxDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFBO0lBQ2hELENBQUM7SUF6Q0Q7O09BRUc7SUFDSSxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQTJCO1FBQ25ELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2pDLE1BQU0sRUFBRSxHQUFHLDhDQUE4QyxDQUFBO1FBQ3pELE9BQU8sQ0FDSixLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQTRDO1lBQ3ZFLElBQUksc0NBQXNDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUN0RCxDQUFBO0lBQ0gsQ0FBQztDQWdDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCJcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiXG5pbXBvcnQgKiBhcyBzbnMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1zbnNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBjciBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiXG5pbXBvcnQgeyBjb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25IYW5kbGVyIH0gZnJvbSBcIi4vaGFuZGxlclwiXG5cbmV4cG9ydCB0eXBlIENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvbkV2ZW50VHlwZSA9XG4gIHwgXCJTRU5EXCJcbiAgfCBcIlJFSkVDVFwiXG4gIHwgXCJCT1VOQ0VcIlxuICB8IFwiQ09NUExBSU5UXCJcbiAgfCBcIkRFTElWRVJZXCJcbiAgfCBcIk9QRU5cIlxuICB8IFwiQ0xJQ0tcIlxuICB8IFwiUkVOREVSSU5HX0ZBSUxVUkVcIlxuICB8IFwiREVMSVZFUllfREVMQVlcIlxuICB8IFwiU1VCU0NSSVBUSU9OXCJcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgU0VTIGNvbmZpZ3VyYXRpb24gc2V0IG5hbWVcbiAgICovXG4gIGNvbmZpZ3VyYXRpb25TZXROYW1lOiBzdHJpbmdcbiAgLyoqXG4gICAqIFRoZSBTRVMgY29uZmlndXJhdGlvbiBzZXQgZXZlbnQgZGVzdGluYXRpb24gbmFtZVxuICAgKi9cbiAgZXZlbnREZXN0aW5hdGlvbk5hbWU6IHN0cmluZ1xuICAvKipcbiAgICogU05TIHRvcGljIHRvIHNlbmQgYm91bmNlcyB0b1xuICAgKi9cbiAgc25zVG9waWM6IHNucy5JVG9waWNcbiAgLyoqXG4gICAqIEV2ZW50IHR5cGVzIHRvIG1hdGNoXG4gICAqL1xuICBtYXRjaGluZ0V2ZW50VHlwZXM6IENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvbkV2ZW50VHlwZVtdXG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb24gZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBDb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25Qcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgbmV3IGNkay5DdXN0b21SZXNvdXJjZSh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjpcbiAgICAgICAgQ29uZmlndXJhdGlvblNldFNuc0Rlc3RpbmF0aW9uUHJvdmlkZXIuZ2V0T3JDcmVhdGUodGhpcykuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBDb25maWd1cmF0aW9uU2V0TmFtZTogcHJvcHMuY29uZmlndXJhdGlvblNldE5hbWUsXG4gICAgICAgIEV2ZW50RGVzdGluYXRpb25OYW1lOiBwcm9wcy5ldmVudERlc3RpbmF0aW9uTmFtZSxcbiAgICAgICAgU25zVG9waWNBcm46IHByb3BzLnNuc1RvcGljLnRvcGljQXJuLFxuICAgICAgICBNYXRjaGluZ0V2ZW50VHlwZXM6IHByb3BzLm1hdGNoaW5nRXZlbnRUeXBlcyxcbiAgICAgICAgU2VyaWFsOiAxLFxuICAgICAgfSxcbiAgICB9KVxuICB9XG59XG5cbmNsYXNzIENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvblByb3ZpZGVyIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2luZ2xldG9uIHByb3ZpZGVyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRPckNyZWF0ZShzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QpIHtcbiAgICBjb25zdCBzdGFjayA9IGNkay5TdGFjay5vZihzY29wZSlcbiAgICBjb25zdCBpZCA9IFwibGlmbGlnLWNkay5jb25maWd1cmF0aW9uLXNldC1zbnMtZGVzdGluYXRpb25cIlxuICAgIHJldHVybiAoXG4gICAgICAoc3RhY2subm9kZS50cnlGaW5kQ2hpbGQoaWQpIGFzIENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvblByb3ZpZGVyKSB8fFxuICAgICAgbmV3IENvbmZpZ3VyYXRpb25TZXRTbnNEZXN0aW5hdGlvblByb3ZpZGVyKHN0YWNrLCBpZClcbiAgICApXG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHByb3ZpZGVyOiBjci5Qcm92aWRlclxuICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZVRva2VuOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICB0aGlzLnByb3ZpZGVyID0gbmV3IGNyLlByb3ZpZGVyKHRoaXMsIFwiUHJvdmlkZXJcIiwge1xuICAgICAgb25FdmVudEhhbmRsZXI6IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgXCJGdW5jdGlvblwiLCB7XG4gICAgICAgIGNvZGU6IG5ldyBsYW1iZGEuSW5saW5lQ29kZShcbiAgICAgICAgICBgZXhwb3J0cy5oYW5kbGVyID0gJHtjb25maWd1cmF0aW9uU2V0U25zRGVzdGluYXRpb25IYW5kbGVyLnRvU3RyaW5nKCl9O2AsXG4gICAgICAgICksXG4gICAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTJfWCxcbiAgICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgIGluaXRpYWxQb2xpY3k6IFtcbiAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgIFwic2VzOkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG4gICAgICAgICAgICAgIFwic2VzOlVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG4gICAgICAgICAgICAgIFwic2VzOkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG4gICAgICAgICAgICAgIFwic2VzOkdldENvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uc1wiLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHJlc291cmNlczogW1wiKlwiXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIH0pXG5cbiAgICB0aGlzLnNlcnZpY2VUb2tlbiA9IHRoaXMucHJvdmlkZXIuc2VydmljZVRva2VuXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as r53 from "aws-cdk-lib/aws-route53";
|
|
3
|
+
import * as cdk from "aws-cdk-lib";
|
|
3
4
|
interface Props {
|
|
4
5
|
/**
|
|
5
6
|
* The domain name to register in SES.
|
|
@@ -27,9 +28,9 @@ interface Props {
|
|
|
27
28
|
*/
|
|
28
29
|
defaultConfigurationSetName?: string;
|
|
29
30
|
}
|
|
30
|
-
export declare class SesDomain extends
|
|
31
|
+
export declare class SesDomain extends constructs.Construct {
|
|
31
32
|
route53RecordSets: cdk.IResolvable;
|
|
32
33
|
verificationToken: string;
|
|
33
|
-
constructor(scope:
|
|
34
|
+
constructor(scope: constructs.Construct, id: string, props: Props);
|
|
34
35
|
}
|
|
35
36
|
export {};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SesDomain = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
4
|
+
const constructs = require("constructs");
|
|
5
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
6
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
7
|
+
const r53 = require("aws-cdk-lib/aws-route53");
|
|
8
|
+
const cdk = require("aws-cdk-lib");
|
|
9
|
+
const cr = require("aws-cdk-lib/custom-resources");
|
|
9
10
|
const handler_1 = require("./handler");
|
|
10
|
-
class SesDomain extends
|
|
11
|
+
class SesDomain extends constructs.Construct {
|
|
11
12
|
constructor(scope, id, props) {
|
|
12
13
|
var _a;
|
|
13
14
|
super(scope, id);
|
|
@@ -33,7 +34,7 @@ class SesDomain extends cdk.Construct {
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
exports.SesDomain = SesDomain;
|
|
36
|
-
class SesDomainProvider extends
|
|
37
|
+
class SesDomainProvider extends constructs.Construct {
|
|
37
38
|
constructor(scope, id) {
|
|
38
39
|
super(scope, id);
|
|
39
40
|
this.provider = new cr.Provider(this, "Provider", {
|
|
@@ -72,4 +73,4 @@ class SesDomainProvider extends cdk.Construct {
|
|
|
72
73
|
new SesDomainProvider(stack, id));
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VzL3Nlc2RvbWFpbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBd0M7QUFDeEMsMkNBQTBDO0FBQzFDLGlEQUFnRDtBQUNoRCwrQ0FBOEM7QUFDOUMsbUNBQWtDO0FBQ2xDLG1EQUFrRDtBQUNsRCx1Q0FBNEM7QUE4QjVDLE1BQWEsU0FBVSxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBSWpELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBWTs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUN4RCxZQUFZLEVBQUUsaUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVk7WUFDOUQsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtnQkFDNUIseUJBQXlCLEVBQUUsQ0FDekIsTUFBQSxLQUFLLENBQUMseUJBQXlCLG1DQUFJLElBQUksQ0FDeEMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ1osMkJBQTJCLEVBQUUsS0FBSyxDQUFDLDJCQUEyQjtnQkFDOUQsMkRBQTJEO2dCQUMzRCxnQkFBZ0I7Z0JBQ2hCLE1BQU0sRUFBRSxDQUFDO2FBQ1Y7U0FDRixDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO1FBQzdELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFFbkUsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQ3BCLElBQUksR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtnQkFDaEQsWUFBWSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWTtnQkFDM0MsVUFBVSxFQUFFLElBQUksQ0FBQyxpQkFBaUI7YUFDbkMsQ0FBQyxDQUFBO1NBQ0g7SUFDSCxDQUFDO0NBQ0Y7QUEvQkQsOEJBK0JDO0FBRUQsTUFBTSxpQkFBa0IsU0FBUSxVQUFVLENBQUMsU0FBUztJQWdCbEQsWUFBWSxLQUEyQixFQUFFLEVBQVU7UUFDakQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ2hELGNBQWMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDcEQsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FDekIscUJBQXFCLDBCQUFnQixDQUFDLFFBQVEsRUFBRSxHQUFHLENBQ3BEO2dCQUNELE9BQU8sRUFBRSxlQUFlO2dCQUN4QixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxXQUFXO2dCQUNuQyxPQUFPLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxhQUFhLEVBQUU7b0JBQ2IsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO3dCQUN0QixPQUFPLEVBQUU7NEJBQ1Asb0JBQW9COzRCQUNwQiwrQkFBK0I7NEJBQy9CLHlDQUF5Qzs0QkFDekMsdUNBQXVDOzRCQUN2Qyw0QkFBNEI7NEJBQzVCLCtCQUErQjs0QkFDL0Isc0JBQXNCOzRCQUN0QiwwQkFBMEI7NEJBQzFCLGdEQUFnRDt5QkFDakQ7d0JBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO3FCQUNqQixDQUFDO2lCQUNIO2FBQ0YsQ0FBQztTQUNILENBQUMsQ0FBQTtRQUVGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUE7SUFDaEQsQ0FBQztJQTlDRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBMkI7UUFDbkQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDakMsTUFBTSxFQUFFLEdBQUcsZ0NBQWdDLENBQUE7UUFDM0MsT0FBTyxDQUNKLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBdUI7WUFDbEQsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQ2pDLENBQUE7SUFDSCxDQUFDO0NBcUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIlxuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCJcbmltcG9ydCAqIGFzIHI1MyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBjciBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiXG5pbXBvcnQgeyBzZXNEb21haW5IYW5kbGVyIH0gZnJvbSBcIi4vaGFuZGxlclwiXG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZG9tYWluIG5hbWUgdG8gcmVnaXN0ZXIgaW4gU0VTLlxuICAgKi9cbiAgZG9tYWluTmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBIb3N0ZWQgWm9uZSB0byBhdHRhY2ggRE5TIHJlY29yZHMuIElmIG5vdCBnaXZlbiBpdCBtdXN0XG4gICAqIGJlIHBlcmZvcm1lZCBtYW51YWxseS5cbiAgICovXG4gIGhvc3RlZFpvbmU/OiByNTMuSUhvc3RlZFpvbmVcbiAgLyoqXG4gICAqIEluY2x1ZGUgb3IgZXhjbHVkZSB2ZXJpZmljYXRpb24gVFhUIHJlY29yZC5cbiAgICpcbiAgICogQ05BTUUgcmVjb3JkcyBmb3IgREtJTSB0b2tlbnMgd2lsbCBzdGlsbCBiZSBjcmVhdGVkLlxuICAgKlxuICAgKiBSb3V0ZSA1MyB3aWxsIG5vdCBhbGxvdyBtdWx0aXBsZSBUWFQgcmVjb3JkcyB3aXRoIHRoZSBzYW1lIG5hbWUuXG4gICAqIFRoaXMgb3B0aW9uIGFsbG93cyB0byBcIm9wdC1vdXRcIiBvZiB0aGUgcmVjb3JkcyBhbmQgbGVhdmluZ1xuICAgKiB0aGUgY2FsbGVyIHJlc3BvbnNpYmxlIG9mIGhhbmRsaW5nIGl0LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBpbmNsdWRlVmVyaWZpY2F0aW9uUmVjb3JkPzogYm9vbGVhblxuICAvKipcbiAgICogRGVmYXVsdCBjb25maWd1cmF0aW9uIHNldCBmb3IgZW1haWxzIHNlbnQgZnJvbSB0aGlzIGRvbWFpbi5cbiAgICovXG4gIGRlZmF1bHRDb25maWd1cmF0aW9uU2V0TmFtZT86IHN0cmluZ1xufVxuXG5leHBvcnQgY2xhc3MgU2VzRG9tYWluIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBwdWJsaWMgcm91dGU1M1JlY29yZFNldHM6IGNkay5JUmVzb2x2YWJsZVxuICBwdWJsaWMgdmVyaWZpY2F0aW9uVG9rZW46IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgY2RrLkN1c3RvbVJlc291cmNlKHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgc2VydmljZVRva2VuOiBTZXNEb21haW5Qcm92aWRlci5nZXRPckNyZWF0ZSh0aGlzKS5zZXJ2aWNlVG9rZW4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIERvbWFpbk5hbWU6IHByb3BzLmRvbWFpbk5hbWUsXG4gICAgICAgIEluY2x1ZGVWZXJpZmljYXRpb25SZWNvcmQ6IChcbiAgICAgICAgICBwcm9wcy5pbmNsdWRlVmVyaWZpY2F0aW9uUmVjb3JkID8/IHRydWVcbiAgICAgICAgKS50b1N0cmluZygpLFxuICAgICAgICBEZWZhdWx0Q29uZmlndXJhdGlvblNldE5hbWU6IHByb3BzLmRlZmF1bHRDb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgLy8gQnVtcCB0aGlzIGlmIGNoYW5naW5nIGxvZ2ljIGluIHRoZSBsYW1iZGEgdGhhdCBzaG91bGQgYmVcbiAgICAgICAgLy8gcmUtZXZhbHVhdGVkLlxuICAgICAgICBTZXJpYWw6IDEsXG4gICAgICB9LFxuICAgIH0pXG5cbiAgICB0aGlzLnJvdXRlNTNSZWNvcmRTZXRzID0gcmVzb3VyY2UuZ2V0QXR0KFwiUm91dGU1M1JlY29yZFNldHNcIilcbiAgICB0aGlzLnZlcmlmaWNhdGlvblRva2VuID0gcmVzb3VyY2UuZ2V0QXR0U3RyaW5nKFwiVmVyaWZpY2F0aW9uVG9rZW5cIilcblxuICAgIGlmIChwcm9wcy5ob3N0ZWRab25lKSB7XG4gICAgICBuZXcgcjUzLkNmblJlY29yZFNldEdyb3VwKHRoaXMsIFwiUmVjb3JkU2V0R3JvdXBcIiwge1xuICAgICAgICBob3N0ZWRab25lSWQ6IHByb3BzLmhvc3RlZFpvbmUuaG9zdGVkWm9uZUlkLFxuICAgICAgICByZWNvcmRTZXRzOiB0aGlzLnJvdXRlNTNSZWNvcmRTZXRzLFxuICAgICAgfSlcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgU2VzRG9tYWluUHJvdmlkZXIgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzaW5nbGV0b24gcHJvdmlkZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldE9yQ3JlYXRlKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCkge1xuICAgIGNvbnN0IHN0YWNrID0gY2RrLlN0YWNrLm9mKHNjb3BlKVxuICAgIGNvbnN0IGlkID0gXCJsaWZsaWctY2RrLnNlcy1kb21haW4ucHJvdmlkZXJcIlxuICAgIHJldHVybiAoXG4gICAgICAoc3RhY2subm9kZS50cnlGaW5kQ2hpbGQoaWQpIGFzIFNlc0RvbWFpblByb3ZpZGVyKSB8fFxuICAgICAgbmV3IFNlc0RvbWFpblByb3ZpZGVyKHN0YWNrLCBpZClcbiAgICApXG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IHByb3ZpZGVyOiBjci5Qcm92aWRlclxuICBwdWJsaWMgcmVhZG9ubHkgc2VydmljZVRva2VuOiBzdHJpbmdcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICB0aGlzLnByb3ZpZGVyID0gbmV3IGNyLlByb3ZpZGVyKHRoaXMsIFwiUHJvdmlkZXJcIiwge1xuICAgICAgb25FdmVudEhhbmRsZXI6IG5ldyBsYW1iZGEuRnVuY3Rpb24odGhpcywgXCJGdW5jdGlvblwiLCB7XG4gICAgICAgIGNvZGU6IG5ldyBsYW1iZGEuSW5saW5lQ29kZShcbiAgICAgICAgICBgZXhwb3J0cy5oYW5kbGVyID0gJHtzZXNEb21haW5IYW5kbGVyLnRvU3RyaW5nKCl9O2AsXG4gICAgICAgICksXG4gICAgICAgIGhhbmRsZXI6IFwiaW5kZXguaGFuZGxlclwiLFxuICAgICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5OT0RFSlNfMTJfWCxcbiAgICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAgIGluaXRpYWxQb2xpY3k6IFtcbiAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgIFwic2VzOkRlbGV0ZUlkZW50aXR5XCIsXG4gICAgICAgICAgICAgIFwic2VzOkdldElkZW50aXR5RGtpbUF0dHJpYnV0ZXNcIixcbiAgICAgICAgICAgICAgXCJzZXM6R2V0SWRlbnRpdHlNYWlsRnJvbURvbWFpbkF0dHJpYnV0ZXNcIixcbiAgICAgICAgICAgICAgXCJzZXM6R2V0SWRlbnRpdHlWZXJpZmljYXRpb25BdHRyaWJ1dGVzXCIsXG4gICAgICAgICAgICAgIFwic2VzOlNldElkZW50aXR5RGtpbUVuYWJsZWRcIixcbiAgICAgICAgICAgICAgXCJzZXM6U2V0SWRlbnRpdHlNYWlsRnJvbURvbWFpblwiLFxuICAgICAgICAgICAgICBcInNlczpWZXJpZnlEb21haW5Ea2ltXCIsXG4gICAgICAgICAgICAgIFwic2VzOlZlcmlmeURvbWFpbklkZW50aXR5XCIsXG4gICAgICAgICAgICAgIFwic2VzOlB1dEVtYWlsSWRlbnRpdHlDb25maWd1cmF0aW9uU2V0QXR0cmlidXRlc1wiLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHJlc291cmNlczogW1wiKlwiXSxcbiAgICAgICAgICB9KSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIH0pXG5cbiAgICB0aGlzLnNlcnZpY2VUb2tlbiA9IHRoaXMucHJvdmlkZXIuc2VydmljZVRva2VuXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as cdk from "aws-cdk-lib";
|
|
2
3
|
interface Props {
|
|
3
4
|
/**
|
|
4
5
|
* The email address to add as a verified email in SES.
|
|
5
6
|
*/
|
|
6
7
|
emailAddress: string;
|
|
7
8
|
}
|
|
8
|
-
export declare class SesVerifyEmail extends
|
|
9
|
+
export declare class SesVerifyEmail extends constructs.Construct {
|
|
9
10
|
route53RecordSets: cdk.IResolvable;
|
|
10
|
-
constructor(scope:
|
|
11
|
+
constructor(scope: constructs.Construct, id: string, props: Props);
|
|
11
12
|
}
|
|
12
13
|
export {};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SesVerifyEmail = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
4
|
+
const constructs = require("constructs");
|
|
5
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
6
|
+
const lambda = require("aws-cdk-lib/aws-lambda");
|
|
7
|
+
const cdk = require("aws-cdk-lib");
|
|
8
|
+
const cr = require("aws-cdk-lib/custom-resources");
|
|
8
9
|
const handler_1 = require("./handler");
|
|
9
|
-
class SesVerifyEmail extends
|
|
10
|
+
class SesVerifyEmail extends constructs.Construct {
|
|
10
11
|
constructor(scope, id, props) {
|
|
11
12
|
super(scope, id);
|
|
12
13
|
new cdk.CustomResource(this, "Resource", {
|
|
@@ -18,7 +19,7 @@ class SesVerifyEmail extends cdk.Construct {
|
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
exports.SesVerifyEmail = SesVerifyEmail;
|
|
21
|
-
class SesVerifyEmailProvider extends
|
|
22
|
+
class SesVerifyEmailProvider extends constructs.Construct {
|
|
22
23
|
constructor(scope, id) {
|
|
23
24
|
super(scope, id);
|
|
24
25
|
this.provider = new cr.Provider(this, "Provider", {
|
|
@@ -47,4 +48,4 @@ class SesVerifyEmailProvider extends cdk.Construct {
|
|
|
47
48
|
new SesVerifyEmailProvider(stack, id));
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VzL3Nlc3ZlcmlmeWVtYWlsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUF3QztBQUN4QywyQ0FBMEM7QUFDMUMsaURBQWdEO0FBQ2hELG1DQUFrQztBQUNsQyxtREFBa0Q7QUFDbEQsdUNBQWlEO0FBU2pELE1BQWEsY0FBZSxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBR3RELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBWTtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3ZDLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWTtZQUNuRSxVQUFVLEVBQUU7Z0JBQ1YsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO2FBQ2pDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGO0FBYkQsd0NBYUM7QUFFRCxNQUFNLHNCQUF1QixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBZ0J2RCxZQUFZLEtBQTJCLEVBQUUsRUFBVTtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDaEQsY0FBYyxFQUFFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUNwRCxJQUFJLEVBQUUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUN6QixxQkFBcUIsK0JBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FDekQ7Z0JBQ0QsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVc7Z0JBQ25DLE9BQU8sRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLGFBQWEsRUFBRTtvQkFDYixJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7d0JBQ3RCLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixFQUFFLHlCQUF5QixDQUFDO3dCQUMxRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7cUJBQ2pCLENBQUM7aUJBQ0g7YUFDRixDQUFDO1NBQ0gsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQTtJQUNoRCxDQUFDO0lBcENEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUEyQjtRQUNuRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNqQyxNQUFNLEVBQUUsR0FBRyxzQ0FBc0MsQ0FBQTtRQUNqRCxPQUFPLENBQ0osS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUE0QjtZQUN2RCxJQUFJLHNCQUFzQixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FDdEMsQ0FBQTtJQUNILENBQUM7Q0EyQkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiXG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBjciBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiXG5pbXBvcnQgeyBzZXNWZXJpZnlFbWFpbEhhbmRsZXIgfSBmcm9tIFwiLi9oYW5kbGVyXCJcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBlbWFpbCBhZGRyZXNzIHRvIGFkZCBhcyBhIHZlcmlmaWVkIGVtYWlsIGluIFNFUy5cbiAgICovXG4gIGVtYWlsQWRkcmVzczogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBTZXNWZXJpZnlFbWFpbCBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgcHVibGljIHJvdXRlNTNSZWNvcmRTZXRzOiBjZGsuSVJlc29sdmFibGVcblxuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IFNlc1ZlcmlmeUVtYWlsUHJvdmlkZXIuZ2V0T3JDcmVhdGUodGhpcykuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBFbWFpbEFkZHJlc3M6IHByb3BzLmVtYWlsQWRkcmVzcyxcbiAgICAgIH0sXG4gICAgfSlcbiAgfVxufVxuXG5jbGFzcyBTZXNWZXJpZnlFbWFpbFByb3ZpZGVyIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2luZ2xldG9uIHByb3ZpZGVyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRPckNyZWF0ZShzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QpIHtcbiAgICBjb25zdCBzdGFjayA9IGNkay5TdGFjay5vZihzY29wZSlcbiAgICBjb25zdCBpZCA9IFwibGlmbGlnLWNkay5zZXMtdmVyaWZ5LWVtYWlsLnByb3ZpZGVyXCJcbiAgICByZXR1cm4gKFxuICAgICAgKHN0YWNrLm5vZGUudHJ5RmluZENoaWxkKGlkKSBhcyBTZXNWZXJpZnlFbWFpbFByb3ZpZGVyKSB8fFxuICAgICAgbmV3IFNlc1ZlcmlmeUVtYWlsUHJvdmlkZXIoc3RhY2ssIGlkKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvdmlkZXI6IGNyLlByb3ZpZGVyXG4gIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlVG9rZW46IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIHRoaXMucHJvdmlkZXIgPSBuZXcgY3IuUHJvdmlkZXIodGhpcywgXCJQcm92aWRlclwiLCB7XG4gICAgICBvbkV2ZW50SGFuZGxlcjogbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcIkZ1bmN0aW9uXCIsIHtcbiAgICAgICAgY29kZTogbmV3IGxhbWJkYS5JbmxpbmVDb2RlKFxuICAgICAgICAgIGBleHBvcnRzLmhhbmRsZXIgPSAke3Nlc1ZlcmlmeUVtYWlsSGFuZGxlci50b1N0cmluZygpfTtgLFxuICAgICAgICApLFxuICAgICAgICBoYW5kbGVyOiBcImluZGV4LmhhbmRsZXJcIixcbiAgICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzEyX1gsXG4gICAgICAgIHRpbWVvdXQ6IGNkay5EdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgICBpbml0aWFsUG9saWN5OiBbXG4gICAgICAgICAgbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgYWN0aW9uczogW1wic2VzOkRlbGV0ZUlkZW50aXR5XCIsIFwic2VzOlZlcmlmeUVtYWlsSWRlbnRpdHlcIl0sXG4gICAgICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICAgICAgfSksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9KVxuXG4gICAgdGhpcy5zZXJ2aWNlVG9rZW4gPSB0aGlzLnByb3ZpZGVyLnNlcnZpY2VUb2tlblxuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
declare type ReferenceToResource<T> = (scope:
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
declare type ReferenceToResource<T> = (scope: constructs.Construct, id: string, reference: string) => T;
|
|
3
3
|
interface Props<T> {
|
|
4
4
|
/**
|
|
5
5
|
* The nonce can be used to force the stack to update to check
|
|
@@ -29,17 +29,17 @@ interface Props<T> {
|
|
|
29
29
|
* If the resource is in the same region, the resource will be returned
|
|
30
30
|
* like normally in CDK, causing an export/import if cross-stack.
|
|
31
31
|
*/
|
|
32
|
-
export declare class SsmParameterBackedResource<T> extends
|
|
32
|
+
export declare class SsmParameterBackedResource<T> extends constructs.Construct {
|
|
33
33
|
private readonly nonce;
|
|
34
34
|
private readonly parameterName;
|
|
35
35
|
private readonly resource;
|
|
36
36
|
private readonly referenceToResource;
|
|
37
37
|
private readonly regions;
|
|
38
|
-
constructor(scope:
|
|
38
|
+
constructor(scope: constructs.Construct, id: string, props: Props<T>);
|
|
39
39
|
/**
|
|
40
40
|
* Get the resource by resolving the value from SSM Parameter Store
|
|
41
41
|
* in case we are cross-region or cross-stage.
|
|
42
42
|
*/
|
|
43
|
-
get(scope:
|
|
43
|
+
get(scope: constructs.Construct, id: string): T;
|
|
44
44
|
}
|
|
45
45
|
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SsmParameterBackedResource = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const constructs = require("constructs");
|
|
5
|
+
const ssm = require("aws-cdk-lib/aws-ssm");
|
|
6
|
+
const cdk = require("aws-cdk-lib");
|
|
6
7
|
const cross_region_ssm_parameter_1 = require("./cross-region-ssm-parameter");
|
|
7
8
|
const utils_1 = require("./utils");
|
|
8
9
|
/**
|
|
@@ -17,7 +18,7 @@ const utils_1 = require("./utils");
|
|
|
17
18
|
* If the resource is in the same region, the resource will be returned
|
|
18
19
|
* like normally in CDK, causing an export/import if cross-stack.
|
|
19
20
|
*/
|
|
20
|
-
class SsmParameterBackedResource extends
|
|
21
|
+
class SsmParameterBackedResource extends constructs.Construct {
|
|
21
22
|
constructor(scope, id, props) {
|
|
22
23
|
var _a;
|
|
23
24
|
super(scope, id);
|
|
@@ -63,4 +64,4 @@ class SsmParameterBackedResource extends cdk.Construct {
|
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
exports.SsmParameterBackedResource = SsmParameterBackedResource;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NtLXBhcmFtZXRlci1iYWNrZWQtcmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3NtLXBhcmFtZXRlci1iYWNrZWQtcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXdDO0FBQ3hDLDJDQUEwQztBQUMxQyxtQ0FBa0M7QUFDbEMsNkVBQXNFO0FBQ3RFLG1DQUF1QztBQTBCdkM7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFhLDBCQUE4QixTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBT3JFLFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBZTs7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQUEsS0FBSyxDQUFDLEtBQUssbUNBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQTtRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUE7UUFDOUIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQTtRQUNwRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUE7UUFFNUIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2RCxLQUFLLE1BQU0sTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDbEMsSUFBSSxvREFBdUIsQ0FBQyxJQUFJLEVBQUUsUUFBUSxNQUFNLEVBQUUsRUFBRTtnQkFDbEQsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhO2dCQUN4QixNQUFNO2dCQUNOLEtBQUs7YUFDTixDQUFDLENBQUE7U0FDSDtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSSxHQUFHLENBQUMsS0FBMkIsRUFBRSxFQUFVO1FBQ2hELE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUNoRCxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUE7UUFFakQsTUFBTSxjQUFjLEdBQUcsSUFBQSxxQkFBYSxFQUFDLElBQUksQ0FBQyxLQUFLLElBQUEscUJBQWEsRUFBQyxLQUFLLENBQUMsQ0FBQTtRQUVuRSwrQ0FBK0M7UUFDL0MsSUFBSSxjQUFjLEtBQUssY0FBYyxJQUFJLGNBQWMsRUFBRTtZQUN2RCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7U0FDckI7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUU7WUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FDYixjQUFjLGNBQWMsc0NBQXNDLENBQ25FLENBQUE7U0FDRjtRQUVELDBEQUEwRDtRQUMxRCwyREFBMkQ7UUFDM0QsSUFBSSxjQUFjLEVBQUU7WUFDbEIsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7U0FDL0I7UUFFRCxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUU7WUFDeEMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ3BCLENBQUMsQ0FBQTtRQUVGLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQzNELEtBQUssRUFDTCxJQUFJLENBQUMsYUFBYSxDQUNuQixDQUFBO1FBQ0QsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN2RCxDQUFDO0NBQ0Y7QUEvREQsZ0VBK0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBzc20gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zc21cIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgeyBDcm9zc1JlZ2lvblNzbVBhcmFtZXRlciB9IGZyb20gXCIuL2Nyb3NzLXJlZ2lvbi1zc20tcGFyYW1ldGVyXCJcbmltcG9ydCB7IGdldFN0YWdlT3JBcHAgfSBmcm9tIFwiLi91dGlsc1wiXG5cbnR5cGUgUmVmZXJlbmNlVG9SZXNvdXJjZTxUPiA9IChcbiAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICBpZDogc3RyaW5nLFxuICByZWZlcmVuY2U6IHN0cmluZyxcbikgPT4gVFxuXG5pbnRlcmZhY2UgUHJvcHM8VD4ge1xuICAvKipcbiAgICogVGhlIG5vbmNlIGNhbiBiZSB1c2VkIHRvIGZvcmNlIHRoZSBzdGFjayB0byB1cGRhdGUgdG8gY2hlY2tcbiAgICogZm9yIGEgbmV3IHZhbHVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEYXRlLm5vdygpLnRvU3RyaW5nKClcbiAgICovXG4gIG5vbmNlPzogc3RyaW5nXG4gIHBhcmFtZXRlck5hbWU6IHN0cmluZ1xuICByZXNvdXJjZTogVFxuICByZXNvdXJjZVRvUmVmZXJlbmNlKHJlc291cmNlOiBUKTogc3RyaW5nXG4gIHJlZmVyZW5jZVRvUmVzb3VyY2U6IFJlZmVyZW5jZVRvUmVzb3VyY2U8VD5cbiAgLyoqXG4gICAqIExpc3Qgb2YgcmVnaW9ucyB0aGF0IGNhbiByZXRyaWV2ZSB0aGlzIHJlc291cmNlIGZyb20gYW4gU1NNIFBhcmFtZXRlci5cbiAgICovXG4gIHJlZ2lvbnM6IHN0cmluZ1tdXG59XG5cbi8qKlxuICogUmVnaXN0ZXIgU1NNIFBhcmFtZXRlcnMgaW4gb3RoZXIgcmVnaW9ucyBzdG9yaW5nIGEgcmVmZXJlbmNlIHRvXG4gKiBhIHJlc291cmNlLCB3aGljaCBjYW4gdGhlbiBiZSByZXNvbHZlZCBpbiB0aGUgb3RoZXIgcmVnaW9uIGJ5XG4gKiByZWFkaW5nIGZyb20gdGhlIHBhcmFtZXRlci5cbiAqXG4gKiBTdG9yaW5nIHRoZSBTU00gUGFyYW1ldGVycyBpbiB0aGUgb3RoZXIgcmVnaW9ucyBzcGVlZHMgdXAgdGhlXG4gKiByZXNvbHZpbmcgb2YgcGFyYW1ldGVycywgc2luY2Ugd2UgY2FuIHVzZSBDbG91ZEZvcm1hdGlvbiBTU01cbiAqIFBhcmFtZXRlcnMgaW5zdGVhZCBvZiBjdXN0b20gcmVzb3VyY2VzLlxuICpcbiAqIElmIHRoZSByZXNvdXJjZSBpcyBpbiB0aGUgc2FtZSByZWdpb24sIHRoZSByZXNvdXJjZSB3aWxsIGJlIHJldHVybmVkXG4gKiBsaWtlIG5vcm1hbGx5IGluIENESywgY2F1c2luZyBhbiBleHBvcnQvaW1wb3J0IGlmIGNyb3NzLXN0YWNrLlxuICovXG5leHBvcnQgY2xhc3MgU3NtUGFyYW1ldGVyQmFja2VkUmVzb3VyY2U8VD4gZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgbm9uY2U6IHN0cmluZ1xuICBwcml2YXRlIHJlYWRvbmx5IHBhcmFtZXRlck5hbWU6IHN0cmluZ1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBUXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVmZXJlbmNlVG9SZXNvdXJjZTogUmVmZXJlbmNlVG9SZXNvdXJjZTxUPlxuICBwcml2YXRlIHJlYWRvbmx5IHJlZ2lvbnM6IHN0cmluZ1tdXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUHJvcHM8VD4pIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG4gICAgdGhpcy5ub25jZSA9IHByb3BzLm5vbmNlID8/IERhdGUubm93KCkudG9TdHJpbmcoKVxuICAgIHRoaXMucGFyYW1ldGVyTmFtZSA9IHByb3BzLnBhcmFtZXRlck5hbWVcbiAgICB0aGlzLnJlc291cmNlID0gcHJvcHMucmVzb3VyY2VcbiAgICB0aGlzLnJlZmVyZW5jZVRvUmVzb3VyY2UgPSBwcm9wcy5yZWZlcmVuY2VUb1Jlc291cmNlXG4gICAgdGhpcy5yZWdpb25zID0gcHJvcHMucmVnaW9uc1xuXG4gICAgY29uc3QgdmFsdWUgPSBwcm9wcy5yZXNvdXJjZVRvUmVmZXJlbmNlKHByb3BzLnJlc291cmNlKVxuXG4gICAgZm9yIChjb25zdCByZWdpb24gb2YgcHJvcHMucmVnaW9ucykge1xuICAgICAgbmV3IENyb3NzUmVnaW9uU3NtUGFyYW1ldGVyKHRoaXMsIGBQYXJhbSR7cmVnaW9ufWAsIHtcbiAgICAgICAgbmFtZTogdGhpcy5wYXJhbWV0ZXJOYW1lLFxuICAgICAgICByZWdpb24sXG4gICAgICAgIHZhbHVlLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSByZXNvdXJjZSBieSByZXNvbHZpbmcgdGhlIHZhbHVlIGZyb20gU1NNIFBhcmFtZXRlciBTdG9yZVxuICAgKiBpbiBjYXNlIHdlIGFyZSBjcm9zcy1yZWdpb24gb3IgY3Jvc3Mtc3RhZ2UuXG4gICAqL1xuICBwdWJsaWMgZ2V0KHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZyk6IFQge1xuICAgIGNvbnN0IHByb2R1Y2VyUmVnaW9uID0gY2RrLlN0YWNrLm9mKHRoaXMpLnJlZ2lvblxuICAgIGNvbnN0IGNvbnN1bWVyUmVnaW9uID0gY2RrLlN0YWNrLm9mKHNjb3BlKS5yZWdpb25cblxuICAgIGNvbnN0IHNhbWVTdGFnZU9yQXBwID0gZ2V0U3RhZ2VPckFwcCh0aGlzKSA9PT0gZ2V0U3RhZ2VPckFwcChzY29wZSlcblxuICAgIC8vIEZhc3QtcGF0aDogU2FtZSByZWdpb24gYW5kIHBhcmVudCBzdGFnZS9hcHAuXG4gICAgaWYgKHByb2R1Y2VyUmVnaW9uID09PSBjb25zdW1lclJlZ2lvbiAmJiBzYW1lU3RhZ2VPckFwcCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVzb3VyY2VcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMucmVnaW9ucy5pbmNsdWRlcyhjb25zdW1lclJlZ2lvbikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSByZWdpb24gJHtjb25zdW1lclJlZ2lvbn0gaXMgbm90IHJlZ2lzdGVyZWQgZm9yIHRoZSBwYXJhbWV0ZXJgLFxuICAgICAgKVxuICAgIH1cblxuICAgIC8vIE9ubHkgYWRkIGRlcGVuZGVuY3kgaWYgd2l0aGluIHNhbWUgYXBwL3N0YWdlLiBJZiBub3QgaXRcbiAgICAvLyBpcyB0aGUgY2FsbGVyIHJlc3BvbnNpYmlsaXR5IHRvIGVuc3VyZSBkZXBsb3ltZW50IG9yZGVyLlxuICAgIGlmIChzYW1lU3RhZ2VPckFwcCkge1xuICAgICAgc2NvcGUubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMpXG4gICAgfVxuXG4gICAgbmV3IGNkay5DZm5QYXJhbWV0ZXIoc2NvcGUsIGAke2lkfU5vbmNlYCwge1xuICAgICAgZGVmYXVsdDogdGhpcy5ub25jZSxcbiAgICB9KVxuXG4gICAgY29uc3QgcmVmZXJlbmNlID0gc3NtLlN0cmluZ1BhcmFtZXRlci52YWx1ZUZvclN0cmluZ1BhcmFtZXRlcihcbiAgICAgIHNjb3BlLFxuICAgICAgdGhpcy5wYXJhbWV0ZXJOYW1lLFxuICAgIClcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2VUb1Jlc291cmNlKHNjb3BlLCBpZCwgcmVmZXJlbmNlKVxuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as cr from "
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as cr from "aws-cdk-lib/custom-resources";
|
|
3
3
|
interface Props {
|
|
4
4
|
parameterName: string;
|
|
5
5
|
region: string;
|
|
@@ -15,7 +15,7 @@ interface Props {
|
|
|
15
15
|
* with support to read cross-region.
|
|
16
16
|
*/
|
|
17
17
|
export declare class SsmParameterReader extends cr.AwsCustomResource {
|
|
18
|
-
constructor(scope:
|
|
18
|
+
constructor(scope: constructs.Construct, id: string, props: Props);
|
|
19
19
|
getParameterValue(): string;
|
|
20
20
|
}
|
|
21
21
|
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SsmParameterReader = void 0;
|
|
4
|
-
const cdk = require("
|
|
5
|
-
const cr = require("
|
|
4
|
+
const cdk = require("aws-cdk-lib");
|
|
5
|
+
const cr = require("aws-cdk-lib/custom-resources");
|
|
6
6
|
function removeLeadingSlash(value) {
|
|
7
7
|
return value.slice(0, 1) == "/" ? value.slice(1) : value;
|
|
8
8
|
}
|
|
@@ -45,4 +45,4 @@ class SsmParameterReader extends cr.AwsCustomResource {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
exports.SsmParameterReader = SsmParameterReader;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NtLXBhcmFtZXRlci1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3NtLXBhcmFtZXRlci1yZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUNBQWtDO0FBQ2xDLG1EQUFrRDtBQWFsRCxTQUFTLGtCQUFrQixDQUFDLEtBQWE7SUFDdkMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUMxRCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxFQUFFLENBQUMsaUJBQWlCO0lBQzFELFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBWTs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLGNBQWM7Z0JBQ3RCLFVBQVUsRUFBRTtvQkFDVixJQUFJLEVBQUUsS0FBSyxDQUFDLGFBQWE7aUJBQzFCO2dCQUNELE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtnQkFDcEIsa0RBQWtEO2dCQUNsRCxrQkFBa0IsRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUM7YUFDbEU7WUFDRCxNQUFNLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQztnQkFDOUMsU0FBUyxFQUFFO29CQUNULEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUNaO3dCQUNFLE9BQU8sRUFBRSxLQUFLO3dCQUNkLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTt3QkFDcEIsUUFBUSxFQUFFLFdBQVc7d0JBQ3JCLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO3FCQUN0RCxFQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUNwQjtpQkFDRjthQUNGLENBQUM7U0FDSCxDQUFDLENBQUE7UUFFRixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJO2FBQzNDLFlBQStCLENBQUE7UUFDbEMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFBO1FBQ25ELENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxNQUFBLEtBQUssQ0FBQyxLQUFLLG1DQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUNwRSxDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDakQsQ0FBQztDQUNGO0FBckNELGdEQXFDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBjciBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiXG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIHBhcmFtZXRlck5hbWU6IHN0cmluZ1xuICByZWdpb246IHN0cmluZ1xuICAvKipcbiAgICogVmFsdWUgdGhhdCBtdXN0IGJlIHVwZGF0ZWQgdG8gY2hlY2sgaWYgdGhlIHBhcmFtZXRlciBoYXMgYSBuZXcgdmFsdWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IERhdGUubm93KCkudG9TdHJpbmcoKVxuICAgKi9cbiAgbm9uY2U/OiBzdHJpbmdcbn1cblxuZnVuY3Rpb24gcmVtb3ZlTGVhZGluZ1NsYXNoKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdmFsdWUuc2xpY2UoMCwgMSkgPT0gXCIvXCIgPyB2YWx1ZS5zbGljZSgxKSA6IHZhbHVlXG59XG5cbi8qKlxuICogR2V0IHZhbHVlIG9mIGEgU1NNIHBhcmFtZXRlciBkeW5hbWljYWxseSBkdXJpbmcgZGVwbG95bWVudFxuICogd2l0aCBzdXBwb3J0IHRvIHJlYWQgY3Jvc3MtcmVnaW9uLlxuICovXG5leHBvcnQgY2xhc3MgU3NtUGFyYW1ldGVyUmVhZGVyIGV4dGVuZHMgY3IuQXdzQ3VzdG9tUmVzb3VyY2Uge1xuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgb25VcGRhdGU6IHtcbiAgICAgICAgc2VydmljZTogXCJTU01cIixcbiAgICAgICAgYWN0aW9uOiBcImdldFBhcmFtZXRlclwiLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgTmFtZTogcHJvcHMucGFyYW1ldGVyTmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgIC8vIFVwZGF0ZSBwaHlzaWNhbCBpZCB0byBmZXRjaCB0aGUgbGF0ZXN0IHZlcnNpb24uXG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogY3IuUGh5c2ljYWxSZXNvdXJjZUlkLm9mKHByb3BzLnBhcmFtZXRlck5hbWUpLFxuICAgICAgfSxcbiAgICAgIHBvbGljeTogY3IuQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3kuZnJvbVNka0NhbGxzKHtcbiAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgY2RrLkFybi5mb3JtYXQoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHNlcnZpY2U6IFwic3NtXCIsXG4gICAgICAgICAgICAgIHJlZ2lvbjogcHJvcHMucmVnaW9uLFxuICAgICAgICAgICAgICByZXNvdXJjZTogXCJwYXJhbWV0ZXJcIixcbiAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiByZW1vdmVMZWFkaW5nU2xhc2gocHJvcHMucGFyYW1ldGVyTmFtZSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2RrLlN0YWNrLm9mKHNjb3BlKSxcbiAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgfSlcblxuICAgIGNvbnN0IHIgPSB0aGlzLm5vZGUuZmluZENoaWxkKFwiUmVzb3VyY2VcIikubm9kZVxuICAgICAgLmRlZmF1bHRDaGlsZCBhcyBjZGsuQ2ZuUmVzb3VyY2VcbiAgICByLmNmbk9wdGlvbnMubWV0YWRhdGEgPSByLmNmbk9wdGlvbnMubWV0YWRhdGEgfHwge31cbiAgICByLmNmbk9wdGlvbnMubWV0YWRhdGEuTm9uY2UgPSBwcm9wcy5ub25jZSA/PyBEYXRlLm5vdygpLnRvU3RyaW5nKClcbiAgfVxuXG4gIHB1YmxpYyBnZXRQYXJhbWV0ZXJWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc3BvbnNlRmllbGQoXCJQYXJhbWV0ZXIuVmFsdWVcIilcbiAgfVxufVxuIl19
|
package/lib/tags.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as cdk from "aws-cdk-lib";
|
|
2
3
|
/**
|
|
3
4
|
* Tag all supported resources within an application.
|
|
4
5
|
*
|
|
5
6
|
* CDK will propagate tags too all resources that support it.
|
|
6
7
|
*/
|
|
7
|
-
export declare function tagResources(scope:
|
|
8
|
+
export declare function tagResources(scope: constructs.Construct, tags: (stack: cdk.Stack) => Record<string, string>): void;
|
package/lib/tags.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.tagResources = void 0;
|
|
4
|
-
const cdk = require("
|
|
5
|
-
const cm = require("
|
|
4
|
+
const cdk = require("aws-cdk-lib");
|
|
5
|
+
const cm = require("aws-cdk-lib/aws-certificatemanager");
|
|
6
6
|
function shouldTag(construct) {
|
|
7
7
|
// See https://github.com/aws/aws-cdk/issues/14519#issuecomment-833103147
|
|
8
8
|
if (construct instanceof cm.DnsValidatedCertificate) {
|
|
@@ -33,4 +33,4 @@ function tagResources(scope, tags) {
|
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
exports.tagResources = tagResources;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90YWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1DQUFrQztBQUNsQyx5REFBd0Q7QUFFeEQsU0FBUyxTQUFTLENBQUMsU0FBZ0M7SUFDakQseUVBQXlFO0lBQ3pFLElBQUksU0FBUyxZQUFZLEVBQUUsQ0FBQyx1QkFBdUIsRUFBRTtRQUNuRCxPQUFPLEtBQUssQ0FBQTtLQUNiO0lBRUQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQWdCLFlBQVksQ0FDMUIsS0FBMkIsRUFDM0IsSUFBa0Q7SUFFbEQsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxTQUFnQztZQUNwQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDaEUsMERBQTBEO2dCQUMxRCw2QkFBNkI7Z0JBQzdCLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBbUIsRUFBRSxDQUNyRSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FDdEIsQ0FBQTtnQkFFRCxNQUFNLEtBQUssR0FDVCxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtnQkFDcEUsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO29CQUNqQixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTt3QkFDdEQsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7cUJBQzdDO2lCQUNGO2FBQ0Y7UUFDSCxDQUFDO0tBQ0YsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQXZCRCxvQ0F1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMgY20gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIlxuXG5mdW5jdGlvbiBzaG91bGRUYWcoY29uc3RydWN0OiBjb25zdHJ1Y3RzLklDb25zdHJ1Y3QpIHtcbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTQ1MTkjaXNzdWVjb21tZW50LTgzMzEwMzE0N1xuICBpZiAoY29uc3RydWN0IGluc3RhbmNlb2YgY20uRG5zVmFsaWRhdGVkQ2VydGlmaWNhdGUpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbi8qKlxuICogVGFnIGFsbCBzdXBwb3J0ZWQgcmVzb3VyY2VzIHdpdGhpbiBhbiBhcHBsaWNhdGlvbi5cbiAqXG4gKiBDREsgd2lsbCBwcm9wYWdhdGUgdGFncyB0b28gYWxsIHJlc291cmNlcyB0aGF0IHN1cHBvcnQgaXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YWdSZXNvdXJjZXMoXG4gIHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCxcbiAgdGFnczogKHN0YWNrOiBjZGsuU3RhY2spID0+IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4pOiB2b2lkIHtcbiAgY2RrLkFzcGVjdHMub2Yoc2NvcGUpLmFkZCh7XG4gICAgdmlzaXQoY29uc3RydWN0OiBjb25zdHJ1Y3RzLklDb25zdHJ1Y3QpIHtcbiAgICAgIGlmIChjZGsuVGFnTWFuYWdlci5pc1RhZ2dhYmxlKGNvbnN0cnVjdCkgJiYgc2hvdWxkVGFnKGNvbnN0cnVjdCkpIHtcbiAgICAgICAgLy8gV2UgcGljayB0aGUgbGFzdCBzdGFjayBpbiBjaGFpbiB0byBzdXBwb3J0IHN0YWdlcyB3aGVyZVxuICAgICAgICAvLyB0aGVyZSBhcmUgbXVsdGlwbGUgc3RhY2tzLlxuICAgICAgICBjb25zdCBhbGxTdGFja3MgPSBjb25zdHJ1Y3Qubm9kZS5zY29wZXMuZmlsdGVyKChpdCk6IGl0IGlzIGNkay5TdGFjayA9PlxuICAgICAgICAgIGNkay5TdGFjay5pc1N0YWNrKGl0KSxcbiAgICAgICAgKVxuXG4gICAgICAgIGNvbnN0IHN0YWNrID1cbiAgICAgICAgICBhbGxTdGFja3MubGVuZ3RoID4gMCA/IGFsbFN0YWNrc1thbGxTdGFja3MubGVuZ3RoIC0gMV0gOiB1bmRlZmluZWRcbiAgICAgICAgaWYgKHN0YWNrICE9IG51bGwpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0YWdzKHN0YWNrKSkpIHtcbiAgICAgICAgICAgIGNvbnN0cnVjdC50YWdzLnNldFRhZyhrZXksIHZhbHVlLCAxMDAsIHRydWUpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgfSlcbn1cbiJdfQ==
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
export declare function getStageOrApp(scope:
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
export declare function getStageOrApp(scope: constructs.Construct): constructs.Construct;
|
package/lib/utils.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getStageOrApp = void 0;
|
|
4
|
-
const cdk = require("
|
|
4
|
+
const cdk = require("aws-cdk-lib");
|
|
5
5
|
function getStageOrApp(scope) {
|
|
6
6
|
const stage = cdk.Stage.of(scope);
|
|
7
7
|
if (stage != null) {
|
|
@@ -14,4 +14,4 @@ function getStageOrApp(scope) {
|
|
|
14
14
|
return app;
|
|
15
15
|
}
|
|
16
16
|
exports.getStageOrApp = getStageOrApp;
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUNBQWtDO0FBRWxDLFNBQWdCLGFBQWEsQ0FDM0IsS0FBMkI7SUFFM0IsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDakMsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFO1FBQ2pCLE9BQU8sS0FBSyxDQUFBO0tBQ2I7SUFFRCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtJQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0tBQ2pFO0lBQ0QsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDO0FBYkQsc0NBYUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcbmltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhZ2VPckFwcChcbiAgc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuKTogY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdCBzdGFnZSA9IGNkay5TdGFnZS5vZihzY29wZSlcbiAgaWYgKHN0YWdlICE9IG51bGwpIHtcbiAgICByZXR1cm4gc3RhZ2VcbiAgfVxuXG4gIGNvbnN0IGFwcCA9IHNjb3BlLm5vZGUucm9vdFxuICBpZiAoIWNkay5BcHAuaXNBcHAoYXBwKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGxvY2F0ZSBjZGsgQXBwIGZvciAke3Njb3BlLm5vZGUuaWR9YClcbiAgfVxuICByZXR1cm4gYXBwXG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as constructs from "constructs";
|
|
2
|
+
import * as cloudfront from "aws-cdk-lib/aws-cloudfront";
|
|
3
3
|
export interface FrameOptionsHeader {
|
|
4
4
|
value?: "DENY" | "SAMEORIGIN";
|
|
5
5
|
}
|
|
@@ -34,7 +34,7 @@ export interface SecurityHeaders {
|
|
|
34
34
|
referrerPolicy?: ReferrerPolicyHeader;
|
|
35
35
|
frameOptions?: FrameOptionsHeader;
|
|
36
36
|
}
|
|
37
|
-
export declare class WebappSecurityHeaders extends
|
|
37
|
+
export declare class WebappSecurityHeaders extends constructs.Construct {
|
|
38
38
|
readonly securityHeadersFunction: cloudfront.Function;
|
|
39
|
-
constructor(scope:
|
|
39
|
+
constructor(scope: constructs.Construct, id: string, props: SecurityHeaders);
|
|
40
40
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WebappSecurityHeaders = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const constructs = require("constructs");
|
|
5
|
+
const cloudfront = require("aws-cdk-lib/aws-cloudfront");
|
|
6
6
|
function validateCspParam(param) {
|
|
7
7
|
if (param.indexOf('"') !== -1) {
|
|
8
8
|
throw Error('CSP override contains invalid character "');
|
|
@@ -92,7 +92,7 @@ function generateFrameOptionsHeader(headerOptions) {
|
|
|
92
92
|
};
|
|
93
93
|
return trim(options.value);
|
|
94
94
|
}
|
|
95
|
-
class WebappSecurityHeaders extends
|
|
95
|
+
class WebappSecurityHeaders extends constructs.Construct {
|
|
96
96
|
constructor(scope, id, props) {
|
|
97
97
|
var _a;
|
|
98
98
|
super(scope, id);
|
|
@@ -123,4 +123,4 @@ class WebappSecurityHeaders extends cdk.Construct {
|
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
125
|
exports.WebappSecurityHeaders = WebappSecurityHeaders;
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktaGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93ZWJhcHAvc2VjdXJpdHktaGVhZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxzREFBcUQ7QUFDckQscUNBQW9DO0FBeUNwQyxTQUFTLGdCQUFnQixDQUFDLEtBQWE7SUFDckMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzdCLE1BQU0sS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUE7S0FDekQ7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDN0IsTUFBTSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtLQUN6RDtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM5QixNQUFNLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO0tBQzFEO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsNERBQTREO0FBQzVELFNBQVMsSUFBSSxDQUFDLEtBQWE7SUFDekIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUMxQyxDQUFDO0FBRUQsU0FBUyxtQ0FBbUMsQ0FDMUMsYUFBMkM7SUFFM0MsTUFBTSxhQUFhLEdBQUc7UUFDcEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsY0FBYyxFQUFFLFFBQVE7UUFDeEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsV0FB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WUFDeEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztTQUNyRCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUF2Q0Qsc0RBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2xvdWRmcm9udCBmcm9tIFwiQGF3cy1jZGsvYXdzLWNsb3VkZnJvbnRcIlxuaW1wb3J0ICogYXMgY2RrIGZyb20gXCJAYXdzLWNkay9jb3JlXCJcblxuZXhwb3J0IGludGVyZmFjZSBGcmFtZU9wdGlvbnNIZWFkZXIge1xuICB2YWx1ZT86IFwiREVOWVwiIHwgXCJTQU1FT1JJR0lOXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWZlcnJlclBvbGljeUhlYWRlciB7XG4gIHZhbHVlPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlIZWFkZXIge1xuICBtYXhBZ2U/OiBudW1iZXJcbiAgaW5jbHVkZVN1YkRvbWFpbnM/OiBib29sZWFuXG4gIHByZWxvYWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyIHtcbiAgcmVwb3J0T25seT86IGJvb2xlYW5cbiAgYmFzZVVyaT86IHN0cmluZ1xuICBjaGlsZFNyYz86IHN0cmluZ1xuICBkZWZhdWx0U3JjPzogc3RyaW5nXG4gIGZvbnRTcmM/OiBzdHJpbmdcbiAgZnJhbWVTcmM/OiBzdHJpbmdcbiAgZm9ybUFjdGlvbj86IHN0cmluZ1xuICBmcmFtZUFuY2VzdG9ycz86IHN0cmluZ1xuICBpbWdTcmM/OiBzdHJpbmdcbiAgbWFuaWZlc3RTcmM/OiBzdHJpbmdcbiAgbWVkaWFTcmM/OiBzdHJpbmdcbiAgb2JqZWN0U3JjPzogc3RyaW5nXG4gIHNjcmlwdFNyYz86IHN0cmluZ1xuICBzdHlsZVNyYz86IHN0cmluZ1xuICBjb25uZWN0U3JjPzogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlIZWFkZXJzIHtcbiAgY29udGVudFNlY3VyaXR5UG9saWN5PzogQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyXG4gIHN0cmljdFRyYW5zcG9ydFNlY3VyaXR5PzogU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlIZWFkZXJcbiAgcmVmZXJyZXJQb2xpY3k/OiBSZWZlcnJlclBvbGljeUhlYWRlclxuICBmcmFtZU9wdGlvbnM/OiBGcmFtZU9wdGlvbnNIZWFkZXJcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVDc3BQYXJhbShwYXJhbTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKHBhcmFtLmluZGV4T2YoJ1wiJykgIT09IC0xKSB7XG4gICAgdGhyb3cgRXJyb3IoJ0NTUCBvdmVycmlkZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlciBcIicpXG4gIH1cblxuICBpZiAocGFyYW0uaW5kZXhPZihcIjtcIikgIT09IC0xKSB7XG4gICAgdGhyb3cgRXJyb3IoXCJDU1Agb3ZlcnJpZGUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIgO1wiKVxuICB9XG5cbiAgaWYgKHBhcmFtLmluZGV4T2YoXCJcXFxcXCIpICE9PSAtMSkge1xuICAgIHRocm93IEVycm9yKFwiQ1NQIG92ZXJyaWRlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyIFxcXFxcIilcbiAgfVxuXG4gIHJldHVybiBwYXJhbVxufVxuXG4vKiBSZXBsYWNlIGFsbCB3aGl0ZXNwYWNlIGluIGEgc3RyaW5nIHdpdGggYSBzaW5nbGUgc3BhY2UgKi9cbmZ1bmN0aW9uIHRyaW0odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9cXHMrL2csIFwiIFwiKS50cmltKClcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXIoXG4gIGhlYWRlck9wdGlvbnM/OiBDb250ZW50U2VjdXJpdHlQb2xpY3lIZWFkZXIsXG4pIHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHtcbiAgICBiYXNlVXJpOiBcIidzZWxmJ1wiLFxuICAgIGNoaWxkU3JjOiBcIidub25lJ1wiLFxuICAgIGNvbm5lY3RTcmM6IFwiJ3NlbGYnXCIsXG4gICAgZGVmYXVsdFNyYzogXCInc2VsZidcIixcbiAgICBmb250U3JjOiBcIidzZWxmJ1wiLFxuICAgIGZvcm1BY3Rpb246IFwiJ3NlbGYnXCIsXG4gICAgZnJhbWVBbmNlc3RvcnM6IFwiJ25vbmUnXCIsXG4gICAgZnJhbWVTcmM6IFwiJ3NlbGYnXCIsXG4gICAgaW1nU3JjOiBcIidzZWxmJ1wiLFxuICAgIG1hbmlmZXN0U3JjOiBcIidzZWxmJ1wiLFxuICAgIG1lZGlhU3JjOiBcIidzZWxmJ1wiLFxuICAgIG9iamVjdFNyYzogXCInbm9uZSdcIixcbiAgICBzY3JpcHRTcmM6IFwiJ3NlbGYnXCIsXG4gICAgc3R5bGVTcmM6IFwiJ3NlbGYnXCIsXG4gIH1cblxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIC4uLmRlZmF1bHRWYWx1ZXMsXG4gICAgLi4uaGVhZGVyT3B0aW9ucyxcbiAgfVxuXG4gIE9iamVjdC52YWx1ZXMob3B0aW9ucykuZm9yRWFjaChcbiAgICAodikgPT4gdHlwZW9mIHYgPT09IFwic3RyaW5nXCIgJiYgdmFsaWRhdGVDc3BQYXJhbSh2KSxcbiAgKVxuXG4gIGxldCBoZWFkZXJWYWx1ZSA9IFwiXCJcbiAgaGVhZGVyVmFsdWUgKz0gYGJhc2UtdXJpICR7dHJpbShvcHRpb25zLmJhc2VVcmkpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBjaGlsZC1zcmMgJHt0cmltKG9wdGlvbnMuY2hpbGRTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBjb25uZWN0LXNyYyAke3RyaW0ob3B0aW9ucy5jb25uZWN0U3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgZGVmYXVsdC1zcmMgJHt0cmltKG9wdGlvbnMuZGVmYXVsdFNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYGZvbnQtc3JjICR7dHJpbShvcHRpb25zLmZvbnRTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBmcmFtZS1zcmMgJHt0cmltKG9wdGlvbnMuZnJhbWVTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBpbWctc3JjICR7dHJpbShvcHRpb25zLmltZ1NyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYG1hbmlmZXN0LXNyYyAke3RyaW0ob3B0aW9ucy5tYW5pZmVzdFNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYG1lZGlhLXNyYyAke3RyaW0ob3B0aW9ucy5tZWRpYVNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYG9iamVjdC1zcmMgJHt0cmltKG9wdGlvbnMub2JqZWN0U3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgc2NyaXB0LXNyYyAke3RyaW0ob3B0aW9ucy5zY3JpcHRTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBzdHlsZS1zcmMgJHt0cmltKG9wdGlvbnMuc3R5bGVTcmMpfTtgXG5cbiAgcmV0dXJuIHRyaW0oaGVhZGVyVmFsdWUpXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlIZWFkZXIoXG4gIGhlYWRlck9wdGlvbnM/OiBTdHJpY3RUcmFuc3BvcnRTZWN1cml0eUhlYWRlcixcbikge1xuICBjb25zdCBkZWZhdWx0VmFsdWVzID0ge1xuICAgIG1heEFnZTogNjMwNzIwMDAsXG4gICAgaW5jbHVkZVN1YkRvbWFpbnM6IGZhbHNlLFxuICAgIHByZWxvYWQ6IGZhbHNlLFxuICB9XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgLi4uZGVmYXVsdFZhbHVlcyxcbiAgICAuLi5oZWFkZXJPcHRpb25zLFxuICB9XG4gIGxldCBoZWFkZXJWYWx1ZSA9IFwiXCJcbiAgaGVhZGVyVmFsdWUgKz0gYG1heC1hZ2U9JHtvcHRpb25zLm1heEFnZX07YFxuICBoZWFkZXJWYWx1ZSArPSBvcHRpb25zLnByZWxvYWQgPyBcInByZWxvYWQ7XCIgOiBcIlwiXG4gIGhlYWRlclZhbHVlICs9IG9wdGlvbnMuaW5jbHVkZVN1YkRvbWFpbnMgPyBcImluY2x1ZGVTdWJEb21haW5zO1wiIDogXCJcIlxuICByZXR1cm4gdHJpbShoZWFkZXJWYWx1ZSlcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVSZWZlcnJlclBvbGljeUhlYWRlcihoZWFkZXJPcHRpb25zPzogUmVmZXJyZXJQb2xpY3lIZWFkZXIpIHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHtcbiAgICB2YWx1ZTogXCJzdHJpY3Qtb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luXCIsXG4gIH1cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAuLi5kZWZhdWx0VmFsdWVzLFxuICAgIC4uLmhlYWRlck9wdGlvbnMsXG4gIH1cbiAgcmV0dXJuIG9wdGlvbnMudmFsdWVcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVGcmFtZU9wdGlvbnNIZWFkZXIoaGVhZGVyT3B0aW9ucz86IEZyYW1lT3B0aW9uc0hlYWRlcikge1xuICBjb25zdCBkZWZhdWx0VmFsdWVzID0ge1xuICAgIHZhbHVlOiBcIkRFTllcIixcbiAgfVxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIC4uLmRlZmF1bHRWYWx1ZXMsXG4gICAgLi4uaGVhZGVyT3B0aW9ucyxcbiAgfVxuICByZXR1cm4gdHJpbShvcHRpb25zLnZhbHVlKVxufVxuXG5leHBvcnQgY2xhc3MgV2ViYXBwU2VjdXJpdHlIZWFkZXJzIGV4dGVuZHMgY2RrLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBzZWN1cml0eUhlYWRlcnNGdW5jdGlvbjogY2xvdWRmcm9udC5GdW5jdGlvblxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjZGsuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2VjdXJpdHlIZWFkZXJzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgY3NwSGVhZGVyTmFtZSA9IHByb3BzLmNvbnRlbnRTZWN1cml0eVBvbGljeT8ucmVwb3J0T25seVxuICAgICAgPyBcImNvbnRlbnQtc2VjdXJpdHktcG9saWN5LXJlcG9ydC1vbmx5XCJcbiAgICAgIDogXCJjb250ZW50LXNlY3VyaXR5LXBvbGljeVwiXG5cbiAgICBjb25zdCBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSBnZW5lcmF0ZUNvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlcihcbiAgICAgIHByb3BzLmNvbnRlbnRTZWN1cml0eVBvbGljeSxcbiAgICApXG4gICAgY29uc3Qgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHkgPSBnZW5lcmF0ZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5SGVhZGVyKFxuICAgICAgcHJvcHMuc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHksXG4gICAgKVxuICAgIGNvbnN0IHJlZmVycmVyUG9saWN5ID0gZ2VuZXJhdGVSZWZlcnJlclBvbGljeUhlYWRlcihwcm9wcy5yZWZlcnJlclBvbGljeSlcbiAgICBjb25zdCBmcmFtZU9wdGlvbnMgPSBnZW5lcmF0ZUZyYW1lT3B0aW9uc0hlYWRlcihwcm9wcy5mcmFtZU9wdGlvbnMpXG5cbiAgICBjb25zdCBsYW1iZGFDb2RlID0gYGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQpIHtcbiAgICAgIHZhciByZXNwb25zZSA9IGV2ZW50LnJlc3BvbnNlO1xuICAgICAgdmFyIGhlYWRlcnMgPSByZXNwb25zZS5oZWFkZXJzO1xuICAgICAgaGVhZGVyc1sncmVmZXJyZXItcG9saWN5J10gPSB7dmFsdWU6ICcke3JlZmVycmVyUG9saWN5fSd9O1xuICAgICAgaGVhZGVyc1snc3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eSddID0ge3ZhbHVlOiAnJHtzdHJpY3RUcmFuc3BvcnRTZWN1cml0eX0nfTtcbiAgICAgIGhlYWRlcnNbJ3gtY29udGVudC10eXBlLW9wdGlvbnMnXSA9IHt2YWx1ZTogJ25vc25pZmYnfTtcbiAgICAgIGhlYWRlcnNbJ3gtZnJhbWUtb3B0aW9ucyddID0ge3ZhbHVlOiAnJHtmcmFtZU9wdGlvbnN9J307XG4gICAgICBoZWFkZXJzWyd4LXhzcy1wcm90ZWN0aW9uJ10gPSB7dmFsdWU6ICcxOyBtb2RlPWJsb2NrJ307XG4gICAgICBoZWFkZXJzWycke2NzcEhlYWRlck5hbWV9J10gPSB7dmFsdWU6IFwiJHtjb250ZW50U2VjdXJpdHlQb2xpY3l9XCJ9O1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1gXG5cbiAgICAvLyBIYXJkY29kZWQgbG9naWNhbCBJRCBkdWUgdG8gYnVnOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE1NTIzXG4gICAgY29uc3QgZnVuY3Rpb25JZCA9IGBGdW5jdGlvbiR7dGhpcy5ub2RlLmFkZHJ9YFxuXG4gICAgdGhpcy5zZWN1cml0eUhlYWRlcnNGdW5jdGlvbiA9IG5ldyBjbG91ZGZyb250LkZ1bmN0aW9uKHRoaXMsIGZ1bmN0aW9uSWQsIHtcbiAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25JZCxcbiAgICAgIGNvZGU6IGNsb3VkZnJvbnQuRnVuY3Rpb25Db2RlLmZyb21JbmxpbmUobGFtYmRhQ29kZSksXG4gICAgfSlcbiAgfVxufVxuIl19
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktaGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93ZWJhcHAvc2VjdXJpdHktaGVhZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBd0M7QUFDeEMseURBQXdEO0FBeUN4RCxTQUFTLGdCQUFnQixDQUFDLEtBQWE7SUFDckMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQzdCLE1BQU0sS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUE7S0FDekQ7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDN0IsTUFBTSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQTtLQUN6RDtJQUVELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUM5QixNQUFNLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO0tBQzFEO0lBRUQsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsNERBQTREO0FBQzVELFNBQVMsSUFBSSxDQUFDLEtBQWE7SUFDekIsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUMxQyxDQUFDO0FBRUQsU0FBUyxtQ0FBbUMsQ0FDMUMsYUFBMkM7SUFFM0MsTUFBTSxhQUFhLEdBQUc7UUFDcEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsT0FBTyxFQUFFLFFBQVE7UUFDakIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsY0FBYyxFQUFFLFFBQVE7UUFDeEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsV0FB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WUFDeEIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztTQUNyRCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUF2Q0Qsc0RBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5pbXBvcnQgKiBhcyBjbG91ZGZyb250IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWRmcm9udFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJhbWVPcHRpb25zSGVhZGVyIHtcbiAgdmFsdWU/OiBcIkRFTllcIiB8IFwiU0FNRU9SSUdJTlwiXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVmZXJyZXJQb2xpY3lIZWFkZXIge1xuICB2YWx1ZT86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmljdFRyYW5zcG9ydFNlY3VyaXR5SGVhZGVyIHtcbiAgbWF4QWdlPzogbnVtYmVyXG4gIGluY2x1ZGVTdWJEb21haW5zPzogYm9vbGVhblxuICBwcmVsb2FkPzogYm9vbGVhblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlciB7XG4gIHJlcG9ydE9ubHk/OiBib29sZWFuXG4gIGJhc2VVcmk/OiBzdHJpbmdcbiAgY2hpbGRTcmM/OiBzdHJpbmdcbiAgZGVmYXVsdFNyYz86IHN0cmluZ1xuICBmb250U3JjPzogc3RyaW5nXG4gIGZyYW1lU3JjPzogc3RyaW5nXG4gIGZvcm1BY3Rpb24/OiBzdHJpbmdcbiAgZnJhbWVBbmNlc3RvcnM/OiBzdHJpbmdcbiAgaW1nU3JjPzogc3RyaW5nXG4gIG1hbmlmZXN0U3JjPzogc3RyaW5nXG4gIG1lZGlhU3JjPzogc3RyaW5nXG4gIG9iamVjdFNyYz86IHN0cmluZ1xuICBzY3JpcHRTcmM/OiBzdHJpbmdcbiAgc3R5bGVTcmM/OiBzdHJpbmdcbiAgY29ubmVjdFNyYz86IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5SGVhZGVycyB7XG4gIGNvbnRlbnRTZWN1cml0eVBvbGljeT86IENvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlclxuICBzdHJpY3RUcmFuc3BvcnRTZWN1cml0eT86IFN0cmljdFRyYW5zcG9ydFNlY3VyaXR5SGVhZGVyXG4gIHJlZmVycmVyUG9saWN5PzogUmVmZXJyZXJQb2xpY3lIZWFkZXJcbiAgZnJhbWVPcHRpb25zPzogRnJhbWVPcHRpb25zSGVhZGVyXG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ3NwUGFyYW0ocGFyYW06IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChwYXJhbS5pbmRleE9mKCdcIicpICE9PSAtMSkge1xuICAgIHRocm93IEVycm9yKCdDU1Agb3ZlcnJpZGUgY29udGFpbnMgaW52YWxpZCBjaGFyYWN0ZXIgXCInKVxuICB9XG5cbiAgaWYgKHBhcmFtLmluZGV4T2YoXCI7XCIpICE9PSAtMSkge1xuICAgIHRocm93IEVycm9yKFwiQ1NQIG92ZXJyaWRlIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVyIDtcIilcbiAgfVxuXG4gIGlmIChwYXJhbS5pbmRleE9mKFwiXFxcXFwiKSAhPT0gLTEpIHtcbiAgICB0aHJvdyBFcnJvcihcIkNTUCBvdmVycmlkZSBjb250YWlucyBpbnZhbGlkIGNoYXJhY3RlciBcXFxcXCIpXG4gIH1cblxuICByZXR1cm4gcGFyYW1cbn1cblxuLyogUmVwbGFjZSBhbGwgd2hpdGVzcGFjZSBpbiBhIHN0cmluZyB3aXRoIGEgc2luZ2xlIHNwYWNlICovXG5mdW5jdGlvbiB0cmltKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdmFsdWUucmVwbGFjZSgvXFxzKy9nLCBcIiBcIikudHJpbSgpXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyKFxuICBoZWFkZXJPcHRpb25zPzogQ29udGVudFNlY3VyaXR5UG9saWN5SGVhZGVyLFxuKSB7XG4gIGNvbnN0IGRlZmF1bHRWYWx1ZXMgPSB7XG4gICAgYmFzZVVyaTogXCInc2VsZidcIixcbiAgICBjaGlsZFNyYzogXCInbm9uZSdcIixcbiAgICBjb25uZWN0U3JjOiBcIidzZWxmJ1wiLFxuICAgIGRlZmF1bHRTcmM6IFwiJ3NlbGYnXCIsXG4gICAgZm9udFNyYzogXCInc2VsZidcIixcbiAgICBmb3JtQWN0aW9uOiBcIidzZWxmJ1wiLFxuICAgIGZyYW1lQW5jZXN0b3JzOiBcIidub25lJ1wiLFxuICAgIGZyYW1lU3JjOiBcIidzZWxmJ1wiLFxuICAgIGltZ1NyYzogXCInc2VsZidcIixcbiAgICBtYW5pZmVzdFNyYzogXCInc2VsZidcIixcbiAgICBtZWRpYVNyYzogXCInc2VsZidcIixcbiAgICBvYmplY3RTcmM6IFwiJ25vbmUnXCIsXG4gICAgc2NyaXB0U3JjOiBcIidzZWxmJ1wiLFxuICAgIHN0eWxlU3JjOiBcIidzZWxmJ1wiLFxuICB9XG5cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAuLi5kZWZhdWx0VmFsdWVzLFxuICAgIC4uLmhlYWRlck9wdGlvbnMsXG4gIH1cblxuICBPYmplY3QudmFsdWVzKG9wdGlvbnMpLmZvckVhY2goXG4gICAgKHYpID0+IHR5cGVvZiB2ID09PSBcInN0cmluZ1wiICYmIHZhbGlkYXRlQ3NwUGFyYW0odiksXG4gIClcblxuICBsZXQgaGVhZGVyVmFsdWUgPSBcIlwiXG4gIGhlYWRlclZhbHVlICs9IGBiYXNlLXVyaSAke3RyaW0ob3B0aW9ucy5iYXNlVXJpKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgY2hpbGQtc3JjICR7dHJpbShvcHRpb25zLmNoaWxkU3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgY29ubmVjdC1zcmMgJHt0cmltKG9wdGlvbnMuY29ubmVjdFNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYGRlZmF1bHQtc3JjICR7dHJpbShvcHRpb25zLmRlZmF1bHRTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBmb250LXNyYyAke3RyaW0ob3B0aW9ucy5mb250U3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgZnJhbWUtc3JjICR7dHJpbShvcHRpb25zLmZyYW1lU3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgaW1nLXNyYyAke3RyaW0ob3B0aW9ucy5pbWdTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBtYW5pZmVzdC1zcmMgJHt0cmltKG9wdGlvbnMubWFuaWZlc3RTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBtZWRpYS1zcmMgJHt0cmltKG9wdGlvbnMubWVkaWFTcmMpfTtgXG4gIGhlYWRlclZhbHVlICs9IGBvYmplY3Qtc3JjICR7dHJpbShvcHRpb25zLm9iamVjdFNyYyl9O2BcbiAgaGVhZGVyVmFsdWUgKz0gYHNjcmlwdC1zcmMgJHt0cmltKG9wdGlvbnMuc2NyaXB0U3JjKX07YFxuICBoZWFkZXJWYWx1ZSArPSBgc3R5bGUtc3JjICR7dHJpbShvcHRpb25zLnN0eWxlU3JjKX07YFxuXG4gIHJldHVybiB0cmltKGhlYWRlclZhbHVlKVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5SGVhZGVyKFxuICBoZWFkZXJPcHRpb25zPzogU3RyaWN0VHJhbnNwb3J0U2VjdXJpdHlIZWFkZXIsXG4pIHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHtcbiAgICBtYXhBZ2U6IDYzMDcyMDAwLFxuICAgIGluY2x1ZGVTdWJEb21haW5zOiBmYWxzZSxcbiAgICBwcmVsb2FkOiBmYWxzZSxcbiAgfVxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIC4uLmRlZmF1bHRWYWx1ZXMsXG4gICAgLi4uaGVhZGVyT3B0aW9ucyxcbiAgfVxuICBsZXQgaGVhZGVyVmFsdWUgPSBcIlwiXG4gIGhlYWRlclZhbHVlICs9IGBtYXgtYWdlPSR7b3B0aW9ucy5tYXhBZ2V9O2BcbiAgaGVhZGVyVmFsdWUgKz0gb3B0aW9ucy5wcmVsb2FkID8gXCJwcmVsb2FkO1wiIDogXCJcIlxuICBoZWFkZXJWYWx1ZSArPSBvcHRpb25zLmluY2x1ZGVTdWJEb21haW5zID8gXCJpbmNsdWRlU3ViRG9tYWlucztcIiA6IFwiXCJcbiAgcmV0dXJuIHRyaW0oaGVhZGVyVmFsdWUpXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlUmVmZXJyZXJQb2xpY3lIZWFkZXIoaGVhZGVyT3B0aW9ucz86IFJlZmVycmVyUG9saWN5SGVhZGVyKSB7XG4gIGNvbnN0IGRlZmF1bHRWYWx1ZXMgPSB7XG4gICAgdmFsdWU6IFwic3RyaWN0LW9yaWdpbi13aGVuLWNyb3NzLW9yaWdpblwiLFxuICB9XG4gIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgLi4uZGVmYXVsdFZhbHVlcyxcbiAgICAuLi5oZWFkZXJPcHRpb25zLFxuICB9XG4gIHJldHVybiBvcHRpb25zLnZhbHVlXG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlRnJhbWVPcHRpb25zSGVhZGVyKGhlYWRlck9wdGlvbnM/OiBGcmFtZU9wdGlvbnNIZWFkZXIpIHtcbiAgY29uc3QgZGVmYXVsdFZhbHVlcyA9IHtcbiAgICB2YWx1ZTogXCJERU5ZXCIsXG4gIH1cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAuLi5kZWZhdWx0VmFsdWVzLFxuICAgIC4uLmhlYWRlck9wdGlvbnMsXG4gIH1cbiAgcmV0dXJuIHRyaW0ob3B0aW9ucy52YWx1ZSlcbn1cblxuZXhwb3J0IGNsYXNzIFdlYmFwcFNlY3VyaXR5SGVhZGVycyBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHNlY3VyaXR5SGVhZGVyc0Z1bmN0aW9uOiBjbG91ZGZyb250LkZ1bmN0aW9uXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2VjdXJpdHlIZWFkZXJzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgY29uc3QgY3NwSGVhZGVyTmFtZSA9IHByb3BzLmNvbnRlbnRTZWN1cml0eVBvbGljeT8ucmVwb3J0T25seVxuICAgICAgPyBcImNvbnRlbnQtc2VjdXJpdHktcG9saWN5LXJlcG9ydC1vbmx5XCJcbiAgICAgIDogXCJjb250ZW50LXNlY3VyaXR5LXBvbGljeVwiXG5cbiAgICBjb25zdCBjb250ZW50U2VjdXJpdHlQb2xpY3kgPSBnZW5lcmF0ZUNvbnRlbnRTZWN1cml0eVBvbGljeUhlYWRlcihcbiAgICAgIHByb3BzLmNvbnRlbnRTZWN1cml0eVBvbGljeSxcbiAgICApXG4gICAgY29uc3Qgc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHkgPSBnZW5lcmF0ZVN0cmljdFRyYW5zcG9ydFNlY3VyaXR5SGVhZGVyKFxuICAgICAgcHJvcHMuc3RyaWN0VHJhbnNwb3J0U2VjdXJpdHksXG4gICAgKVxuICAgIGNvbnN0IHJlZmVycmVyUG9saWN5ID0gZ2VuZXJhdGVSZWZlcnJlclBvbGljeUhlYWRlcihwcm9wcy5yZWZlcnJlclBvbGljeSlcbiAgICBjb25zdCBmcmFtZU9wdGlvbnMgPSBnZW5lcmF0ZUZyYW1lT3B0aW9uc0hlYWRlcihwcm9wcy5mcmFtZU9wdGlvbnMpXG5cbiAgICBjb25zdCBsYW1iZGFDb2RlID0gYGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQpIHtcbiAgICAgIHZhciByZXNwb25zZSA9IGV2ZW50LnJlc3BvbnNlO1xuICAgICAgdmFyIGhlYWRlcnMgPSByZXNwb25zZS5oZWFkZXJzO1xuICAgICAgaGVhZGVyc1sncmVmZXJyZXItcG9saWN5J10gPSB7dmFsdWU6ICcke3JlZmVycmVyUG9saWN5fSd9O1xuICAgICAgaGVhZGVyc1snc3RyaWN0LXRyYW5zcG9ydC1zZWN1cml0eSddID0ge3ZhbHVlOiAnJHtzdHJpY3RUcmFuc3BvcnRTZWN1cml0eX0nfTtcbiAgICAgIGhlYWRlcnNbJ3gtY29udGVudC10eXBlLW9wdGlvbnMnXSA9IHt2YWx1ZTogJ25vc25pZmYnfTtcbiAgICAgIGhlYWRlcnNbJ3gtZnJhbWUtb3B0aW9ucyddID0ge3ZhbHVlOiAnJHtmcmFtZU9wdGlvbnN9J307XG4gICAgICBoZWFkZXJzWyd4LXhzcy1wcm90ZWN0aW9uJ10gPSB7dmFsdWU6ICcxOyBtb2RlPWJsb2NrJ307XG4gICAgICBoZWFkZXJzWycke2NzcEhlYWRlck5hbWV9J10gPSB7dmFsdWU6IFwiJHtjb250ZW50U2VjdXJpdHlQb2xpY3l9XCJ9O1xuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1gXG5cbiAgICAvLyBIYXJkY29kZWQgbG9naWNhbCBJRCBkdWUgdG8gYnVnOiBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzE1NTIzXG4gICAgY29uc3QgZnVuY3Rpb25JZCA9IGBGdW5jdGlvbiR7dGhpcy5ub2RlLmFkZHJ9YFxuXG4gICAgdGhpcy5zZWN1cml0eUhlYWRlcnNGdW5jdGlvbiA9IG5ldyBjbG91ZGZyb250LkZ1bmN0aW9uKHRoaXMsIGZ1bmN0aW9uSWQsIHtcbiAgICAgIGZ1bmN0aW9uTmFtZTogZnVuY3Rpb25JZCxcbiAgICAgIGNvZGU6IGNsb3VkZnJvbnQuRnVuY3Rpb25Db2RlLmZyb21JbmxpbmUobGFtYmRhQ29kZSksXG4gICAgfSlcbiAgfVxufVxuIl19
|