@fjall/components-infrastructure 0.88.1 → 0.88.4

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.
Files changed (146) hide show
  1. package/dist/lib/app.d.ts +34 -11
  2. package/dist/lib/app.js +83 -39
  3. package/dist/lib/aspects/index.d.ts +1 -0
  4. package/dist/lib/aspects/index.js +6 -0
  5. package/dist/lib/config/aws/accountAuditRole.d.ts +20 -0
  6. package/dist/lib/config/aws/accountAuditRole.js +38 -0
  7. package/dist/lib/config/aws/accountMonitoringRole.d.ts +22 -0
  8. package/dist/lib/config/aws/accountMonitoringRole.js +133 -0
  9. package/dist/lib/config/aws/cloudTrail.d.ts +0 -3
  10. package/dist/lib/config/aws/cloudTrail.js +2 -2
  11. package/dist/lib/config/aws/disasterRecovery.js +26 -14
  12. package/dist/lib/config/aws/ecrDefaultImage.js +4 -3
  13. package/dist/lib/config/aws/identityCenter.d.ts +4 -4
  14. package/dist/lib/config/aws/identityCenter.js +17 -62
  15. package/dist/lib/config/aws/identityCenterGroupMembership.js +27 -37
  16. package/dist/lib/config/aws/index.d.ts +4 -7
  17. package/dist/lib/config/aws/index.js +5 -8
  18. package/dist/lib/config/aws/oidcConnector.d.ts +8 -0
  19. package/dist/lib/config/aws/oidcConnector.js +46 -0
  20. package/dist/lib/config/aws/platform.d.ts +2 -0
  21. package/dist/lib/config/aws/platform.js +6 -0
  22. package/dist/lib/config/index.d.ts +2 -0
  23. package/dist/lib/config/index.js +21 -0
  24. package/dist/lib/layers/layers/secrets-resolver/bin/resolve-secrets +30 -0
  25. package/dist/lib/layers/layers/secrets-resolver/bin/resolve-secrets.mjs +212 -0
  26. package/dist/lib/layers/secrets-resolver/bin/resolve-secrets +30 -0
  27. package/dist/lib/layers/secrets-resolver/bin/resolve-secrets.mjs +212 -0
  28. package/dist/lib/patterns/aws/account.js +45 -19
  29. package/dist/lib/patterns/aws/cdn.d.ts +19 -40
  30. package/dist/lib/patterns/aws/cdn.js +21 -17
  31. package/dist/lib/patterns/aws/compute.d.ts +6 -7
  32. package/dist/lib/patterns/aws/compute.js +7 -9
  33. package/dist/lib/patterns/aws/database.d.ts +9 -89
  34. package/dist/lib/patterns/aws/database.js +17 -40
  35. package/dist/lib/patterns/aws/index.d.ts +1 -1
  36. package/dist/lib/patterns/aws/index.js +2 -2
  37. package/dist/lib/patterns/aws/interfaces/cdn.d.ts +26 -0
  38. package/dist/lib/patterns/aws/interfaces/cdn.js +14 -0
  39. package/dist/lib/patterns/aws/interfaces/connector.d.ts +4 -181
  40. package/dist/lib/patterns/aws/interfaces/connector.js +16 -113
  41. package/dist/lib/patterns/aws/interfaces/index.d.ts +1 -0
  42. package/dist/lib/patterns/aws/interfaces/index.js +5 -2
  43. package/dist/lib/patterns/aws/interfaces/pattern.d.ts +6 -6
  44. package/dist/lib/patterns/aws/interfaces/pattern.js +1 -1
  45. package/dist/lib/patterns/aws/network.js +6 -9
  46. package/dist/lib/patterns/aws/organisation.d.ts +6 -17
  47. package/dist/lib/patterns/aws/organisation.js +22 -67
  48. package/dist/lib/patterns/aws/payload.js +11 -12
  49. package/dist/lib/patterns/aws/storage.d.ts +3 -2
  50. package/dist/lib/patterns/aws/storage.js +1 -1
  51. package/dist/lib/resources/aws/audit/auditRole.js +4 -4
  52. package/dist/lib/resources/aws/audit/index.d.ts +1 -0
  53. package/dist/lib/resources/aws/audit/index.js +6 -0
  54. package/dist/lib/resources/aws/backup/backupPlan.js +3 -2
  55. package/dist/lib/resources/aws/backup/backupVault.js +5 -3
  56. package/dist/lib/resources/aws/base/awsStack.d.ts +4 -2
  57. package/dist/lib/resources/aws/base/awsStack.js +8 -2
  58. package/dist/lib/resources/aws/cdn/cloudFront.d.ts +14 -0
  59. package/dist/lib/resources/aws/cdn/cloudFront.js +52 -18
  60. package/dist/lib/resources/aws/compute/ec2.js +18 -22
  61. package/dist/lib/resources/aws/compute/ecs.d.ts +9 -8
  62. package/dist/lib/resources/aws/compute/ecs.js +53 -41
  63. package/dist/lib/resources/aws/compute/index.d.ts +1 -0
  64. package/dist/lib/resources/aws/compute/index.js +2 -1
  65. package/dist/lib/resources/aws/compute/lambda.d.ts +12 -3
  66. package/dist/lib/resources/aws/compute/lambda.js +48 -36
  67. package/dist/lib/resources/aws/database/dynamodb.js +3 -13
  68. package/dist/lib/resources/aws/database/index.d.ts +8 -2
  69. package/dist/lib/resources/aws/database/index.js +19 -3
  70. package/dist/lib/resources/aws/database/rdsAurora.d.ts +2 -3
  71. package/dist/lib/resources/aws/database/rdsAurora.js +33 -69
  72. package/dist/lib/resources/aws/database/rdsAuroraGlobal.d.ts +6 -6
  73. package/dist/lib/resources/aws/database/rdsAuroraGlobal.js +25 -29
  74. package/dist/lib/resources/aws/database/rdsDefaults.d.ts +11 -0
  75. package/dist/lib/resources/aws/database/rdsDefaults.js +15 -0
  76. package/dist/lib/resources/aws/database/rdsHelpers.d.ts +39 -0
  77. package/dist/lib/resources/aws/database/rdsHelpers.js +75 -0
  78. package/dist/lib/resources/aws/database/rdsInstance.d.ts +7 -8
  79. package/dist/lib/resources/aws/database/rdsInstance.js +40 -84
  80. package/dist/lib/resources/aws/database/rdsProxyOutput.d.ts +7 -0
  81. package/dist/lib/resources/aws/database/rdsProxyOutput.js +18 -0
  82. package/dist/lib/resources/aws/iam/identityCenter/assignment.d.ts +0 -2
  83. package/dist/lib/resources/aws/iam/identityCenter/assignment.js +9 -45
  84. package/dist/lib/resources/aws/iam/identityCenter/group.d.ts +1 -3
  85. package/dist/lib/resources/aws/iam/identityCenter/group.js +7 -82
  86. package/dist/lib/resources/aws/iam/identityCenter/permissionSet.d.ts +1 -3
  87. package/dist/lib/resources/aws/iam/identityCenter/permissionSet.js +9 -93
  88. package/dist/lib/resources/aws/iam/index.d.ts +0 -1
  89. package/dist/lib/resources/aws/iam/index.js +1 -2
  90. package/dist/lib/resources/aws/index.d.ts +0 -1
  91. package/dist/lib/resources/aws/index.js +1 -2
  92. package/dist/lib/resources/aws/logging/cloudTrail.js +13 -3
  93. package/dist/lib/resources/aws/logging/index.d.ts +2 -0
  94. package/dist/lib/resources/aws/logging/index.js +19 -0
  95. package/dist/lib/resources/aws/messaging/index.d.ts +3 -2
  96. package/dist/lib/resources/aws/messaging/index.js +4 -3
  97. package/dist/lib/resources/aws/messaging/sqs.js +14 -11
  98. package/dist/lib/resources/aws/messaging/utils.d.ts +1 -2
  99. package/dist/lib/resources/aws/messaging/utils.js +3 -4
  100. package/dist/lib/resources/aws/monitoring/index.d.ts +0 -1
  101. package/dist/lib/resources/aws/monitoring/index.js +4 -17
  102. package/dist/lib/resources/aws/networking/hostedZone.d.ts +28 -0
  103. package/dist/lib/resources/aws/networking/hostedZone.js +153 -0
  104. package/dist/lib/resources/aws/networking/index.d.ts +2 -0
  105. package/dist/lib/resources/aws/networking/index.js +3 -1
  106. package/dist/lib/resources/aws/networking/ipamPool.js +110 -31
  107. package/dist/lib/resources/aws/networking/securityGroup.d.ts +5 -0
  108. package/dist/lib/resources/aws/networking/securityGroup.js +14 -0
  109. package/dist/lib/resources/aws/networking/vpc.js +9 -4
  110. package/dist/lib/resources/aws/organisation/costAllocationTagActivator.d.ts +17 -0
  111. package/dist/lib/resources/aws/organisation/costAllocationTagActivator.js +66 -0
  112. package/dist/lib/resources/aws/organisation/index.d.ts +1 -0
  113. package/dist/lib/resources/aws/organisation/index.js +4 -2
  114. package/dist/lib/resources/aws/secrets/index.d.ts +0 -1
  115. package/dist/lib/resources/aws/secrets/index.js +1 -2
  116. package/dist/lib/resources/aws/secrets/parameter.js +5 -3
  117. package/dist/lib/resources/aws/storage/ecr.d.ts +0 -1
  118. package/dist/lib/resources/aws/storage/ecr.js +5 -7
  119. package/dist/lib/resources/aws/storage/s3.d.ts +3 -3
  120. package/dist/lib/resources/aws/storage/s3.js +1 -1
  121. package/dist/lib/resources/aws/utilities/index.d.ts +5 -0
  122. package/dist/lib/resources/aws/utilities/index.js +22 -0
  123. package/dist/lib/utils/backupTierMapping.d.ts +11 -0
  124. package/dist/lib/utils/backupTierMapping.js +17 -0
  125. package/dist/lib/utils/capitaliseString.d.ts +6 -0
  126. package/dist/lib/utils/capitaliseString.js +10 -1
  127. package/dist/lib/utils/connections.d.ts +46 -0
  128. package/dist/lib/utils/connections.js +159 -0
  129. package/dist/lib/utils/connector.d.ts +183 -0
  130. package/dist/lib/utils/connector.js +117 -0
  131. package/dist/lib/utils/databaseTypes.d.ts +85 -0
  132. package/dist/lib/utils/databaseTypes.js +34 -0
  133. package/dist/lib/utils/env.d.ts +42 -0
  134. package/dist/lib/utils/env.js +128 -0
  135. package/dist/lib/utils/getConfig.d.ts +0 -2
  136. package/dist/lib/utils/getConfig.js +1 -4
  137. package/dist/lib/utils/index.d.ts +6 -0
  138. package/dist/lib/utils/index.js +7 -1
  139. package/dist/lib/utils/removalPolicy.d.ts +2 -0
  140. package/dist/lib/utils/removalPolicy.js +16 -0
  141. package/dist/lib/utils/resourceNaming.js +4 -7
  142. package/dist/lib/utils/standardTagsAspect.d.ts +4 -0
  143. package/dist/lib/utils/standardTagsAspect.js +8 -8
  144. package/dist/lib/utils/vpcUtils.d.ts +14 -0
  145. package/dist/lib/utils/vpcUtils.js +28 -0
  146. package/package.json +8 -8
@@ -10,7 +10,6 @@ function getConfig(accountName) {
10
10
  region: process.env.AWS_REGION || "us-east-1",
11
11
  environment: "unknown",
12
12
  existingAccounts: [],
13
- costAllocationTags: [],
14
13
  secondaryRegions: [],
15
14
  allRegions: []
16
15
  };
@@ -28,8 +27,6 @@ function getConfig(accountName) {
28
27
  config.accountIds[pa.name] = pa.id;
29
28
  }
30
29
  }
31
- // Get cost allocation tags
32
- config.costAllocationTags = fjallConfig.getCostAllocationTags();
33
30
  // Get regions configuration
34
31
  config.primaryRegion = fjallConfig.getPrimaryRegion();
35
32
  config.secondaryRegions = fjallConfig.getSecondaryRegions() || [];
@@ -72,4 +69,4 @@ function getConfig(accountName) {
72
69
  return config;
73
70
  }
74
71
  exports.default = getConfig;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQXFCQSw4QkE0RUM7QUEvRkQsZ0NBQXlCO0FBQ3pCLHNDQUFvRDtBQUVwRCx5REFBaUQ7QUFnQmpELFNBQWdCLFNBQVMsQ0FBQyxXQUFvQjtJQUM1QyxNQUFNLEdBQUcsR0FBRyxhQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFOUIsTUFBTSxNQUFNLEdBQVc7UUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLFdBQVc7UUFDN0MsV0FBVyxFQUFFLFNBQVM7UUFDdEIsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixrQkFBa0IsRUFBRSxFQUFFO1FBQ3RCLGdCQUFnQixFQUFFLEVBQUU7UUFDcEIsVUFBVSxFQUFFLEVBQUU7S0FDZixDQUFDO0lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVTtRQUN6Qiw4QkFBVyxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBRXJFLDJDQUEyQztJQUMzQyxNQUFNLFdBQVcsR0FBRyxhQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFN0Msd0JBQXdCO0lBQ3hCLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUU1RCwyREFBMkQ7SUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUN2RSxJQUFJLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxNQUFNLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2QixLQUFLLE1BQU0sRUFBRSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDbEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELDJCQUEyQjtJQUMzQixNQUFNLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFFaEUsNEJBQTRCO0lBQzVCLE1BQU0sQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDdEQsTUFBTSxDQUFDLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsRSxNQUFNLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNoRCxNQUFNLENBQUMsc0JBQXNCLEdBQUcsV0FBVyxDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFFeEUsNkRBQTZEO0lBQzdELElBQUksQ0FBQyxXQUFXO1FBQUUsV0FBVyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RFLG9FQUFvRTtJQUNwRSxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRSxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDMUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQsa0ZBQWtGO0lBQ2xGLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsd0VBQXdFO1FBQ3hFLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxNQUFNLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUU3QixNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDdEUsSUFBSSxlQUFlLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUMxQyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUM7WUFDbkQsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsd0RBQXdEO0lBQ3hELE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDakUsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUM7SUFDMUMsQ0FBQztTQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLFdBQVcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN2RSw2REFBNkQ7UUFDN0QsTUFBTSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUMvQyxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELGtCQUFlLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgQWNjb3VudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3JnYW5pemF0aW9uc1wiO1xuXG5pbXBvcnQgQXBwIGZyb20gXCIuLi9hcHBcIjtcbmltcG9ydCB7IENvbmZpZyBhcyBGamFsbENvbmZpZyB9IGZyb20gXCJAZmphbGwvdXRpbFwiO1xuaW1wb3J0IHsgdHlwZSBJQ29zdEFsbG9jYXRpb25UYWdzIH0gZnJvbSBcIi4uL2NvbmZpZy9hd3NcIjtcbmltcG9ydCB7IEZqYWxsTG9nZ2VyIH0gZnJvbSBcIi4vdmFsaWRhdGlvbkxvZ2dlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZyB7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBleGlzdGluZ0FjY291bnRzOiBBY2NvdW50W107XG4gIGNvc3RBbGxvY2F0aW9uVGFnczogSUNvc3RBbGxvY2F0aW9uVGFnc1tdO1xuICBhY2NvdW50SWQ/OiBzdHJpbmc7XG4gIGFjY291bnROYW1lPzogc3RyaW5nO1xuICBhY2NvdW50SWRzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgcHJpbWFyeVJlZ2lvbj86IHN0cmluZztcbiAgc2Vjb25kYXJ5UmVnaW9uczogc3RyaW5nW107XG4gIGFsbFJlZ2lvbnM6IHN0cmluZ1tdO1xuICBkaXNhc3RlclJlY292ZXJ5UmVnaW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29uZmlnKGFjY291bnROYW1lPzogc3RyaW5nKTogQ29uZmlnIHtcbiAgY29uc3QgYXBwID0gQXBwLmdldEluc3RhbmNlKCk7XG5cbiAgY29uc3QgY29uZmlnOiBDb25maWcgPSB7XG4gICAgcmVnaW9uOiBwcm9jZXNzLmVudi5BV1NfUkVHSU9OIHx8IFwidXMtZWFzdC0xXCIsXG4gICAgZW52aXJvbm1lbnQ6IFwidW5rbm93blwiLFxuICAgIGV4aXN0aW5nQWNjb3VudHM6IFtdLFxuICAgIGNvc3RBbGxvY2F0aW9uVGFnczogW10sXG4gICAgc2Vjb25kYXJ5UmVnaW9uczogW10sXG4gICAgYWxsUmVnaW9uczogW11cbiAgfTtcblxuICBpZiAoIXByb2Nlc3MuZW52LkFXU19SRUdJT04pXG4gICAgRmphbGxMb2dnZXIud2FybihcIkFXU19SRUdJT04gaXMgbm90IHNldCwgZGVmYXVsdGluZyB0byB1cy1lYXN0LTFcIik7XG5cbiAgLy8gUmV0cmlldmUgYW55IHByZS1leGlzdGluZyBhY2NvdW50IGNvbmZpZ1xuICBjb25zdCBmamFsbENvbmZpZyA9IEZqYWxsQ29uZmlnLmxvYWRDb25maWcoKTtcblxuICAvLyBHZXQgZXhpc3RpbmcgYWNjb3VudHNcbiAgY29uZmlnLmV4aXN0aW5nQWNjb3VudHMgPSBmamFsbENvbmZpZy5nZXRFeGlzdGluZ0FjY291bnRzKCk7XG5cbiAgLy8gQnVpbGQgYWNjb3VudCBJRHMgbWFwIGZyb20gcHJvdmlkZXIgYWNjb3VudHMgKG5hbWUg4oaSIGlkKVxuICBjb25zdCBwcm92aWRlckFjY291bnRzID0gZmphbGxDb25maWcucm9vdENvbmZpZy5wcm92aWRlckFjY291bnRzIHx8IFtdO1xuICBpZiAocHJvdmlkZXJBY2NvdW50cy5sZW5ndGggPiAwKSB7XG4gICAgY29uZmlnLmFjY291bnRJZHMgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHBhIG9mIHByb3ZpZGVyQWNjb3VudHMpIHtcbiAgICAgIGNvbmZpZy5hY2NvdW50SWRzW3BhLm5hbWVdID0gcGEuaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IGNvc3QgYWxsb2NhdGlvbiB0YWdzXG4gIGNvbmZpZy5jb3N0QWxsb2NhdGlvblRhZ3MgPSBmamFsbENvbmZpZy5nZXRDb3N0QWxsb2NhdGlvblRhZ3MoKTtcblxuICAvLyBHZXQgcmVnaW9ucyBjb25maWd1cmF0aW9uXG4gIGNvbmZpZy5wcmltYXJ5UmVnaW9uID0gZmphbGxDb25maWcuZ2V0UHJpbWFyeVJlZ2lvbigpO1xuICBjb25maWcuc2Vjb25kYXJ5UmVnaW9ucyA9IGZqYWxsQ29uZmlnLmdldFNlY29uZGFyeVJlZ2lvbnMoKSB8fCBbXTtcbiAgY29uZmlnLmFsbFJlZ2lvbnMgPSBmamFsbENvbmZpZy5nZXRBbGxSZWdpb25zKCk7XG4gIGNvbmZpZy5kaXNhc3RlclJlY292ZXJ5UmVnaW9uID0gZmphbGxDb25maWcuZ2V0RGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbigpO1xuXG4gIC8vIElmIHVuc3BlY2lmaWVkIGFjY291bnQgbmFtZSAtIHRyeSB0byByZXRyaWV2ZSBmcm9tIGNvbnRleHRcbiAgaWYgKCFhY2NvdW50TmFtZSkgYWNjb3VudE5hbWUgPSBhcHAubm9kZS50cnlHZXRDb250ZXh0KFwiYWNjb3VudE5hbWVcIik7XG4gIC8vIElmIHdlIGhhdmUgYW4gYWNjb3VudCBuYW1lIC0gbG9vayBmb3IgYXNzb2NpYXRlZCBwcm92aWRlciBhY2NvdW50XG4gIGlmIChhY2NvdW50TmFtZSkge1xuICAgIGNvbnN0IHByb3ZpZGVyQWNjb3VudCA9IGZqYWxsQ29uZmlnLmdldFByb3ZpZGVyQWNjb3VudChhY2NvdW50TmFtZSk7XG4gICAgaWYgKHByb3ZpZGVyQWNjb3VudCkge1xuICAgICAgY29uZmlnLmFjY291bnRJZCA9IHByb3ZpZGVyQWNjb3VudC5pZDtcbiAgICAgIGNvbmZpZy5hY2NvdW50TmFtZSA9IHByb3ZpZGVyQWNjb3VudC5uYW1lO1xuICAgICAgY29uZmlnLmVudmlyb25tZW50ID0gcHJvdmlkZXJBY2NvdW50LmVudmlyb25tZW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlIHN0aWxsIGRvbid0IGhhdmUgYW4gYWNjb3VudCBuYW1lIC0gdHJ5IHRvIHJldHJpZXZlIGFjY291bnRJZCBmcm9tIGNvbnRleHRcbiAgaWYgKCFjb25maWcuYWNjb3VudE5hbWUpIHtcbiAgICBjb25zdCBhY2NvdW50SWQgPSBhcHAubm9kZS50cnlHZXRDb250ZXh0KFwiYWNjb3VudElkXCIpO1xuICAgIC8vIElmIHdlIGZpbmQgYW4gYWNjb3VudElkIC0gcmV0cmlldmUgdGhlIGFzc29jaWF0ZWQgYWNjb3VudCBmcm9tIGNvbmZpZ1xuICAgIGlmIChhY2NvdW50SWQpIHtcbiAgICAgIGNvbmZpZy5hY2NvdW50SWQgPSBhY2NvdW50SWQ7XG5cbiAgICAgIGNvbnN0IHByb3ZpZGVyQWNjb3VudCA9IGZqYWxsQ29uZmlnLmdldFByb3ZpZGVyQWNjb3VudEJ5SWQoYWNjb3VudElkKTtcbiAgICAgIGlmIChwcm92aWRlckFjY291bnQpIHtcbiAgICAgICAgY29uZmlnLmFjY291bnROYW1lID0gcHJvdmlkZXJBY2NvdW50Lm5hbWU7XG4gICAgICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IHByb3ZpZGVyQWNjb3VudC5lbnZpcm9ubWVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayBmb3IgZW52aXJvbm1lbnQgZnJvbSBjb250ZXh0IChoaWdoZXN0IHByaW9yaXR5KVxuICBjb25zdCBjb250ZXh0RW52aXJvbm1lbnQgPSBhcHAubm9kZS50cnlHZXRDb250ZXh0KFwiZW52aXJvbm1lbnRcIik7XG4gIGlmIChjb250ZXh0RW52aXJvbm1lbnQpIHtcbiAgICBjb25maWcuZW52aXJvbm1lbnQgPSBjb250ZXh0RW52aXJvbm1lbnQ7XG4gIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuRU5WSVJPTk1FTlQgJiYgY29uZmlnLmVudmlyb25tZW50ID09PSBcInVua25vd25cIikge1xuICAgIC8vIEZhbGwgYmFjayB0byBFTlZJUk9OTUVOVCB2YXJpYWJsZSBpZiBubyBvdGhlciBzb3VyY2UgZm91bmRcbiAgICBjb25maWcuZW52aXJvbm1lbnQgPSBwcm9jZXNzLmVudi5FTlZJUk9OTUVOVDtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldENvbmZpZztcbiJdfQ==
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSw4QkF3RUM7QUF6RkQsZ0NBQXlCO0FBQ3pCLHNDQUFvRDtBQUNwRCx5REFBaUQ7QUFlakQsU0FBZ0IsU0FBUyxDQUFDLFdBQW9CO0lBQzVDLE1BQU0sR0FBRyxHQUFHLGFBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU5QixNQUFNLE1BQU0sR0FBVztRQUNyQixNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksV0FBVztRQUM3QyxXQUFXLEVBQUUsU0FBUztRQUN0QixnQkFBZ0IsRUFBRSxFQUFFO1FBQ3BCLGdCQUFnQixFQUFFLEVBQUU7UUFDcEIsVUFBVSxFQUFFLEVBQUU7S0FDZixDQUFDO0lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVTtRQUN6Qiw4QkFBVyxDQUFDLElBQUksQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0lBRXJFLDJDQUEyQztJQUMzQyxNQUFNLFdBQVcsR0FBRyxhQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFN0Msd0JBQXdCO0lBQ3hCLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUU1RCwyREFBMkQ7SUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUN2RSxJQUFJLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNoQyxNQUFNLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN2QixLQUFLLE1BQU0sRUFBRSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDbEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVELDRCQUE0QjtJQUM1QixNQUFNLENBQUMsYUFBYSxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3RELE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDbEUsTUFBTSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEQsTUFBTSxDQUFDLHNCQUFzQixHQUFHLFdBQVcsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDO0lBRXhFLDZEQUE2RDtJQUM3RCxJQUFJLENBQUMsV0FBVztRQUFFLFdBQVcsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RSxvRUFBb0U7SUFDcEUsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQixNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixNQUFNLENBQUMsU0FBUyxHQUFHLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDdEMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGtGQUFrRjtJQUNsRixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELHdFQUF3RTtRQUN4RSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFFN0IsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3RFLElBQUksZUFBZSxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDMUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2pFLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsV0FBVyxHQUFHLGtCQUFrQixDQUFDO0lBQzFDLENBQUM7U0FBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdkUsNkRBQTZEO1FBQzdELE1BQU0sQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDL0MsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxrQkFBZSxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEFjY291bnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9yZ2FuaXphdGlvbnNcIjtcblxuaW1wb3J0IEFwcCBmcm9tIFwiLi4vYXBwXCI7XG5pbXBvcnQgeyBDb25maWcgYXMgRmphbGxDb25maWcgfSBmcm9tIFwiQGZqYWxsL3V0aWxcIjtcbmltcG9ydCB7IEZqYWxsTG9nZ2VyIH0gZnJvbSBcIi4vdmFsaWRhdGlvbkxvZ2dlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZyB7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBleGlzdGluZ0FjY291bnRzOiBBY2NvdW50W107XG4gIGFjY291bnRJZD86IHN0cmluZztcbiAgYWNjb3VudE5hbWU/OiBzdHJpbmc7XG4gIGFjY291bnRJZHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBwcmltYXJ5UmVnaW9uPzogc3RyaW5nO1xuICBzZWNvbmRhcnlSZWdpb25zOiBzdHJpbmdbXTtcbiAgYWxsUmVnaW9uczogc3RyaW5nW107XG4gIGRpc2FzdGVyUmVjb3ZlcnlSZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoYWNjb3VudE5hbWU/OiBzdHJpbmcpOiBDb25maWcge1xuICBjb25zdCBhcHAgPSBBcHAuZ2V0SW5zdGFuY2UoKTtcblxuICBjb25zdCBjb25maWc6IENvbmZpZyA9IHtcbiAgICByZWdpb246IHByb2Nlc3MuZW52LkFXU19SRUdJT04gfHwgXCJ1cy1lYXN0LTFcIixcbiAgICBlbnZpcm9ubWVudDogXCJ1bmtub3duXCIsXG4gICAgZXhpc3RpbmdBY2NvdW50czogW10sXG4gICAgc2Vjb25kYXJ5UmVnaW9uczogW10sXG4gICAgYWxsUmVnaW9uczogW11cbiAgfTtcblxuICBpZiAoIXByb2Nlc3MuZW52LkFXU19SRUdJT04pXG4gICAgRmphbGxMb2dnZXIud2FybihcIkFXU19SRUdJT04gaXMgbm90IHNldCwgZGVmYXVsdGluZyB0byB1cy1lYXN0LTFcIik7XG5cbiAgLy8gUmV0cmlldmUgYW55IHByZS1leGlzdGluZyBhY2NvdW50IGNvbmZpZ1xuICBjb25zdCBmamFsbENvbmZpZyA9IEZqYWxsQ29uZmlnLmxvYWRDb25maWcoKTtcblxuICAvLyBHZXQgZXhpc3RpbmcgYWNjb3VudHNcbiAgY29uZmlnLmV4aXN0aW5nQWNjb3VudHMgPSBmamFsbENvbmZpZy5nZXRFeGlzdGluZ0FjY291bnRzKCk7XG5cbiAgLy8gQnVpbGQgYWNjb3VudCBJRHMgbWFwIGZyb20gcHJvdmlkZXIgYWNjb3VudHMgKG5hbWUg4oaSIGlkKVxuICBjb25zdCBwcm92aWRlckFjY291bnRzID0gZmphbGxDb25maWcucm9vdENvbmZpZy5wcm92aWRlckFjY291bnRzIHx8IFtdO1xuICBpZiAocHJvdmlkZXJBY2NvdW50cy5sZW5ndGggPiAwKSB7XG4gICAgY29uZmlnLmFjY291bnRJZHMgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHBhIG9mIHByb3ZpZGVyQWNjb3VudHMpIHtcbiAgICAgIGNvbmZpZy5hY2NvdW50SWRzW3BhLm5hbWVdID0gcGEuaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2V0IHJlZ2lvbnMgY29uZmlndXJhdGlvblxuICBjb25maWcucHJpbWFyeVJlZ2lvbiA9IGZqYWxsQ29uZmlnLmdldFByaW1hcnlSZWdpb24oKTtcbiAgY29uZmlnLnNlY29uZGFyeVJlZ2lvbnMgPSBmamFsbENvbmZpZy5nZXRTZWNvbmRhcnlSZWdpb25zKCkgfHwgW107XG4gIGNvbmZpZy5hbGxSZWdpb25zID0gZmphbGxDb25maWcuZ2V0QWxsUmVnaW9ucygpO1xuICBjb25maWcuZGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbiA9IGZqYWxsQ29uZmlnLmdldERpc2FzdGVyUmVjb3ZlcnlSZWdpb24oKTtcblxuICAvLyBJZiB1bnNwZWNpZmllZCBhY2NvdW50IG5hbWUgLSB0cnkgdG8gcmV0cmlldmUgZnJvbSBjb250ZXh0XG4gIGlmICghYWNjb3VudE5hbWUpIGFjY291bnROYW1lID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnROYW1lXCIpO1xuICAvLyBJZiB3ZSBoYXZlIGFuIGFjY291bnQgbmFtZSAtIGxvb2sgZm9yIGFzc29jaWF0ZWQgcHJvdmlkZXIgYWNjb3VudFxuICBpZiAoYWNjb3VudE5hbWUpIHtcbiAgICBjb25zdCBwcm92aWRlckFjY291bnQgPSBmamFsbENvbmZpZy5nZXRQcm92aWRlckFjY291bnQoYWNjb3VudE5hbWUpO1xuICAgIGlmIChwcm92aWRlckFjY291bnQpIHtcbiAgICAgIGNvbmZpZy5hY2NvdW50SWQgPSBwcm92aWRlckFjY291bnQuaWQ7XG4gICAgICBjb25maWcuYWNjb3VudE5hbWUgPSBwcm92aWRlckFjY291bnQubmFtZTtcbiAgICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IHByb3ZpZGVyQWNjb3VudC5lbnZpcm9ubWVudDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBzdGlsbCBkb24ndCBoYXZlIGFuIGFjY291bnQgbmFtZSAtIHRyeSB0byByZXRyaWV2ZSBhY2NvdW50SWQgZnJvbSBjb250ZXh0XG4gIGlmICghY29uZmlnLmFjY291bnROYW1lKSB7XG4gICAgY29uc3QgYWNjb3VudElkID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnRJZFwiKTtcbiAgICAvLyBJZiB3ZSBmaW5kIGFuIGFjY291bnRJZCAtIHJldHJpZXZlIHRoZSBhc3NvY2lhdGVkIGFjY291bnQgZnJvbSBjb25maWdcbiAgICBpZiAoYWNjb3VudElkKSB7XG4gICAgICBjb25maWcuYWNjb3VudElkID0gYWNjb3VudElkO1xuXG4gICAgICBjb25zdCBwcm92aWRlckFjY291bnQgPSBmamFsbENvbmZpZy5nZXRQcm92aWRlckFjY291bnRCeUlkKGFjY291bnRJZCk7XG4gICAgICBpZiAocHJvdmlkZXJBY2NvdW50KSB7XG4gICAgICAgIGNvbmZpZy5hY2NvdW50TmFtZSA9IHByb3ZpZGVyQWNjb3VudC5uYW1lO1xuICAgICAgICBjb25maWcuZW52aXJvbm1lbnQgPSBwcm92aWRlckFjY291bnQuZW52aXJvbm1lbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgZm9yIGVudmlyb25tZW50IGZyb20gY29udGV4dCAoaGlnaGVzdCBwcmlvcml0eSlcbiAgY29uc3QgY29udGV4dEVudmlyb25tZW50ID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImVudmlyb25tZW50XCIpO1xuICBpZiAoY29udGV4dEVudmlyb25tZW50KSB7XG4gICAgY29uZmlnLmVudmlyb25tZW50ID0gY29udGV4dEVudmlyb25tZW50O1xuICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52LkVOVklST05NRU5UICYmIGNvbmZpZy5lbnZpcm9ubWVudCA9PT0gXCJ1bmtub3duXCIpIHtcbiAgICAvLyBGYWxsIGJhY2sgdG8gRU5WSVJPTk1FTlQgdmFyaWFibGUgaWYgbm8gb3RoZXIgc291cmNlIGZvdW5kXG4gICAgY29uZmlnLmVudmlyb25tZW50ID0gcHJvY2Vzcy5lbnYuRU5WSVJPTk1FTlQ7XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufVxuXG5leHBvcnQgZGVmYXVsdCBnZXRDb25maWc7XG4iXX0=
@@ -1,5 +1,11 @@
1
+ export * from "./backupTierMapping";
1
2
  export * from "./capitaliseString";
3
+ export * from "./connections";
4
+ export * from "./databaseTypes";
2
5
  export * from "./getConfig";
6
+ export * from "./removalPolicy";
3
7
  export * from "./resourceNaming";
4
8
  export * from "./standardTagsAspect";
5
9
  export * from "./validationLogger";
10
+ export * from "./env";
11
+ export * from "./vpcUtils";
@@ -14,9 +14,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./backupTierMapping"), exports);
17
18
  __exportStar(require("./capitaliseString"), exports);
19
+ __exportStar(require("./connections"), exports);
20
+ __exportStar(require("./databaseTypes"), exports);
18
21
  __exportStar(require("./getConfig"), exports);
22
+ __exportStar(require("./removalPolicy"), exports);
19
23
  __exportStar(require("./resourceNaming"), exports);
20
24
  __exportStar(require("./standardTagsAspect"), exports);
21
25
  __exportStar(require("./validationLogger"), exports);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFtQztBQUNuQyw4Q0FBNEI7QUFDNUIsbURBQWlDO0FBQ2pDLHVEQUFxQztBQUNyQyxxREFBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9jYXBpdGFsaXNlU3RyaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9nZXRDb25maWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jlc291cmNlTmFtaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGFuZGFyZFRhZ3NBc3BlY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZhbGlkYXRpb25Mb2dnZXJcIjtcbiJdfQ==
26
+ __exportStar(require("./env"), exports);
27
+ __exportStar(require("./vpcUtils"), exports);
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHNEQUFvQztBQUNwQyxxREFBbUM7QUFDbkMsZ0RBQThCO0FBQzlCLGtEQUFnQztBQUNoQyw4Q0FBNEI7QUFDNUIsa0RBQWdDO0FBQ2hDLG1EQUFpQztBQUNqQyx1REFBcUM7QUFDckMscURBQW1DO0FBQ25DLHdDQUFzQjtBQUN0Qiw2Q0FBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9iYWNrdXBUaWVyTWFwcGluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY2FwaXRhbGlzZVN0cmluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29ubmVjdGlvbnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlVHlwZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2dldENvbmZpZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVtb3ZhbFBvbGljeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVzb3VyY2VOYW1pbmdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YW5kYXJkVGFnc0FzcGVjdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmFsaWRhdGlvbkxvZ2dlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZW52XCI7XG5leHBvcnQgKiBmcm9tIFwiLi92cGNVdGlsc1wiO1xuIl19
@@ -0,0 +1,2 @@
1
+ import { RemovalPolicy } from "aws-cdk-lib";
2
+ export declare function toRemovalPolicy(value?: "DESTROY" | "RETAIN" | "SNAPSHOT"): RemovalPolicy;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toRemovalPolicy = toRemovalPolicy;
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ function toRemovalPolicy(value) {
6
+ switch (value) {
7
+ case "DESTROY":
8
+ return aws_cdk_lib_1.RemovalPolicy.DESTROY;
9
+ case "SNAPSHOT":
10
+ return aws_cdk_lib_1.RemovalPolicy.SNAPSHOT;
11
+ case "RETAIN":
12
+ default:
13
+ return aws_cdk_lib_1.RemovalPolicy.RETAIN;
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZhbFBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi91dGlscy9yZW1vdmFsUG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsMENBWUM7QUFkRCw2Q0FBNEM7QUFFNUMsU0FBZ0IsZUFBZSxDQUM3QixLQUF5QztJQUV6QyxRQUFRLEtBQUssRUFBRSxDQUFDO1FBQ2QsS0FBSyxTQUFTO1lBQ1osT0FBTywyQkFBYSxDQUFDLE9BQU8sQ0FBQztRQUMvQixLQUFLLFVBQVU7WUFDYixPQUFPLDJCQUFhLENBQUMsUUFBUSxDQUFDO1FBQ2hDLEtBQUssUUFBUSxDQUFDO1FBQ2Q7WUFDRSxPQUFPLDJCQUFhLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG5leHBvcnQgZnVuY3Rpb24gdG9SZW1vdmFsUG9saWN5KFxuICB2YWx1ZT86IFwiREVTVFJPWVwiIHwgXCJSRVRBSU5cIiB8IFwiU05BUFNIT1RcIlxuKTogUmVtb3ZhbFBvbGljeSB7XG4gIHN3aXRjaCAodmFsdWUpIHtcbiAgICBjYXNlIFwiREVTVFJPWVwiOlxuICAgICAgcmV0dXJuIFJlbW92YWxQb2xpY3kuREVTVFJPWTtcbiAgICBjYXNlIFwiU05BUFNIT1RcIjpcbiAgICAgIHJldHVybiBSZW1vdmFsUG9saWN5LlNOQVBTSE9UO1xuICAgIGNhc2UgXCJSRVRBSU5cIjpcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFJlbW92YWxQb2xpY3kuUkVUQUlOO1xuICB9XG59XG4iXX0=
@@ -16,9 +16,8 @@ const capitaliseString_js_1 = require("./capitaliseString.js");
16
16
  */
17
17
  class ResourceNaming {
18
18
  /** RDS Instance identifier. AWS lowercases this. */
19
- // TODO: revert to toKebab(name) after webapp redeploy (temp fix to match deployed instance ID "fjalldb")
20
19
  static dbInstanceId(name) {
21
- return name.toLowerCase();
20
+ return (0, capitaliseString_js_1.toKebab)(name);
22
21
  }
23
22
  /** Aurora cluster identifier. Must be lowercase. */
24
23
  static clusterId(name) {
@@ -54,14 +53,12 @@ class ResourceNaming {
54
53
  return `${(0, capitaliseString_js_1.toKebab)(name)}-read-replica`;
55
54
  }
56
55
  /** Credentials secret name. Preserves original casing (Secrets Manager is case-sensitive). */
57
- // TODO: revert to `${name}/credentials` after webapp redeploy (temp fix to match deployed secret names)
58
56
  static credentialsSecretName(name) {
59
- return `${name}Credentials`;
57
+ return `${name}/credentials`;
60
58
  }
61
59
  /** Master secret name for rotation. Preserves original casing (Secrets Manager is case-sensitive). */
62
- // TODO: revert to `${name}/master-secret` after webapp redeploy (temp fix to match deployed secret names)
63
60
  static masterSecretName(name) {
64
- return `${name}MasterSecret`;
61
+ return `${name}/master-secret`;
65
62
  }
66
63
  /** Security group description for RDS Instance. */
67
64
  static instanceSecurityGroupDescription(name) {
@@ -81,4 +78,4 @@ class ResourceNaming {
81
78
  }
82
79
  }
83
80
  exports.ResourceNaming = ResourceNaming;
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VOYW1pbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvcmVzb3VyY2VOYW1pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQWdEO0FBRWhEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBYSxjQUFjO0lBQ3pCLG9EQUFvRDtJQUNwRCx5R0FBeUc7SUFDekcsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFZO1FBQzlCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFZO1FBQzNCLE9BQU8sR0FBRyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsMkRBQTJEO0lBQzNELE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBWTtRQUNqQyxPQUFPLEdBQUcsSUFBQSw2QkFBTyxFQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDbkMsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBWTtRQUNsQyxPQUFPLEdBQUcsSUFBQSw2QkFBTyxFQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUM1QyxDQUFDO0lBRUQsZ0VBQWdFO0lBQ2hFLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFZLEVBQUUsTUFBYztRQUNwRCxPQUFPLEdBQUcsSUFBQSw2QkFBTyxFQUFDLElBQUksQ0FBQyxjQUFjLE1BQU0sRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCx5REFBeUQ7SUFDekQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFZO1FBQzNCLE9BQU8sR0FBRyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNsQyxDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsTUFBTSxHQUFHLFNBQVM7UUFDdEQsT0FBTyxHQUFHLElBQUEsNkJBQU8sRUFBQyxJQUFJLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDckIsSUFBWSxFQUNaLEtBQWEsRUFDYixNQUFlO1FBRWYsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFJLFVBQVUsS0FBSyxFQUFFLENBQUM7UUFDdkMsT0FBTyxHQUFHLElBQUEsNkJBQU8sRUFBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBWTtRQUMvQixPQUFPLEdBQUcsSUFBQSw2QkFBTyxFQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDekMsQ0FBQztJQUVELDhGQUE4RjtJQUM5Rix3R0FBd0c7SUFDeEcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLElBQVk7UUFDdkMsT0FBTyxHQUFHLElBQUksYUFBYSxDQUFDO0lBQzlCLENBQUM7SUFFRCxzR0FBc0c7SUFDdEcsMEdBQTBHO0lBQzFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsbURBQW1EO0lBQ25ELE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFZO1FBQ2xELE9BQU8sNENBQTRDLElBQUksRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRCxxREFBcUQ7SUFDckQsTUFBTSxDQUFDLCtCQUErQixDQUFDLElBQVk7UUFDakQsT0FBTyxxQ0FBcUMsSUFBSSxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELGdEQUFnRDtJQUNoRCxNQUFNLENBQUMsNkJBQTZCLENBQUMsSUFBWTtRQUMvQyxPQUFPLGdDQUFnQyxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsbURBQW1EO0lBQ25ELE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxJQUFZO1FBQ3JELE9BQU8sdUNBQXVDLElBQUksRUFBRSxDQUFDO0lBQ3ZELENBQUM7Q0FDRjtBQW5GRCx3Q0FtRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0b0tlYmFiIH0gZnJvbSBcIi4vY2FwaXRhbGlzZVN0cmluZy5qc1wiO1xuXG4vKipcbiAqIENlbnRyYWxpc2VkIHJlc291cmNlIG5hbWluZyBmb3IgaW5mcmFzdHJ1Y3R1cmUuXG4gKiBFbnN1cmVzIGNvbnNpc3RlbnQsIHByZWRpY3RhYmxlIG5hbWVzIGFjcm9zcyBjb25zdHJ1Y3RzIGFuZCB0ZXN0cy5cbiAqXG4gKiBBV1MgTmFtaW5nIENvbnN0cmFpbnRzOlxuICogLSBEQiBJbnN0YW5jZS9DbHVzdGVyIElEOiBtYXggNjMgY2hhcnMsIGFscGhhbnVtZXJpYyArIGh5cGhlbnMsIGNhc2UtaW5zZW5zaXRpdmUgKGxvd2VyY2FzZWQgYnkgQVdTKVxuICogLSBTZWNyZXQgTmFtZTogbWF4IDUxMiBjaGFycywgY2FzZS1zZW5zaXRpdmUsIHBhdGgtc3R5bGUgd2l0aCBgL2AgaXMgY29udmVudGlvbmFsXG4gKiAtIFByb3h5IE5hbWU6IG1heCA2MCBjaGFycywgYWxwaGFudW1lcmljICsgaHlwaGVuc1xuICpcbiAqIFJEUyBpZGVudGlmaWVycyB1c2UgdG9LZWJhYigpIHRvIGhhbmRsZSBQYXNjYWxDYXNlL2NhbWVsQ2FzZSBpbnB1dHMuXG4gKiBTZWNyZXQgbmFtZXMgcHJlc2VydmUgdGhlIHVzZXIncyBvcmlnaW5hbCBjYXNpbmcgKFNlY3JldHMgTWFuYWdlciBpcyBjYXNlLXNlbnNpdGl2ZSkuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNvdXJjZU5hbWluZyB7XG4gIC8qKiBSRFMgSW5zdGFuY2UgaWRlbnRpZmllci4gQVdTIGxvd2VyY2FzZXMgdGhpcy4gKi9cbiAgLy8gVE9ETzogcmV2ZXJ0IHRvIHRvS2ViYWIobmFtZSkgYWZ0ZXIgd2ViYXBwIHJlZGVwbG95ICh0ZW1wIGZpeCB0byBtYXRjaCBkZXBsb3llZCBpbnN0YW5jZSBJRCBcImZqYWxsZGJcIilcbiAgc3RhdGljIGRiSW5zdGFuY2VJZChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBuYW1lLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICAvKiogQXVyb3JhIGNsdXN0ZXIgaWRlbnRpZmllci4gTXVzdCBiZSBsb3dlcmNhc2UuICovXG4gIHN0YXRpYyBjbHVzdGVySWQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dG9LZWJhYihuYW1lKX0tY2x1c3RlcmA7XG4gIH1cblxuICAvKiogR2xvYmFsIEF1cm9yYSBjbHVzdGVyIGlkZW50aWZpZXIuIE11c3QgYmUgbG93ZXJjYXNlLiAqL1xuICBzdGF0aWMgZ2xvYmFsQ2x1c3RlcklkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LWdsb2JhbGA7XG4gIH1cblxuICAvKiogUHJpbWFyeSBjbHVzdGVyIElEIGZvciBHbG9iYWxBdXJvcmEuIE11c3QgYmUgbG93ZXJjYXNlLiAqL1xuICBzdGF0aWMgcHJpbWFyeUNsdXN0ZXJJZChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0b0tlYmFiKG5hbWUpfS1wcmltYXJ5LWNsdXN0ZXJgO1xuICB9XG5cbiAgLyoqIFNlY29uZGFyeSBjbHVzdGVyIElEIGZvciBHbG9iYWxBdXJvcmEuIE11c3QgYmUgbG93ZXJjYXNlLiAqL1xuICBzdGF0aWMgc2Vjb25kYXJ5Q2x1c3RlcklkKG5hbWU6IHN0cmluZywgcmVnaW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0b0tlYmFiKG5hbWUpfS1zZWNvbmRhcnktJHtyZWdpb259YDtcbiAgfVxuXG4gIC8qKiBSRFMgUHJveHkgbmFtZS4gTXVzdCBiZSBsb3dlcmNhc2UgZm9yIGNvbnNpc3RlbmN5LiAqL1xuICBzdGF0aWMgcHJveHlOYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LXByb3h5YDtcbiAgfVxuXG4gIC8qKiBBdXJvcmEgd3JpdGVyIGluc3RhbmNlIGlkZW50aWZpZXIuICovXG4gIHN0YXRpYyB3cml0ZXJJbnN0YW5jZUlkKG5hbWU6IHN0cmluZywgc3VmZml4ID0gXCJwcmltYXJ5XCIpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0b0tlYmFiKG5hbWUpfS0ke3N1ZmZpeH1gO1xuICB9XG5cbiAgLyoqIEF1cm9yYSByZWFkZXIgaW5zdGFuY2UgaWRlbnRpZmllci4gKi9cbiAgc3RhdGljIHJlYWRlckluc3RhbmNlSWQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgc3VmZml4Pzogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgaWQgPSBzdWZmaXggPz8gYHJlYWRlci0ke2luZGV4fWA7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LSR7aWR9YDtcbiAgfVxuXG4gIC8qKiBSRFMgcmVhZCByZXBsaWNhIGlkZW50aWZpZXIuICovXG4gIHN0YXRpYyByZWFkUmVwbGljYUlkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LXJlYWQtcmVwbGljYWA7XG4gIH1cblxuICAvKiogQ3JlZGVudGlhbHMgc2VjcmV0IG5hbWUuIFByZXNlcnZlcyBvcmlnaW5hbCBjYXNpbmcgKFNlY3JldHMgTWFuYWdlciBpcyBjYXNlLXNlbnNpdGl2ZSkuICovXG4gIC8vIFRPRE86IHJldmVydCB0byBgJHtuYW1lfS9jcmVkZW50aWFsc2AgYWZ0ZXIgd2ViYXBwIHJlZGVwbG95ICh0ZW1wIGZpeCB0byBtYXRjaCBkZXBsb3llZCBzZWNyZXQgbmFtZXMpXG4gIHN0YXRpYyBjcmVkZW50aWFsc1NlY3JldE5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7bmFtZX1DcmVkZW50aWFsc2A7XG4gIH1cblxuICAvKiogTWFzdGVyIHNlY3JldCBuYW1lIGZvciByb3RhdGlvbi4gUHJlc2VydmVzIG9yaWdpbmFsIGNhc2luZyAoU2VjcmV0cyBNYW5hZ2VyIGlzIGNhc2Utc2Vuc2l0aXZlKS4gKi9cbiAgLy8gVE9ETzogcmV2ZXJ0IHRvIGAke25hbWV9L21hc3Rlci1zZWNyZXRgIGFmdGVyIHdlYmFwcCByZWRlcGxveSAodGVtcCBmaXggdG8gbWF0Y2ggZGVwbG95ZWQgc2VjcmV0IG5hbWVzKVxuICBzdGF0aWMgbWFzdGVyU2VjcmV0TmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtuYW1lfU1hc3RlclNlY3JldGA7XG4gIH1cblxuICAvKiogU2VjdXJpdHkgZ3JvdXAgZGVzY3JpcHRpb24gZm9yIFJEUyBJbnN0YW5jZS4gKi9cbiAgc3RhdGljIGluc3RhbmNlU2VjdXJpdHlHcm91cERlc2NyaXB0aW9uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBTZWN1cml0eSBncm91cCBmb3IgUkRTIGRhdGFiYXNlIGluc3RhbmNlICR7bmFtZX1gO1xuICB9XG5cbiAgLyoqIFNlY3VyaXR5IGdyb3VwIGRlc2NyaXB0aW9uIGZvciBBdXJvcmEgY2x1c3Rlci4gKi9cbiAgc3RhdGljIGNsdXN0ZXJTZWN1cml0eUdyb3VwRGVzY3JpcHRpb24obmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFNlY3VyaXR5IGdyb3VwIGZvciBBdXJvcmEgY2x1c3RlciAke25hbWV9YDtcbiAgfVxuXG4gIC8qKiBTZWN1cml0eSBncm91cCBkZXNjcmlwdGlvbiBmb3IgUkRTIFByb3h5LiAqL1xuICBzdGF0aWMgcHJveHlTZWN1cml0eUdyb3VwRGVzY3JpcHRpb24obmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFNlY3VyaXR5IGdyb3VwIGZvciBSRFMgUHJveHkgJHtuYW1lfWA7XG4gIH1cblxuICAvKiogU2VjdXJpdHkgZ3JvdXAgZGVzY3JpcHRpb24gZm9yIHJlYWQgcmVwbGljYS4gKi9cbiAgc3RhdGljIHJlYWRSZXBsaWNhU2VjdXJpdHlHcm91cERlc2NyaXB0aW9uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBTZWN1cml0eSBncm91cCBmb3IgUkRTIFJlYWQgUmVwbGljYSAke25hbWV9YDtcbiAgfVxufVxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VOYW1pbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvcmVzb3VyY2VOYW1pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQWdEO0FBRWhEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBYSxjQUFjO0lBQ3pCLG9EQUFvRDtJQUNwRCxNQUFNLENBQUMsWUFBWSxDQUFDLElBQVk7UUFDOUIsT0FBTyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELG9EQUFvRDtJQUNwRCxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVk7UUFDM0IsT0FBTyxHQUFHLElBQUEsNkJBQU8sRUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3BDLENBQUM7SUFFRCwyREFBMkQ7SUFDM0QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZO1FBQ2pDLE9BQU8sR0FBRyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsOERBQThEO0lBQzlELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sR0FBRyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQzVDLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLElBQVksRUFBRSxNQUFjO1FBQ3BELE9BQU8sR0FBRyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLGNBQWMsTUFBTSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELHlEQUF5RDtJQUN6RCxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVk7UUFDM0IsT0FBTyxHQUFHLElBQUEsNkJBQU8sRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2xDLENBQUM7SUFFRCx5Q0FBeUM7SUFDekMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQVksRUFBRSxNQUFNLEdBQUcsU0FBUztRQUN0RCxPQUFPLEdBQUcsSUFBQSw2QkFBTyxFQUFDLElBQUksQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCx5Q0FBeUM7SUFDekMsTUFBTSxDQUFDLGdCQUFnQixDQUNyQixJQUFZLEVBQ1osS0FBYSxFQUNiLE1BQWU7UUFFZixNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksVUFBVSxLQUFLLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEdBQUcsSUFBQSw2QkFBTyxFQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFZO1FBQy9CLE9BQU8sR0FBRyxJQUFBLDZCQUFPLEVBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsOEZBQThGO0lBQzlGLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxJQUFZO1FBQ3ZDLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQztJQUMvQixDQUFDO0lBRUQsc0dBQXNHO0lBQ3RHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFZO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLGdCQUFnQixDQUFDO0lBQ2pDLENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLElBQVk7UUFDbEQsT0FBTyw0Q0FBNEMsSUFBSSxFQUFFLENBQUM7SUFDNUQsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxNQUFNLENBQUMsK0JBQStCLENBQUMsSUFBWTtRQUNqRCxPQUFPLHFDQUFxQyxJQUFJLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxJQUFZO1FBQy9DLE9BQU8sZ0NBQWdDLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsTUFBTSxDQUFDLG1DQUFtQyxDQUFDLElBQVk7UUFDckQsT0FBTyx1Q0FBdUMsSUFBSSxFQUFFLENBQUM7SUFDdkQsQ0FBQztDQUNGO0FBaEZELHdDQWdGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRvS2ViYWIgfSBmcm9tIFwiLi9jYXBpdGFsaXNlU3RyaW5nLmpzXCI7XG5cbi8qKlxuICogQ2VudHJhbGlzZWQgcmVzb3VyY2UgbmFtaW5nIGZvciBpbmZyYXN0cnVjdHVyZS5cbiAqIEVuc3VyZXMgY29uc2lzdGVudCwgcHJlZGljdGFibGUgbmFtZXMgYWNyb3NzIGNvbnN0cnVjdHMgYW5kIHRlc3RzLlxuICpcbiAqIEFXUyBOYW1pbmcgQ29uc3RyYWludHM6XG4gKiAtIERCIEluc3RhbmNlL0NsdXN0ZXIgSUQ6IG1heCA2MyBjaGFycywgYWxwaGFudW1lcmljICsgaHlwaGVucywgY2FzZS1pbnNlbnNpdGl2ZSAobG93ZXJjYXNlZCBieSBBV1MpXG4gKiAtIFNlY3JldCBOYW1lOiBtYXggNTEyIGNoYXJzLCBjYXNlLXNlbnNpdGl2ZSwgcGF0aC1zdHlsZSB3aXRoIGAvYCBpcyBjb252ZW50aW9uYWxcbiAqIC0gUHJveHkgTmFtZTogbWF4IDYwIGNoYXJzLCBhbHBoYW51bWVyaWMgKyBoeXBoZW5zXG4gKlxuICogUkRTIGlkZW50aWZpZXJzIHVzZSB0b0tlYmFiKCkgdG8gaGFuZGxlIFBhc2NhbENhc2UvY2FtZWxDYXNlIGlucHV0cy5cbiAqIFNlY3JldCBuYW1lcyBwcmVzZXJ2ZSB0aGUgdXNlcidzIG9yaWdpbmFsIGNhc2luZyAoU2VjcmV0cyBNYW5hZ2VyIGlzIGNhc2Utc2Vuc2l0aXZlKS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlc291cmNlTmFtaW5nIHtcbiAgLyoqIFJEUyBJbnN0YW5jZSBpZGVudGlmaWVyLiBBV1MgbG93ZXJjYXNlcyB0aGlzLiAqL1xuICBzdGF0aWMgZGJJbnN0YW5jZUlkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRvS2ViYWIobmFtZSk7XG4gIH1cblxuICAvKiogQXVyb3JhIGNsdXN0ZXIgaWRlbnRpZmllci4gTXVzdCBiZSBsb3dlcmNhc2UuICovXG4gIHN0YXRpYyBjbHVzdGVySWQobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dG9LZWJhYihuYW1lKX0tY2x1c3RlcmA7XG4gIH1cblxuICAvKiogR2xvYmFsIEF1cm9yYSBjbHVzdGVyIGlkZW50aWZpZXIuIE11c3QgYmUgbG93ZXJjYXNlLiAqL1xuICBzdGF0aWMgZ2xvYmFsQ2x1c3RlcklkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LWdsb2JhbGA7XG4gIH1cblxuICAvKiogUHJpbWFyeSBjbHVzdGVyIElEIGZvciBHbG9iYWxBdXJvcmEuIE11c3QgYmUgbG93ZXJjYXNlLiAqL1xuICBzdGF0aWMgcHJpbWFyeUNsdXN0ZXJJZChuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0b0tlYmFiKG5hbWUpfS1wcmltYXJ5LWNsdXN0ZXJgO1xuICB9XG5cbiAgLyoqIFNlY29uZGFyeSBjbHVzdGVyIElEIGZvciBHbG9iYWxBdXJvcmEuIE11c3QgYmUgbG93ZXJjYXNlLiAqL1xuICBzdGF0aWMgc2Vjb25kYXJ5Q2x1c3RlcklkKG5hbWU6IHN0cmluZywgcmVnaW9uOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0b0tlYmFiKG5hbWUpfS1zZWNvbmRhcnktJHtyZWdpb259YDtcbiAgfVxuXG4gIC8qKiBSRFMgUHJveHkgbmFtZS4gTXVzdCBiZSBsb3dlcmNhc2UgZm9yIGNvbnNpc3RlbmN5LiAqL1xuICBzdGF0aWMgcHJveHlOYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LXByb3h5YDtcbiAgfVxuXG4gIC8qKiBBdXJvcmEgd3JpdGVyIGluc3RhbmNlIGlkZW50aWZpZXIuICovXG4gIHN0YXRpYyB3cml0ZXJJbnN0YW5jZUlkKG5hbWU6IHN0cmluZywgc3VmZml4ID0gXCJwcmltYXJ5XCIpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0b0tlYmFiKG5hbWUpfS0ke3N1ZmZpeH1gO1xuICB9XG5cbiAgLyoqIEF1cm9yYSByZWFkZXIgaW5zdGFuY2UgaWRlbnRpZmllci4gKi9cbiAgc3RhdGljIHJlYWRlckluc3RhbmNlSWQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGluZGV4OiBudW1iZXIsXG4gICAgc3VmZml4Pzogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgY29uc3QgaWQgPSBzdWZmaXggPz8gYHJlYWRlci0ke2luZGV4fWA7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LSR7aWR9YDtcbiAgfVxuXG4gIC8qKiBSRFMgcmVhZCByZXBsaWNhIGlkZW50aWZpZXIuICovXG4gIHN0YXRpYyByZWFkUmVwbGljYUlkKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RvS2ViYWIobmFtZSl9LXJlYWQtcmVwbGljYWA7XG4gIH1cblxuICAvKiogQ3JlZGVudGlhbHMgc2VjcmV0IG5hbWUuIFByZXNlcnZlcyBvcmlnaW5hbCBjYXNpbmcgKFNlY3JldHMgTWFuYWdlciBpcyBjYXNlLXNlbnNpdGl2ZSkuICovXG4gIHN0YXRpYyBjcmVkZW50aWFsc1NlY3JldE5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7bmFtZX0vY3JlZGVudGlhbHNgO1xuICB9XG5cbiAgLyoqIE1hc3RlciBzZWNyZXQgbmFtZSBmb3Igcm90YXRpb24uIFByZXNlcnZlcyBvcmlnaW5hbCBjYXNpbmcgKFNlY3JldHMgTWFuYWdlciBpcyBjYXNlLXNlbnNpdGl2ZSkuICovXG4gIHN0YXRpYyBtYXN0ZXJTZWNyZXROYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke25hbWV9L21hc3Rlci1zZWNyZXRgO1xuICB9XG5cbiAgLyoqIFNlY3VyaXR5IGdyb3VwIGRlc2NyaXB0aW9uIGZvciBSRFMgSW5zdGFuY2UuICovXG4gIHN0YXRpYyBpbnN0YW5jZVNlY3VyaXR5R3JvdXBEZXNjcmlwdGlvbihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgU2VjdXJpdHkgZ3JvdXAgZm9yIFJEUyBkYXRhYmFzZSBpbnN0YW5jZSAke25hbWV9YDtcbiAgfVxuXG4gIC8qKiBTZWN1cml0eSBncm91cCBkZXNjcmlwdGlvbiBmb3IgQXVyb3JhIGNsdXN0ZXIuICovXG4gIHN0YXRpYyBjbHVzdGVyU2VjdXJpdHlHcm91cERlc2NyaXB0aW9uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBTZWN1cml0eSBncm91cCBmb3IgQXVyb3JhIGNsdXN0ZXIgJHtuYW1lfWA7XG4gIH1cblxuICAvKiogU2VjdXJpdHkgZ3JvdXAgZGVzY3JpcHRpb24gZm9yIFJEUyBQcm94eS4gKi9cbiAgc3RhdGljIHByb3h5U2VjdXJpdHlHcm91cERlc2NyaXB0aW9uKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBTZWN1cml0eSBncm91cCBmb3IgUkRTIFByb3h5ICR7bmFtZX1gO1xuICB9XG5cbiAgLyoqIFNlY3VyaXR5IGdyb3VwIGRlc2NyaXB0aW9uIGZvciByZWFkIHJlcGxpY2EuICovXG4gIHN0YXRpYyByZWFkUmVwbGljYVNlY3VyaXR5R3JvdXBEZXNjcmlwdGlvbihuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgU2VjdXJpdHkgZ3JvdXAgZm9yIFJEUyBSZWFkIFJlcGxpY2EgJHtuYW1lfWA7XG4gIH1cbn1cbiJdfQ==
@@ -23,6 +23,10 @@ export declare class StandardTagsAspect implements IAspect {
23
23
  private addIpamPoolTag;
24
24
  /**
25
25
  * Add disaster recovery tier tag to S3 buckets with backupVaultTier property.
26
+ * This serves as a per-resource override when `backupVaultTier` is set on a
27
+ * specific S3 bucket. CDK child tags override parent tags, so this takes
28
+ * precedence over the app-level backup tag set via `App.getApp({ backup })`.
29
+ *
26
30
  * Tag format: fjall:disasterRecovery:tier = "{tier}"
27
31
  *
28
32
  * Tier mapping:
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StandardTagsAspect = void 0;
4
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ const backupTierMapping_1 = require("./backupTierMapping");
5
6
  /**
6
7
  * Aspect to apply special Fjall tags to specific resource types.
7
8
  *
@@ -58,6 +59,10 @@ class StandardTagsAspect {
58
59
  }
59
60
  /**
60
61
  * Add disaster recovery tier tag to S3 buckets with backupVaultTier property.
62
+ * This serves as a per-resource override when `backupVaultTier` is set on a
63
+ * specific S3 bucket. CDK child tags override parent tags, so this takes
64
+ * precedence over the app-level backup tag set via `App.getApp({ backup })`.
65
+ *
61
66
  * Tag format: fjall:disasterRecovery:tier = "{tier}"
62
67
  *
63
68
  * Tier mapping:
@@ -71,13 +76,8 @@ class StandardTagsAspect {
71
76
  const backupConstruct = construct;
72
77
  if (backupConstruct.backupVaultTier) {
73
78
  const tier = backupConstruct.backupVaultTier;
74
- const tierMap = {
75
- standard: "default",
76
- resilient: "resilient",
77
- enterprise: "enterprise"
78
- };
79
- const tagValue = tierMap[tier] || tier;
80
- aws_cdk_lib_1.Tags.of(resource).add("fjall:disasterRecovery:tier", tagValue);
79
+ const tagValue = backupTierMapping_1.BACKUP_TIER_TAG_MAP[tier];
80
+ aws_cdk_lib_1.Tags.of(resource).add(backupTierMapping_1.BACKUP_TIER_TAG_KEY, tagValue);
81
81
  break;
82
82
  }
83
83
  construct = construct.node.scope;
@@ -85,4 +85,4 @@ class StandardTagsAspect {
85
85
  }
86
86
  }
87
87
  exports.StandardTagsAspect = StandardTagsAspect;
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRUYWdzQXNwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL3N0YW5kYXJkVGFnc0FzcGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBcUU7QUFTckU7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxrQkFBa0I7SUFBL0I7UUFDbUIsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQWMsQ0FBQztJQStFbEUsQ0FBQztJQTdFQyxLQUFLLENBQUMsSUFBZ0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMseUJBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQW1CLENBQUM7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVsQyxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7WUFDbEQsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxlQUFlLEtBQUssZUFBZSxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFrQixDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELElBQUksUUFBUSxDQUFDLGVBQWUsS0FBSyxpQkFBaUIsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxHQUFXO1FBQ2hDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUM7UUFFdEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsTUFBTSxTQUFTLEdBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1lBQ3JDLEtBQUssQ0FBQyxPQUFPO1lBQ2IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztRQUNsQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUM7UUFFOUQsSUFBSSxTQUFTLElBQUksTUFBTSxFQUFFLENBQUM7WUFDeEIsa0JBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLEdBQUcsU0FBUyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNLLGdCQUFnQixDQUFDLFFBQXFCO1FBQzVDLElBQUksU0FBUyxHQUEyQixRQUFRLENBQUM7UUFDakQsT0FBTyxTQUFTLEVBQUUsQ0FBQztZQUNqQixNQUFNLGVBQWUsR0FBRyxTQUFpQyxDQUFDO1lBQzFELElBQUksZUFBZSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLElBQUksR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDO2dCQUU3QyxNQUFNLE9BQU8sR0FBMkI7b0JBQ3RDLFFBQVEsRUFBRSxTQUFTO29CQUNuQixTQUFTLEVBQUUsV0FBVztvQkFDdEIsVUFBVSxFQUFFLFlBQVk7aUJBQ3pCLENBQUM7Z0JBRUYsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztnQkFDdkMsa0JBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvRCxNQUFNO1lBQ1IsQ0FBQztZQUNELFNBQVMsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBaEZELGdEQWdGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgSUFzcGVjdCwgQ2ZuUmVzb3VyY2UsIFN0YWNrLCBUYWdzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyB0eXBlIENmblZQQyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyB0eXBlIElDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG4vKiogQ29uc3RydWN0IHdpdGggb3B0aW9uYWwgYmFja3VwVmF1bHRUaWVyIHByb3BlcnR5ICovXG5pbnRlcmZhY2UgSUJhY2t1cFRpZXJDb25zdHJ1Y3QgZXh0ZW5kcyBJQ29uc3RydWN0IHtcbiAgYmFja3VwVmF1bHRUaWVyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFzcGVjdCB0byBhcHBseSBzcGVjaWFsIEZqYWxsIHRhZ3MgdG8gc3BlY2lmaWMgcmVzb3VyY2UgdHlwZXMuXG4gKlxuICogVGhpcyBhc3BlY3QgaGFuZGxlcyB0YWdzIHRoYXQgZGVwZW5kIG9uIHJlc291cmNlLXNwZWNpZmljIHByb3BlcnRpZXM6XG4gKiAtIGZqYWxsOm9wZXJhdGlvbnM6cG9vbCBvbiBWUENzIHdpdGggSVBBTSBjb25maWd1cmF0aW9uXG4gKiAtIGZqYWxsOmRpc2FzdGVyUmVjb3Zlcnk6dGllciBvbiBTMyBidWNrZXRzIHdpdGggYmFja3VwIGNvbmZpZ3VyYXRpb25cbiAqXG4gKiBTdGFuZGFyZCBGamFsbCB0YWdzIChjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudCwgY29zdEFsbG9jYXRpb246c2VydmljZSwgZXRjLilcbiAqIGFyZSBhcHBsaWVkIHZpYSBUYWdzLm9mKGFwcCkuYWRkKCkgaW4gdGhlIEFwcCBjbGFzcywgd2hpY2ggcHJvcGVybHkgbWVyZ2VzXG4gKiB3aXRoIGV4aXN0aW5nIHRhZ3MgZnJvbSBMMiBjb25zdHJ1Y3RzLlxuICpcbiAqIFRoaXMgYXNwZWN0IHVzZXMgVGFncy5vZihub2RlKS5hZGQoKSB0byBwcm9wZXJseSBtZXJnZSB3aXRoIGV4aXN0aW5nIHRhZ3NcbiAqL1xuZXhwb3J0IGNsYXNzIFN0YW5kYXJkVGFnc0FzcGVjdCBpbXBsZW1lbnRzIElBc3BlY3Qge1xuICBwcml2YXRlIHJlYWRvbmx5IHByb2Nlc3NlZFJlc291cmNlcyA9IG5ldyBXZWFrU2V0PElDb25zdHJ1Y3Q+KCk7XG5cbiAgdmlzaXQobm9kZTogSUNvbnN0cnVjdCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByb2Nlc3NlZFJlc291cmNlcy5oYXMobm9kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIUNmblJlc291cmNlLmlzQ2ZuUmVzb3VyY2Uobm9kZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5vZGUgYXMgQ2ZuUmVzb3VyY2U7XG4gICAgdGhpcy5wcm9jZXNzZWRSZXNvdXJjZXMuYWRkKG5vZGUpO1xuXG4gICAgaWYgKHJlc291cmNlLm5vZGUucGF0aC5pbmNsdWRlcyhcIlNlY3JldFJvdGF0aW9uXCIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHJlc291cmNlLmNmblJlc291cmNlVHlwZSA9PT0gXCJBV1M6OkVDMjo6VlBDXCIpIHtcbiAgICAgIHRoaXMuYWRkSXBhbVBvb2xUYWcocmVzb3VyY2UgYXMgQ2ZuVlBDKTtcbiAgICB9XG5cbiAgICBpZiAocmVzb3VyY2UuY2ZuUmVzb3VyY2VUeXBlID09PSBcIkFXUzo6UzM6OkJ1Y2tldFwiKSB7XG4gICAgICB0aGlzLmFkZEJhY2t1cFRpZXJUYWcocmVzb3VyY2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgSVBBTSBwb29sIHRhZyB0byBWUENzIHRoYXQgdXNlIElQQU0gZm9yIElQIGFkZHJlc3MgYWxsb2NhdGlvbi5cbiAgICogVGFnIGZvcm1hdDogZmphbGw6b3BlcmF0aW9uczpwb29sID0gXCJ7YWNjb3VudElkfS17cmVnaW9ufVwiXG4gICAqL1xuICBwcml2YXRlIGFkZElwYW1Qb29sVGFnKHZwYzogQ2ZuVlBDKTogdm9pZCB7XG4gICAgY29uc3QgaXBhbVBvb2xJZCA9IHZwYy5pcHY0SXBhbVBvb2xJZDtcblxuICAgIGlmICghaXBhbVBvb2xJZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YWNrID0gU3RhY2sub2YodnBjKTtcbiAgICBjb25zdCBhY2NvdW50SWQgPVxuICAgICAgc3RhY2subm9kZS50cnlHZXRDb250ZXh0KFwiYWNjb3VudElkXCIpIHx8XG4gICAgICBzdGFjay5hY2NvdW50IHx8XG4gICAgICBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9BQ0NPVU5UO1xuICAgIGNvbnN0IHJlZ2lvbiA9IHN0YWNrLnJlZ2lvbiB8fCBwcm9jZXNzLmVudi5DREtfREVGQVVMVF9SRUdJT047XG5cbiAgICBpZiAoYWNjb3VudElkICYmIHJlZ2lvbikge1xuICAgICAgVGFncy5vZih2cGMpLmFkZChcImZqYWxsOm9wZXJhdGlvbnM6cG9vbFwiLCBgJHthY2NvdW50SWR9LSR7cmVnaW9ufWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgZGlzYXN0ZXIgcmVjb3ZlcnkgdGllciB0YWcgdG8gUzMgYnVja2V0cyB3aXRoIGJhY2t1cFZhdWx0VGllciBwcm9wZXJ0eS5cbiAgICogVGFnIGZvcm1hdDogZmphbGw6ZGlzYXN0ZXJSZWNvdmVyeTp0aWVyID0gXCJ7dGllcn1cIlxuICAgKlxuICAgKiBUaWVyIG1hcHBpbmc6XG4gICAqIC0gc3RhbmRhcmQgLT4gXCJkZWZhdWx0XCIgKG1hdGNoZXMgZXhpc3RpbmcgYmFja3VwIHBsYW5zKVxuICAgKiAtIHJlc2lsaWVudCAtPiBcInJlc2lsaWVudFwiXG4gICAqIC0gZW50ZXJwcmlzZSAtPiBcImVudGVycHJpc2VcIlxuICAgKi9cbiAgcHJpdmF0ZSBhZGRCYWNrdXBUaWVyVGFnKHJlc291cmNlOiBDZm5SZXNvdXJjZSk6IHZvaWQge1xuICAgIGxldCBjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QgfCB1bmRlZmluZWQgPSByZXNvdXJjZTtcbiAgICB3aGlsZSAoY29uc3RydWN0KSB7XG4gICAgICBjb25zdCBiYWNrdXBDb25zdHJ1Y3QgPSBjb25zdHJ1Y3QgYXMgSUJhY2t1cFRpZXJDb25zdHJ1Y3Q7XG4gICAgICBpZiAoYmFja3VwQ29uc3RydWN0LmJhY2t1cFZhdWx0VGllcikge1xuICAgICAgICBjb25zdCB0aWVyID0gYmFja3VwQ29uc3RydWN0LmJhY2t1cFZhdWx0VGllcjtcblxuICAgICAgICBjb25zdCB0aWVyTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgICAgIHN0YW5kYXJkOiBcImRlZmF1bHRcIixcbiAgICAgICAgICByZXNpbGllbnQ6IFwicmVzaWxpZW50XCIsXG4gICAgICAgICAgZW50ZXJwcmlzZTogXCJlbnRlcnByaXNlXCJcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCB0YWdWYWx1ZSA9IHRpZXJNYXBbdGllcl0gfHwgdGllcjtcbiAgICAgICAgVGFncy5vZihyZXNvdXJjZSkuYWRkKFwiZmphbGw6ZGlzYXN0ZXJSZWNvdmVyeTp0aWVyXCIsIHRhZ1ZhbHVlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjb25zdHJ1Y3QgPSBjb25zdHJ1Y3Qubm9kZS5zY29wZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmRUYWdzQXNwZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL3N0YW5kYXJkVGFnc0FzcGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBcUU7QUFHckUsMkRBSTZCO0FBTzdCOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQWEsa0JBQWtCO0lBQS9CO1FBQ21CLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFjLENBQUM7SUE2RWxFLENBQUM7SUEzRUMsS0FBSyxDQUFDLElBQWdCO1FBQ3BCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLHlCQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFtQixDQUFDO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQ2xELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxRQUFRLENBQUMsZUFBZSxLQUFLLGVBQWUsRUFBRSxDQUFDO1lBQ2pELElBQUksQ0FBQyxjQUFjLENBQUMsUUFBa0IsQ0FBQyxDQUFDO1FBQzFDLENBQUM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxlQUFlLEtBQUssaUJBQWlCLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSyxjQUFjLENBQUMsR0FBVztRQUNoQyxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDO1FBRXRDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUNiLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUNyQyxLQUFLLENBQUMsT0FBTztZQUNiLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDO1FBRTlELElBQUksU0FBUyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLGtCQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0ssZ0JBQWdCLENBQUMsUUFBcUI7UUFDNUMsSUFBSSxTQUFTLEdBQTJCLFFBQVEsQ0FBQztRQUNqRCxPQUFPLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sZUFBZSxHQUFHLFNBQWlDLENBQUM7WUFDMUQsSUFBSSxlQUFlLENBQUMsZUFBZSxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxlQUFlLENBQUM7Z0JBRTdDLE1BQU0sUUFBUSxHQUFHLHVDQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMzQyxrQkFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsdUNBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQ3JELE1BQU07WUFDUixDQUFDO1lBQ0QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ25DLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUE5RUQsZ0RBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBJQXNwZWN0LCBDZm5SZXNvdXJjZSwgU3RhY2ssIFRhZ3MgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IHR5cGUgQ2ZuVlBDIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IHR5cGUgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICB0eXBlIEJhY2t1cFRpZXIsXG4gIEJBQ0tVUF9USUVSX1RBR19LRVksXG4gIEJBQ0tVUF9USUVSX1RBR19NQVBcbn0gZnJvbSBcIi4vYmFja3VwVGllck1hcHBpbmdcIjtcblxuLyoqIENvbnN0cnVjdCB3aXRoIG9wdGlvbmFsIGJhY2t1cFZhdWx0VGllciBwcm9wZXJ0eSAqL1xuaW50ZXJmYWNlIElCYWNrdXBUaWVyQ29uc3RydWN0IGV4dGVuZHMgSUNvbnN0cnVjdCB7XG4gIGJhY2t1cFZhdWx0VGllcj86IEJhY2t1cFRpZXI7XG59XG5cbi8qKlxuICogQXNwZWN0IHRvIGFwcGx5IHNwZWNpYWwgRmphbGwgdGFncyB0byBzcGVjaWZpYyByZXNvdXJjZSB0eXBlcy5cbiAqXG4gKiBUaGlzIGFzcGVjdCBoYW5kbGVzIHRhZ3MgdGhhdCBkZXBlbmQgb24gcmVzb3VyY2Utc3BlY2lmaWMgcHJvcGVydGllczpcbiAqIC0gZmphbGw6b3BlcmF0aW9uczpwb29sIG9uIFZQQ3Mgd2l0aCBJUEFNIGNvbmZpZ3VyYXRpb25cbiAqIC0gZmphbGw6ZGlzYXN0ZXJSZWNvdmVyeTp0aWVyIG9uIFMzIGJ1Y2tldHMgd2l0aCBiYWNrdXAgY29uZmlndXJhdGlvblxuICpcbiAqIFN0YW5kYXJkIEZqYWxsIHRhZ3MgKGNvc3RBbGxvY2F0aW9uOmVudmlyb25tZW50LCBjb3N0QWxsb2NhdGlvbjpzZXJ2aWNlLCBldGMuKVxuICogYXJlIGFwcGxpZWQgdmlhIFRhZ3Mub2YoYXBwKS5hZGQoKSBpbiB0aGUgQXBwIGNsYXNzLCB3aGljaCBwcm9wZXJseSBtZXJnZXNcbiAqIHdpdGggZXhpc3RpbmcgdGFncyBmcm9tIEwyIGNvbnN0cnVjdHMuXG4gKlxuICogVGhpcyBhc3BlY3QgdXNlcyBUYWdzLm9mKG5vZGUpLmFkZCgpIHRvIHByb3Blcmx5IG1lcmdlIHdpdGggZXhpc3RpbmcgdGFnc1xuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRUYWdzQXNwZWN0IGltcGxlbWVudHMgSUFzcGVjdCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvY2Vzc2VkUmVzb3VyY2VzID0gbmV3IFdlYWtTZXQ8SUNvbnN0cnVjdD4oKTtcblxuICB2aXNpdChub2RlOiBJQ29uc3RydWN0KTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvY2Vzc2VkUmVzb3VyY2VzLmhhcyhub2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghQ2ZuUmVzb3VyY2UuaXNDZm5SZXNvdXJjZShub2RlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc291cmNlID0gbm9kZSBhcyBDZm5SZXNvdXJjZTtcbiAgICB0aGlzLnByb2Nlc3NlZFJlc291cmNlcy5hZGQobm9kZSk7XG5cbiAgICBpZiAocmVzb3VyY2Uubm9kZS5wYXRoLmluY2x1ZGVzKFwiU2VjcmV0Um90YXRpb25cIikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocmVzb3VyY2UuY2ZuUmVzb3VyY2VUeXBlID09PSBcIkFXUzo6RUMyOjpWUENcIikge1xuICAgICAgdGhpcy5hZGRJcGFtUG9vbFRhZyhyZXNvdXJjZSBhcyBDZm5WUEMpO1xuICAgIH1cblxuICAgIGlmIChyZXNvdXJjZS5jZm5SZXNvdXJjZVR5cGUgPT09IFwiQVdTOjpTMzo6QnVja2V0XCIpIHtcbiAgICAgIHRoaXMuYWRkQmFja3VwVGllclRhZyhyZXNvdXJjZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBJUEFNIHBvb2wgdGFnIHRvIFZQQ3MgdGhhdCB1c2UgSVBBTSBmb3IgSVAgYWRkcmVzcyBhbGxvY2F0aW9uLlxuICAgKiBUYWcgZm9ybWF0OiBmamFsbDpvcGVyYXRpb25zOnBvb2wgPSBcInthY2NvdW50SWR9LXtyZWdpb259XCJcbiAgICovXG4gIHByaXZhdGUgYWRkSXBhbVBvb2xUYWcodnBjOiBDZm5WUEMpOiB2b2lkIHtcbiAgICBjb25zdCBpcGFtUG9vbElkID0gdnBjLmlwdjRJcGFtUG9vbElkO1xuXG4gICAgaWYgKCFpcGFtUG9vbElkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhY2sgPSBTdGFjay5vZih2cGMpO1xuICAgIGNvbnN0IGFjY291bnRJZCA9XG4gICAgICBzdGFjay5ub2RlLnRyeUdldENvbnRleHQoXCJhY2NvdW50SWRcIikgfHxcbiAgICAgIHN0YWNrLmFjY291bnQgfHxcbiAgICAgIHByb2Nlc3MuZW52LkNES19ERUZBVUxUX0FDQ09VTlQ7XG4gICAgY29uc3QgcmVnaW9uID0gc3RhY2sucmVnaW9uIHx8IHByb2Nlc3MuZW52LkNES19ERUZBVUxUX1JFR0lPTjtcblxuICAgIGlmIChhY2NvdW50SWQgJiYgcmVnaW9uKSB7XG4gICAgICBUYWdzLm9mKHZwYykuYWRkKFwiZmphbGw6b3BlcmF0aW9uczpwb29sXCIsIGAke2FjY291bnRJZH0tJHtyZWdpb259YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBkaXNhc3RlciByZWNvdmVyeSB0aWVyIHRhZyB0byBTMyBidWNrZXRzIHdpdGggYmFja3VwVmF1bHRUaWVyIHByb3BlcnR5LlxuICAgKiBUaGlzIHNlcnZlcyBhcyBhIHBlci1yZXNvdXJjZSBvdmVycmlkZSB3aGVuIGBiYWNrdXBWYXVsdFRpZXJgIGlzIHNldCBvbiBhXG4gICAqIHNwZWNpZmljIFMzIGJ1Y2tldC4gQ0RLIGNoaWxkIHRhZ3Mgb3ZlcnJpZGUgcGFyZW50IHRhZ3MsIHNvIHRoaXMgdGFrZXNcbiAgICogcHJlY2VkZW5jZSBvdmVyIHRoZSBhcHAtbGV2ZWwgYmFja3VwIHRhZyBzZXQgdmlhIGBBcHAuZ2V0QXBwKHsgYmFja3VwIH0pYC5cbiAgICpcbiAgICogVGFnIGZvcm1hdDogZmphbGw6ZGlzYXN0ZXJSZWNvdmVyeTp0aWVyID0gXCJ7dGllcn1cIlxuICAgKlxuICAgKiBUaWVyIG1hcHBpbmc6XG4gICAqIC0gc3RhbmRhcmQgLT4gXCJkZWZhdWx0XCIgKG1hdGNoZXMgZXhpc3RpbmcgYmFja3VwIHBsYW5zKVxuICAgKiAtIHJlc2lsaWVudCAtPiBcInJlc2lsaWVudFwiXG4gICAqIC0gZW50ZXJwcmlzZSAtPiBcImVudGVycHJpc2VcIlxuICAgKi9cbiAgcHJpdmF0ZSBhZGRCYWNrdXBUaWVyVGFnKHJlc291cmNlOiBDZm5SZXNvdXJjZSk6IHZvaWQge1xuICAgIGxldCBjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QgfCB1bmRlZmluZWQgPSByZXNvdXJjZTtcbiAgICB3aGlsZSAoY29uc3RydWN0KSB7XG4gICAgICBjb25zdCBiYWNrdXBDb25zdHJ1Y3QgPSBjb25zdHJ1Y3QgYXMgSUJhY2t1cFRpZXJDb25zdHJ1Y3Q7XG4gICAgICBpZiAoYmFja3VwQ29uc3RydWN0LmJhY2t1cFZhdWx0VGllcikge1xuICAgICAgICBjb25zdCB0aWVyID0gYmFja3VwQ29uc3RydWN0LmJhY2t1cFZhdWx0VGllcjtcblxuICAgICAgICBjb25zdCB0YWdWYWx1ZSA9IEJBQ0tVUF9USUVSX1RBR19NQVBbdGllcl07XG4gICAgICAgIFRhZ3Mub2YocmVzb3VyY2UpLmFkZChCQUNLVVBfVElFUl9UQUdfS0VZLCB0YWdWYWx1ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY29uc3RydWN0ID0gY29uc3RydWN0Lm5vZGUuc2NvcGU7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { type IVpc, SubnetType } from "aws-cdk-lib/aws-ec2";
2
+ /**
3
+ * Check if a VPC has NAT gateways.
4
+ * - For Fjall Vpc: uses the hasNatGateways property directly
5
+ * - For other VPCs: checks if private subnets exist (assumes NAT if present)
6
+ * - Safe default: false (avoids placing resources in PRIVATE_WITH_EGRESS without connectivity)
7
+ */
8
+ export declare function vpcHasNatGateways(vpc: IVpc): boolean;
9
+ /**
10
+ * Resolve the appropriate private subnet type based on NAT gateway availability.
11
+ * - With NAT: PRIVATE_WITH_EGRESS (internet access via NAT)
12
+ * - Without NAT: PRIVATE_ISOLATED (VPC endpoints only, no internet)
13
+ */
14
+ export declare function resolvePrivateSubnetType(vpc: IVpc): SubnetType;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.vpcHasNatGateways = vpcHasNatGateways;
4
+ exports.resolvePrivateSubnetType = resolvePrivateSubnetType;
5
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
6
+ /**
7
+ * Check if a VPC has NAT gateways.
8
+ * - For Fjall Vpc: uses the hasNatGateways property directly
9
+ * - For other VPCs: checks if private subnets exist (assumes NAT if present)
10
+ * - Safe default: false (avoids placing resources in PRIVATE_WITH_EGRESS without connectivity)
11
+ */
12
+ function vpcHasNatGateways(vpc) {
13
+ if ("hasNatGateways" in vpc && typeof vpc.hasNatGateways === "boolean") {
14
+ return vpc.hasNatGateways;
15
+ }
16
+ return vpc.privateSubnets.length > 0;
17
+ }
18
+ /**
19
+ * Resolve the appropriate private subnet type based on NAT gateway availability.
20
+ * - With NAT: PRIVATE_WITH_EGRESS (internet access via NAT)
21
+ * - Without NAT: PRIVATE_ISOLATED (VPC endpoints only, no internet)
22
+ */
23
+ function resolvePrivateSubnetType(vpc) {
24
+ return vpcHasNatGateways(vpc)
25
+ ? aws_ec2_1.SubnetType.PRIVATE_WITH_EGRESS
26
+ : aws_ec2_1.SubnetType.PRIVATE_ISOLATED;
27
+ }
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvdnBjVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSw4Q0FLQztBQU9ELDREQUlDO0FBeEJELGlEQUE0RDtBQUU1RDs7Ozs7R0FLRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLEdBQVM7SUFDekMsSUFBSSxnQkFBZ0IsSUFBSSxHQUFHLElBQUksT0FBTyxHQUFHLENBQUMsY0FBYyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3ZFLE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxHQUFTO0lBQ2hELE9BQU8saUJBQWlCLENBQUMsR0FBRyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxvQkFBVSxDQUFDLG1CQUFtQjtRQUNoQyxDQUFDLENBQUMsb0JBQVUsQ0FBQyxnQkFBZ0IsQ0FBQztBQUNsQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBJVnBjLCBTdWJuZXRUeXBlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcblxuLyoqXG4gKiBDaGVjayBpZiBhIFZQQyBoYXMgTkFUIGdhdGV3YXlzLlxuICogLSBGb3IgRmphbGwgVnBjOiB1c2VzIHRoZSBoYXNOYXRHYXRld2F5cyBwcm9wZXJ0eSBkaXJlY3RseVxuICogLSBGb3Igb3RoZXIgVlBDczogY2hlY2tzIGlmIHByaXZhdGUgc3VibmV0cyBleGlzdCAoYXNzdW1lcyBOQVQgaWYgcHJlc2VudClcbiAqIC0gU2FmZSBkZWZhdWx0OiBmYWxzZSAoYXZvaWRzIHBsYWNpbmcgcmVzb3VyY2VzIGluIFBSSVZBVEVfV0lUSF9FR1JFU1Mgd2l0aG91dCBjb25uZWN0aXZpdHkpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2cGNIYXNOYXRHYXRld2F5cyh2cGM6IElWcGMpOiBib29sZWFuIHtcbiAgaWYgKFwiaGFzTmF0R2F0ZXdheXNcIiBpbiB2cGMgJiYgdHlwZW9mIHZwYy5oYXNOYXRHYXRld2F5cyA9PT0gXCJib29sZWFuXCIpIHtcbiAgICByZXR1cm4gdnBjLmhhc05hdEdhdGV3YXlzO1xuICB9XG4gIHJldHVybiB2cGMucHJpdmF0ZVN1Ym5ldHMubGVuZ3RoID4gMDtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHRoZSBhcHByb3ByaWF0ZSBwcml2YXRlIHN1Ym5ldCB0eXBlIGJhc2VkIG9uIE5BVCBnYXRld2F5IGF2YWlsYWJpbGl0eS5cbiAqIC0gV2l0aCBOQVQ6IFBSSVZBVEVfV0lUSF9FR1JFU1MgKGludGVybmV0IGFjY2VzcyB2aWEgTkFUKVxuICogLSBXaXRob3V0IE5BVDogUFJJVkFURV9JU09MQVRFRCAoVlBDIGVuZHBvaW50cyBvbmx5LCBubyBpbnRlcm5ldClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQcml2YXRlU3VibmV0VHlwZSh2cGM6IElWcGMpOiBTdWJuZXRUeXBlIHtcbiAgcmV0dXJuIHZwY0hhc05hdEdhdGV3YXlzKHZwYylcbiAgICA/IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgIDogU3VibmV0VHlwZS5QUklWQVRFX0lTT0xBVEVEO1xufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fjall/components-infrastructure",
3
- "version": "0.88.1",
3
+ "version": "0.88.4",
4
4
  "bin": {
5
5
  "infrastructure": "bin/infrastructure.js"
6
6
  },
@@ -14,7 +14,7 @@
14
14
  "scripts": {
15
15
  "clean": "rm -rf ./dist",
16
16
  "clean:node": "rm -rf ./node_modules",
17
- "build": "tsc",
17
+ "build": "tsc && cp -r lib/layers dist/lib/layers",
18
18
  "watch": "tsc -w",
19
19
  "test": "jest",
20
20
  "cdk": "cdk",
@@ -29,14 +29,14 @@
29
29
  "@types/uuid": "^10.0.0",
30
30
  "@typescript-eslint/eslint-plugin": "^8.26.1",
31
31
  "@typescript-eslint/parser": "^8.26.1",
32
- "eslint": "^9.22.0",
32
+ "eslint": "^9.39.1",
33
33
  "jest": "^29.3.1",
34
34
  "prettier": "^3.2.5",
35
35
  "typescript": "^5.8.2"
36
36
  },
37
37
  "dependencies": {
38
- "@aws-sdk/client-organizations": "^3.716.0",
39
- "@fjall/util": "^0.88.1",
38
+ "@aws-sdk/client-organizations": "^3.997.0",
39
+ "@fjall/util": "^0.88.4",
40
40
  "cdk-time-sleep": "^1.0.0",
41
41
  "constructs": "^10.0.0",
42
42
  "uuid": "^10.0.0"
@@ -44,10 +44,10 @@
44
44
  "overrides": {
45
45
  "@smithy/core": "2.5.5"
46
46
  },
47
- "gitHead": "0c0785e2908bff823b0630a4fa896748384c265f",
47
+ "gitHead": "bae02efe8e447ef008c7bc3eef3398ded4872f42",
48
48
  "peerDependencies": {
49
- "aws-cdk": "^2.206.0",
50
- "aws-cdk-lib": "^2.206.0",
49
+ "aws-cdk": "^2.239.0",
50
+ "aws-cdk-lib": "^2.239.0",
51
51
  "constructs": "^10.0.0"
52
52
  },
53
53
  "engines": {