@fjall/components-infrastructure 0.1.5 → 0.1.10
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/dist/lib/config/aws/costAllocationTags.js +58 -0
- package/dist/lib/config/aws/delegateHostedZoneRole.d.ts +5 -0
- package/dist/lib/config/aws/delegateHostedZoneRole.js +77 -0
- package/dist/lib/config/aws/identityCenter.js +107 -0
- package/dist/lib/config/aws/index.d.ts +8 -0
- package/dist/lib/config/aws/index.js +25 -0
- package/dist/lib/config/aws/ipam.d.ts +5 -0
- package/dist/lib/config/aws/ipam.js +30 -0
- package/dist/lib/config/aws/ipamDelegateAdmin.d.ts +9 -0
- package/dist/lib/config/aws/ipamDelegateAdmin.js +62 -0
- package/dist/lib/config/aws/ipamPool.d.ts +5 -0
- package/dist/lib/config/aws/ipamPool.js +56 -0
- package/dist/lib/config/aws/{base/iamIdentityCenter.d.ts → ipamPoolResourceShare.d.ts} +2 -2
- package/dist/lib/config/aws/ipamPoolResourceShare.js +42 -0
- package/dist/lib/config/aws/organisationId.d.ts +5 -0
- package/dist/lib/config/aws/organisationId.js +40 -0
- package/dist/lib/config/aws/{base/ipamPool.d.ts → ramEnableSharing.d.ts} +1 -1
- package/dist/lib/config/aws/ramEnableSharing.js +35 -0
- package/dist/lib/config/aws/{base/ipam.d.ts → users.d.ts} +1 -1
- package/dist/lib/config/aws/users.js +126 -0
- package/dist/lib/config/fjall/hostedZones/fjall.io.d.ts +10 -0
- package/dist/lib/config/fjall/hostedZones/fjall.io.js +25 -0
- package/dist/lib/index.d.ts +3 -0
- package/dist/lib/index.js +4 -1
- package/dist/lib/patterns/aws/basicApp.d.ts +47 -0
- package/dist/lib/patterns/aws/basicApp.js +90 -0
- package/dist/lib/patterns/aws/buildkite.d.ts +50 -0
- package/dist/lib/patterns/aws/buildkite.js +344 -0
- package/dist/lib/patterns/aws/index.d.ts +2 -2
- package/dist/lib/patterns/aws/index.js +3 -3
- package/dist/lib/patterns/aws/{multiEnvironmentOrganisation.d.ts → managedOrganisation.d.ts} +8 -10
- package/dist/lib/patterns/aws/managedOrganisation.js +159 -0
- package/dist/lib/resources/aws/awsStack.d.ts +5 -0
- package/dist/lib/resources/aws/awsStack.js +11 -1
- package/dist/lib/resources/aws/compute/ecs.d.ts +76 -0
- package/dist/lib/resources/aws/compute/ecs.js +265 -0
- package/dist/lib/resources/aws/compute/lambda.d.ts +12 -5
- package/dist/lib/resources/aws/compute/lambda.js +23 -5
- package/dist/lib/resources/aws/constant/ecr.js +4 -3
- package/dist/lib/resources/aws/constant/vpc.d.ts +10 -2
- package/dist/lib/resources/aws/constant/vpc.js +18 -8
- package/dist/lib/resources/aws/iam/identityCenter/assignment.js +13 -0
- package/dist/lib/resources/aws/iam/identityCenter/group.js +14 -0
- package/dist/lib/resources/aws/iam/identityCenter/permissionSet.js +13 -0
- package/dist/lib/resources/aws/iam/index.d.ts +5 -0
- package/dist/lib/resources/aws/iam/index.js +22 -0
- package/dist/lib/resources/aws/iam/instanceProfile.d.ts +5 -0
- package/dist/lib/resources/aws/iam/instanceProfile.js +13 -0
- package/dist/lib/resources/aws/iam/managedPolicy.d.ts +5 -0
- package/dist/lib/resources/aws/iam/managedPolicy.js +14 -0
- package/dist/lib/resources/aws/iam/policy.d.ts +5 -0
- package/dist/lib/resources/aws/iam/policy.js +13 -0
- package/dist/lib/resources/aws/iam/role.js +2 -7
- package/dist/lib/resources/aws/iam/securityGroup.d.ts +5 -0
- package/dist/lib/resources/aws/iam/securityGroup.js +14 -0
- package/dist/lib/resources/aws/index.d.ts +1 -0
- package/dist/lib/resources/aws/index.js +18 -0
- package/dist/lib/resources/aws/logging/logGroup.d.ts +5 -1
- package/dist/lib/resources/aws/logging/logGroup.js +4 -5
- package/dist/lib/resources/aws/networking/hostedZone.d.ts +19 -3
- package/dist/lib/resources/aws/networking/hostedZone.js +59 -11
- package/dist/lib/resources/aws/networking/index.d.ts +3 -0
- package/dist/lib/resources/aws/networking/index.js +20 -0
- package/dist/lib/resources/aws/networking/ipam.d.ts +2 -2
- package/dist/lib/resources/aws/networking/ipam.js +3 -3
- package/dist/lib/resources/aws/networking/ipamPool.d.ts +3 -7
- package/dist/lib/resources/aws/networking/ipamPool.js +5 -27
- package/dist/lib/resources/aws/store/alias.d.ts +5 -0
- package/dist/lib/resources/aws/store/alias.js +13 -0
- package/dist/lib/resources/aws/store/database.d.ts +7 -2
- package/dist/lib/resources/aws/store/database.js +9 -5
- package/dist/lib/resources/aws/store/index.d.ts +7 -0
- package/dist/lib/resources/aws/store/index.js +24 -0
- package/dist/lib/resources/aws/store/kms.d.ts +14 -0
- package/dist/lib/resources/aws/store/kms.js +34 -0
- package/dist/lib/resources/aws/store/parameter.d.ts +26 -0
- package/dist/lib/resources/aws/store/parameter.js +100 -0
- package/dist/lib/resources/aws/store/rds.d.ts +15 -15
- package/dist/lib/resources/aws/store/rds.js +110 -68
- package/dist/lib/resources/aws/store/s3.d.ts +11 -0
- package/dist/lib/resources/aws/store/s3.js +43 -0
- package/dist/lib/resources/aws/store/secret.d.ts +26 -0
- package/dist/lib/resources/aws/store/secret.js +55 -0
- package/dist/lib/resources/aws/utilities/awsCustomResource.js +1 -6
- package/dist/lib/resources/aws/utilities/cfnOutput.js +2 -5
- package/dist/lib/resources/aws/utilities/customResource.d.ts +20 -3
- package/dist/lib/resources/aws/utilities/customResource.js +24 -5
- package/dist/lib/resources/aws/utilities/customResourceProvider.js +1 -5
- package/dist/lib/resources/aws/utilities/resourceShare.d.ts +5 -0
- package/dist/lib/resources/aws/utilities/resourceShare.js +13 -0
- package/dist/lib/resources/index.d.ts +1 -0
- package/dist/lib/resources/index.js +18 -0
- package/dist/lib/utils/getAccountId.d.ts +1 -0
- package/dist/lib/utils/getAccountId.js +11 -0
- package/dist/lib/utils/getConfig.d.ts +4 -3
- package/dist/lib/utils/getConfig.js +26 -12
- package/dist/lib/utils/getStackOutput.d.ts +1 -0
- package/dist/lib/utils/getStackOutput.js +20 -0
- package/dist/lib/utils/index.d.ts +1 -0
- package/dist/lib/utils/index.js +18 -0
- package/dist/lib/utils/tagResource.d.ts +4 -0
- package/dist/lib/utils/tagResource.js +10 -0
- package/package.json +23 -18
- package/dist/lib/config/aws/base/costAllocationTags.js +0 -57
- package/dist/lib/config/aws/base/iamIdentityCenter.js +0 -86
- package/dist/lib/config/aws/base/identityCenter.js +0 -90
- package/dist/lib/config/aws/base/ipam.js +0 -29
- package/dist/lib/config/aws/base/ipamPool.js +0 -46
- package/dist/lib/examples/custom-resources/lambda/aws-cost-allocation-tags/awsCostAllocationTagsLambda.d.ts +0 -2
- package/dist/lib/examples/custom-resources/lambda/aws-cost-allocation-tags/awsCostAllocationTagsLambda.js +0 -62
- package/dist/lib/examples/cutomResourceExample.d.ts +0 -6
- package/dist/lib/examples/cutomResourceExample.js +0 -45
- package/dist/lib/patterns/aws/customResource.d.ts +0 -7
- package/dist/lib/patterns/aws/customResource.js +0 -28
- package/dist/lib/patterns/aws/multiEnvironmentOrganisation.js +0 -107
- package/dist/lib/patterns/aws/webApp.d.ts +0 -17
- package/dist/lib/patterns/aws/webApp.js +0 -36
- package/dist/lib/resources/aws/compute/__tests__/fargate.test.d.ts +0 -1
- package/dist/lib/resources/aws/compute/__tests__/fargate.test.js +0 -21
- package/dist/lib/resources/aws/compute/fargate.d.ts +0 -23
- package/dist/lib/resources/aws/compute/fargate.js +0 -50
- package/dist/lib/resources/aws/constant/__tests__/vpc.test.d.ts +0 -1
- package/dist/lib/resources/aws/constant/__tests__/vpc.test.js +0 -13
- package/dist/lib/resources/aws/iam/assignment.js +0 -13
- package/dist/lib/resources/aws/iam/group.js +0 -15
- package/dist/lib/resources/aws/iam/iamRole.d.ts +0 -5
- package/dist/lib/resources/aws/iam/iamRole.js +0 -18
- package/dist/lib/resources/aws/iam/permissionSet.js +0 -13
- /package/dist/lib/config/aws/{base/costAllocationTags.d.ts → costAllocationTags.d.ts} +0 -0
- /package/dist/lib/config/aws/{base/identityCenter.d.ts → identityCenter.d.ts} +0 -0
- /package/dist/lib/resources/aws/iam/{assignment.d.ts → identityCenter/assignment.d.ts} +0 -0
- /package/dist/lib/resources/aws/iam/{group.d.ts → identityCenter/group.d.ts} +0 -0
- /package/dist/lib/resources/aws/iam/{permissionSet.d.ts → identityCenter/permissionSet.d.ts} +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InstanceProfile = void 0;
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
class InstanceProfile extends aws_cdk_lib_1.aws_iam.CfnInstanceProfile {
|
|
6
|
+
constructor(scope, id, props) {
|
|
7
|
+
super(scope, id, {
|
|
8
|
+
...props
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.InstanceProfile = InstanceProfile;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2VQcm9maWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvaWFtL2luc3RhbmNlUHJvZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2Q0FBNkM7QUFFN0MsTUFBYSxlQUFnQixTQUFRLHFCQUFHLENBQUMsa0JBQWtCO0lBQ3pELFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQWtDO1FBRWxDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBVkQsMENBVUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgYXdzX2lhbSBhcyBpYW0gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuZXhwb3J0IGNsYXNzIEluc3RhbmNlUHJvZmlsZSBleHRlbmRzIGlhbS5DZm5JbnN0YW5jZVByb2ZpbGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IGlhbS5DZm5JbnN0YW5jZVByb2ZpbGVQcm9wc1xuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ManagedPolicy = void 0;
|
|
4
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
5
|
+
class ManagedPolicy extends iam.ManagedPolicy {
|
|
6
|
+
constructor(scope, id, props) {
|
|
7
|
+
super(scope, id, {
|
|
8
|
+
...props,
|
|
9
|
+
description: props.description || `${id} IAM Managed Policy`
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.ManagedPolicy = ManagedPolicy;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlZFBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL2lhbS9tYW5hZ2VkUG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUEyQztBQUczQyxNQUFhLGFBQWMsU0FBUSxHQUFHLENBQUMsYUFBYTtJQUNsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCO1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLO1lBQ1IsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksR0FBRyxFQUFFLHFCQUFxQjtTQUM3RCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFQRCxzQ0FPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGNsYXNzIE1hbmFnZWRQb2xpY3kgZXh0ZW5kcyBpYW0uTWFuYWdlZFBvbGljeSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBpYW0uTWFuYWdlZFBvbGljeVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbiB8fCBgJHtpZH0gSUFNIE1hbmFnZWQgUG9saWN5YFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Policy = void 0;
|
|
4
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
5
|
+
class Policy extends iam.Policy {
|
|
6
|
+
constructor(scope, id, props) {
|
|
7
|
+
super(scope, id, {
|
|
8
|
+
...props
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.Policy = Policy;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvaWFtL3BvbGljeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBMkM7QUFHM0MsTUFBYSxNQUFPLFNBQVEsR0FBRyxDQUFDLE1BQU07SUFDcEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQU5ELHdCQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgY2xhc3MgUG9saWN5IGV4dGVuZHMgaWFtLlBvbGljeSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBpYW0uUG9saWN5UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -5,14 +5,9 @@ const iam = require("aws-cdk-lib/aws-iam");
|
|
|
5
5
|
class Role extends iam.Role {
|
|
6
6
|
constructor(scope, id, props) {
|
|
7
7
|
super(scope, id, {
|
|
8
|
-
...props
|
|
9
|
-
assumedBy: props.assumedBy,
|
|
10
|
-
description: props.description,
|
|
11
|
-
inlinePolicies: props.inlinePolicies,
|
|
12
|
-
path: props.path,
|
|
13
|
-
roleName: props.roleName
|
|
8
|
+
...props // https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html
|
|
14
9
|
});
|
|
15
10
|
}
|
|
16
11
|
}
|
|
17
12
|
exports.Role = Role;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL2lhbS9yb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUEyQztBQUczQyxNQUFhLElBQUssU0FBUSxHQUFHLENBQUMsSUFBSTtJQUNoQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLLENBQUMsNEVBQTRFO1NBQ3RGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQU5ELG9CQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaWFtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgY2xhc3MgUm9sZSBleHRlbmRzIGlhbS5Sb2xlIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IGlhbS5Sb2xlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jZGsvYXBpL3YyL2RvY3MvYXdzLWNkay1saWIuYXdzX2lhbS5Sb2xlLmh0bWxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SecurityGroup = void 0;
|
|
4
|
+
const ec2 = require("aws-cdk-lib/aws-ec2");
|
|
5
|
+
class SecurityGroup extends ec2.SecurityGroup {
|
|
6
|
+
constructor(scope, id, props) {
|
|
7
|
+
super(scope, id, {
|
|
8
|
+
...props,
|
|
9
|
+
description: props.description || `${id} Security Group`
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.SecurityGroup = SecurityGroup;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHlHcm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL2lhbS9zZWN1cml0eUdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUEyQztBQUczQyxNQUFhLGFBQWMsU0FBUSxHQUFHLENBQUMsYUFBYTtJQUNsRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCO1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLO1lBQ1IsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLElBQUksR0FBRyxFQUFFLGlCQUFpQjtTQUN6RCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFQRCxzQ0FPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGNsYXNzIFNlY3VyaXR5R3JvdXAgZXh0ZW5kcyBlYzIuU2VjdXJpdHlHcm91cCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBlYzIuU2VjdXJpdHlHcm91cFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbiB8fCBgJHtpZH0gU2VjdXJpdHkgR3JvdXBgXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./networking";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./networking"), exports);
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbmV0d29ya2luZ1wiO1xuIl19
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { Stack, StackProps } from "aws-cdk-lib";
|
|
2
2
|
import * as logs from "aws-cdk-lib/aws-logs";
|
|
3
3
|
import { Construct } from "constructs";
|
|
4
|
+
interface LogGroupStackProps extends StackProps {
|
|
5
|
+
logGroupName: string;
|
|
6
|
+
}
|
|
4
7
|
export declare class LogGroup extends logs.LogGroup {
|
|
5
8
|
constructor(scope: Construct, id: string, props?: logs.LogGroupProps);
|
|
6
9
|
}
|
|
7
10
|
export declare class LogGroupStack extends Stack {
|
|
8
|
-
constructor(scope: Construct, id: string,
|
|
11
|
+
constructor(scope: Construct, id: string, props: LogGroupStackProps);
|
|
9
12
|
}
|
|
13
|
+
export {};
|
|
@@ -6,19 +6,18 @@ const logs = require("aws-cdk-lib/aws-logs");
|
|
|
6
6
|
class LogGroup extends logs.LogGroup {
|
|
7
7
|
constructor(scope, id, props) {
|
|
8
8
|
super(scope, id, {
|
|
9
|
-
...props
|
|
10
|
-
logGroupName: props?.logGroupName
|
|
9
|
+
...props // https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_logs.LogGroup
|
|
11
10
|
});
|
|
12
11
|
}
|
|
13
12
|
}
|
|
14
13
|
exports.LogGroup = LogGroup;
|
|
15
14
|
class LogGroupStack extends aws_cdk_lib_1.Stack {
|
|
16
|
-
constructor(scope, id,
|
|
15
|
+
constructor(scope, id, props) {
|
|
17
16
|
super(scope, id, props);
|
|
18
17
|
new LogGroup(this, id, {
|
|
19
|
-
logGroupName:
|
|
18
|
+
logGroupName: props.logGroupName
|
|
20
19
|
});
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
22
|
exports.LogGroupStack = LogGroupStack;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nR3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9sb2dnaW5nL2xvZ0dyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFnRDtBQUNoRCw2Q0FBNkM7QUFPN0MsTUFBYSxRQUFTLFNBQVEsSUFBSSxDQUFDLFFBQVE7SUFDekMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSyxDQUFDLDRFQUE0RTtTQUN0RixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFORCw0QkFNQztBQUVELE1BQWEsYUFBYyxTQUFRLG1CQUFLO0lBQ3RDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNyQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBUkQsc0NBUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0ICogYXMgbG9ncyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmludGVyZmFjZSBMb2dHcm91cFN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgbG9nR3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMb2dHcm91cCBleHRlbmRzIGxvZ3MuTG9nR3JvdXAge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IGxvZ3MuTG9nR3JvdXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9hcGkvdjIvZG9jcy9hd3MtY2RrLWxpYi5hd3NfbG9ncy5Mb2dHcm91cFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMb2dHcm91cFN0YWNrIGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTG9nR3JvdXBTdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBuZXcgTG9nR3JvdXAodGhpcywgaWQsIHtcbiAgICAgIGxvZ0dyb3VwTmFtZTogcHJvcHMubG9nR3JvdXBOYW1lXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import { Construct } from "constructs";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
export interface hostedZoneProps {
|
|
3
|
+
zoneName: string;
|
|
4
|
+
}
|
|
5
|
+
export interface subdomainHostedZoneProps {
|
|
6
|
+
delegatedZone: string;
|
|
7
|
+
parentHostedZoneName: string;
|
|
8
|
+
}
|
|
9
|
+
export interface importedHostedZoneProps {
|
|
10
|
+
hostedZoneId: string;
|
|
11
|
+
hostedZoneName: string;
|
|
12
|
+
}
|
|
13
|
+
export declare class HostedZone extends Construct {
|
|
14
|
+
constructor(scope: Construct, id: string, props: hostedZoneProps);
|
|
15
|
+
}
|
|
16
|
+
export declare class SubdomainHostedZone extends Construct {
|
|
17
|
+
constructor(scope: Construct, id: string, props: subdomainHostedZoneProps);
|
|
18
|
+
}
|
|
19
|
+
export declare class ImportedHostedZone extends Construct {
|
|
20
|
+
constructor(scope: Construct, id: string, props: importedHostedZoneProps);
|
|
5
21
|
}
|
|
@@ -1,20 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HostedZone = void 0;
|
|
3
|
+
exports.ImportedHostedZone = exports.SubdomainHostedZone = exports.HostedZone = void 0;
|
|
4
|
+
const constructs_1 = require("constructs");
|
|
4
5
|
const route53 = require("aws-cdk-lib/aws-route53");
|
|
5
|
-
const logGroup_1 = require("../logging/logGroup");
|
|
6
6
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
7
|
-
|
|
7
|
+
const iam_1 = require("../iam");
|
|
8
|
+
const getAccountId_1 = require("../../../utils/getAccountId");
|
|
9
|
+
class HostedZone extends constructs_1.Construct {
|
|
8
10
|
constructor(scope, id, props) {
|
|
9
|
-
super(scope, id
|
|
10
|
-
|
|
11
|
-
zoneName: props.zoneName
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
super(scope, id);
|
|
12
|
+
const hostedZone = new route53.HostedZone(this, "FjallHostedZone", {
|
|
13
|
+
zoneName: props.zoneName
|
|
14
|
+
});
|
|
15
|
+
const role = iam_1.Role.fromRoleArn(this, "delegateHostedZoneRole", aws_cdk_lib_1.Fn.importValue("DelegateHostedZoneRoleArn"));
|
|
16
|
+
hostedZone.grantDelegation(role);
|
|
17
|
+
new aws_cdk_lib_1.CfnOutput(this, `${props.zoneName.split(".").join("")}HostedZoneId`, {
|
|
18
|
+
key: "HostedZoneId",
|
|
19
|
+
value: hostedZone.hostedZoneId,
|
|
20
|
+
exportName: `${props.zoneName.split(".").join("")}HostedZoneId`
|
|
16
21
|
});
|
|
17
22
|
}
|
|
18
23
|
}
|
|
19
24
|
exports.HostedZone = HostedZone;
|
|
20
|
-
|
|
25
|
+
class SubdomainHostedZone extends constructs_1.Construct {
|
|
26
|
+
constructor(scope, id, props) {
|
|
27
|
+
super(scope, id);
|
|
28
|
+
// DelegationRoleArn
|
|
29
|
+
const delegationRoleArn = aws_cdk_lib_1.Stack.of(this).formatArn({
|
|
30
|
+
account: (0, getAccountId_1.default)("production") || "TODO: Fail Gracefully",
|
|
31
|
+
region: "",
|
|
32
|
+
resource: "role",
|
|
33
|
+
resourceName: "DelegateHostedZoneRole",
|
|
34
|
+
service: "iam"
|
|
35
|
+
});
|
|
36
|
+
// Delegate Hosted Zone Role
|
|
37
|
+
const hostedZoneDelegationRole = iam_1.Role.fromRoleArn(this, "hostedZoneDelegationRole", delegationRoleArn);
|
|
38
|
+
// Subdomains
|
|
39
|
+
const delegatedHostedZone = new route53.HostedZone(this, `${props.delegatedZone}HostedZone`, {
|
|
40
|
+
zoneName: props.delegatedZone
|
|
41
|
+
});
|
|
42
|
+
new route53.CrossAccountZoneDelegationRecord(this, `${props.delegatedZone}DelegationRole`, {
|
|
43
|
+
delegationRole: hostedZoneDelegationRole,
|
|
44
|
+
delegatedZone: delegatedHostedZone,
|
|
45
|
+
parentHostedZoneName: props.parentHostedZoneName
|
|
46
|
+
});
|
|
47
|
+
new aws_cdk_lib_1.CfnOutput(this, `${props.delegatedZone.split(".").join("")}HostedZoneId`, {
|
|
48
|
+
key: "HostedZoneId",
|
|
49
|
+
value: delegatedHostedZone.hostedZoneId,
|
|
50
|
+
exportName: `${props.delegatedZone.split(".").join("")}HostedZoneId`
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.SubdomainHostedZone = SubdomainHostedZone;
|
|
55
|
+
class ImportedHostedZone extends constructs_1.Construct {
|
|
56
|
+
constructor(scope, id, props) {
|
|
57
|
+
super(scope, id);
|
|
58
|
+
const importedHostedZone = route53.HostedZone.fromHostedZoneAttributes(this, "importedHostedZone", {
|
|
59
|
+
hostedZoneId: props.hostedZoneId,
|
|
60
|
+
zoneName: props.hostedZoneName
|
|
61
|
+
});
|
|
62
|
+
// Delegate Hosted Zone Role
|
|
63
|
+
const role = iam_1.Role.fromRoleArn(this, "delegateHostedZoneRole", aws_cdk_lib_1.Fn.importValue("DelegateHostedZoneRoleArn"));
|
|
64
|
+
importedHostedZone.grantDelegation(role);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.ImportedHostedZone = ImportedHostedZone;
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkWm9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL25ldHdvcmtpbmcvaG9zdGVkWm9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFDdkMsbURBQW1EO0FBQ25ELDZDQUFtRDtBQUNuRCxnQ0FBOEI7QUFDOUIsOERBQXVEO0FBY3ZELE1BQWEsVUFBVyxTQUFRLHNCQUFTO0lBQ3ZDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQ2pFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtTQUN6QixDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksR0FBRyxVQUFJLENBQUMsV0FBVyxDQUMzQixJQUFJLEVBQ0osd0JBQXdCLEVBQ3hCLGdCQUFFLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUFDLENBQzVDLENBQUM7UUFFRixVQUFVLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWpDLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRTtZQUN2RSxHQUFHLEVBQUUsY0FBYztZQUNuQixLQUFLLEVBQUUsVUFBVSxDQUFDLFlBQVk7WUFDOUIsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjO1NBQ2hFLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXRCRCxnQ0FzQkM7QUFFRCxNQUFhLG1CQUFvQixTQUFRLHNCQUFTO0lBQ2hELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBK0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixvQkFBb0I7UUFDcEIsTUFBTSxpQkFBaUIsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDakQsT0FBTyxFQUFFLElBQUEsc0JBQVksRUFBQyxZQUFZLENBQUMsSUFBSSx1QkFBdUI7WUFDOUQsTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsTUFBTTtZQUNoQixZQUFZLEVBQUUsd0JBQXdCO1lBQ3RDLE9BQU8sRUFBRSxLQUFLO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsNEJBQTRCO1FBQzVCLE1BQU0sd0JBQXdCLEdBQUcsVUFBSSxDQUFDLFdBQVcsQ0FDL0MsSUFBSSxFQUNKLDBCQUEwQixFQUMxQixpQkFBaUIsQ0FDbEIsQ0FBQztRQUVGLGFBQWE7UUFDYixNQUFNLG1CQUFtQixHQUFHLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FDaEQsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLGFBQWEsWUFBWSxFQUNsQztZQUNFLFFBQVEsRUFBRSxLQUFLLENBQUMsYUFBYTtTQUM5QixDQUNGLENBQUM7UUFFRixJQUFJLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FDMUMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLGFBQWEsZ0JBQWdCLEVBQ3RDO1lBQ0UsY0FBYyxFQUFFLHdCQUF3QjtZQUN4QyxhQUFhLEVBQUUsbUJBQW1CO1lBQ2xDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0I7U0FDakQsQ0FDRixDQUFDO1FBRUYsSUFBSSx1QkFBUyxDQUNYLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUN4RDtZQUNFLEdBQUcsRUFBRSxjQUFjO1lBQ25CLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxZQUFZO1lBQ3ZDLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYztTQUNyRSxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFqREQsa0RBaURDO0FBRUQsTUFBYSxrQkFBbUIsU0FBUSxzQkFBUztJQUMvQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3RFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUNwRSxJQUFJLEVBQ0osb0JBQW9CLEVBQ3BCO1lBQ0UsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLFFBQVEsRUFBRSxLQUFLLENBQUMsY0FBYztTQUMvQixDQUNGLENBQUM7UUFFRiw0QkFBNEI7UUFDNUIsTUFBTSxJQUFJLEdBQUcsVUFBSSxDQUFDLFdBQVcsQ0FDM0IsSUFBSSxFQUNKLHdCQUF3QixFQUN4QixnQkFBRSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsQ0FBQyxDQUM1QyxDQUFDO1FBRUYsa0JBQWtCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQXJCRCxnREFxQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgcm91dGU1MyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7IENmbk91dHB1dCwgRm4sIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IGdldEFjY291bnRJZCBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvZ2V0QWNjb3VudElkXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgaG9zdGVkWm9uZVByb3BzIHtcbiAgem9uZU5hbWU6IHN0cmluZztcbn1cbmV4cG9ydCBpbnRlcmZhY2Ugc3ViZG9tYWluSG9zdGVkWm9uZVByb3BzIHtcbiAgZGVsZWdhdGVkWm9uZTogc3RyaW5nO1xuICBwYXJlbnRIb3N0ZWRab25lTmFtZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBpbXBvcnRlZEhvc3RlZFpvbmVQcm9wcyB7XG4gIGhvc3RlZFpvbmVJZDogc3RyaW5nO1xuICBob3N0ZWRab25lTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgSG9zdGVkWm9uZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBob3N0ZWRab25lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgaG9zdGVkWm9uZSA9IG5ldyByb3V0ZTUzLkhvc3RlZFpvbmUodGhpcywgXCJGamFsbEhvc3RlZFpvbmVcIiwge1xuICAgICAgem9uZU5hbWU6IHByb3BzLnpvbmVOYW1lXG4gICAgfSk7XG5cbiAgICBjb25zdCByb2xlID0gUm9sZS5mcm9tUm9sZUFybihcbiAgICAgIHRoaXMsXG4gICAgICBcImRlbGVnYXRlSG9zdGVkWm9uZVJvbGVcIixcbiAgICAgIEZuLmltcG9ydFZhbHVlKFwiRGVsZWdhdGVIb3N0ZWRab25lUm9sZUFyblwiKVxuICAgICk7XG5cbiAgICBob3N0ZWRab25lLmdyYW50RGVsZWdhdGlvbihyb2xlKTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYCR7cHJvcHMuem9uZU5hbWUuc3BsaXQoXCIuXCIpLmpvaW4oXCJcIil9SG9zdGVkWm9uZUlkYCwge1xuICAgICAga2V5OiBcIkhvc3RlZFpvbmVJZFwiLFxuICAgICAgdmFsdWU6IGhvc3RlZFpvbmUuaG9zdGVkWm9uZUlkLFxuICAgICAgZXhwb3J0TmFtZTogYCR7cHJvcHMuem9uZU5hbWUuc3BsaXQoXCIuXCIpLmpvaW4oXCJcIil9SG9zdGVkWm9uZUlkYFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTdWJkb21haW5Ib3N0ZWRab25lIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IHN1YmRvbWFpbkhvc3RlZFpvbmVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBEZWxlZ2F0aW9uUm9sZUFyblxuICAgIGNvbnN0IGRlbGVnYXRpb25Sb2xlQXJuID0gU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgIGFjY291bnQ6IGdldEFjY291bnRJZChcInByb2R1Y3Rpb25cIikgfHwgXCJUT0RPOiBGYWlsIEdyYWNlZnVsbHlcIixcbiAgICAgIHJlZ2lvbjogXCJcIixcbiAgICAgIHJlc291cmNlOiBcInJvbGVcIixcbiAgICAgIHJlc291cmNlTmFtZTogXCJEZWxlZ2F0ZUhvc3RlZFpvbmVSb2xlXCIsXG4gICAgICBzZXJ2aWNlOiBcImlhbVwiXG4gICAgfSk7XG5cbiAgICAvLyBEZWxlZ2F0ZSBIb3N0ZWQgWm9uZSBSb2xlXG4gICAgY29uc3QgaG9zdGVkWm9uZURlbGVnYXRpb25Sb2xlID0gUm9sZS5mcm9tUm9sZUFybihcbiAgICAgIHRoaXMsXG4gICAgICBcImhvc3RlZFpvbmVEZWxlZ2F0aW9uUm9sZVwiLFxuICAgICAgZGVsZWdhdGlvblJvbGVBcm5cbiAgICApO1xuXG4gICAgLy8gU3ViZG9tYWluc1xuICAgIGNvbnN0IGRlbGVnYXRlZEhvc3RlZFpvbmUgPSBuZXcgcm91dGU1My5Ib3N0ZWRab25lKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRlbGVnYXRlZFpvbmV9SG9zdGVkWm9uZWAsXG4gICAgICB7XG4gICAgICAgIHpvbmVOYW1lOiBwcm9wcy5kZWxlZ2F0ZWRab25lXG4gICAgICB9XG4gICAgKTtcblxuICAgIG5ldyByb3V0ZTUzLkNyb3NzQWNjb3VudFpvbmVEZWxlZ2F0aW9uUmVjb3JkKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRlbGVnYXRlZFpvbmV9RGVsZWdhdGlvblJvbGVgLFxuICAgICAge1xuICAgICAgICBkZWxlZ2F0aW9uUm9sZTogaG9zdGVkWm9uZURlbGVnYXRpb25Sb2xlLFxuICAgICAgICBkZWxlZ2F0ZWRab25lOiBkZWxlZ2F0ZWRIb3N0ZWRab25lLFxuICAgICAgICBwYXJlbnRIb3N0ZWRab25lTmFtZTogcHJvcHMucGFyZW50SG9zdGVkWm9uZU5hbWVcbiAgICAgIH1cbiAgICApO1xuXG4gICAgbmV3IENmbk91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kZWxlZ2F0ZWRab25lLnNwbGl0KFwiLlwiKS5qb2luKFwiXCIpfUhvc3RlZFpvbmVJZGAsXG4gICAgICB7XG4gICAgICAgIGtleTogXCJIb3N0ZWRab25lSWRcIixcbiAgICAgICAgdmFsdWU6IGRlbGVnYXRlZEhvc3RlZFpvbmUuaG9zdGVkWm9uZUlkLFxuICAgICAgICBleHBvcnROYW1lOiBgJHtwcm9wcy5kZWxlZ2F0ZWRab25lLnNwbGl0KFwiLlwiKS5qb2luKFwiXCIpfUhvc3RlZFpvbmVJZGBcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbXBvcnRlZEhvc3RlZFpvbmUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogaW1wb3J0ZWRIb3N0ZWRab25lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIGNvbnN0IGltcG9ydGVkSG9zdGVkWm9uZSA9IHJvdXRlNTMuSG9zdGVkWm9uZS5mcm9tSG9zdGVkWm9uZUF0dHJpYnV0ZXMoXG4gICAgICB0aGlzLFxuICAgICAgXCJpbXBvcnRlZEhvc3RlZFpvbmVcIixcbiAgICAgIHtcbiAgICAgICAgaG9zdGVkWm9uZUlkOiBwcm9wcy5ob3N0ZWRab25lSWQsXG4gICAgICAgIHpvbmVOYW1lOiBwcm9wcy5ob3N0ZWRab25lTmFtZVxuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBEZWxlZ2F0ZSBIb3N0ZWQgWm9uZSBSb2xlXG4gICAgY29uc3Qgcm9sZSA9IFJvbGUuZnJvbVJvbGVBcm4oXG4gICAgICB0aGlzLFxuICAgICAgXCJkZWxlZ2F0ZUhvc3RlZFpvbmVSb2xlXCIsXG4gICAgICBGbi5pbXBvcnRWYWx1ZShcIkRlbGVnYXRlSG9zdGVkWm9uZVJvbGVBcm5cIilcbiAgICApO1xuXG4gICAgaW1wb3J0ZWRIb3N0ZWRab25lLmdyYW50RGVsZWdhdGlvbihyb2xlKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./hostedZone"), exports);
|
|
18
|
+
__exportStar(require("./ipam"), exports);
|
|
19
|
+
__exportStar(require("./ipamPool"), exports);
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBNkI7QUFDN0IseUNBQXVCO0FBQ3ZCLDZDQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2hvc3RlZFpvbmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lwYW1cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lwYW1Qb29sXCI7XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Construct } from
|
|
2
|
-
import * as ec2 from
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import * as ec2 from "aws-cdk-lib/aws-ec2";
|
|
3
3
|
export declare class Ipam extends ec2.CfnIPAM {
|
|
4
4
|
constructor(scope: Construct, id: string, props?: ec2.CfnIPAMProps);
|
|
5
5
|
}
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Ipam = void 0;
|
|
4
4
|
const ec2 = require("aws-cdk-lib/aws-ec2");
|
|
5
|
-
//
|
|
5
|
+
// Enable IPAM
|
|
6
6
|
class Ipam extends ec2.CfnIPAM {
|
|
7
7
|
constructor(scope, id, props) {
|
|
8
8
|
super(scope, id, {
|
|
9
9
|
...props,
|
|
10
|
-
description: `
|
|
10
|
+
description: `Enable IPAM`
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
exports.Ipam = Ipam;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL25ldHdvcmtpbmcvaXBhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyQ0FBMkM7QUFFM0MsY0FBYztBQUNkLE1BQWEsSUFBSyxTQUFRLEdBQUcsQ0FBQyxPQUFPO0lBQ25DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7UUFDaEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixHQUFHLEtBQUs7WUFDUixXQUFXLEVBQUUsYUFBYTtTQUMzQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFQRCxvQkFPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcblxuLy8gRW5hYmxlIElQQU1cbmV4cG9ydCBjbGFzcyBJcGFtIGV4dGVuZHMgZWMyLkNmbklQQU0ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IGVjMi5DZm5JUEFNUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzLCAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2RrL2FwaS92Mi9kb2NzL2F3cy1jZGstbGliLmF3c19lYzIuQ2ZuSVBBTS5odG1sXG4gICAgICBkZXNjcmlwdGlvbjogYEVuYWJsZSBJUEFNYFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import { Stack, StackProps } from "aws-cdk-lib";
|
|
2
1
|
import { Construct } from "constructs";
|
|
3
|
-
import
|
|
4
|
-
export declare class IpamPool extends
|
|
5
|
-
constructor(scope: Construct, id: string, props:
|
|
6
|
-
}
|
|
7
|
-
export declare class IpamPoolStack extends Stack {
|
|
8
|
-
constructor(scope: Construct, id: string, params: ec2.CfnIPAMPoolProps, props?: StackProps);
|
|
2
|
+
import { CfnIPAMPool, CfnIPAMPoolProps } from "aws-cdk-lib/aws-ec2";
|
|
3
|
+
export declare class IpamPool extends CfnIPAMPool {
|
|
4
|
+
constructor(scope: Construct, id: string, props: CfnIPAMPoolProps);
|
|
9
5
|
}
|
|
@@ -1,35 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
class IpamPool extends ec2.CfnIPAMPool {
|
|
3
|
+
exports.IpamPool = void 0;
|
|
4
|
+
const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
|
|
5
|
+
class IpamPool extends aws_ec2_1.CfnIPAMPool {
|
|
7
6
|
constructor(scope, id, props) {
|
|
8
7
|
super(scope, id, {
|
|
9
|
-
...props
|
|
10
|
-
description: props.description,
|
|
11
|
-
addressFamily: props.addressFamily,
|
|
12
|
-
ipamScopeId: props.ipamScopeId,
|
|
13
|
-
allocationResourceTags: props.allocationResourceTags,
|
|
14
|
-
autoImport: true,
|
|
15
|
-
provisionedCidrs: props.provisionedCidrs,
|
|
16
|
-
tags: props.tags,
|
|
17
|
-
locale: props.locale
|
|
8
|
+
...props // https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.CfnIPAMPool.html
|
|
18
9
|
});
|
|
19
10
|
}
|
|
20
11
|
}
|
|
21
12
|
exports.IpamPool = IpamPool;
|
|
22
|
-
|
|
23
|
-
constructor(scope, id, params, props) {
|
|
24
|
-
super(scope, id, props);
|
|
25
|
-
new IpamPool(this, id, {
|
|
26
|
-
description: params.description,
|
|
27
|
-
addressFamily: params.addressFamily,
|
|
28
|
-
ipamScopeId: params.ipamScopeId,
|
|
29
|
-
allocationResourceTags: params.allocationResourceTags,
|
|
30
|
-
locale: params.locale
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.IpamPoolStack = IpamPoolStack;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbVBvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL2lwYW1Qb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFnRDtBQUVoRCwyQ0FBMkM7QUFFM0MsTUFBYSxRQUFTLFNBQVEsR0FBRyxDQUFDLFdBQVc7SUFDM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztZQUNSLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxzQkFBc0I7WUFDcEQsVUFBVSxFQUFFLElBQUk7WUFDaEIsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWRELDRCQWNDO0FBRUQsTUFBYSxhQUFjLFNBQVEsbUJBQUs7SUFDdEMsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsTUFBNEIsRUFDNUIsS0FBa0I7UUFFbEIsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUNyQixXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDL0IsYUFBYSxFQUFFLE1BQU0sQ0FBQyxhQUFhO1lBQ25DLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixzQkFBc0IsRUFBRSxNQUFNLENBQUMsc0JBQXNCO1lBQ3JELE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtTQUN0QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFqQkQsc0NBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBlYzIgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcblxuZXhwb3J0IGNsYXNzIElwYW1Qb29sIGV4dGVuZHMgZWMyLkNmbklQQU1Qb29sIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IGVjMi5DZm5JUEFNUG9vbFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICAgIGFkZHJlc3NGYW1pbHk6IHByb3BzLmFkZHJlc3NGYW1pbHksXG4gICAgICBpcGFtU2NvcGVJZDogcHJvcHMuaXBhbVNjb3BlSWQsXG4gICAgICBhbGxvY2F0aW9uUmVzb3VyY2VUYWdzOiBwcm9wcy5hbGxvY2F0aW9uUmVzb3VyY2VUYWdzLFxuICAgICAgYXV0b0ltcG9ydDogdHJ1ZSxcbiAgICAgIHByb3Zpc2lvbmVkQ2lkcnM6IHByb3BzLnByb3Zpc2lvbmVkQ2lkcnMsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzLFxuICAgICAgbG9jYWxlOiBwcm9wcy5sb2NhbGVcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSXBhbVBvb2xTdGFjayBleHRlbmRzIFN0YWNrIHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHBhcmFtczogZWMyLkNmbklQQU1Qb29sUHJvcHMsXG4gICAgcHJvcHM/OiBTdGFja1Byb3BzXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgbmV3IElwYW1Qb29sKHRoaXMsIGlkLCB7XG4gICAgICBkZXNjcmlwdGlvbjogcGFyYW1zLmRlc2NyaXB0aW9uLFxuICAgICAgYWRkcmVzc0ZhbWlseTogcGFyYW1zLmFkZHJlc3NGYW1pbHksXG4gICAgICBpcGFtU2NvcGVJZDogcGFyYW1zLmlwYW1TY29wZUlkLFxuICAgICAgYWxsb2NhdGlvblJlc291cmNlVGFnczogcGFyYW1zLmFsbG9jYXRpb25SZXNvdXJjZVRhZ3MsXG4gICAgICBsb2NhbGU6IHBhcmFtcy5sb2NhbGVcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBhbVBvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL2lwYW1Qb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlEQUFvRTtBQUVwRSxNQUFhLFFBQVMsU0FBUSxxQkFBVztJQUN2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLLENBQUMsbUZBQW1GO1NBQzdGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQU5ELDRCQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IENmbklQQU1Qb29sLCBDZm5JUEFNUG9vbFByb3BzIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcblxuZXhwb3J0IGNsYXNzIElwYW1Qb29sIGV4dGVuZHMgQ2ZuSVBBTVBvb2wge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2ZuSVBBTVBvb2xQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9hcGkvdjIvZG9jcy9hd3MtY2RrLWxpYi5hd3NfZWMyLkNmbklQQU1Qb29sLmh0bWxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Alias = void 0;
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
class Alias extends aws_cdk_lib_1.aws_kms.Alias {
|
|
6
|
+
constructor(scope, id, props) {
|
|
7
|
+
super(scope, id, {
|
|
8
|
+
...props
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.Alias = Alias;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9zdG9yZS9hbGlhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2Q0FBNkM7QUFFN0MsTUFBYSxLQUFNLFNBQVEscUJBQUcsQ0FBQyxLQUFLO0lBQ2xDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUI7UUFDN0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFORCxzQkFNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBhd3Nfa21zIGFzIGttcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG5leHBvcnQgY2xhc3MgQWxpYXMgZXh0ZW5kcyBrbXMuQWxpYXMge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczoga21zLkFsaWFzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
import { Connections, IConnectable, Vpc } from "aws-cdk-lib/aws-ec2";
|
|
1
2
|
import { Construct } from "constructs";
|
|
2
|
-
import { IConnectable, Vpc, Connections } from "aws-cdk-lib/aws-ec2";
|
|
3
3
|
import { StackBuilder } from "../awsStack";
|
|
4
|
+
import { KeyValue } from "../compute/ecs";
|
|
4
5
|
interface DatabaseProps {
|
|
5
6
|
vpc: Vpc;
|
|
7
|
+
securityGroupIds: string[];
|
|
8
|
+
tags: KeyValue | undefined;
|
|
9
|
+
buildkiteRoleArn?: string;
|
|
6
10
|
}
|
|
7
11
|
export default class Database extends Construct implements IConnectable {
|
|
8
12
|
private readonly resource;
|
|
9
13
|
connections: Connections;
|
|
14
|
+
databaseSecretName: string;
|
|
10
15
|
constructor(scope: Construct, id: string, props: DatabaseProps);
|
|
11
|
-
static build(id: string, props?: DatabaseProps): (sb: StackBuilder) => Construct;
|
|
16
|
+
static build(id: string, props?: Partial<DatabaseProps>): (sb: StackBuilder) => Construct;
|
|
12
17
|
}
|
|
13
18
|
export {};
|
|
@@ -5,10 +5,12 @@ const rds_1 = require("./rds");
|
|
|
5
5
|
class Database extends constructs_1.Construct {
|
|
6
6
|
constructor(scope, id, props) {
|
|
7
7
|
super(scope, id);
|
|
8
|
-
//todo: intelligently create the right kind of database based
|
|
9
|
-
// on user properties
|
|
10
8
|
this.resource = new rds_1.default(scope, `${id}Rds`, {
|
|
11
|
-
vpc: props.vpc
|
|
9
|
+
vpc: props.vpc,
|
|
10
|
+
defaultDatabaseName: id.replace("Database", ""),
|
|
11
|
+
tags: props.tags || {},
|
|
12
|
+
securityGroupIds: props.securityGroupIds,
|
|
13
|
+
buildkiteRoleArn: props.buildkiteRoleArn
|
|
12
14
|
});
|
|
13
15
|
this.connections = this.resource.connections;
|
|
14
16
|
}
|
|
@@ -18,7 +20,9 @@ class Database extends constructs_1.Construct {
|
|
|
18
20
|
const newProps = {
|
|
19
21
|
...props,
|
|
20
22
|
...{
|
|
21
|
-
vpc: sb.getNetwork() || props?.vpc
|
|
23
|
+
vpc: sb.getNetwork() || props?.vpc,
|
|
24
|
+
securityGroupIds: props?.securityGroupIds ?? [],
|
|
25
|
+
tags: props?.tags
|
|
22
26
|
}
|
|
23
27
|
};
|
|
24
28
|
return new this(sb.getStack(), id, newProps);
|
|
@@ -26,4 +30,4 @@ class Database extends constructs_1.Construct {
|
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
32
|
exports.default = Database;
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9zdG9yZS9kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDJDQUF1QztBQUl2QywrQkFBd0I7QUFTeEIsTUFBcUIsUUFBUyxTQUFRLHNCQUFTO0lBSzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksYUFBRyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO1lBQ3pDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUMvQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ3RCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtTQUN6QyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQy9DLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsTUFBTSxDQUFDLEtBQUssQ0FDVixFQUFVLEVBQ1YsS0FBOEI7UUFFOUIsT0FBTyxDQUFDLEVBQWdCLEVBQUUsRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBa0I7Z0JBQzlCLEdBQUcsS0FBSztnQkFDUixHQUFHO29CQUNELEdBQUcsRUFBRyxFQUFFLENBQUMsVUFBVSxFQUFVLElBQUksS0FBSyxFQUFFLEdBQUc7b0JBQzNDLGdCQUFnQixFQUFFLEtBQUssRUFBRSxnQkFBZ0IsSUFBSSxFQUFFO29CQUMvQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUk7aUJBQ2xCO2FBQ0YsQ0FBQztZQUVGLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyQ0QsMkJBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvbnMsIElDb25uZWN0YWJsZSwgVnBjIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCB7IFN0YWNrQnVpbGRlciB9IGZyb20gXCIuLi9hd3NTdGFja1wiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vY29tcHV0ZS9lY3NcIjtcbmltcG9ydCBSZHMgZnJvbSBcIi4vcmRzXCI7XG5cbmludGVyZmFjZSBEYXRhYmFzZVByb3BzIHtcbiAgdnBjOiBWcGM7XG4gIHNlY3VyaXR5R3JvdXBJZHM6IHN0cmluZ1tdO1xuICB0YWdzOiBLZXlWYWx1ZSB8IHVuZGVmaW5lZDtcbiAgYnVpbGRraXRlUm9sZUFybj86IHN0cmluZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBSZHM7XG4gIHB1YmxpYyBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG4gIHB1YmxpYyBkYXRhYmFzZVNlY3JldE5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IFJkcyhzY29wZSwgYCR7aWR9UmRzYCwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBkZWZhdWx0RGF0YWJhc2VOYW1lOiBpZC5yZXBsYWNlKFwiRGF0YWJhc2VcIiwgXCJcIiksXG4gICAgICB0YWdzOiBwcm9wcy50YWdzIHx8IHt9LFxuICAgICAgc2VjdXJpdHlHcm91cElkczogcHJvcHMuc2VjdXJpdHlHcm91cElkcyxcbiAgICAgIGJ1aWxka2l0ZVJvbGVBcm46IHByb3BzLmJ1aWxka2l0ZVJvbGVBcm5cbiAgICB9KTtcblxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLnJlc291cmNlLmNvbm5lY3Rpb25zO1xuICB9XG5cbiAgLy90b2RvOiBtb3ZlIHRvIGdlbmVyaWMgJ3Jlc291cmNlJyBjbGFzc1xuICBzdGF0aWMgYnVpbGQoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wcz86IFBhcnRpYWw8RGF0YWJhc2VQcm9wcz5cbiAgKTogKHNiOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdCB7XG4gICAgcmV0dXJuIChzYjogU3RhY2tCdWlsZGVyKSA9PiB7XG4gICAgICBjb25zdCBuZXdQcm9wczogRGF0YWJhc2VQcm9wcyA9IHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIC4uLntcbiAgICAgICAgICB2cGM6IChzYi5nZXROZXR3b3JrKCkgYXMgVnBjKSB8fCBwcm9wcz8udnBjLFxuICAgICAgICAgIHNlY3VyaXR5R3JvdXBJZHM6IHByb3BzPy5zZWN1cml0eUdyb3VwSWRzID8/IFtdLFxuICAgICAgICAgIHRhZ3M6IHByb3BzPy50YWdzXG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBuZXcgdGhpcyhzYi5nZXRTdGFjaygpLCBpZCwgbmV3UHJvcHMpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./alias"), exports);
|
|
18
|
+
__exportStar(require("./database"), exports);
|
|
19
|
+
__exportStar(require("./kms"), exports);
|
|
20
|
+
__exportStar(require("./parameter"), exports);
|
|
21
|
+
__exportStar(require("./rds"), exports);
|
|
22
|
+
__exportStar(require("./s3"), exports);
|
|
23
|
+
__exportStar(require("./secret"), exports);
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9zdG9yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLDZDQUEyQjtBQUMzQix3Q0FBc0I7QUFDdEIsOENBQTRCO0FBQzVCLHdDQUFzQjtBQUN0Qix1Q0FBcUI7QUFDckIsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYWxpYXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rbXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcmFtZXRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zM1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2VjcmV0XCI7XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Alias, Key } from "aws-cdk-lib/aws-kms";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { KeyValue } from "../compute/ecs";
|
|
4
|
+
interface CustomerManagedKeyProps {
|
|
5
|
+
description?: string;
|
|
6
|
+
aliasName?: string;
|
|
7
|
+
tags: KeyValue;
|
|
8
|
+
}
|
|
9
|
+
export declare class CustomerManagedKey extends Construct {
|
|
10
|
+
readonly key: Key;
|
|
11
|
+
readonly alias: Alias;
|
|
12
|
+
constructor(scope: Construct, id: string, props: CustomerManagedKeyProps);
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomerManagedKey = void 0;
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
const aws_kms_1 = require("aws-cdk-lib/aws-kms");
|
|
6
|
+
const constructs_1 = require("constructs");
|
|
7
|
+
const tagResource_1 = require("../../../utils/tagResource");
|
|
8
|
+
class CustomerManagedKey extends constructs_1.Construct {
|
|
9
|
+
constructor(scope, id, props) {
|
|
10
|
+
super(scope, id);
|
|
11
|
+
this.key = new aws_kms_1.Key(this, `${id}Key`, {
|
|
12
|
+
description: props.description || `${id} KMS Key`,
|
|
13
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY
|
|
14
|
+
});
|
|
15
|
+
new aws_cdk_lib_1.CfnOutput(this, `${id}KeyArn`, {
|
|
16
|
+
key: `${id}Arn`,
|
|
17
|
+
value: this.key.keyArn,
|
|
18
|
+
exportName: `${id}KeyArn`
|
|
19
|
+
});
|
|
20
|
+
(0, tagResource_1.default)(this.key, props.tags);
|
|
21
|
+
this.alias = new aws_kms_1.Alias(this, `${id}KeyAlias`, {
|
|
22
|
+
aliasName: props.aliasName || `cmk/${id}`,
|
|
23
|
+
targetKey: this.key
|
|
24
|
+
});
|
|
25
|
+
new aws_cdk_lib_1.CfnOutput(this, `${id}KeyAliasArn`, {
|
|
26
|
+
key: `${id}AliasArn`,
|
|
27
|
+
value: this.alias.aliasArn,
|
|
28
|
+
exportName: `${id}KeyAliasArn`
|
|
29
|
+
});
|
|
30
|
+
(0, tagResource_1.default)(this.alias, props.tags);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.CustomerManagedKey = CustomerManagedKey;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia21zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3Mvc3RvcmUva21zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF1RDtBQUN2RCxpREFBaUQ7QUFDakQsMkNBQXVDO0FBQ3ZDLDREQUFxRDtBQVNyRCxNQUFhLGtCQUFtQixTQUFRLHNCQUFTO0lBSS9DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEI7UUFDdEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksYUFBRyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO1lBQ25DLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxJQUFJLEdBQUcsRUFBRSxVQUFVO1lBQ2pELGFBQWEsRUFBRSwyQkFBYSxDQUFDLE9BQU87U0FDckMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFO1lBQ2pDLEdBQUcsRUFBRSxHQUFHLEVBQUUsS0FBSztZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU07WUFDdEIsVUFBVSxFQUFFLEdBQUcsRUFBRSxRQUFRO1NBQzFCLENBQUMsQ0FBQztRQUVILElBQUEscUJBQVcsRUFBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVsQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksZUFBSyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1lBQzVDLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLE9BQU8sRUFBRSxFQUFFO1lBQ3pDLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNwQixDQUFDLENBQUM7UUFDSCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUU7WUFDdEMsR0FBRyxFQUFFLEdBQUcsRUFBRSxVQUFVO1lBQ3BCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDMUIsVUFBVSxFQUFFLEdBQUcsRUFBRSxhQUFhO1NBQy9CLENBQUMsQ0FBQztRQUNILElBQUEscUJBQVcsRUFBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUE5QkQsZ0RBOEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBBbGlhcywgS2V5IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1rbXNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgdGFnUmVzb3VyY2UgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RhZ1Jlc291cmNlXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi9jb21wdXRlL2Vjc1wiO1xuXG5pbnRlcmZhY2UgQ3VzdG9tZXJNYW5hZ2VkS2V5UHJvcHMge1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgYWxpYXNOYW1lPzogc3RyaW5nO1xuICB0YWdzOiBLZXlWYWx1ZTtcbn1cblxuZXhwb3J0IGNsYXNzIEN1c3RvbWVyTWFuYWdlZEtleSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBrZXk6IEtleTtcbiAgcHVibGljIHJlYWRvbmx5IGFsaWFzOiBBbGlhcztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ3VzdG9tZXJNYW5hZ2VkS2V5UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5rZXkgPSBuZXcgS2V5KHRoaXMsIGAke2lkfUtleWAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbiB8fCBgJHtpZH0gS01TIEtleWAsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1lcbiAgICB9KTtcbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIGAke2lkfUtleUFybmAsIHtcbiAgICAgIGtleTogYCR7aWR9QXJuYCxcbiAgICAgIHZhbHVlOiB0aGlzLmtleS5rZXlBcm4sXG4gICAgICBleHBvcnROYW1lOiBgJHtpZH1LZXlBcm5gXG4gICAgfSk7XG5cbiAgICB0YWdSZXNvdXJjZSh0aGlzLmtleSwgcHJvcHMudGFncyk7XG5cbiAgICB0aGlzLmFsaWFzID0gbmV3IEFsaWFzKHRoaXMsIGAke2lkfUtleUFsaWFzYCwge1xuICAgICAgYWxpYXNOYW1lOiBwcm9wcy5hbGlhc05hbWUgfHwgYGNtay8ke2lkfWAsXG4gICAgICB0YXJnZXRLZXk6IHRoaXMua2V5XG4gICAgfSk7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtpZH1LZXlBbGlhc0FybmAsIHtcbiAgICAgIGtleTogYCR7aWR9QWxpYXNBcm5gLFxuICAgICAgdmFsdWU6IHRoaXMuYWxpYXMuYWxpYXNBcm4sXG4gICAgICBleHBvcnROYW1lOiBgJHtpZH1LZXlBbGlhc0FybmBcbiAgICB9KTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLmFsaWFzLCBwcm9wcy50YWdzKTtcbiAgfVxufVxuIl19
|