@fjall/components-infrastructure 0.79.3 → 0.81.2
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/__tests__/setup.js +1 -78
- package/dist/lib/app.d.ts +39 -2
- package/dist/lib/app.js +85 -4
- package/dist/lib/aspects/resourceInventory.d.ts +41 -0
- package/dist/lib/aspects/resourceInventory.js +56 -0
- package/dist/lib/config/audit.d.ts +18 -0
- package/dist/lib/config/audit.js +22 -0
- package/dist/lib/config/aws/accountId.js +3 -3
- package/dist/lib/config/aws/ecrDefaultImage.js +7 -7
- package/dist/lib/config/aws/identityCenter.js +7 -8
- package/dist/lib/config/aws/identityCenterGroupMembership.js +6 -6
- package/dist/lib/config/aws/ipam.js +3 -3
- package/dist/lib/config/aws/ipamPoolId.js +4 -4
- package/dist/lib/config/aws/organisation.js +2 -3
- package/dist/lib/config/aws/organisationId.js +4 -4
- package/dist/lib/patterns/aws/auditRole.d.ts +44 -0
- package/dist/lib/patterns/aws/auditRole.js +58 -0
- package/dist/lib/patterns/aws/buildkite.js +12 -12
- package/dist/lib/patterns/aws/compute.d.ts +32 -13
- package/dist/lib/patterns/aws/compute.js +24 -14
- package/dist/lib/patterns/aws/database.d.ts +2 -1
- package/dist/lib/patterns/aws/database.js +7 -2
- package/dist/lib/patterns/aws/hostedZone.js +1 -1
- package/dist/lib/patterns/aws/index.d.ts +1 -0
- package/dist/lib/patterns/aws/index.js +2 -1
- package/dist/lib/patterns/aws/managedAccount.js +3 -4
- package/dist/lib/patterns/aws/storage.js +3 -2
- package/dist/lib/patterns/aws/subdomainHostedZone.js +2 -2
- package/dist/lib/resources/aws/audit/auditRole.d.ts +32 -0
- package/dist/lib/resources/aws/audit/auditRole.js +44 -0
- package/dist/lib/resources/aws/backup/backupPlan.js +3 -4
- package/dist/lib/resources/aws/backup/backupVault.js +3 -4
- package/dist/lib/resources/aws/base/awsStack.js +1 -2
- package/dist/lib/resources/aws/compute/ecs.d.ts +65 -11
- package/dist/lib/resources/aws/compute/ecs.js +293 -124
- package/dist/lib/resources/aws/compute/ecsFreeTier.js +1 -355
- package/dist/lib/resources/aws/compute/ecsSpot.js +1 -335
- package/dist/lib/resources/aws/compute/lambda.d.ts +10 -1
- package/dist/lib/resources/aws/compute/lambda.js +71 -4
- package/dist/lib/resources/aws/compute/utilities/capacityProviderDrainWaiter.js +1 -180
- package/dist/lib/resources/aws/database/database.js +1 -1
- package/dist/lib/resources/aws/database/rdsAurora.js +5 -5
- package/dist/lib/resources/aws/database/rdsAuroraGlobal.js +7 -7
- package/dist/lib/resources/aws/database/rdsInstance.js +3 -3
- package/dist/lib/resources/aws/iam/identityCenter/assignment.js +2 -2
- package/dist/lib/resources/aws/iam/identityCenter/attachManagedPolicy.js +1 -1
- package/dist/lib/resources/aws/iam/identityCenter/group.js +1 -1
- package/dist/lib/resources/aws/iam/identityCenter/permissionSet.js +1 -1
- package/dist/lib/resources/aws/logging/cloudTrail.js +1 -1
- package/dist/lib/resources/aws/monitoring/monitoringRole.js +2 -3
- package/dist/lib/resources/aws/networking/ipamPool.js +1 -1
- package/dist/lib/resources/aws/networking/vpc.d.ts +1 -0
- package/dist/lib/resources/aws/networking/vpc.js +7 -3
- package/dist/lib/resources/aws/secrets/secret.js +1 -1
- package/dist/lib/resources/aws/storage/ecr.d.ts +1 -2
- package/dist/lib/resources/aws/storage/ecr.js +2 -2
- package/dist/lib/resources/aws/utilities/cfnOutput.js +1 -13
- package/dist/lib/resources/aws/utilities/codeBuild.d.ts +1 -2
- package/dist/lib/resources/aws/utilities/codeBuild.js +1 -1
- package/dist/lib/resources/aws/utilities/customResource.d.ts +2 -1
- package/dist/lib/resources/aws/utilities/customResource.js +1 -1
- package/dist/lib/utils/getStackOutput.js +2 -2
- package/package.json +6 -5
|
@@ -147,4 +147,4 @@ class HostedZone extends constructs_1.Construct {
|
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
exports.HostedZone = HostedZone;
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkWm9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvaG9zdGVkWm9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFDdkMsNkNBQW1FO0FBQ25FLGlEQUErQztBQUMvQyxpREFJNkI7QUFDN0IseURBYWlDO0FBS2pDLFNBQVMsZUFBZSxDQUFDLFFBQWdCO0lBQ3ZDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQU9ELE1BQWEsaUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBZSxFQUFFLFlBQW9CLEVBQUUsUUFBZ0I7UUFDbkUsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRS9DLE9BQU8sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsWUFBWSxZQUFZLEVBQUU7WUFDbkUsWUFBWSxFQUFFLFlBQVk7WUFDMUIsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBVEQsOENBU0M7QUFFRCxNQUFhLFVBQVcsU0FBUSxzQkFBUztJQVF2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBRS9CLDJFQUEyRTtRQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFB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QUNwQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUExS0QsZ0NBMEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IENmbk91dHB1dCwgRm4sIFJlc291cmNlLCBTdGFjaywgVGFncyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL2lhbVwiO1xuaW1wb3J0IHtcbiAgT3JnYW5pemF0aW9uUHJpbmNpcGFsLFxuICBQb2xpY3lEb2N1bWVudCxcbiAgUG9saWN5U3RhdGVtZW50XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQge1xuICBBUmVjb3JkLFxuICB0eXBlIEFSZWNvcmRQcm9wcyxcbiAgQ25hbWVSZWNvcmQsXG4gIHR5cGUgQ25hbWVSZWNvcmRQcm9wcyxcbiAgSG9zdGVkWm9uZSBhcyBBV1NIb3N0ZWRab25lLFxuICB0eXBlIElIb3N0ZWRab25lLFxuICBNeFJlY29yZCxcbiAgdHlwZSBNeFJlY29yZFByb3BzLFxuICBOc1JlY29yZCxcbiAgdHlwZSBOc1JlY29yZFByb3BzLFxuICBUeHRSZWNvcmQsXG4gIHR5cGUgVHh0UmVjb3JkUHJvcHNcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5cbmltcG9ydCBBcHAgZnJvbSBcIi4uLy4uL2FwcFwiO1xuaW1wb3J0IHsgdHlwZSBBd3NTdGFjayB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXNcIjtcblxuZnVuY3Rpb24gZ2V0U2FmZVpvbmVOYW1lKHpvbmVOYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHpvbmVOYW1lLnNwbGl0KFwiLlwiKS5qb2luKFwiXCIpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RlZFpvbmVQcm9wcyB7XG4gIHpvbmVOYW1lOiBzdHJpbmc7XG4gIGhvc3RlZFpvbmVJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEhvc3RlZFpvbmVGYWN0b3J5IHtcbiAgc3RhdGljIGltcG9ydChzdGFjazogQXdzU3RhY2ssIGhvc3RlZFpvbmVJZDogc3RyaW5nLCB6b25lTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2FmZVpvbmVOYW1lID0gZ2V0U2FmZVpvbmVOYW1lKHpvbmVOYW1lKTtcblxuICAgIHJldHVybiBuZXcgSG9zdGVkWm9uZShzdGFjay5nZXRTdGFjaygpLCBgJHtzYWZlWm9uZU5hbWV9SG9zdGVkWm9uZWAsIHtcbiAgICAgIGhvc3RlZFpvbmVJZDogaG9zdGVkWm9uZUlkLFxuICAgICAgem9uZU5hbWU6IHpvbmVOYW1lXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEhvc3RlZFpvbmUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIGhvc3RlZFpvbmU6IEFXU0hvc3RlZFpvbmU7XG4gIHByaXZhdGUgaG9zdGVkWm9uZUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgaW1wb3J0ZWRIb3N0ZWRab25lOiBJSG9zdGVkWm9uZTtcbiAgcHJpdmF0ZSB6b25lTmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgc2NvcGU6IENvbnN0cnVjdDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSG9zdGVkWm9uZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcbiAgICB0aGlzLnpvbmVOYW1lID0gcHJvcHMuem9uZU5hbWU7XG5cbiAgICAvLyBJZiBhIGhvc3RlZFpvbmVJZCBpcyBwcm92aWRlZCBpbXBvcnQgaXQsIHVubGVzcyBjcmVhdGUgYSBuZXcgaG9zdGVkIHpvbmVcbiAgICBpZiAoIXByb3BzLmhvc3RlZFpvbmVJZCkge1xuICAgICAgdGhpcy5hZGRIb3N0ZWRab25lKHByb3BzLnpvbmVOYW1lKTtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZUlkID0gdGhpcy5ob3N0ZWRab25lLmhvc3RlZFpvbmVJZDtcbiAgICAgIHRoaXMuZGVsZWdhdGVIb3N0ZWRab25lKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZUlkID0gcHJvcHMuaG9zdGVkWm9uZUlkO1xuICAgICAgdGhpcy5pbXBvcnRIb3N0ZWRab25lKHByb3BzLnpvbmVOYW1lKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbnRlcm5hbEhvc3RlZFpvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdGVkWm9uZSB8fCB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZTtcbiAgfVxuXG4gIHNhZmVab25lTmFtZSgpIHtcbiAgICByZXR1cm4gZ2V0U2FmZVpvbmVOYW1lKHRoaXMuem9uZU5hbWUpO1xuICB9XG5cbiAgYWRkSG9zdGVkWm9uZSh6b25lTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5ob3N0ZWRab25lID0gbmV3IEFXU0hvc3RlZFpvbmUoXG4gICAgICB0aGlzLFxuICAgICAgYCR7dGhpcy5zYWZlWm9uZU5hbWV9SG9zdGVkWm9uZWAsXG4gICAgICB7XG4gICAgICAgIHpvbmVOYW1lOiB6b25lTmFtZSxcbiAgICAgICAgY29tbWVudDogYEhvc3RlZCBab25lIGZvciAke3pvbmVOYW1lfWBcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgaW1wb3J0SG9zdGVkWm9uZSh6b25lTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUgPSBBV1NIb3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcyhcbiAgICAgIC8vIEhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzIGV4cGxpY2l0bHkgbXVzdCBiZSBwYXNzZWQgYSBzdGFjayBhcyBwYXJlbnQgc2NvcGVcbiAgICAgIHRoaXMuc2NvcGUsXG5cbiAgICAgIC8vIFVzZSBzYWZlWm9uZU5hbWUgaW4gdGhlIGlkIHNvIHdlIGNhbiB0aGVvcmV0aWNhbGx5XG4gICAgICAvLyAgaW1wb3J0IG11bHRpcGxlIGhvc3RlZCB6b25lcyBpbiBhIHNpbmdsZSBhcHBcbiAgICAgIGAke3RoaXMuc2FmZVpvbmVOYW1lKCl9SW1wb3J0ZWRIb3N0ZWRab25lYCxcbiAgICAgIHtcbiAgICAgICAgaG9zdGVkWm9uZUlkOiB0aGlzLmhvc3RlZFpvbmVJZCxcbiAgICAgICAgem9uZU5hbWU6IHpvbmVOYW1lXG4gICAgICB9XG4gICAgKTtcblxuICAgIFRhZ3Mub2YodGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUpLmFkZChcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZW52aXJvbm1lbnRcIixcbiAgICAgIFwibWFuYWdlbWVudFwiXG4gICAgKTtcbiAgICBUYWdzLm9mKHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lKS5hZGQoXG4gICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOnNlcnZpY2VcIixcbiAgICAgIFwiaG9zdGVkWm9uZVwiXG4gICAgKTtcbiAgICBUYWdzLm9mKHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lKS5hZGQoXG4gICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOmRvbWFpblwiLFxuICAgICAgem9uZU5hbWVcbiAgICApO1xuXG4gICAgLy8gTWFrZSBleHBvcnQgbmFtZSB1bmlxdWUgYnkgaW5jbHVkaW5nIHRoZSBzdGFjayBuYW1lIHRvIGF2b2lkIGNvbmZsaWN0c1xuICAgIC8vIHdoZW4gbXVsdGlwbGUgc3RhY2tzIGltcG9ydCB0aGUgc2FtZSBob3N0ZWQgem9uZVxuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodGhpcyk7XG4gICAgY29uc3Qgc3RhY2tOYW1lID0gc3RhY2suc3RhY2tOYW1lO1xuICAgIGNvbnN0IGV4cG9ydE5hbWUgPSBgJHtzdGFja05hbWV9JHt0aGlzLnNhZmVab25lTmFtZSgpfUhvc3RlZFpvbmVJZGA7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIGAke3RoaXMuc2FmZVpvbmVOYW1lKCl9SG9zdGVkWm9uZUlkYCwge1xuICAgICAga2V5OiBgJHt0aGlzLnNhZmVab25lTmFtZSgpfUhvc3RlZFpvbmVJZGAsXG4gICAgICB2YWx1ZTogdGhpcy5ob3N0ZWRab25lSWQsXG4gICAgICBleHBvcnROYW1lOiBleHBvcnROYW1lXG4gICAgfSk7XG4gIH1cblxuICBkZWxlZ2F0ZUhvc3RlZFpvbmUoKSB7XG4gICAgY29uc3QgZG9tYWluTmFtZSA9IHRoaXMuaG9zdGVkWm9uZS56b25lTmFtZS5zcGxpdChcIi5cIiwgMSk7XG4gICAgY29uc3Qgcm9sZSA9IG5ldyBSb2xlKHRoaXMsIGAke2RvbWFpbk5hbWV9RGVsZWdhdGVIb3N0ZWRab25lUm9sZWAsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IE9yZ2FuaXphdGlvblByaW5jaXBhbChGbi5pbXBvcnRWYWx1ZShcIk9yZ2FuaXNhdGlvbklkXCIpKSxcbiAgICAgIHJvbGVOYW1lOiBgJHtkb21haW5OYW1lfURlbGVnYXRlSG9zdGVkWm9uZVJvbGVgLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgW1wibGlzdEhvc3RlZFpvbmVzXCJdOiBuZXcgUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBhY3Rpb25zOiBbXCJyb3V0ZTUzOkxpc3RIb3N0ZWRab25lc0J5TmFtZVwiXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgfSksXG4gICAgICAgIFtcImNoYW5nZVJlc291cmNlUmVjb3JkU2V0c1wiXTogbmV3IFBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgYWN0aW9uczogW1wicm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNcIl0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgIGBhcm46YXdzOnJvdXRlNTM6Ojpob3N0ZWR6b25lLyR7dGhpcy5ob3N0ZWRab25lLmhvc3RlZFpvbmVJZH1gXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5ob3N0ZWRab25lLmdyYW50RGVsZWdhdGlvbihyb2xlKTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJEZWxlZ2F0ZUhvc3RlZFpvbmVSb2xlQXJuXCIsIHtcbiAgICAgIGtleTogYCR7ZG9tYWluTmFtZX1EZWxlZ2F0ZUhvc3RlZFpvbmVSb2xlQXJuYCxcbiAgICAgIHZhbHVlOiByb2xlLnJvbGVBcm4sXG4gICAgICBleHBvcnROYW1lOiBgJHtkb21haW5OYW1lfURlbGVnYXRlSG9zdGVkWm9uZVJvbGVBcm5gXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkQVJlY29yZChwcm9wczogT21pdDxBUmVjb3JkUHJvcHMsIFwiem9uZVwiPikge1xuICAgIG5ldyBBUmVjb3JkKHRoaXMsIFwiQVJlY29yZFwiLCB7XG4gICAgICB6b25lOiB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSxcbiAgICAgIHJlY29yZE5hbWU6IHByb3BzLnJlY29yZE5hbWUsXG4gICAgICBjb21tZW50OlxuICAgICAgICBwcm9wcy5jb21tZW50IHx8IGBBIFJlY29yZCBmb3IgJHt0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZX1gLFxuICAgICAgdGFyZ2V0OiBwcm9wcy50YXJnZXQsXG4gICAgICB0dGw6IHByb3BzLnR0bFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZENuYW1lKHByb3BzOiBPbWl0PENuYW1lUmVjb3JkUHJvcHMsIFwiem9uZVwiPikge1xuICAgIG5ldyBDbmFtZVJlY29yZCh0aGlzLCBgYCwge1xuICAgICAgZG9tYWluTmFtZTogcHJvcHMuZG9tYWluTmFtZSxcbiAgICAgIHpvbmU6IHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLFxuICAgICAgY29tbWVudDpcbiAgICAgICAgcHJvcHMuY29tbWVudCB8fCBgQ05BTUUgUmVjb3JkIGZvciAke3RoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLnpvbmVOYW1lfWAsXG4gICAgICB0dGw6IHByb3BzLnR0bFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZE14KHByb3BzOiBPbWl0PE14UmVjb3JkUHJvcHMsIFwiem9uZVwiPikge1xuICAgIG5ldyBNeFJlY29yZCh0aGlzLCBgYCwge1xuICAgICAgem9uZTogdGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUsXG4gICAgICBjb21tZW50OlxuICAgICAgICBwcm9wcy5jb21tZW50IHx8IGBNWCBSZWNvcmQgZm9yICR7dGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUuem9uZU5hbWV9YCxcbiAgICAgIHZhbHVlczogcHJvcHMudmFsdWVzLFxuICAgICAgdHRsOiBwcm9wcy50dGxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGROUyhwcm9wczogT21pdDxOc1JlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgTnNSZWNvcmQodGhpcywgYGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLFxuICAgICAgY29tbWVudDpcbiAgICAgICAgcHJvcHMuY29tbWVudCB8fCBgTlMgUmVjb3JkIGZvciAke3RoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLnpvbmVOYW1lfWAsXG4gICAgICB2YWx1ZXM6IHByb3BzLnZhbHVlcyxcbiAgICAgIHR0bDogcHJvcHMudHRsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHh0KHByb3BzOiBPbWl0PFR4dFJlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgVHh0UmVjb3JkKHRoaXMsIGBgLCB7XG4gICAgICB6b25lOiB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSxcbiAgICAgIGNvbW1lbnQ6XG4gICAgICAgIHByb3BzLmNvbW1lbnQgfHwgYFRYVCBSZWNvcmQgZm9yICR7dGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUuem9uZU5hbWV9YCxcbiAgICAgIHZhbHVlczogcHJvcHMudmFsdWVzLFxuICAgICAgdHRsOiBwcm9wcy50dGxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkWm9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvaG9zdGVkWm9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFDdkMsNkNBQXlEO0FBQ3pELGlEQUErQztBQUMvQyxpREFJNkI7QUFDN0IseURBYWlDO0FBSWpDLFNBQVMsZUFBZSxDQUFDLFFBQWdCO0lBQ3ZDLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQU9ELE1BQWEsaUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBZSxFQUFFLFlBQW9CLEVBQUUsUUFBZ0I7UUFDbkUsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRS9DLE9BQU8sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsWUFBWSxZQUFZLEVBQUU7WUFDbkUsWUFBWSxFQUFFLFlBQVk7WUFDMUIsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBVEQsOENBU0M7QUFFRCxNQUFhLFVBQVcsU0FBUSxzQkFBUztJQVF2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBRS9CLDJFQUEyRTtRQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFB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QUNwQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUExS0QsZ0NBMEtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IENmbk91dHB1dCwgRm4sIFN0YWNrLCBUYWdzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvaWFtXCI7XG5pbXBvcnQge1xuICBPcmdhbml6YXRpb25QcmluY2lwYWwsXG4gIFBvbGljeURvY3VtZW50LFxuICBQb2xpY3lTdGF0ZW1lbnRcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7XG4gIEFSZWNvcmQsXG4gIHR5cGUgQVJlY29yZFByb3BzLFxuICBDbmFtZVJlY29yZCxcbiAgdHlwZSBDbmFtZVJlY29yZFByb3BzLFxuICBIb3N0ZWRab25lIGFzIEFXU0hvc3RlZFpvbmUsXG4gIHR5cGUgSUhvc3RlZFpvbmUsXG4gIE14UmVjb3JkLFxuICB0eXBlIE14UmVjb3JkUHJvcHMsXG4gIE5zUmVjb3JkLFxuICB0eXBlIE5zUmVjb3JkUHJvcHMsXG4gIFR4dFJlY29yZCxcbiAgdHlwZSBUeHRSZWNvcmRQcm9wc1xufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcblxuaW1wb3J0IHsgdHlwZSBBd3NTdGFjayB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXNcIjtcblxuZnVuY3Rpb24gZ2V0U2FmZVpvbmVOYW1lKHpvbmVOYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHpvbmVOYW1lLnNwbGl0KFwiLlwiKS5qb2luKFwiXCIpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RlZFpvbmVQcm9wcyB7XG4gIHpvbmVOYW1lOiBzdHJpbmc7XG4gIGhvc3RlZFpvbmVJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEhvc3RlZFpvbmVGYWN0b3J5IHtcbiAgc3RhdGljIGltcG9ydChzdGFjazogQXdzU3RhY2ssIGhvc3RlZFpvbmVJZDogc3RyaW5nLCB6b25lTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc2FmZVpvbmVOYW1lID0gZ2V0U2FmZVpvbmVOYW1lKHpvbmVOYW1lKTtcblxuICAgIHJldHVybiBuZXcgSG9zdGVkWm9uZShzdGFjay5nZXRTdGFjaygpLCBgJHtzYWZlWm9uZU5hbWV9SG9zdGVkWm9uZWAsIHtcbiAgICAgIGhvc3RlZFpvbmVJZDogaG9zdGVkWm9uZUlkLFxuICAgICAgem9uZU5hbWU6IHpvbmVOYW1lXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEhvc3RlZFpvbmUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIGhvc3RlZFpvbmU6IEFXU0hvc3RlZFpvbmU7XG4gIHByaXZhdGUgaG9zdGVkWm9uZUlkOiBzdHJpbmc7XG4gIHByaXZhdGUgaW1wb3J0ZWRIb3N0ZWRab25lOiBJSG9zdGVkWm9uZTtcbiAgcHJpdmF0ZSB6b25lTmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgc2NvcGU6IENvbnN0cnVjdDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSG9zdGVkWm9uZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcbiAgICB0aGlzLnpvbmVOYW1lID0gcHJvcHMuem9uZU5hbWU7XG5cbiAgICAvLyBJZiBhIGhvc3RlZFpvbmVJZCBpcyBwcm92aWRlZCBpbXBvcnQgaXQsIHVubGVzcyBjcmVhdGUgYSBuZXcgaG9zdGVkIHpvbmVcbiAgICBpZiAoIXByb3BzLmhvc3RlZFpvbmVJZCkge1xuICAgICAgdGhpcy5hZGRIb3N0ZWRab25lKHByb3BzLnpvbmVOYW1lKTtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZUlkID0gdGhpcy5ob3N0ZWRab25lLmhvc3RlZFpvbmVJZDtcbiAgICAgIHRoaXMuZGVsZWdhdGVIb3N0ZWRab25lKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZUlkID0gcHJvcHMuaG9zdGVkWm9uZUlkO1xuICAgICAgdGhpcy5pbXBvcnRIb3N0ZWRab25lKHByb3BzLnpvbmVOYW1lKTtcbiAgICB9XG4gIH1cblxuICBnZXRJbnRlcm5hbEhvc3RlZFpvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdGVkWm9uZSB8fCB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZTtcbiAgfVxuXG4gIHNhZmVab25lTmFtZSgpIHtcbiAgICByZXR1cm4gZ2V0U2FmZVpvbmVOYW1lKHRoaXMuem9uZU5hbWUpO1xuICB9XG5cbiAgYWRkSG9zdGVkWm9uZSh6b25lTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5ob3N0ZWRab25lID0gbmV3IEFXU0hvc3RlZFpvbmUoXG4gICAgICB0aGlzLFxuICAgICAgYCR7dGhpcy5zYWZlWm9uZU5hbWV9SG9zdGVkWm9uZWAsXG4gICAgICB7XG4gICAgICAgIHpvbmVOYW1lOiB6b25lTmFtZSxcbiAgICAgICAgY29tbWVudDogYEhvc3RlZCBab25lIGZvciAke3pvbmVOYW1lfWBcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgaW1wb3J0SG9zdGVkWm9uZSh6b25lTmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUgPSBBV1NIb3N0ZWRab25lLmZyb21Ib3N0ZWRab25lQXR0cmlidXRlcyhcbiAgICAgIC8vIEhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzIGV4cGxpY2l0bHkgbXVzdCBiZSBwYXNzZWQgYSBzdGFjayBhcyBwYXJlbnQgc2NvcGVcbiAgICAgIHRoaXMuc2NvcGUsXG5cbiAgICAgIC8vIFVzZSBzYWZlWm9uZU5hbWUgaW4gdGhlIGlkIHNvIHdlIGNhbiB0aGVvcmV0aWNhbGx5XG4gICAgICAvLyAgaW1wb3J0IG11bHRpcGxlIGhvc3RlZCB6b25lcyBpbiBhIHNpbmdsZSBhcHBcbiAgICAgIGAke3RoaXMuc2FmZVpvbmVOYW1lKCl9SW1wb3J0ZWRIb3N0ZWRab25lYCxcbiAgICAgIHtcbiAgICAgICAgaG9zdGVkWm9uZUlkOiB0aGlzLmhvc3RlZFpvbmVJZCxcbiAgICAgICAgem9uZU5hbWU6IHpvbmVOYW1lXG4gICAgICB9XG4gICAgKTtcblxuICAgIFRhZ3Mub2YodGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUpLmFkZChcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZW52aXJvbm1lbnRcIixcbiAgICAgIFwibWFuYWdlbWVudFwiXG4gICAgKTtcbiAgICBUYWdzLm9mKHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lKS5hZGQoXG4gICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOnNlcnZpY2VcIixcbiAgICAgIFwiaG9zdGVkWm9uZVwiXG4gICAgKTtcbiAgICBUYWdzLm9mKHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lKS5hZGQoXG4gICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOmRvbWFpblwiLFxuICAgICAgem9uZU5hbWVcbiAgICApO1xuXG4gICAgLy8gTWFrZSBleHBvcnQgbmFtZSB1bmlxdWUgYnkgaW5jbHVkaW5nIHRoZSBzdGFjayBuYW1lIHRvIGF2b2lkIGNvbmZsaWN0c1xuICAgIC8vIHdoZW4gbXVsdGlwbGUgc3RhY2tzIGltcG9ydCB0aGUgc2FtZSBob3N0ZWQgem9uZVxuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodGhpcyk7XG4gICAgY29uc3Qgc3RhY2tOYW1lID0gc3RhY2suc3RhY2tOYW1lO1xuICAgIGNvbnN0IGV4cG9ydE5hbWUgPSBgJHtzdGFja05hbWV9JHt0aGlzLnNhZmVab25lTmFtZSgpfUhvc3RlZFpvbmVJZGA7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIGAke3RoaXMuc2FmZVpvbmVOYW1lKCl9SG9zdGVkWm9uZUlkYCwge1xuICAgICAga2V5OiBgJHt0aGlzLnNhZmVab25lTmFtZSgpfUhvc3RlZFpvbmVJZGAsXG4gICAgICB2YWx1ZTogdGhpcy5ob3N0ZWRab25lSWQsXG4gICAgICBleHBvcnROYW1lOiBleHBvcnROYW1lXG4gICAgfSk7XG4gIH1cblxuICBkZWxlZ2F0ZUhvc3RlZFpvbmUoKSB7XG4gICAgY29uc3QgZG9tYWluTmFtZSA9IHRoaXMuaG9zdGVkWm9uZS56b25lTmFtZS5zcGxpdChcIi5cIiwgMSk7XG4gICAgY29uc3Qgcm9sZSA9IG5ldyBSb2xlKHRoaXMsIGAke2RvbWFpbk5hbWV9RGVsZWdhdGVIb3N0ZWRab25lUm9sZWAsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IE9yZ2FuaXphdGlvblByaW5jaXBhbChGbi5pbXBvcnRWYWx1ZShcIk9yZ2FuaXNhdGlvbklkXCIpKSxcbiAgICAgIHJvbGVOYW1lOiBgJHtkb21haW5OYW1lfURlbGVnYXRlSG9zdGVkWm9uZVJvbGVgLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgW1wibGlzdEhvc3RlZFpvbmVzXCJdOiBuZXcgUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBhY3Rpb25zOiBbXCJyb3V0ZTUzOkxpc3RIb3N0ZWRab25lc0J5TmFtZVwiXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgfSksXG4gICAgICAgIFtcImNoYW5nZVJlc291cmNlUmVjb3JkU2V0c1wiXTogbmV3IFBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgYWN0aW9uczogW1wicm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNcIl0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgIGBhcm46YXdzOnJvdXRlNTM6Ojpob3N0ZWR6b25lLyR7dGhpcy5ob3N0ZWRab25lLmhvc3RlZFpvbmVJZH1gXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXVxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5ob3N0ZWRab25lLmdyYW50RGVsZWdhdGlvbihyb2xlKTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgXCJEZWxlZ2F0ZUhvc3RlZFpvbmVSb2xlQXJuXCIsIHtcbiAgICAgIGtleTogYCR7ZG9tYWluTmFtZX1EZWxlZ2F0ZUhvc3RlZFpvbmVSb2xlQXJuYCxcbiAgICAgIHZhbHVlOiByb2xlLnJvbGVBcm4sXG4gICAgICBleHBvcnROYW1lOiBgJHtkb21haW5OYW1lfURlbGVnYXRlSG9zdGVkWm9uZVJvbGVBcm5gXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkQVJlY29yZChwcm9wczogT21pdDxBUmVjb3JkUHJvcHMsIFwiem9uZVwiPikge1xuICAgIG5ldyBBUmVjb3JkKHRoaXMsIFwiQVJlY29yZFwiLCB7XG4gICAgICB6b25lOiB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSxcbiAgICAgIHJlY29yZE5hbWU6IHByb3BzLnJlY29yZE5hbWUsXG4gICAgICBjb21tZW50OlxuICAgICAgICBwcm9wcy5jb21tZW50IHx8IGBBIFJlY29yZCBmb3IgJHt0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZX1gLFxuICAgICAgdGFyZ2V0OiBwcm9wcy50YXJnZXQsXG4gICAgICB0dGw6IHByb3BzLnR0bFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZENuYW1lKHByb3BzOiBPbWl0PENuYW1lUmVjb3JkUHJvcHMsIFwiem9uZVwiPikge1xuICAgIG5ldyBDbmFtZVJlY29yZCh0aGlzLCBgYCwge1xuICAgICAgZG9tYWluTmFtZTogcHJvcHMuZG9tYWluTmFtZSxcbiAgICAgIHpvbmU6IHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLFxuICAgICAgY29tbWVudDpcbiAgICAgICAgcHJvcHMuY29tbWVudCB8fCBgQ05BTUUgUmVjb3JkIGZvciAke3RoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLnpvbmVOYW1lfWAsXG4gICAgICB0dGw6IHByb3BzLnR0bFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZE14KHByb3BzOiBPbWl0PE14UmVjb3JkUHJvcHMsIFwiem9uZVwiPikge1xuICAgIG5ldyBNeFJlY29yZCh0aGlzLCBgYCwge1xuICAgICAgem9uZTogdGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUsXG4gICAgICBjb21tZW50OlxuICAgICAgICBwcm9wcy5jb21tZW50IHx8IGBNWCBSZWNvcmQgZm9yICR7dGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUuem9uZU5hbWV9YCxcbiAgICAgIHZhbHVlczogcHJvcHMudmFsdWVzLFxuICAgICAgdHRsOiBwcm9wcy50dGxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGROUyhwcm9wczogT21pdDxOc1JlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgTnNSZWNvcmQodGhpcywgYGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLFxuICAgICAgY29tbWVudDpcbiAgICAgICAgcHJvcHMuY29tbWVudCB8fCBgTlMgUmVjb3JkIGZvciAke3RoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLnpvbmVOYW1lfWAsXG4gICAgICB2YWx1ZXM6IHByb3BzLnZhbHVlcyxcbiAgICAgIHR0bDogcHJvcHMudHRsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkVHh0KHByb3BzOiBPbWl0PFR4dFJlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgVHh0UmVjb3JkKHRoaXMsIGBgLCB7XG4gICAgICB6b25lOiB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSxcbiAgICAgIGNvbW1lbnQ6XG4gICAgICAgIHByb3BzLmNvbW1lbnQgfHwgYFRYVCBSZWNvcmQgZm9yICR7dGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUuem9uZU5hbWV9YCxcbiAgICAgIHZhbHVlczogcHJvcHMudmFsdWVzLFxuICAgICAgdHRsOiBwcm9wcy50dGxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -25,5 +25,6 @@ __exportStar(require("./hostedZone"), exports);
|
|
|
25
25
|
// Patterns
|
|
26
26
|
__exportStar(require("./compute"), exports);
|
|
27
27
|
__exportStar(require("./storage"), exports);
|
|
28
|
+
__exportStar(require("./auditRole"), exports);
|
|
28
29
|
__exportStar(require("./network"), exports);
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvcGF0dGVybnMvYXdzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3REFBc0M7QUFDdEMsb0RBQWtDO0FBQ2xDLG1EQUFpQztBQUNqQyw4Q0FBNEI7QUFDNUIsa0VBQWdEO0FBQ2hELGtEQUFnQztBQUNoQyw2Q0FBMkI7QUFDM0IsK0NBQTZCO0FBRTdCLFdBQVc7QUFDWCw0Q0FBMEI7QUFDMUIsNENBQTBCO0FBQzFCLDhDQUE0QjtBQUM1Qiw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9tYW5hZ2VkT3JnYW5pc2F0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tYW5hZ2VkUGxhdGZvcm1cIjtcbmV4cG9ydCAqIGZyb20gXCIuL21hbmFnZWRBY2NvdW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9idWlsZGtpdGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL2NvbXB1dGUvZWMyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maXZldHJhblByb3h5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaG9zdGVkWm9uZVwiO1xuXG4vLyBQYXR0ZXJuc1xuZXhwb3J0ICogZnJvbSBcIi4vY29tcHV0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RvcmFnZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXVkaXRSb2xlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uZXR3b3JrXCI7XG4iXX0=
|
|
@@ -4,7 +4,6 @@ exports.ManagedAccount = void 0;
|
|
|
4
4
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
5
|
const aws_1 = require("../../config/aws");
|
|
6
6
|
const cloudTrail_1 = require("../../config/aws/cloudTrail");
|
|
7
|
-
const aws_cdk_lib_2 = require("aws-cdk-lib");
|
|
8
7
|
const getConfig_1 = require("../../utils/getConfig");
|
|
9
8
|
const disasterRecovery_1 = require("../../config/aws/disasterRecovery");
|
|
10
9
|
const util_1 = require("@fjall/util");
|
|
@@ -32,7 +31,7 @@ class ManagedAccount extends aws_cdk_lib_1.Stack {
|
|
|
32
31
|
});
|
|
33
32
|
const config = (0, getConfig_1.getConfig)();
|
|
34
33
|
const environment = config.environment || "unknown";
|
|
35
|
-
const
|
|
34
|
+
const _fjallConfig = util_1.Config.loadConfig();
|
|
36
35
|
const isComplianceAccount = environment === "compliance";
|
|
37
36
|
const isReplicationRegion = config.disasterRecoveryRegion &&
|
|
38
37
|
props.region === config.disasterRecoveryRegion;
|
|
@@ -44,7 +43,7 @@ class ManagedAccount extends aws_cdk_lib_1.Stack {
|
|
|
44
43
|
accountId: props.accountId
|
|
45
44
|
});
|
|
46
45
|
}
|
|
47
|
-
new
|
|
46
|
+
new aws_cdk_lib_1.CfnOutput(this, "Environment", {
|
|
48
47
|
key: "Environment",
|
|
49
48
|
value: environment,
|
|
50
49
|
exportName: "Environment",
|
|
@@ -53,4 +52,4 @@ class ManagedAccount extends aws_cdk_lib_1.Stack {
|
|
|
53
52
|
}
|
|
54
53
|
}
|
|
55
54
|
exports.ManagedAccount = ManagedAccount;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlZEFjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvcGF0dGVybnMvYXdzL21hbmFnZWRBY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFnRTtBQUNoRSwwQ0FNMEI7QUFFMUIsNERBQW9FO0FBQ3BFLHFEQUFrRDtBQUNsRCx3RUFBcUU7QUFDckUsc0NBQW9EO0FBT3BELE1BQWEsY0FBZSxTQUFRLG1CQUFLO0lBQ3ZDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsTUFBTSxZQUFZLEdBQUcsSUFBSSxvQkFBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBRWhFLE1BQU0sT0FBTyxHQUFHLElBQUksZUFBUyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUVqRCxNQUFNLFFBQVEsR0FBRyxJQUFJLHFCQUFlLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXZELElBQUksRUFBRSxLQUFLLGdCQUFnQixFQUFFLENBQUM7WUFDNUIsSUFBSSxnQkFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7Z0JBQ2pDLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUztnQkFDMUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO2dCQUNwQixPQUFPLEVBQUUsWUFBWSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2pFLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLGtDQUFxQixDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDNUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSztZQUNsQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07U0FDckIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxxQkFBZSxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUMzQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSztZQUNsQyxXQUFXLEVBQUUsUUFBUSxDQUFDLGtCQUFrQixDQUFDLEtBQUs7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBUyxHQUFFLENBQUM7UUFDM0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxTQUFTLENBQUM7UUFDcEQsTUFBTSxZQUFZLEdBQUcsYUFBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRTlDLE1BQU0sbUJBQW1CLEdBQUcsV0FBVyxLQUFLLFlBQVksQ0FBQztRQUN6RCxNQUFNLG1CQUFtQixHQUN2QixNQUFNLENBQUMsc0JBQXNCO1lBQzdCLEtBQUssQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLHNCQUFzQixDQUFDO1FBRWpELElBQ0UsV0FBVyxLQUFLLFlBQVk7WUFDNUIsbUJBQW1CO1lBQ25CLG1CQUFtQixFQUNuQixDQUFDO1lBQ0QsSUFBSSxtQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLEVBQUU7Z0JBQzdDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtnQkFDcEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO2FBQzNCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNqQyxHQUFHLEVBQUUsYUFBYTtZQUNsQixLQUFLLEVBQUUsV0FBVztZQUNsQixVQUFVLEVBQUUsYUFBYTtZQUN6QixXQUFXLEVBQ1QsNEVBQTRFO1NBQy9FLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXpERCx3Q0F5REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFN0YWNrLCB0eXBlIFN0YWNrUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIE9yZ2FuaXNhdGlvbklkLFxuICBBY2NvdW50SWQsXG4gIElwYW1Qb29sSWQsXG4gIEVjckRlZmF1bHRJbWFnZSxcbiAgRGVmYXVsdEV2ZW50QnVzXG59IGZyb20gXCIuLi8uLi9jb25maWcvYXdzXCI7XG5pbXBvcnQgeyB0eXBlIENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBNYW5hZ2VtZW50RXZlbnRzVHJhaWwgfSBmcm9tIFwiLi4vLi4vY29uZmlnL2F3cy9jbG91ZFRyYWlsXCI7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tIFwiLi4vLi4vdXRpbHMvZ2V0Q29uZmlnXCI7XG5pbXBvcnQgeyBEaXNhc3RlclJlY292ZXJ5IH0gZnJvbSBcIi4uLy4uL2NvbmZpZy9hd3MvZGlzYXN0ZXJSZWNvdmVyeVwiO1xuaW1wb3J0IHsgQ29uZmlnIGFzIEZqYWxsQ29uZmlnIH0gZnJvbSBcIkBmamFsbC91dGlsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuYWdlZEFjY291bnRQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICBhY2NvdW50SWQ6IHN0cmluZztcbiAgcmVnaW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBNYW5hZ2VkQWNjb3VudCBleHRlbmRzIFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE1hbmFnZWRBY2NvdW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGNvbnN0IG9yZ2FuaXNhdGlvbiA9IG5ldyBPcmdhbmlzYXRpb25JZCh0aGlzLCBcIk9yZ2FuaXNhdGlvbklkXCIpO1xuXG4gICAgY29uc3QgYWNjb3VudCA9IG5ldyBBY2NvdW50SWQodGhpcywgXCJBY2NvdW50SWRcIik7XG5cbiAgICBjb25zdCBldmVudEJ1cyA9IG5ldyBEZWZhdWx0RXZlbnRCdXModGhpcywgXCJFdmVudEJ1c1wiKTtcblxuICAgIGlmIChpZCA9PT0gXCJNYW5hZ2VkQWNjb3VudFwiKSB7XG4gICAgICBuZXcgSXBhbVBvb2xJZCh0aGlzLCBcIklwYW1Qb29sSWRcIiwge1xuICAgICAgICBhY2NvdW50SWQ6IHByb3BzLmFjY291bnRJZCxcbiAgICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgIG93bmVySWQ6IG9yZ2FuaXNhdGlvbi5vcmdhbmlzYXRpb25BY2NvdW50QXJuLnZhbHVlLnNwbGl0KFwiOlwiKVs0XVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmV3IE1hbmFnZW1lbnRFdmVudHNUcmFpbCh0aGlzLCBcIkNsb3VkVHJhaWxcIiwge1xuICAgICAgYWNjb3VudElkOiBhY2NvdW50LmFjY291bnRJZC52YWx1ZSxcbiAgICAgIHJlZ2lvbjogcHJvcHMucmVnaW9uXG4gICAgfSk7XG5cbiAgICBuZXcgRWNyRGVmYXVsdEltYWdlKHRoaXMsIFwiRWNyRGVmYXVsdEltYWdlXCIsIHtcbiAgICAgIHJlZ2lvbjogcHJvcHMucmVnaW9uLFxuICAgICAgYWNjb3VudElkOiBhY2NvdW50LmFjY291bnRJZC52YWx1ZSxcbiAgICAgIGV2ZW50QnVzQXJuOiBldmVudEJ1cy5kZWZhdWx0RXZlbnRCdXNBcm4udmFsdWVcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbmZpZyA9IGdldENvbmZpZygpO1xuICAgIGNvbnN0IGVudmlyb25tZW50ID0gY29uZmlnLmVudmlyb25tZW50IHx8IFwidW5rbm93blwiO1xuICAgIGNvbnN0IF9mamFsbENvbmZpZyA9IEZqYWxsQ29uZmlnLmxvYWRDb25maWcoKTtcblxuICAgIGNvbnN0IGlzQ29tcGxpYW5jZUFjY291bnQgPSBlbnZpcm9ubWVudCA9PT0gXCJjb21wbGlhbmNlXCI7XG4gICAgY29uc3QgaXNSZXBsaWNhdGlvblJlZ2lvbiA9XG4gICAgICBjb25maWcuZGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbiAmJlxuICAgICAgcHJvcHMucmVnaW9uID09PSBjb25maWcuZGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbjtcblxuICAgIGlmIChcbiAgICAgIGVudmlyb25tZW50ID09PSBcInByb2R1Y3Rpb25cIiB8fFxuICAgICAgaXNDb21wbGlhbmNlQWNjb3VudCB8fFxuICAgICAgaXNSZXBsaWNhdGlvblJlZ2lvblxuICAgICkge1xuICAgICAgbmV3IERpc2FzdGVyUmVjb3ZlcnkodGhpcywgXCJEaXNhc3RlclJlY292ZXJ5XCIsIHtcbiAgICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgIGFjY291bnRJZDogcHJvcHMuYWNjb3VudElkXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiRW52aXJvbm1lbnRcIiwge1xuICAgICAga2V5OiBcIkVudmlyb25tZW50XCIsXG4gICAgICB2YWx1ZTogZW52aXJvbm1lbnQsXG4gICAgICBleHBvcnROYW1lOiBcIkVudmlyb25tZW50XCIsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJFbnZpcm9ubWVudCB0eXBlIGZvciB0aGlzIGFjY291bnQgKGUuZy4sIHByb2R1Y3Rpb24sIHN0YWdpbmcsIGRldmVsb3BtZW50KVwiXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -30,10 +30,11 @@ class S3Storage extends constructs_1.Construct {
|
|
|
30
30
|
case "publicRead":
|
|
31
31
|
this.addPublicReadBucket(props);
|
|
32
32
|
break;
|
|
33
|
-
default:
|
|
33
|
+
default: {
|
|
34
34
|
// Exhaustiveness check
|
|
35
35
|
const _exhaustive = props;
|
|
36
36
|
throw new Error(`Unsupported S3 bucket type ${props.bucketType}`);
|
|
37
|
+
}
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
addPrivateBucket(props) {
|
|
@@ -76,4 +77,4 @@ class S3Storage extends constructs_1.Construct {
|
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
exports.S3Storage = S3Storage;
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3Mvc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBdUM7QUFJdkMseURBS3FDO0FBZ0NyQyxNQUFhLGNBQWM7SUFDekIsTUFBTSxDQUFDLEtBQUssQ0FBcUIsRUFBVSxFQUFFLEtBQVE7UUFDbkQsT0FBTyxDQUFDLEdBQVEsRUFBRSxLQUFnQixFQUFFLEVBQUU7WUFDcEMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQU5ELHdDQU1DO0FBRUQsTUFBYSxTQUFVLFNBQVEsc0JBQVM7SUFPdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFlO1FBQ3ZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFFbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQWU7UUFDekIsUUFBUSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDekIsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0IsTUFBTTtZQUNSLEtBQUssU0FBUztnQkFDWixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzdCLE1BQU07WUFDUixLQUFLLFlBQVk7Z0JBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoQyxNQUFNO1lBQ1IsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDUix1QkFBdUI7Z0JBQ3ZCLE1BQU0sV0FBVyxHQUFVLEtBQUssQ0FBQztnQkFDakMsTUFBTSxJQUFJLEtBQUssQ0FDYiw4QkFBK0IsS0FBYSxDQUFDLFVBQVUsRUFBRSxDQUMxRCxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBcUI7UUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGtCQUFRLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFO1lBQ25ELGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFpQjtZQUNuQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsbUJBQW1CO1lBQzNFLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7U0FDekMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQXFCO1FBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSx5QkFBZSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRTtZQUMxRCxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQzFCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBaUI7WUFDbkMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtZQUNoRCxvQkFBb0IsRUFBRSxLQUFLLENBQUMsb0JBQW9CO1lBQ2hELElBQUksRUFBRSxLQUFLLENBQUMsSUFBVztTQUN4QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBd0I7UUFDbEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLDRCQUFrQixDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRTtZQUM3RCxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7WUFDdEMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQzFCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBaUI7U0FDcEMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUFqRkQsOEJBaUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IHR5cGUgSUJ1Y2tldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcblxuaW1wb3J0IHR5cGUgQXBwIGZyb20gXCIuLi8uLi9hcHBcIjtcbmltcG9ydCB7XG4gIFMzQnVja2V0LFxuICBTM1dlYnNpdGVCdWNrZXQsXG4gIFMzUHVibGljUmVhZEJ1Y2tldCxcbiAgdHlwZSBCYWNrdXBWYXVsdFRpZXJcbn0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3Mvc3RvcmFnZVwiO1xuXG50eXBlIFMzQnVja2V0VHlwZSA9IFwicHJpdmF0ZVwiIHwgXCJ3ZWJzaXRlXCIgfCBcInB1YmxpY1JlYWRcIjtcblxudHlwZSBCYXNlUzNQcm9wcyA9IHtcbiAgYmFja3VwVmF1bHRUaWVyPzogQmFja3VwVmF1bHRUaWVyO1xuICB2ZXJzaW9uZWQ/OiBib29sZWFuO1xuICBlbmNyeXB0aW9uPzogXCJBRVMyNTZcIiB8IFwiS01TXCI7XG4gIGttc0tleUFybj86IHN0cmluZztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJpdmF0ZVMzUHJvcHMgZXh0ZW5kcyBCYXNlUzNQcm9wcyB7XG4gIGJ1Y2tldFR5cGU6IFwicHJpdmF0ZVwiO1xuICBwdWJsaWNSZWFkQWNjZXNzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXZWJzaXRlUzNQcm9wcyBleHRlbmRzIEJhc2VTM1Byb3BzIHtcbiAgYnVja2V0VHlwZTogXCJ3ZWJzaXRlXCI7XG4gIHdlYnNpdGVJbmRleERvY3VtZW50Pzogc3RyaW5nO1xuICB3ZWJzaXRlRXJyb3JEb2N1bWVudD86IHN0cmluZztcbiAgY29ycz86IEFycmF5PHtcbiAgICBhbGxvd2VkT3JpZ2luczogc3RyaW5nW107XG4gICAgYWxsb3dlZE1ldGhvZHM6IHN0cmluZ1tdO1xuICB9Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNSZWFkUzNQcm9wcyBleHRlbmRzIEJhc2VTM1Byb3BzIHtcbiAgYnVja2V0VHlwZTogXCJwdWJsaWNSZWFkXCI7XG59XG5cbmV4cG9ydCB0eXBlIElTM1Byb3BzID0gUHJpdmF0ZVMzUHJvcHMgfCBXZWJzaXRlUzNQcm9wcyB8IFB1YmxpY1JlYWRTM1Byb3BzO1xuXG5leHBvcnQgY2xhc3MgU3RvcmFnZUZhY3Rvcnkge1xuICBzdGF0aWMgYnVpbGQ8VCBleHRlbmRzIElTM1Byb3BzPihpZDogc3RyaW5nLCBwcm9wczogVCkge1xuICAgIHJldHVybiAoYXBwOiBBcHAsIHNjb3BlOiBDb25zdHJ1Y3QpID0+IHtcbiAgICAgIHJldHVybiBuZXcgUzNTdG9yYWdlKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFMzU3RvcmFnZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuICBwdWJsaWMgc2NvcGU6IENvbnN0cnVjdDtcblxuICBwcml2YXRlIGJ1Y2tldDogUzNCdWNrZXQgfCBTM1dlYnNpdGVCdWNrZXQgfCBTM1B1YmxpY1JlYWRCdWNrZXQ7XG4gIHByaXZhdGUgYnVja2V0VHlwZTogUzNCdWNrZXRUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJUzNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMuc2NvcGUgPSBzY29wZTtcbiAgICB0aGlzLmJ1Y2tldFR5cGUgPSBwcm9wcy5idWNrZXRUeXBlO1xuXG4gICAgdGhpcy5hZGRTM0J1Y2tldChwcm9wcyk7XG4gIH1cblxuICBhZGRTM0J1Y2tldChwcm9wczogSVMzUHJvcHMpIHtcbiAgICBzd2l0Y2ggKHByb3BzLmJ1Y2tldFR5cGUpIHtcbiAgICAgIGNhc2UgXCJwcml2YXRlXCI6XG4gICAgICAgIHRoaXMuYWRkUHJpdmF0ZUJ1Y2tldChwcm9wcyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIndlYnNpdGVcIjpcbiAgICAgICAgdGhpcy5hZGRXZWJzaXRlQnVja2V0KHByb3BzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwicHVibGljUmVhZFwiOlxuICAgICAgICB0aGlzLmFkZFB1YmxpY1JlYWRCdWNrZXQocHJvcHMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgLy8gRXhoYXVzdGl2ZW5lc3MgY2hlY2tcbiAgICAgICAgY29uc3QgX2V4aGF1c3RpdmU6IG5ldmVyID0gcHJvcHM7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgVW5zdXBwb3J0ZWQgUzMgYnVja2V0IHR5cGUgJHsocHJvcHMgYXMgYW55KS5idWNrZXRUeXBlfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFByaXZhdGVCdWNrZXQocHJvcHM6IFByaXZhdGVTM1Byb3BzKSB7XG4gICAgdGhpcy5idWNrZXQgPSBuZXcgUzNCdWNrZXQodGhpcywgYCR7dGhpcy5pZH1CdWNrZXRgLCB7XG4gICAgICBiYWNrdXBWYXVsdFRpZXI6IHByb3BzLmJhY2t1cFZhdWx0VGllcixcbiAgICAgIHZlcnNpb25lZDogcHJvcHMudmVyc2lvbmVkLFxuICAgICAgZW5jcnlwdGlvbjogcHJvcHMuZW5jcnlwdGlvbiBhcyBhbnksXG4gICAgICBlbmNyeXB0aW9uS2V5OiBwcm9wcy5rbXNLZXlBcm4gPyB1bmRlZmluZWQgOiB1bmRlZmluZWQsIC8vIEtNUyBrZXkgaGFuZGxpbmdcbiAgICAgIHB1YmxpY1JlYWRBY2Nlc3M6IHByb3BzLnB1YmxpY1JlYWRBY2Nlc3NcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkV2Vic2l0ZUJ1Y2tldChwcm9wczogV2Vic2l0ZVMzUHJvcHMpIHtcbiAgICB0aGlzLmJ1Y2tldCA9IG5ldyBTM1dlYnNpdGVCdWNrZXQodGhpcywgYCR7dGhpcy5pZH1CdWNrZXRgLCB7XG4gICAgICBiYWNrdXBWYXVsdFRpZXI6IHByb3BzLmJhY2t1cFZhdWx0VGllcixcbiAgICAgIHZlcnNpb25lZDogcHJvcHMudmVyc2lvbmVkLFxuICAgICAgZW5jcnlwdGlvbjogcHJvcHMuZW5jcnlwdGlvbiBhcyBhbnksXG4gICAgICB3ZWJzaXRlSW5kZXhEb2N1bWVudDogcHJvcHMud2Vic2l0ZUluZGV4RG9jdW1lbnQsXG4gICAgICB3ZWJzaXRlRXJyb3JEb2N1bWVudDogcHJvcHMud2Vic2l0ZUVycm9yRG9jdW1lbnQsXG4gICAgICBjb3JzOiBwcm9wcy5jb3JzIGFzIGFueVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRQdWJsaWNSZWFkQnVja2V0KHByb3BzOiBQdWJsaWNSZWFkUzNQcm9wcykge1xuICAgIHRoaXMuYnVja2V0ID0gbmV3IFMzUHVibGljUmVhZEJ1Y2tldCh0aGlzLCBgJHt0aGlzLmlkfUJ1Y2tldGAsIHtcbiAgICAgIGJhY2t1cFZhdWx0VGllcjogcHJvcHMuYmFja3VwVmF1bHRUaWVyLFxuICAgICAgdmVyc2lvbmVkOiBwcm9wcy52ZXJzaW9uZWQsXG4gICAgICBlbmNyeXB0aW9uOiBwcm9wcy5lbmNyeXB0aW9uIGFzIGFueVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0QnVja2V0KCk6IElCdWNrZXQge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldDtcbiAgfVxuXG4gIGdldEJ1Y2tldE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXQuYnVja2V0TmFtZTtcbiAgfVxuXG4gIGdldEJ1Y2tldEFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmJ1Y2tldC5idWNrZXRBcm47XG4gIH1cblxuICBnZXRCdWNrZXRUeXBlKCk6IFMzQnVja2V0VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuYnVja2V0VHlwZTtcbiAgfVxufVxuIl19
|
|
@@ -29,11 +29,11 @@ class SubdomainHostedZone extends aws_cdk_lib_1.Stack {
|
|
|
29
29
|
parentHostedZoneName: props.parentHostedZoneName
|
|
30
30
|
});
|
|
31
31
|
new aws_cdk_lib_1.CfnOutput(this, `${props.delegatedZone.split(".").join("")}HostedZoneId`, {
|
|
32
|
-
key: "HostedZoneId
|
|
32
|
+
key: `${props.delegatedZone.split(".").join("")}HostedZoneId`,
|
|
33
33
|
value: delegatedHostedZone.hostedZoneId,
|
|
34
34
|
exportName: `${props.delegatedZone.split(".").join("")}HostedZoneId`
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
exports.SubdomainHostedZone = SubdomainHostedZone;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZG9tYWluSG9zdGVkWm9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3Mvc3ViZG9tYWluSG9zdGVkWm9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBbUQ7QUFDbkQsNkNBQStDO0FBQy9DLGlEQUErQztBQUMvQywyREFBb0Q7QUFDcEQsbUNBQTRCO0FBUTVCLE1BQWEsbUJBQW9CLFNBQVEsbUJBQUs7SUFDNUMsWUFBWSxFQUFVLEVBQUUsS0FBK0I7UUFDckQsS0FBSyxDQUFDLGFBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU3QixvQkFBb0I7UUFDcEIsTUFBTSxpQkFBaUIsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDakQsT0FBTyxFQUFFLElBQUEsc0JBQVksRUFBQyxLQUFLLENBQUMsaUJBQWlCLENBQUM7WUFDOUMsTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsTUFBTTtZQUNoQixZQUFZLEVBQUUsR0FBRyxLQUFLLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUMvQyxHQUFHLEVBQ0gsQ0FBQyxDQUNGLHdCQUF3QjtZQUN6QixPQUFPLEVBQUUsS0FBSztTQUNmLENBQUMsQ0FBQztRQUVILDRCQUE0QjtRQUM1QixNQUFNLHdCQUF3QixHQUFHLFVBQUksQ0FBQyxXQUFXLENBQy9DLElBQUksRUFDSiwwQkFBMEIsRUFDMUIsaUJBQWlCLENBQ2xCLENBQUM7UUFFRixhQUFhO1FBQ2IsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQ2hELElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxhQUFhLFlBQVksRUFDbEM7WUFDRSxRQUFRLEVBQUUsS0FBSyxDQUFDLGFBQWE7U0FDOUIsQ0FDRixDQUFDO1FBRUYsSUFBSSxPQUFPLENBQUMsZ0NBQWdDLENBQzFDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxhQUFhLGdCQUFnQixFQUN0QztZQUNFLGNBQWMsRUFBRSx3QkFBd0I7WUFDeEMsYUFBYSxFQUFFLG1CQUFtQjtZQUNsQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsb0JBQW9CO1NBQ2pELENBQ0YsQ0FBQztRQUVGLElBQUksdUJBQVMsQ0FDWCxJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFDeEQ7WUFDRSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWM7WUFDN0QsS0FBSyxFQUFFLG1CQUFtQixDQUFDLFlBQVk7WUFDdkMsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxjQUFjO1NBQ3JFLENBQ0YsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXBERCxrREFvREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL2lhbVwiO1xuaW1wb3J0IGdldEFjY291bnRJZCBmcm9tIFwiLi4vLi4vdXRpbHMvZ2V0QWNjb3VudElkXCI7XG5pbXBvcnQgQXBwIGZyb20gXCIuLi8uLi9hcHBcIjtcblxuZXhwb3J0IGludGVyZmFjZSBzdWJkb21haW5Ib3N0ZWRab25lUHJvcHMge1xuICBkZWxlZ2F0ZWRab25lOiBzdHJpbmc7XG4gIHBhcmVudEhvc3RlZFpvbmVOYW1lOiBzdHJpbmc7XG4gIHBhcmVudEFjY291bnROYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBTdWJkb21haW5Ib3N0ZWRab25lIGV4dGVuZHMgU3RhY2sge1xuICBjb25zdHJ1Y3RvcihpZDogc3RyaW5nLCBwcm9wczogc3ViZG9tYWluSG9zdGVkWm9uZVByb3BzKSB7XG4gICAgc3VwZXIoQXBwLmdldEluc3RhbmNlKCksIGlkKTtcblxuICAgIC8vIERlbGVnYXRpb25Sb2xlQXJuXG4gICAgY29uc3QgZGVsZWdhdGlvblJvbGVBcm4gPSBTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgYWNjb3VudDogZ2V0QWNjb3VudElkKHByb3BzLnBhcmVudEFjY291bnROYW1lKSxcbiAgICAgIHJlZ2lvbjogXCJcIixcbiAgICAgIHJlc291cmNlOiBcInJvbGVcIixcbiAgICAgIHJlc291cmNlTmFtZTogYCR7cHJvcHMucGFyZW50SG9zdGVkWm9uZU5hbWUuc3BsaXQoXG4gICAgICAgIFwiLlwiLFxuICAgICAgICAxXG4gICAgICApfURlbGVnYXRlSG9zdGVkWm9uZVJvbGVgLFxuICAgICAgc2VydmljZTogXCJpYW1cIlxuICAgIH0pO1xuXG4gICAgLy8gRGVsZWdhdGUgSG9zdGVkIFpvbmUgUm9sZVxuICAgIGNvbnN0IGhvc3RlZFpvbmVEZWxlZ2F0aW9uUm9sZSA9IFJvbGUuZnJvbVJvbGVBcm4oXG4gICAgICB0aGlzLFxuICAgICAgXCJob3N0ZWRab25lRGVsZWdhdGlvblJvbGVcIixcbiAgICAgIGRlbGVnYXRpb25Sb2xlQXJuXG4gICAgKTtcblxuICAgIC8vIFN1YmRvbWFpbnNcbiAgICBjb25zdCBkZWxlZ2F0ZWRIb3N0ZWRab25lID0gbmV3IHJvdXRlNTMuSG9zdGVkWm9uZShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kZWxlZ2F0ZWRab25lfUhvc3RlZFpvbmVgLFxuICAgICAge1xuICAgICAgICB6b25lTmFtZTogcHJvcHMuZGVsZWdhdGVkWm9uZVxuICAgICAgfVxuICAgICk7XG5cbiAgICBuZXcgcm91dGU1My5Dcm9zc0FjY291bnRab25lRGVsZWdhdGlvblJlY29yZChcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kZWxlZ2F0ZWRab25lfURlbGVnYXRpb25Sb2xlYCxcbiAgICAgIHtcbiAgICAgICAgZGVsZWdhdGlvblJvbGU6IGhvc3RlZFpvbmVEZWxlZ2F0aW9uUm9sZSxcbiAgICAgICAgZGVsZWdhdGVkWm9uZTogZGVsZWdhdGVkSG9zdGVkWm9uZSxcbiAgICAgICAgcGFyZW50SG9zdGVkWm9uZU5hbWU6IHByb3BzLnBhcmVudEhvc3RlZFpvbmVOYW1lXG4gICAgICB9XG4gICAgKTtcblxuICAgIG5ldyBDZm5PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGVsZWdhdGVkWm9uZS5zcGxpdChcIi5cIikuam9pbihcIlwiKX1Ib3N0ZWRab25lSWRgLFxuICAgICAge1xuICAgICAgICBrZXk6IGAke3Byb3BzLmRlbGVnYXRlZFpvbmUuc3BsaXQoXCIuXCIpLmpvaW4oXCJcIil9SG9zdGVkWm9uZUlkYCxcbiAgICAgICAgdmFsdWU6IGRlbGVnYXRlZEhvc3RlZFpvbmUuaG9zdGVkWm9uZUlkLFxuICAgICAgICBleHBvcnROYW1lOiBgJHtwcm9wcy5kZWxlZ2F0ZWRab25lLnNwbGl0KFwiLlwiKS5qb2luKFwiXCIpfUhvc3RlZFpvbmVJZGBcbiAgICAgIH1cbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Role } from "aws-cdk-lib/aws-iam";
|
|
2
|
+
import { type Construct } from "constructs";
|
|
3
|
+
export interface AuditRoleConfig {
|
|
4
|
+
/**
|
|
5
|
+
* The AWS account ID of the Fjall webapp that will assume this role
|
|
6
|
+
*/
|
|
7
|
+
webappAccountId: string;
|
|
8
|
+
/**
|
|
9
|
+
* The application name to scope the role's permissions to
|
|
10
|
+
*/
|
|
11
|
+
appName: string;
|
|
12
|
+
/**
|
|
13
|
+
* External ID for additional security when assuming the role
|
|
14
|
+
*/
|
|
15
|
+
externalId: string;
|
|
16
|
+
/**
|
|
17
|
+
* Optional role name prefix. Defaults to "FjallAudit"
|
|
18
|
+
*/
|
|
19
|
+
roleNamePrefix?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Optional IAM path for the role. Defaults to "/"
|
|
22
|
+
*/
|
|
23
|
+
rolePath?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Factory to build a cross-account audit IAM role that allows the Fjall webapp
|
|
27
|
+
* to use CloudQuery for comprehensive read-only auditing of AWS resources.
|
|
28
|
+
*/
|
|
29
|
+
export declare class AuditRoleFactory {
|
|
30
|
+
static build(id: string, config: AuditRoleConfig): (app: Construct, scope: Construct) => Role;
|
|
31
|
+
}
|
|
32
|
+
export default AuditRoleFactory;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuditRoleFactory = void 0;
|
|
4
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
5
|
+
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
6
|
+
/**
|
|
7
|
+
* Factory to build a cross-account audit IAM role that allows the Fjall webapp
|
|
8
|
+
* to use CloudQuery for comprehensive read-only auditing of AWS resources.
|
|
9
|
+
*/
|
|
10
|
+
class AuditRoleFactory {
|
|
11
|
+
static build(id, config) {
|
|
12
|
+
return (_app, scope) => {
|
|
13
|
+
const role = new aws_iam_1.Role(scope, id, {
|
|
14
|
+
roleName: `${config.roleNamePrefix || "FjallAudit"}-${config.appName}`,
|
|
15
|
+
path: config.rolePath || "/",
|
|
16
|
+
assumedBy: new aws_iam_1.AccountPrincipal(config.webappAccountId),
|
|
17
|
+
description: `Cross-account audit role for CloudQuery access to application: ${config.appName}`,
|
|
18
|
+
externalIds: [config.externalId],
|
|
19
|
+
managedPolicies: [
|
|
20
|
+
// AWS managed policy for comprehensive read-only access
|
|
21
|
+
aws_iam_1.ManagedPolicy.fromAwsManagedPolicyName("ReadOnlyAccess"),
|
|
22
|
+
// AWS managed policy for security auditing
|
|
23
|
+
aws_iam_1.ManagedPolicy.fromAwsManagedPolicyName("SecurityAudit")
|
|
24
|
+
]
|
|
25
|
+
});
|
|
26
|
+
// Export the role ARN so it can be retrieved after deployment
|
|
27
|
+
new aws_cdk_lib_1.CfnOutput(scope, `${id}Arn`, {
|
|
28
|
+
value: role.roleArn,
|
|
29
|
+
description: `ARN of the audit role for ${config.appName}`,
|
|
30
|
+
exportName: `${config.appName}-AuditRoleArn`
|
|
31
|
+
});
|
|
32
|
+
// Export the external ID so it can be retrieved after deployment
|
|
33
|
+
new aws_cdk_lib_1.CfnOutput(scope, `${id}ExternalId`, {
|
|
34
|
+
value: config.externalId,
|
|
35
|
+
description: `External ID for the audit role for ${config.appName}`,
|
|
36
|
+
exportName: `${config.appName}-AuditRoleExternalId`
|
|
37
|
+
});
|
|
38
|
+
return role;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.AuditRoleFactory = AuditRoleFactory;
|
|
43
|
+
exports.default = AuditRoleFactory;
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXRSb2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvYXVkaXQvYXVkaXRSb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUF3QztBQUN4QyxpREFBNEU7QUE4QjVFOzs7R0FHRztBQUNILE1BQWEsZ0JBQWdCO0lBQ3BCLE1BQU0sQ0FBQyxLQUFLLENBQ2pCLEVBQVUsRUFDVixNQUF1QjtRQUV2QixPQUFPLENBQUMsSUFBZSxFQUFFLEtBQWdCLEVBQUUsRUFBRTtZQUMzQyxNQUFNLElBQUksR0FBRyxJQUFJLGNBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUMvQixRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUMsY0FBYyxJQUFJLFlBQVksSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO2dCQUN0RSxJQUFJLEVBQUUsTUFBTSxDQUFDLFFBQVEsSUFBSSxHQUFHO2dCQUM1QixTQUFTLEVBQUUsSUFBSSwwQkFBZ0IsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDO2dCQUN2RCxXQUFXLEVBQUUsa0VBQWtFLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQy9GLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7Z0JBQ2hDLGVBQWUsRUFBRTtvQkFDZix3REFBd0Q7b0JBQ3hELHVCQUFhLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLENBQUM7b0JBQ3hELDJDQUEyQztvQkFDM0MsdUJBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLENBQUM7aUJBQ3hEO2FBQ0YsQ0FBQyxDQUFDO1lBRUgsOERBQThEO1lBQzlELElBQUksdUJBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRTtnQkFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNuQixXQUFXLEVBQUUsNkJBQTZCLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzFELFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLGVBQWU7YUFDN0MsQ0FBQyxDQUFDO1lBRUgsaUVBQWlFO1lBQ2pFLElBQUksdUJBQVMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRTtnQkFDdEMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVO2dCQUN4QixXQUFXLEVBQUUsc0NBQXNDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQ25FLFVBQVUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLHNCQUFzQjthQUNwRCxDQUFDLENBQUM7WUFFSCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXJDRCw0Q0FxQ0M7QUFFRCxrQkFBZSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUm9sZSwgQWNjb3VudFByaW5jaXBhbCwgTWFuYWdlZFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyB0eXBlIENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXVkaXRSb2xlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBBV1MgYWNjb3VudCBJRCBvZiB0aGUgRmphbGwgd2ViYXBwIHRoYXQgd2lsbCBhc3N1bWUgdGhpcyByb2xlXG4gICAqL1xuICB3ZWJhcHBBY2NvdW50SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGFwcGxpY2F0aW9uIG5hbWUgdG8gc2NvcGUgdGhlIHJvbGUncyBwZXJtaXNzaW9ucyB0b1xuICAgKi9cbiAgYXBwTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHRlcm5hbCBJRCBmb3IgYWRkaXRpb25hbCBzZWN1cml0eSB3aGVuIGFzc3VtaW5nIHRoZSByb2xlXG4gICAqL1xuICBleHRlcm5hbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHJvbGUgbmFtZSBwcmVmaXguIERlZmF1bHRzIHRvIFwiRmphbGxBdWRpdFwiXG4gICAqL1xuICByb2xlTmFtZVByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9uYWwgSUFNIHBhdGggZm9yIHRoZSByb2xlLiBEZWZhdWx0cyB0byBcIi9cIlxuICAgKi9cbiAgcm9sZVBhdGg/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRmFjdG9yeSB0byBidWlsZCBhIGNyb3NzLWFjY291bnQgYXVkaXQgSUFNIHJvbGUgdGhhdCBhbGxvd3MgdGhlIEZqYWxsIHdlYmFwcFxuICogdG8gdXNlIENsb3VkUXVlcnkgZm9yIGNvbXByZWhlbnNpdmUgcmVhZC1vbmx5IGF1ZGl0aW5nIG9mIEFXUyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBdWRpdFJvbGVGYWN0b3J5IHtcbiAgcHVibGljIHN0YXRpYyBidWlsZChcbiAgICBpZDogc3RyaW5nLFxuICAgIGNvbmZpZzogQXVkaXRSb2xlQ29uZmlnXG4gICk6IChhcHA6IENvbnN0cnVjdCwgc2NvcGU6IENvbnN0cnVjdCkgPT4gUm9sZSB7XG4gICAgcmV0dXJuIChfYXBwOiBDb25zdHJ1Y3QsIHNjb3BlOiBDb25zdHJ1Y3QpID0+IHtcbiAgICAgIGNvbnN0IHJvbGUgPSBuZXcgUm9sZShzY29wZSwgaWQsIHtcbiAgICAgICAgcm9sZU5hbWU6IGAke2NvbmZpZy5yb2xlTmFtZVByZWZpeCB8fCBcIkZqYWxsQXVkaXRcIn0tJHtjb25maWcuYXBwTmFtZX1gLFxuICAgICAgICBwYXRoOiBjb25maWcucm9sZVBhdGggfHwgXCIvXCIsXG4gICAgICAgIGFzc3VtZWRCeTogbmV3IEFjY291bnRQcmluY2lwYWwoY29uZmlnLndlYmFwcEFjY291bnRJZCksXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgQ3Jvc3MtYWNjb3VudCBhdWRpdCByb2xlIGZvciBDbG91ZFF1ZXJ5IGFjY2VzcyB0byBhcHBsaWNhdGlvbjogJHtjb25maWcuYXBwTmFtZX1gLFxuICAgICAgICBleHRlcm5hbElkczogW2NvbmZpZy5leHRlcm5hbElkXSxcbiAgICAgICAgbWFuYWdlZFBvbGljaWVzOiBbXG4gICAgICAgICAgLy8gQVdTIG1hbmFnZWQgcG9saWN5IGZvciBjb21wcmVoZW5zaXZlIHJlYWQtb25seSBhY2Nlc3NcbiAgICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcIlJlYWRPbmx5QWNjZXNzXCIpLFxuICAgICAgICAgIC8vIEFXUyBtYW5hZ2VkIHBvbGljeSBmb3Igc2VjdXJpdHkgYXVkaXRpbmdcbiAgICAgICAgICBNYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcIlNlY3VyaXR5QXVkaXRcIilcbiAgICAgICAgXVxuICAgICAgfSk7XG5cbiAgICAgIC8vIEV4cG9ydCB0aGUgcm9sZSBBUk4gc28gaXQgY2FuIGJlIHJldHJpZXZlZCBhZnRlciBkZXBsb3ltZW50XG4gICAgICBuZXcgQ2ZuT3V0cHV0KHNjb3BlLCBgJHtpZH1Bcm5gLCB7XG4gICAgICAgIHZhbHVlOiByb2xlLnJvbGVBcm4sXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgQVJOIG9mIHRoZSBhdWRpdCByb2xlIGZvciAke2NvbmZpZy5hcHBOYW1lfWAsXG4gICAgICAgIGV4cG9ydE5hbWU6IGAke2NvbmZpZy5hcHBOYW1lfS1BdWRpdFJvbGVBcm5gXG4gICAgICB9KTtcblxuICAgICAgLy8gRXhwb3J0IHRoZSBleHRlcm5hbCBJRCBzbyBpdCBjYW4gYmUgcmV0cmlldmVkIGFmdGVyIGRlcGxveW1lbnRcbiAgICAgIG5ldyBDZm5PdXRwdXQoc2NvcGUsIGAke2lkfUV4dGVybmFsSWRgLCB7XG4gICAgICAgIHZhbHVlOiBjb25maWcuZXh0ZXJuYWxJZCxcbiAgICAgICAgZGVzY3JpcHRpb246IGBFeHRlcm5hbCBJRCBmb3IgdGhlIGF1ZGl0IHJvbGUgZm9yICR7Y29uZmlnLmFwcE5hbWV9YCxcbiAgICAgICAgZXhwb3J0TmFtZTogYCR7Y29uZmlnLmFwcE5hbWV9LUF1ZGl0Um9sZUV4dGVybmFsSWRgXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHJvbGU7XG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBdWRpdFJvbGVGYWN0b3J5O1xuIl19
|
|
@@ -21,12 +21,11 @@ class BackupPlan extends constructs_1.Construct {
|
|
|
21
21
|
resources: [aws_backup_1.BackupResource.fromTag(tagKey, props.tagValue)],
|
|
22
22
|
role: this.createBackupRole(props)
|
|
23
23
|
});
|
|
24
|
-
// Export plan ARN
|
|
25
|
-
const planNamePascal = props.planName.charAt(0).toUpperCase() + props.planName.slice(1);
|
|
24
|
+
// Export plan ARN (wrapper handles sanitisation)
|
|
26
25
|
this.planArn = new aws_cdk_lib_1.CfnOutput(this, `${props.planName}PlanArn`, {
|
|
27
26
|
key: `${props.planName}PlanArn`,
|
|
28
27
|
value: this.plan.backupPlanArn,
|
|
29
|
-
exportName: `${
|
|
28
|
+
exportName: `${props.planName}BackupPlanArn`
|
|
30
29
|
});
|
|
31
30
|
}
|
|
32
31
|
createBackupRole(props) {
|
|
@@ -63,4 +62,4 @@ class BackupPlan extends constructs_1.Construct {
|
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
64
|
exports.BackupPlan = BackupPlan;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja3VwUGxhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL2JhY2t1cC9iYWNrdXBQbGFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUF1QztBQUN2Qyw2Q0FBd0M7QUFDeEMsdURBS2dDO0FBQ2hDLDJDQUEyQztBQVczQyxNQUFhLFVBQVcsU0FBUSxzQkFBUztJQUt2QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQztRQUU3RCx5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLHVCQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsTUFBTSxFQUFFO1lBQ2xELGNBQWMsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUM5QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLO1lBQ3BDLGVBQWUsRUFBRSxLQUFLLENBQUMsS0FBSztTQUM3QixDQUFDLENBQUM7UUFFSCw2QkFBNkI7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLDRCQUFlLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsV0FBVyxFQUFFO1lBQ3ZFLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNyQixTQUFTLEVBQUUsQ0FBQywyQkFBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNELElBQUksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1NBQ25DLENBQUMsQ0FBQztRQUVILGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxTQUFTLEVBQUU7WUFDN0QsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsU0FBUztZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQzlCLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLGVBQWU7U0FDN0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQXNCO1FBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsUUFBUSxZQUFZLEVBQUU7WUFDN0QsU0FBUyxFQUFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO1lBQzNELFdBQVcsRUFBRSxtQkFBbUIsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNoRCxlQUFlLEVBQUU7Z0JBQ2YsdUJBQXVCO2dCQUN2QixHQUFHLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUN4QyxrREFBa0QsQ0FDbkQ7Z0JBQ0QsR0FBRyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FDeEMsb0RBQW9ELENBQ3JEO2dCQUNELG9CQUFvQjtnQkFDcEIsR0FBRyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FDeEMsdUNBQXVDLENBQ3hDO2dCQUNELEdBQUcsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQ3hDLHdDQUF3QyxDQUN6QzthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsQ0FDZCxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztZQUN4QixPQUFPLEVBQUU7Z0JBQ1Asc0JBQXNCO2dCQUN0Qix3Q0FBd0M7Z0JBQ3hDLG9DQUFvQztnQkFDcEMseUJBQXlCO2dCQUN6Qix3QkFBd0I7Z0JBQ3hCLG1DQUFtQzthQUNwQztZQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUNqQixDQUFDLENBQ0gsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBVSxFQUFFLEtBQXNCO1FBQzdDLE9BQU8sQ0FBQyxLQUFnQixFQUFFLEVBQUU7WUFDMUIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzFDLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTVFRCxnQ0E0RUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBCYWNrdXBQbGFuIGFzIFBsYW4sXG4gIEJhY2t1cFNlbGVjdGlvbixcbiAgQmFja3VwUmVzb3VyY2UsXG4gIHR5cGUgQmFja3VwUGxhblJ1bGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1iYWNrdXBcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgdHlwZSBCYWNrdXBWYXVsdCB9IGZyb20gXCIuL2JhY2t1cFZhdWx0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFja3VwUGxhblByb3BzIHtcbiAgcGxhbk5hbWU6IHN0cmluZztcbiAgcnVsZXM6IEJhY2t1cFBsYW5SdWxlW107XG4gIGJhY2t1cFZhdWx0OiBCYWNrdXBWYXVsdDtcbiAgdGFnVmFsdWU6IHN0cmluZztcbiAgdGFnS2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQmFja3VwUGxhbiBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBwbGFuOiBQbGFuO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0aW9uOiBCYWNrdXBTZWxlY3Rpb247XG4gIHB1YmxpYyByZWFkb25seSBwbGFuQXJuOiBDZm5PdXRwdXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJhY2t1cFBsYW5Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCB0YWdLZXkgPSBwcm9wcy50YWdLZXkgfHwgXCJmamFsbDpkaXNhc3RlclJlY292ZXJ5OnRpZXJcIjtcblxuICAgIC8vIENyZWF0ZSBiYWNrdXAgcGxhbiB3aXRoIHByb3ZpZGVkIHJ1bGVzXG4gICAgdGhpcy5wbGFuID0gbmV3IFBsYW4odGhpcywgYCR7cHJvcHMucGxhbk5hbWV9UGxhbmAsIHtcbiAgICAgIGJhY2t1cFBsYW5OYW1lOiBwcm9wcy5wbGFuTmFtZSxcbiAgICAgIGJhY2t1cFZhdWx0OiBwcm9wcy5iYWNrdXBWYXVsdC52YXVsdCxcbiAgICAgIGJhY2t1cFBsYW5SdWxlczogcHJvcHMucnVsZXNcbiAgICB9KTtcblxuICAgIC8vIENyZWF0ZSB0YWctYmFzZWQgc2VsZWN0aW9uXG4gICAgdGhpcy5zZWxlY3Rpb24gPSBuZXcgQmFja3VwU2VsZWN0aW9uKHRoaXMsIGAke3Byb3BzLnBsYW5OYW1lfVNlbGVjdGlvbmAsIHtcbiAgICAgIGJhY2t1cFBsYW46IHRoaXMucGxhbixcbiAgICAgIHJlc291cmNlczogW0JhY2t1cFJlc291cmNlLmZyb21UYWcodGFnS2V5LCBwcm9wcy50YWdWYWx1ZSldLFxuICAgICAgcm9sZTogdGhpcy5jcmVhdGVCYWNrdXBSb2xlKHByb3BzKVxuICAgIH0pO1xuXG4gICAgLy8gRXhwb3J0IHBsYW4gQVJOICh3cmFwcGVyIGhhbmRsZXMgc2FuaXRpc2F0aW9uKVxuICAgIHRoaXMucGxhbkFybiA9IG5ldyBDZm5PdXRwdXQodGhpcywgYCR7cHJvcHMucGxhbk5hbWV9UGxhbkFybmAsIHtcbiAgICAgIGtleTogYCR7cHJvcHMucGxhbk5hbWV9UGxhbkFybmAsXG4gICAgICB2YWx1ZTogdGhpcy5wbGFuLmJhY2t1cFBsYW5Bcm4sXG4gICAgICBleHBvcnROYW1lOiBgJHtwcm9wcy5wbGFuTmFtZX1CYWNrdXBQbGFuQXJuYFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVCYWNrdXBSb2xlKHByb3BzOiBCYWNrdXBQbGFuUHJvcHMpOiBpYW0uUm9sZSB7XG4gICAgY29uc3Qgcm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCBgJHtwcm9wcy5wbGFuTmFtZX1CYWNrdXBSb2xlYCwge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoXCJiYWNrdXAuYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIGRlc2NyaXB0aW9uOiBgQmFja3VwIHJvbGUgZm9yICR7cHJvcHMucGxhbk5hbWV9YCxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICAvLyBDb3JlIGJhY2t1cCBwb2xpY2llc1xuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoXG4gICAgICAgICAgXCJzZXJ2aWNlLXJvbGUvQVdTQmFja3VwU2VydmljZVJvbGVQb2xpY3lGb3JCYWNrdXBcIlxuICAgICAgICApLFxuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoXG4gICAgICAgICAgXCJzZXJ2aWNlLXJvbGUvQVdTQmFja3VwU2VydmljZVJvbGVQb2xpY3lGb3JSZXN0b3Jlc1wiXG4gICAgICAgICksXG4gICAgICAgIC8vIFMzIGJhY2t1cCBzdXBwb3J0XG4gICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcbiAgICAgICAgICBcIkFXU0JhY2t1cFNlcnZpY2VSb2xlUG9saWN5Rm9yUzNCYWNrdXBcIlxuICAgICAgICApLFxuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoXG4gICAgICAgICAgXCJBV1NCYWNrdXBTZXJ2aWNlUm9sZVBvbGljeUZvclMzUmVzdG9yZVwiXG4gICAgICAgIClcbiAgICAgIF1cbiAgICB9KTtcblxuICAgIHJvbGUuYWRkVG9Qb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwicmRzOk1vZGlmeURCSW5zdGFuY2VcIixcbiAgICAgICAgICBcInJkczpEZXNjcmliZURCSW5zdGFuY2VBdXRvbWF0ZWRCYWNrdXBzXCIsXG4gICAgICAgICAgXCJyZHM6UmVzdG9yZURCSW5zdGFuY2VUb1BvaW50SW5UaW1lXCIsXG4gICAgICAgICAgXCJyZHM6RGVzY3JpYmVEQkluc3RhbmNlc1wiLFxuICAgICAgICAgIFwicmRzOkRlc2NyaWJlREJDbHVzdGVyc1wiLFxuICAgICAgICAgIFwicmRzOlJlc3RvcmVEQkNsdXN0ZXJUb1BvaW50SW5UaW1lXCJcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdXG4gICAgICB9KVxuICAgICk7XG4gICAgcmV0dXJuIHJvbGU7XG4gIH1cblxuICBzdGF0aWMgYnVpbGQoaWQ6IHN0cmluZywgcHJvcHM6IEJhY2t1cFBsYW5Qcm9wcykge1xuICAgIHJldHVybiAoc2NvcGU6IENvbnN0cnVjdCkgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBCYWNrdXBQbGFuKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -20,16 +20,15 @@ class BackupVault extends constructs_1.Construct {
|
|
|
20
20
|
lockConfiguration: props.lockConfiguration,
|
|
21
21
|
removalPolicy: props.removalPolicy || aws_cdk_lib_1.RemovalPolicy.RETAIN
|
|
22
22
|
});
|
|
23
|
-
const vaultNamePascal = props.vaultName.charAt(0).toUpperCase() + props.vaultName.slice(1);
|
|
24
23
|
this.vaultArn = new aws_cdk_lib_1.CfnOutput(this, `${props.vaultName}VaultArn`, {
|
|
25
24
|
key: `${props.vaultName}VaultArn`,
|
|
26
25
|
value: this.vault.backupVaultArn,
|
|
27
|
-
exportName: `${
|
|
26
|
+
exportName: `${props.vaultName}Arn`
|
|
28
27
|
});
|
|
29
28
|
this.vaultName = new aws_cdk_lib_1.CfnOutput(this, `${props.vaultName}VaultName`, {
|
|
30
29
|
key: `${props.vaultName}VaultName`,
|
|
31
30
|
value: this.vault.backupVaultName,
|
|
32
|
-
exportName: `${
|
|
31
|
+
exportName: `${props.vaultName}Name`
|
|
33
32
|
});
|
|
34
33
|
}
|
|
35
34
|
// Factory method following existing patterns
|
|
@@ -40,4 +39,4 @@ class BackupVault extends constructs_1.Construct {
|
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
41
|
exports.BackupVault = BackupVault;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja3VwVmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9iYWNrdXAvYmFja3VwVmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXVDO0FBQ3ZDLDZDQUF1RDtBQUN2RCx1REFHZ0M7QUFFaEMsd0NBQW9EO0FBVXBELE1BQWEsV0FBWSxTQUFRLHNCQUFTO0lBS3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUI7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGFBQWEsR0FDakIsS0FBSyxDQUFDLGFBQWE7WUFDbkIsSUFBSSx3QkFBa0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxLQUFLLEVBQUU7Z0JBQ3BELFdBQVcsRUFBRSxtQ0FBbUMsS0FBSyxDQUFDLFNBQVMsRUFBRTtnQkFDakUsU0FBUyxFQUFFLG1CQUFtQixLQUFLLENBQUMsU0FBUyxFQUFFO2FBQ2hELENBQUMsQ0FBQztRQUVMLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSx3QkFBSyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxTQUFTLE9BQU8sRUFBRTtZQUN0RCxlQUFlLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDaEMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxHQUFHO1lBQ2hDLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQzFDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxJQUFJLDJCQUFhLENBQUMsTUFBTTtTQUMzRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxVQUFVLEVBQUU7WUFDaEUsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDLFNBQVMsVUFBVTtZQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjO1lBQ2hDLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxTQUFTLEtBQUs7U0FDcEMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFNBQVMsV0FBVyxFQUFFO1lBQ2xFLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxTQUFTLFdBQVc7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZTtZQUNqQyxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUMsU0FBUyxNQUFNO1NBQ3JDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFVLEVBQUUsS0FBdUI7UUFDOUMsT0FBTyxDQUFDLEtBQWdCLEVBQUUsRUFBRTtZQUMxQixPQUFPLElBQUksV0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBMUNELGtDQTBDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBDZm5PdXRwdXQsIFJlbW92YWxQb2xpY3kgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIEJhY2t1cFZhdWx0IGFzIFZhdWx0LFxuICB0eXBlIExvY2tDb25maWd1cmF0aW9uXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYmFja3VwXCI7XG5pbXBvcnQgeyB0eXBlIFBvbGljeURvY3VtZW50IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IEN1c3RvbWVyTWFuYWdlZEtleSB9IGZyb20gXCIuLi9zZWNyZXRzL2ttc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhY2t1cFZhdWx0UHJvcHMge1xuICB2YXVsdE5hbWU6IHN0cmluZztcbiAgZW5jcnlwdGlvbktleT86IEN1c3RvbWVyTWFuYWdlZEtleTtcbiAgYWNjZXNzUG9saWN5PzogUG9saWN5RG9jdW1lbnQ7XG4gIGxvY2tDb25maWd1cmF0aW9uPzogTG9ja0NvbmZpZ3VyYXRpb247XG4gIHJlbW92YWxQb2xpY3k/OiBSZW1vdmFsUG9saWN5O1xufVxuXG5leHBvcnQgY2xhc3MgQmFja3VwVmF1bHQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgdmF1bHQ6IFZhdWx0O1xuICBwdWJsaWMgcmVhZG9ubHkgdmF1bHRBcm46IENmbk91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IHZhdWx0TmFtZTogQ2ZuT3V0cHV0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCYWNrdXBWYXVsdFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGVuY3J5cHRpb25LZXkgPVxuICAgICAgcHJvcHMuZW5jcnlwdGlvbktleSB8fFxuICAgICAgbmV3IEN1c3RvbWVyTWFuYWdlZEtleSh0aGlzLCBgJHtwcm9wcy52YXVsdE5hbWV9S2V5YCwge1xuICAgICAgICBkZXNjcmlwdGlvbjogYEVuY3J5cHRpb24ga2V5IGZvciBiYWNrdXAgdmF1bHQgJHtwcm9wcy52YXVsdE5hbWV9YCxcbiAgICAgICAgYWxpYXNOYW1lOiBgY21rL2JhY2t1cFZhdWx0LyR7cHJvcHMudmF1bHROYW1lfWBcbiAgICAgIH0pO1xuXG4gICAgdGhpcy52YXVsdCA9IG5ldyBWYXVsdCh0aGlzLCBgJHtwcm9wcy52YXVsdE5hbWV9VmF1bHRgLCB7XG4gICAgICBiYWNrdXBWYXVsdE5hbWU6IHByb3BzLnZhdWx0TmFtZSxcbiAgICAgIGVuY3J5cHRpb25LZXk6IGVuY3J5cHRpb25LZXkua2V5LFxuICAgICAgYWNjZXNzUG9saWN5OiBwcm9wcy5hY2Nlc3NQb2xpY3ksXG4gICAgICBsb2NrQ29uZmlndXJhdGlvbjogcHJvcHMubG9ja0NvbmZpZ3VyYXRpb24sXG4gICAgICByZW1vdmFsUG9saWN5OiBwcm9wcy5yZW1vdmFsUG9saWN5IHx8IFJlbW92YWxQb2xpY3kuUkVUQUlOXG4gICAgfSk7XG5cbiAgICB0aGlzLnZhdWx0QXJuID0gbmV3IENmbk91dHB1dCh0aGlzLCBgJHtwcm9wcy52YXVsdE5hbWV9VmF1bHRBcm5gLCB7XG4gICAgICBrZXk6IGAke3Byb3BzLnZhdWx0TmFtZX1WYXVsdEFybmAsXG4gICAgICB2YWx1ZTogdGhpcy52YXVsdC5iYWNrdXBWYXVsdEFybixcbiAgICAgIGV4cG9ydE5hbWU6IGAke3Byb3BzLnZhdWx0TmFtZX1Bcm5gXG4gICAgfSk7XG5cbiAgICB0aGlzLnZhdWx0TmFtZSA9IG5ldyBDZm5PdXRwdXQodGhpcywgYCR7cHJvcHMudmF1bHROYW1lfVZhdWx0TmFtZWAsIHtcbiAgICAgIGtleTogYCR7cHJvcHMudmF1bHROYW1lfVZhdWx0TmFtZWAsXG4gICAgICB2YWx1ZTogdGhpcy52YXVsdC5iYWNrdXBWYXVsdE5hbWUsXG4gICAgICBleHBvcnROYW1lOiBgJHtwcm9wcy52YXVsdE5hbWV9TmFtZWBcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEZhY3RvcnkgbWV0aG9kIGZvbGxvd2luZyBleGlzdGluZyBwYXR0ZXJuc1xuICBzdGF0aWMgYnVpbGQoaWQ6IHN0cmluZywgcHJvcHM6IEJhY2t1cFZhdWx0UHJvcHMpIHtcbiAgICByZXR1cm4gKHNjb3BlOiBDb25zdHJ1Y3QpID0+IHtcbiAgICAgIHJldHVybiBuZXcgQmFja3VwVmF1bHQoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -49,7 +49,6 @@ class AwsStack {
|
|
|
49
49
|
};
|
|
50
50
|
return stackProps;
|
|
51
51
|
}
|
|
52
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
53
52
|
isConnectable(arg) {
|
|
54
53
|
return arg.connections;
|
|
55
54
|
}
|
|
@@ -106,4 +105,4 @@ class AwsStack {
|
|
|
106
105
|
}
|
|
107
106
|
exports.AwsStack = AwsStack;
|
|
108
107
|
exports.default = AwsStack;
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzU3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9iYXNlL2F3c1N0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFxRDtBQUNyRCxpREFBOEQ7QUFDOUQsMkNBQXVDO0FBRXZDLHNDQUErQjtBQUMvQixpREFBaUQ7QUFvQmpELE1BQWEsUUFBUTtJQVNuQixZQUNFLEVBQVUsRUFDVixZQUFvQyxFQUNwQyxLQUFxQjtRQVhQLGNBQVMsR0FFckIsRUFBRSxDQUFDO1FBV0wseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekMsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxZQUFvQztRQUMxRCxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU87UUFFMUIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDaEMsS0FBSyxNQUFNLFVBQVUsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsRUFBVSxFQUFFLEtBQXFCO1FBQ25ELE9BQU8sSUFBSSxtQkFBSyxDQUFDLGFBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JF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QUFhO1FBRWIsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUU5QixNQUFNLFlBQVksR0FDaEIsSUFBSSxZQUFZLHNCQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxNQUFNLFVBQVUsR0FBRyxFQUFFLFlBQVksc0JBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQztZQUN0RSxPQUFPLElBQUksQ0FBQztRQUVkLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3pELFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV6RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQXhKRCw0QkF3SkM7QUFDRCxrQkFBZSxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjaywgdHlwZSBTdGFja1Byb3BzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyB0eXBlIElDb25uZWN0YWJsZSwgUG9ydCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5pbXBvcnQgQXBwIGZyb20gXCIuLi8uLi8uLi9hcHBcIjtcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrQnVpbGRlciB7XG4gIGFkZENvbnN0cnVjdChyZXNvdXJjZTogQ29uc3RydWN0KTogU3RhY2tCdWlsZGVyO1xuICBhZGRSZXNvdXJjZShmbjogKHN0YWNrQnVpbGRlcjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3QpOiBTdGFja0J1aWxkZXI7XG5cbiAgYWRkTmV0d29yayhyZXNvdXJjZTogQ29uc3RydWN0KTogU3RhY2tCdWlsZGVyO1xuICBhZGROZXR3b3JrKGZuOiAoc3RhY2tCdWlsZGVyOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdCk6IFN0YWNrQnVpbGRlcjtcbiAgYWRkTmV0d29yayhyZXNvdXJjZTogQ29uc3RydWN0IHwgc3RyaW5nKTogU3RhY2tCdWlsZGVyO1xuXG4gIGdldFN0YWNrKCk6IFN0YWNrO1xuICBnZXROZXR3b3JrKCk6IENvbnN0cnVjdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBd3NTdGFja1Byb3BzIHtcbiAgcmVhZG9ubHkgYWNjb3VudElkPzogc3RyaW5nO1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG4gIGFjY291bnROYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgQXdzU3RhY2sgaW1wbGVtZW50cyBTdGFja0J1aWxkZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2VzOiB7XG4gICAgW2tleTogc3RyaW5nXTogQ29uc3RydWN0O1xuICB9ID0ge307XG5cbiAgcHJpdmF0ZSBzdGFjazogU3RhY2s7XG4gIHByaXZhdGUgbmV0d29yazogQ29uc3RydWN0O1xuICBwcml2YXRlIGNvbnRhaW5lclJlZ2lzdHJ5OiBSZXBvc2l0b3J5O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZGVwZW5kZW5jaWVzPzogQXdzU3RhY2sgfCBBd3NTdGFja1tdLFxuICAgIHByb3BzPzogQXdzU3RhY2tQcm9wc1xuICApIHtcbiAgICAvLyBDcmVhdGUgaW5uZXIgQ0RLIFN0YWNrXG4gICAgdGhpcy5zdGFjayA9IHRoaXMuZ2V0Q2RrU3RhY2soaWQsIHByb3BzKTtcblxuICAgIC8vIFJlZ2lzdGVyIGFsbCBzdGFjayBkZXBlbmRlbmNpZXNcbiAgICB0aGlzLmFkZERlcGVuZGVuY2llcyhkZXBlbmRlbmNpZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGREZXBlbmRlbmNpZXMoZGVwZW5kZW5jaWVzPzogQXdzU3RhY2sgfCBBd3NTdGFja1tdKSB7XG4gICAgaWYgKCFkZXBlbmRlbmNpZXMpIHJldHVybjtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGRlcGVuZGVuY2llcykpIHtcbiAgICAgIGZvciAoY29uc3QgZGVwZW5kZW5jeSBvZiBkZXBlbmRlbmNpZXMpIHtcbiAgICAgICAgdGhpcy5zdGFjay5hZGREZXBlbmRlbmN5KGRlcGVuZGVuY3kuZ2V0U3RhY2soKSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhY2suYWRkRGVwZW5kZW5jeShkZXBlbmRlbmNpZXMuZ2V0U3RhY2soKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDZGtTdGFjayhpZDogc3RyaW5nLCBwcm9wcz86IEF3c1N0YWNrUHJvcHMpIHtcbiAgICByZXR1cm4gbmV3IFN0YWNrKEFwcC5nZXRJbnN0YW5jZSgpLCBpZCwgdGhpcy5nZXRTdGFja1Byb3BzKHByb3BzKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFN0YWNrUHJvcHMoXG4gICAgcHJvcHM6IEF3c1N0YWNrUHJvcHMgfCB1bmRlZmluZWRcbiAgKTogU3RhY2tQcm9wcyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gSWYgbm8gZXhwbGljaXQgcHJvcHMgYXJlIHByb3ZpZGVkLCBmYWxsIGJhY2sgdG8gdGhlIGFjY291bnQvcmVnaW9uIHRoYXRcbiAgICAvLyBDREsgcmVzb2x2ZWQgZm9yIHRoaXMgcnVuLiBUaGlzIGFsbG93cyBjb250ZXh0IGxvb2stdXBzIChlLmcuXG4gICAgLy8gVnBjLmZyb21Mb29rdXApIHRvIHdvcmsgd2l0aG91dCBldmVyeSBzdGFjayBoYXZpbmcgdG8gYmUgY3JlYXRlZCB3aXRoXG4gICAgLy8gZXhwbGljaXQgZW52IHNldHRpbmdzLlxuXG4gICAgaWYgKCFwcm9wcykge1xuICAgICAgY29uc3QgYWNjb3VudCA9IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQ7XG4gICAgICBjb25zdCByZWdpb24gPSBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT047XG5cbiAgICAgIGlmIChhY2NvdW50ICYmIHJlZ2lvbikge1xuICAgICAgICByZXR1cm4geyBlbnY6IHsgYWNjb3VudCwgcmVnaW9uIH0gfSBhcyBTdGFja1Byb3BzO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhY2tQcm9wczogU3RhY2tQcm9wcyA9IHtcbiAgICAgIGVudjpcbiAgICAgICAgcHJvcHMuYWNjb3VudElkICYmIHByb3BzLnJlZ2lvblxuICAgICAgICAgID8geyBhY2NvdW50OiBwcm9wcy5hY2NvdW50SWQsIHJlZ2lvbjogcHJvcHMucmVnaW9uIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgIH07XG5cbiAgICByZXR1cm4gc3RhY2tQcm9wcztcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHByaXZhdGUgaXNDb25uZWN0YWJsZShhcmc6IGFueSk6IGFyZyBpcyBJQ29ubmVjdGFibGUge1xuICAgIHJldHVybiBhcmcuY29ubmVjdGlvbnM7XG4gIH1cblxuICBwdWJsaWMgYWRkQ29uc3RydWN0KGNvbnN0cnVjdDogQ29uc3RydWN0KTogQXdzU3RhY2sge1xuICAgIHRoaXMucmVzb3VyY2VzW2NvbnN0cnVjdC5ub2RlLmlkXSA9IGNvbnN0cnVjdDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8vIEBkZXByZWNhdGVkIC0gdXNlIGFkZENvbnN0cnVjdCBpbnN0ZWFkXG4gIHB1YmxpYyBhZGRSZXNvdXJjZShmbjogKHN0YWNrQnVpbGRlcjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3QpOiBBd3NTdGFjayB7XG4gICAgY29uc3QgcmVzb3VyY2UgPSBmbih0aGlzKTtcbiAgICB0aGlzLnJlc291cmNlc1tyZXNvdXJjZS5ub2RlLmlkXSA9IHJlc291cmNlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFkZE5ldHdvcmsocmVzb3VyY2U6IENvbnN0cnVjdCk6IEF3c1N0YWNrO1xuICBwdWJsaWMgYWRkTmV0d29yayhcbiAgICByZXNvdXJjZTogKHN0YWNrQnVpbGRlcjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3RcbiAgKTogQXdzU3RhY2s7XG4gIHB1YmxpYyBhZGROZXR3b3JrKFxuICAgIHJlc291cmNlOiBDb25zdHJ1Y3QgfCAoKHN0YWNrQnVpbGRlcjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3QpXG4gICk6IEF3c1N0YWNrIHtcbiAgICBjb25zdCByZXNvdXJjZUFjdHVhbCA9XG4gICAgICByZXNvdXJjZSBpbnN0YW5jZW9mIENvbnN0cnVjdCA/IHJlc291cmNlIDogcmVzb3VyY2UodGhpcyk7XG4gICAgdGhpcy5yZXNvdXJjZXNbcmVzb3VyY2VBY3R1YWwubm9kZS5pZF0gPSByZXNvdXJjZUFjdHVhbDtcbiAgICB0aGlzLm5ldHdvcmsgPSByZXNvdXJjZUFjdHVhbDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBhZGRDb250YWluZXJSZWdpc3RyeShyZXNvdXJjZTogUmVwb3NpdG9yeSk6IEF3c1N0YWNrO1xuICBwdWJsaWMgYWRkQ29udGFpbmVyUmVnaXN0cnkoXG4gICAgcmVzb3VyY2U6IChzdGFja0J1aWxkZXI6IFN0YWNrQnVpbGRlcikgPT4gUmVwb3NpdG9yeVxuICApOiBBd3NTdGFjaztcbiAgcHVibGljIGFkZENvbnRhaW5lclJlZ2lzdHJ5KFxuICAgIHJlc291cmNlOiBSZXBvc2l0b3J5IHwgKChzdGFja0J1aWxkZXI6IFN0YWNrQnVpbGRlcikgPT4gUmVwb3NpdG9yeSlcbiAgKTogQXdzU3RhY2sge1xuICAgIGNvbnN0IHJlc291cmNlQWN0dWFsID1cbiAgICAgIHJlc291cmNlIGluc3RhbmNlb2YgUmVwb3NpdG9yeSA/IHJlc291cmNlIDogcmVzb3VyY2UodGhpcyk7XG4gICAgdGhpcy5yZXNvdXJjZXNbcmVzb3VyY2VBY3R1YWwubm9kZS5pZF0gPSByZXNvdXJjZUFjdHVhbDtcbiAgICB0aGlzLmNvbnRhaW5lclJlZ2lzdHJ5ID0gcmVzb3VyY2VBY3R1YWw7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RhY2soKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhY2s7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RhY2tOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLnN0YWNrLnN0YWNrTmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROZXR3b3JrKCkge1xuICAgIHJldHVybiB0aGlzLm5ldHdvcms7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29udGFpbmVyUmVnaXN0cnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29udGFpbmVyUmVnaXN0cnk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVzb3VyY2UoaWRlbnRpZmllcjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMucmVzb3VyY2VzW2lkZW50aWZpZXJdO1xuICB9XG5cbiAgcHVibGljIGNvbm5lY3QoXG4gICAgZnJvbTogQ29uc3RydWN0IHwgc3RyaW5nLFxuICAgIHRvOiBDb25zdHJ1Y3QgfCBzdHJpbmcsXG4gICAgcG9ydD86IG51bWJlclxuICApIHtcbiAgICBpZiAoIWZyb20gfHwgIXRvKSByZXR1cm4gdGhpcztcblxuICAgIGNvbnN0IGZyb21SZXNvdXJjZSA9XG4gICAgICBmcm9tIGluc3RhbmNlb2YgQ29uc3RydWN0ID8gZnJvbSA6IHRoaXMuZ2V0UmVzb3VyY2UoZnJvbSk7XG4gICAgY29uc3QgdG9SZXNvdXJjZSA9IHRvIGluc3RhbmNlb2YgQ29uc3RydWN0ID8gdG8gOiB0aGlzLmdldFJlc291cmNlKHRvKTtcblxuICAgIGlmICghZnJvbVJlc291cmNlIHx8ICF0b1Jlc291cmNlKSByZXR1cm4gdGhpcztcblxuICAgIGlmICghdGhpcy5pc0Nvbm5lY3RhYmxlKGZyb21SZXNvdXJjZSkgfHwgIXRoaXMuaXNDb25uZWN0YWJsZSh0b1Jlc291cmNlKSlcbiAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgY29uc3QgcG9ydEFjdHVhbCA9IHBvcnQgPyBQb3J0LnRjcChwb3J0KSA6IFBvcnQuYWxsVGNwKCk7XG4gICAgZnJvbVJlc291cmNlLmNvbm5lY3Rpb25zLmFsbG93VG8odG9SZXNvdXJjZSwgcG9ydEFjdHVhbCk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuZXhwb3J0IGRlZmF1bHQgQXdzU3RhY2s7XG4iXX0=
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzU3RhY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9iYXNlL2F3c1N0YWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFxRDtBQUNyRCxpREFBOEQ7QUFDOUQsMkNBQXVDO0FBRXZDLHNDQUErQjtBQUMvQixpREFBaUQ7QUFvQmpELE1BQWEsUUFBUTtJQVNuQixZQUNFLEVBQVUsRUFDVixZQUFvQyxFQUNwQyxLQUFxQjtRQVhQLGNBQVMsR0FFckIsRUFBRSxDQUFDO1FBV0wseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFekMsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLGVBQWUsQ0FBQyxZQUFvQztRQUMxRCxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU87UUFFMUIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDaEMsS0FBSyxNQUFNLFVBQVUsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDbEQsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsRUFBVSxFQUFFLEtBQXFCO1FBQ25ELE9BQU8sSUFBSSxtQkFBSyxDQUFDLGFBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3JF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LENBQUMsSUFBSSxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTlCLE1BQU0sWUFBWSxHQUNoQixJQUFJLFlBQVksc0JBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVELE1BQU0sVUFBVSxHQUFHLEVBQUUsWUFBWSxzQkFBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdkUsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUU5QyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBQ3RFLE9BQU8sSUFBSSxDQUFDO1FBRWQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDekQsWUFBWSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXpELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBdkpELDRCQXVKQztBQUNELGtCQUFlLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrLCB0eXBlIFN0YWNrUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IHR5cGUgSUNvbm5lY3RhYmxlLCBQb3J0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmltcG9ydCBBcHAgZnJvbSBcIi4uLy4uLy4uL2FwcFwiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tCdWlsZGVyIHtcbiAgYWRkQ29uc3RydWN0KHJlc291cmNlOiBDb25zdHJ1Y3QpOiBTdGFja0J1aWxkZXI7XG4gIGFkZFJlc291cmNlKGZuOiAoc3RhY2tCdWlsZGVyOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdCk6IFN0YWNrQnVpbGRlcjtcblxuICBhZGROZXR3b3JrKHJlc291cmNlOiBDb25zdHJ1Y3QpOiBTdGFja0J1aWxkZXI7XG4gIGFkZE5ldHdvcmsoZm46IChzdGFja0J1aWxkZXI6IFN0YWNrQnVpbGRlcikgPT4gQ29uc3RydWN0KTogU3RhY2tCdWlsZGVyO1xuICBhZGROZXR3b3JrKHJlc291cmNlOiBDb25zdHJ1Y3QgfCBzdHJpbmcpOiBTdGFja0J1aWxkZXI7XG5cbiAgZ2V0U3RhY2soKTogU3RhY2s7XG4gIGdldE5ldHdvcmsoKTogQ29uc3RydWN0O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF3c1N0YWNrUHJvcHMge1xuICByZWFkb25seSBhY2NvdW50SWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbiAgYWNjb3VudE5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBBd3NTdGFjayBpbXBsZW1lbnRzIFN0YWNrQnVpbGRlciB7XG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZXM6IHtcbiAgICBba2V5OiBzdHJpbmddOiBDb25zdHJ1Y3Q7XG4gIH0gPSB7fTtcblxuICBwcml2YXRlIHN0YWNrOiBTdGFjaztcbiAgcHJpdmF0ZSBuZXR3b3JrOiBDb25zdHJ1Y3Q7XG4gIHByaXZhdGUgY29udGFpbmVyUmVnaXN0cnk6IFJlcG9zaXRvcnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBkZXBlbmRlbmNpZXM/OiBBd3NTdGFjayB8IEF3c1N0YWNrW10sXG4gICAgcHJvcHM/OiBBd3NTdGFja1Byb3BzXG4gICkge1xuICAgIC8vIENyZWF0ZSBpbm5lciBDREsgU3RhY2tcbiAgICB0aGlzLnN0YWNrID0gdGhpcy5nZXRDZGtTdGFjayhpZCwgcHJvcHMpO1xuXG4gICAgLy8gUmVnaXN0ZXIgYWxsIHN0YWNrIGRlcGVuZGVuY2llc1xuICAgIHRoaXMuYWRkRGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcyk7XG4gIH1cblxuICBwcml2YXRlIGFkZERlcGVuZGVuY2llcyhkZXBlbmRlbmNpZXM/OiBBd3NTdGFjayB8IEF3c1N0YWNrW10pIHtcbiAgICBpZiAoIWRlcGVuZGVuY2llcykgcmV0dXJuO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZGVwZW5kZW5jaWVzKSkge1xuICAgICAgZm9yIChjb25zdCBkZXBlbmRlbmN5IG9mIGRlcGVuZGVuY2llcykge1xuICAgICAgICB0aGlzLnN0YWNrLmFkZERlcGVuZGVuY3koZGVwZW5kZW5jeS5nZXRTdGFjaygpKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFjay5hZGREZXBlbmRlbmN5KGRlcGVuZGVuY2llcy5nZXRTdGFjaygpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENka1N0YWNrKGlkOiBzdHJpbmcsIHByb3BzPzogQXdzU3RhY2tQcm9wcykge1xuICAgIHJldHVybiBuZXcgU3RhY2soQXBwLmdldEluc3RhbmNlKCksIGlkLCB0aGlzLmdldFN0YWNrUHJvcHMocHJvcHMpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RhY2tQcm9wcyhcbiAgICBwcm9wczogQXdzU3RhY2tQcm9wcyB8IHVuZGVmaW5lZFxuICApOiBTdGFja1Byb3BzIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBJZiBubyBleHBsaWNpdCBwcm9wcyBhcmUgcHJvdmlkZWQsIGZhbGwgYmFjayB0byB0aGUgYWNjb3VudC9yZWdpb24gdGhhdFxuICAgIC8vIENESyByZXNvbHZlZCBmb3IgdGhpcyBydW4uIFRoaXMgYWxsb3dzIGNvbnRleHQgbG9vay11cHMgKGUuZy5cbiAgICAvLyBWcGMuZnJvbUxvb2t1cCkgdG8gd29yayB3aXRob3V0IGV2ZXJ5IHN0YWNrIGhhdmluZyB0byBiZSBjcmVhdGVkIHdpdGhcbiAgICAvLyBleHBsaWNpdCBlbnYgc2V0dGluZ3MuXG5cbiAgICBpZiAoIXByb3BzKSB7XG4gICAgICBjb25zdCBhY2NvdW50ID0gcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfQUNDT1VOVDtcbiAgICAgIGNvbnN0IHJlZ2lvbiA9IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTjtcblxuICAgICAgaWYgKGFjY291bnQgJiYgcmVnaW9uKSB7XG4gICAgICAgIHJldHVybiB7IGVudjogeyBhY2NvdW50LCByZWdpb24gfSB9IGFzIFN0YWNrUHJvcHM7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFja1Byb3BzOiBTdGFja1Byb3BzID0ge1xuICAgICAgZW52OlxuICAgICAgICBwcm9wcy5hY2NvdW50SWQgJiYgcHJvcHMucmVnaW9uXG4gICAgICAgICAgPyB7IGFjY291bnQ6IHByb3BzLmFjY291bnRJZCwgcmVnaW9uOiBwcm9wcy5yZWdpb24gfVxuICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgfTtcblxuICAgIHJldHVybiBzdGFja1Byb3BzO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0Nvbm5lY3RhYmxlKGFyZzogYW55KTogYXJnIGlzIElDb25uZWN0YWJsZSB7XG4gICAgcmV0dXJuIGFyZy5jb25uZWN0aW9ucztcbiAgfVxuXG4gIHB1YmxpYyBhZGRDb25zdHJ1Y3QoY29uc3RydWN0OiBDb25zdHJ1Y3QpOiBBd3NTdGFjayB7XG4gICAgdGhpcy5yZXNvdXJjZXNbY29uc3RydWN0Lm5vZGUuaWRdID0gY29uc3RydWN0O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gQGRlcHJlY2F0ZWQgLSB1c2UgYWRkQ29uc3RydWN0IGluc3RlYWRcbiAgcHVibGljIGFkZFJlc291cmNlKGZuOiAoc3RhY2tCdWlsZGVyOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdCk6IEF3c1N0YWNrIHtcbiAgICBjb25zdCByZXNvdXJjZSA9IGZuKHRoaXMpO1xuICAgIHRoaXMucmVzb3VyY2VzW3Jlc291cmNlLm5vZGUuaWRdID0gcmVzb3VyY2U7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgYWRkTmV0d29yayhyZXNvdXJjZTogQ29uc3RydWN0KTogQXdzU3RhY2s7XG4gIHB1YmxpYyBhZGROZXR3b3JrKFxuICAgIHJlc291cmNlOiAoc3RhY2tCdWlsZGVyOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdFxuICApOiBBd3NTdGFjaztcbiAgcHVibGljIGFkZE5ldHdvcmsoXG4gICAgcmVzb3VyY2U6IENvbnN0cnVjdCB8ICgoc3RhY2tCdWlsZGVyOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdClcbiAgKTogQXdzU3RhY2sge1xuICAgIGNvbnN0IHJlc291cmNlQWN0dWFsID1cbiAgICAgIHJlc291cmNlIGluc3RhbmNlb2YgQ29uc3RydWN0ID8gcmVzb3VyY2UgOiByZXNvdXJjZSh0aGlzKTtcbiAgICB0aGlzLnJlc291cmNlc1tyZXNvdXJjZUFjdHVhbC5ub2RlLmlkXSA9IHJlc291cmNlQWN0dWFsO1xuICAgIHRoaXMubmV0d29yayA9IHJlc291cmNlQWN0dWFsO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIGFkZENvbnRhaW5lclJlZ2lzdHJ5KHJlc291cmNlOiBSZXBvc2l0b3J5KTogQXdzU3RhY2s7XG4gIHB1YmxpYyBhZGRDb250YWluZXJSZWdpc3RyeShcbiAgICByZXNvdXJjZTogKHN0YWNrQnVpbGRlcjogU3RhY2tCdWlsZGVyKSA9PiBSZXBvc2l0b3J5XG4gICk6IEF3c1N0YWNrO1xuICBwdWJsaWMgYWRkQ29udGFpbmVyUmVnaXN0cnkoXG4gICAgcmVzb3VyY2U6IFJlcG9zaXRvcnkgfCAoKHN0YWNrQnVpbGRlcjogU3RhY2tCdWlsZGVyKSA9PiBSZXBvc2l0b3J5KVxuICApOiBBd3NTdGFjayB7XG4gICAgY29uc3QgcmVzb3VyY2VBY3R1YWwgPVxuICAgICAgcmVzb3VyY2UgaW5zdGFuY2VvZiBSZXBvc2l0b3J5ID8gcmVzb3VyY2UgOiByZXNvdXJjZSh0aGlzKTtcbiAgICB0aGlzLnJlc291cmNlc1tyZXNvdXJjZUFjdHVhbC5ub2RlLmlkXSA9IHJlc291cmNlQWN0dWFsO1xuICAgIHRoaXMuY29udGFpbmVyUmVnaXN0cnkgPSByZXNvdXJjZUFjdHVhbDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdGFjaygpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFjaztcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdGFja05hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhY2suc3RhY2tOYW1lO1xuICB9XG5cbiAgcHVibGljIGdldE5ldHdvcmsoKSB7XG4gICAgcmV0dXJuIHRoaXMubmV0d29yaztcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb250YWluZXJSZWdpc3RyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250YWluZXJSZWdpc3RyeTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRSZXNvdXJjZShpZGVudGlmaWVyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZXNbaWRlbnRpZmllcl07XG4gIH1cblxuICBwdWJsaWMgY29ubmVjdChcbiAgICBmcm9tOiBDb25zdHJ1Y3QgfCBzdHJpbmcsXG4gICAgdG86IENvbnN0cnVjdCB8IHN0cmluZyxcbiAgICBwb3J0PzogbnVtYmVyXG4gICkge1xuICAgIGlmICghZnJvbSB8fCAhdG8pIHJldHVybiB0aGlzO1xuXG4gICAgY29uc3QgZnJvbVJlc291cmNlID1cbiAgICAgIGZyb20gaW5zdGFuY2VvZiBDb25zdHJ1Y3QgPyBmcm9tIDogdGhpcy5nZXRSZXNvdXJjZShmcm9tKTtcbiAgICBjb25zdCB0b1Jlc291cmNlID0gdG8gaW5zdGFuY2VvZiBDb25zdHJ1Y3QgPyB0byA6IHRoaXMuZ2V0UmVzb3VyY2UodG8pO1xuXG4gICAgaWYgKCFmcm9tUmVzb3VyY2UgfHwgIXRvUmVzb3VyY2UpIHJldHVybiB0aGlzO1xuXG4gICAgaWYgKCF0aGlzLmlzQ29ubmVjdGFibGUoZnJvbVJlc291cmNlKSB8fCAhdGhpcy5pc0Nvbm5lY3RhYmxlKHRvUmVzb3VyY2UpKVxuICAgICAgcmV0dXJuIHRoaXM7XG5cbiAgICBjb25zdCBwb3J0QWN0dWFsID0gcG9ydCA/IFBvcnQudGNwKHBvcnQpIDogUG9ydC5hbGxUY3AoKTtcbiAgICBmcm9tUmVzb3VyY2UuY29ubmVjdGlvbnMuYWxsb3dUbyh0b1Jlc291cmNlLCBwb3J0QWN0dWFsKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5leHBvcnQgZGVmYXVsdCBBd3NTdGFjaztcbiJdfQ==
|
|
@@ -3,7 +3,7 @@ import { Connections, type IConnectable, type IVpc } from "aws-cdk-lib/aws-ec2";
|
|
|
3
3
|
import { Construct } from "constructs";
|
|
4
4
|
import { type StackBuilder } from "../base/awsStack";
|
|
5
5
|
import { type ApplicationListener, ApplicationLoadBalancer } from "aws-cdk-lib/aws-elasticloadbalancingv2";
|
|
6
|
-
import { type IManagedPolicy, PolicyDocument } from "aws-cdk-lib/aws-iam";
|
|
6
|
+
import { type IManagedPolicy, type PolicyDocument } from "aws-cdk-lib/aws-iam";
|
|
7
7
|
import { Certificate } from "aws-cdk-lib/aws-certificatemanager";
|
|
8
8
|
import { type GeoLocation } from "aws-cdk-lib/aws-route53";
|
|
9
9
|
import { Repository } from "aws-cdk-lib/aws-ecr";
|
|
@@ -210,6 +210,17 @@ export interface EcsServiceProps {
|
|
|
210
210
|
* Creates security group rules to allow traffic from this specific service only.
|
|
211
211
|
*/
|
|
212
212
|
connections?: IConnectable[];
|
|
213
|
+
/**
|
|
214
|
+
* Capacity provider for this service. REQUIRED.
|
|
215
|
+
* Each service specifies its own capacity provider.
|
|
216
|
+
*/
|
|
217
|
+
capacityProvider: EcsCapacityProvider;
|
|
218
|
+
/**
|
|
219
|
+
* EC2 capacity configuration for this service.
|
|
220
|
+
* Only used when service capacityProvider is "EC2".
|
|
221
|
+
* Services with matching ec2Config share an ASG for efficiency.
|
|
222
|
+
*/
|
|
223
|
+
ec2Config?: Ec2CapacityConfig;
|
|
213
224
|
}
|
|
214
225
|
/**
|
|
215
226
|
* Props for creating an ECS cluster with multiple services.
|
|
@@ -221,10 +232,6 @@ export type EcsClusterProps = {
|
|
|
221
232
|
vpc?: IVpc;
|
|
222
233
|
/** Default ECR repository or container image */
|
|
223
234
|
ecrRepository: Repository | RepositoryImage | string;
|
|
224
|
-
/** Capacity provider determines Fargate vs EC2 infrastructure */
|
|
225
|
-
capacityProvider?: EcsCapacityProvider;
|
|
226
|
-
/** EC2-specific configuration. Only used when capacityProvider is "EC2" */
|
|
227
|
-
ec2Config?: Ec2CapacityConfig;
|
|
228
235
|
/**
|
|
229
236
|
* Cluster configuration.
|
|
230
237
|
* Controls the shared ALB for all services.
|
|
@@ -233,6 +240,7 @@ export type EcsClusterProps = {
|
|
|
233
240
|
/**
|
|
234
241
|
* Services in this cluster.
|
|
235
242
|
* Each service gets its own task definition, scaling, and target group.
|
|
243
|
+
* Each service MUST specify its own capacityProvider.
|
|
236
244
|
* All services share the cluster's ALB (unless disabled).
|
|
237
245
|
* Task role policies are configured per-service for least-privilege.
|
|
238
246
|
*/
|
|
@@ -286,12 +294,10 @@ export default class EcsCluster extends Construct implements IConnectable {
|
|
|
286
294
|
private asgSecurityGroup?;
|
|
287
295
|
private asgCapacityProvider?;
|
|
288
296
|
private loadBalancerSecurityGroup?;
|
|
289
|
-
private drainWaiter?;
|
|
290
|
-
private fargateCapacityProviderAssociations?;
|
|
291
297
|
private services;
|
|
298
|
+
private asgCapacityProviders;
|
|
292
299
|
private scope;
|
|
293
300
|
private props;
|
|
294
|
-
private capacityProvider;
|
|
295
301
|
private loadBalancerDisabled;
|
|
296
302
|
private directAccessEnabled;
|
|
297
303
|
private nextPriority;
|
|
@@ -334,10 +340,58 @@ export default class EcsCluster extends Construct implements IConnectable {
|
|
|
334
340
|
private registerServiceWithALB;
|
|
335
341
|
private buildRoutingConditions;
|
|
336
342
|
private addServiceScaling;
|
|
337
|
-
|
|
338
|
-
|
|
343
|
+
/**
|
|
344
|
+
* Checks if any service in the cluster uses EC2 capacity provider.
|
|
345
|
+
*/
|
|
346
|
+
private hasAnyEc2Service;
|
|
347
|
+
/**
|
|
348
|
+
* Checks if any service in the cluster uses Fargate capacity provider.
|
|
349
|
+
*/
|
|
350
|
+
private hasAnyFargateService;
|
|
351
|
+
/**
|
|
352
|
+
* Check if the VPC has NAT gateways.
|
|
353
|
+
* - For Fjall Vpc: uses hasNatGateways property
|
|
354
|
+
* - For other VPCs: checks if private subnets exist (assumes NAT if present)
|
|
355
|
+
*/
|
|
356
|
+
private vpcHasNatGateways;
|
|
357
|
+
/**
|
|
358
|
+
* Create DeployableService outputs for deployment automation.
|
|
359
|
+
* Each service gets a DeployableService output so the deployment service
|
|
360
|
+
* can find and deploy all services in the cluster.
|
|
361
|
+
*/
|
|
362
|
+
addDeployableServiceOutputs(props: EcsClusterProps): void;
|
|
363
|
+
/**
|
|
364
|
+
* Gets the capacity provider for a service.
|
|
365
|
+
* Each service MUST specify its own capacityProvider.
|
|
366
|
+
*/
|
|
367
|
+
private getServiceCapacityProvider;
|
|
368
|
+
/**
|
|
369
|
+
* Checks if a service uses a Fargate capacity provider.
|
|
370
|
+
*/
|
|
371
|
+
private isServiceFargate;
|
|
372
|
+
/**
|
|
373
|
+
* Checks if a service uses an EC2 capacity provider.
|
|
374
|
+
*/
|
|
375
|
+
private isServiceEc2;
|
|
376
|
+
/**
|
|
377
|
+
* Generates a unique key for EC2 config (for ASG deduplication).
|
|
378
|
+
* Services with matching keys share an ASG.
|
|
379
|
+
*/
|
|
380
|
+
private getEc2ConfigKey;
|
|
381
|
+
/**
|
|
382
|
+
* Gets or creates an ASG capacity provider for a service.
|
|
383
|
+
* Services with matching EC2 configs share the same ASG.
|
|
384
|
+
*/
|
|
385
|
+
private getOrCreateAsgCapacityProvider;
|
|
386
|
+
/**
|
|
387
|
+
* Checks if any service in the cluster uses a Fargate capacity provider.
|
|
388
|
+
*/
|
|
389
|
+
private anyServiceUsesFargate;
|
|
390
|
+
/**
|
|
391
|
+
* Checks if any service in the cluster uses an EC2 capacity provider.
|
|
392
|
+
*/
|
|
393
|
+
private anyServiceUsesEc2;
|
|
339
394
|
addCluster(props: EcsClusterProps): void;
|
|
340
|
-
addAutoScalingGroup(props: EcsClusterProps): void;
|
|
341
395
|
addLoadBalancer(props: EcsClusterProps): void;
|
|
342
396
|
private addDirectAccessOutputs;
|
|
343
397
|
addLoadBalancerListener(props: EcsClusterProps): void;
|