@fjall/components-infrastructure 0.75.3 → 0.77.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/app.d.ts +125 -20
- package/dist/lib/app.js +171 -56
- 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/backupGlobalSettings.d.ts +1 -1
- package/dist/lib/config/aws/backupGlobalSettings.js +1 -1
- package/dist/lib/config/aws/cloudTrail.d.ts +1 -1
- package/dist/lib/config/aws/cloudTrail.js +2 -2
- package/dist/lib/config/aws/disasterRecovery.js +1 -1
- package/dist/lib/config/aws/ecrDefaultImage.d.ts +1 -1
- package/dist/lib/config/aws/ecrDefaultImage.js +4 -4
- package/dist/lib/config/aws/identityCenter.d.ts +3 -3
- package/dist/lib/config/aws/identityCenter.js +1 -1
- package/dist/lib/config/aws/identityCenterGroupMembership.d.ts +2 -2
- package/dist/lib/config/aws/identityCenterGroupMembership.js +1 -1
- package/dist/lib/config/aws/ipam.js +2 -4
- package/dist/lib/config/aws/organisation.d.ts +3 -3
- package/dist/lib/config/aws/organisation.js +1 -1
- package/dist/lib/config/aws/organisationsAccess.d.ts +1 -1
- package/dist/lib/config/aws/organisationsAccess.js +1 -1
- package/dist/lib/config/monitoring.d.ts +18 -0
- package/dist/lib/config/monitoring.js +22 -0
- 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.d.ts +3 -3
- package/dist/lib/patterns/aws/buildkite.js +1 -1
- package/dist/lib/patterns/aws/compute.d.ts +17 -11
- package/dist/lib/patterns/aws/compute.js +7 -7
- package/dist/lib/patterns/aws/database.d.ts +185 -24
- package/dist/lib/patterns/aws/database.js +280 -42
- package/dist/lib/patterns/aws/ec2.d.ts +43 -0
- package/dist/lib/patterns/aws/ec2.js +123 -0
- package/dist/lib/patterns/aws/fivetranProxy.d.ts +5 -5
- package/dist/lib/patterns/aws/fivetranProxy.js +1 -1
- package/dist/lib/patterns/aws/hostedZone.d.ts +2 -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.d.ts +2 -2
- package/dist/lib/patterns/aws/managedAccount.js +1 -1
- package/dist/lib/patterns/aws/managedIdentityCenter.js +1 -1
- package/dist/lib/patterns/aws/managedOrganisation.d.ts +3 -3
- package/dist/lib/patterns/aws/managedOrganisation.js +1 -1
- package/dist/lib/patterns/aws/managedPlatform.d.ts +2 -2
- package/dist/lib/patterns/aws/managedPlatform.js +2 -4
- package/dist/lib/patterns/aws/network.d.ts +75 -0
- package/dist/lib/patterns/aws/network.js +99 -0
- package/dist/lib/patterns/aws/storage.d.ts +4 -55
- package/dist/lib/patterns/aws/storage.js +3 -103
- package/dist/lib/resources/aws/audit/auditRole.d.ts +32 -0
- package/dist/lib/resources/aws/audit/auditRole.js +46 -0
- package/dist/lib/resources/aws/backup/backupPlan.d.ts +2 -2
- package/dist/lib/resources/aws/backup/backupPlan.js +1 -1
- package/dist/lib/resources/aws/backup/backupVault.d.ts +2 -2
- package/dist/lib/resources/aws/backup/backupVault.js +1 -1
- package/dist/lib/resources/aws/base/awsStack.js +1 -4
- package/dist/lib/resources/aws/compute/ec2.d.ts +4 -3
- package/dist/lib/resources/aws/compute/ec2.js +5 -3
- package/dist/lib/resources/aws/compute/ecs.d.ts +9 -9
- package/dist/lib/resources/aws/compute/ecs.js +68 -20
- package/dist/lib/resources/aws/compute/ecsFreeTier.d.ts +6 -7
- package/dist/lib/resources/aws/compute/ecsFreeTier.js +17 -10
- package/dist/lib/resources/aws/compute/ecsSpot.d.ts +6 -7
- package/dist/lib/resources/aws/compute/ecsSpot.js +19 -14
- package/dist/lib/resources/aws/compute/lambda.d.ts +15 -10
- package/dist/lib/resources/aws/compute/lambda.js +27 -19
- package/dist/lib/resources/aws/database/database.d.ts +2 -2
- package/dist/lib/resources/aws/database/database.js +1 -1
- package/dist/lib/resources/aws/database/databaseInstance.d.ts +2 -2
- package/dist/lib/resources/aws/database/databaseInstance.js +2 -2
- package/dist/lib/resources/aws/database/index.d.ts +0 -1
- package/dist/lib/resources/aws/database/index.js +1 -2
- package/dist/lib/resources/aws/database/rdsAurora.d.ts +24 -6
- package/dist/lib/resources/aws/database/rdsAurora.js +212 -85
- package/dist/lib/resources/aws/database/rdsAuroraGlobal.d.ts +41 -6
- package/dist/lib/resources/aws/database/rdsAuroraGlobal.js +38 -8
- package/dist/lib/resources/aws/database/rdsInstance.d.ts +19 -10
- package/dist/lib/resources/aws/database/rdsInstance.js +220 -73
- package/dist/lib/resources/aws/iam/identityCenter/assignment.d.ts +1 -1
- package/dist/lib/resources/aws/iam/identityCenter/assignment.js +1 -1
- package/dist/lib/resources/aws/iam/identityCenter/attachManagedPolicy.d.ts +1 -1
- package/dist/lib/resources/aws/iam/identityCenter/attachManagedPolicy.js +1 -1
- package/dist/lib/resources/aws/iam/identityCenter/group.d.ts +1 -1
- package/dist/lib/resources/aws/iam/identityCenter/group.js +1 -1
- package/dist/lib/resources/aws/iam/identityCenter/permissionSet.d.ts +2 -2
- package/dist/lib/resources/aws/iam/identityCenter/permissionSet.js +1 -1
- package/dist/lib/resources/aws/iam/instanceProfile.d.ts +1 -1
- package/dist/lib/resources/aws/iam/instanceProfile.js +1 -1
- package/dist/lib/resources/aws/iam/managedPolicy.d.ts +1 -1
- package/dist/lib/resources/aws/iam/managedPolicy.js +1 -1
- package/dist/lib/resources/aws/iam/policy.d.ts +1 -1
- package/dist/lib/resources/aws/iam/policy.js +1 -1
- package/dist/lib/resources/aws/iam/role.d.ts +1 -1
- package/dist/lib/resources/aws/iam/role.js +1 -1
- package/dist/lib/resources/aws/iam/securityGroup.d.ts +1 -1
- package/dist/lib/resources/aws/iam/securityGroup.js +1 -1
- package/dist/lib/resources/aws/index.d.ts +1 -0
- package/dist/lib/resources/aws/index.js +2 -1
- package/dist/lib/resources/aws/logging/logGroup.d.ts +2 -2
- package/dist/lib/resources/aws/logging/logGroup.js +1 -1
- package/dist/lib/resources/aws/monitoring/index.d.ts +1 -0
- package/dist/lib/resources/aws/monitoring/index.js +18 -0
- package/dist/lib/resources/aws/monitoring/monitoringRole.d.ts +28 -0
- package/dist/lib/resources/aws/monitoring/monitoringRole.js +69 -0
- package/dist/lib/resources/aws/networking/index.d.ts +0 -1
- package/dist/lib/resources/aws/networking/index.js +1 -2
- package/dist/lib/resources/aws/networking/ipam.d.ts +1 -1
- package/dist/lib/resources/aws/networking/ipam.js +1 -1
- package/dist/lib/resources/aws/networking/ipamPool.d.ts +1 -1
- package/dist/lib/resources/aws/networking/ipamPool.js +1 -2
- package/dist/lib/resources/aws/networking/vpc.d.ts +42 -23
- package/dist/lib/resources/aws/networking/vpc.js +185 -36
- package/dist/lib/resources/aws/secrets/alias.d.ts +1 -1
- package/dist/lib/resources/aws/secrets/alias.js +1 -1
- package/dist/lib/resources/aws/secrets/parameter.d.ts +1 -1
- package/dist/lib/resources/aws/secrets/parameter.js +1 -1
- package/dist/lib/resources/aws/secrets/secret.d.ts +8 -4
- package/dist/lib/resources/aws/secrets/secret.js +19 -2
- package/dist/lib/resources/aws/storage/ecr.d.ts +4 -4
- package/dist/lib/resources/aws/storage/ecr.js +1 -1
- package/dist/lib/resources/aws/storage/s3.d.ts +2 -2
- package/dist/lib/resources/aws/storage/s3.js +1 -1
- package/dist/lib/resources/aws/utilities/awsCustomResource.d.ts +1 -1
- package/dist/lib/resources/aws/utilities/awsCustomResource.js +1 -1
- package/dist/lib/resources/aws/utilities/cfnOutput.d.ts +1 -1
- package/dist/lib/resources/aws/utilities/cfnOutput.js +1 -1
- package/dist/lib/resources/aws/utilities/codeBuild.d.ts +1 -1
- package/dist/lib/resources/aws/utilities/codeBuild.js +1 -1
- package/dist/lib/resources/aws/utilities/customResource.d.ts +9 -7
- package/dist/lib/resources/aws/utilities/customResource.js +35 -11
- package/dist/lib/resources/aws/utilities/customResourceProvider.d.ts +2 -2
- package/dist/lib/resources/aws/utilities/customResourceProvider.js +1 -1
- package/dist/lib/resources/aws/utilities/resourceShare.d.ts +2 -2
- package/dist/lib/resources/aws/utilities/resourceShare.js +1 -1
- package/dist/lib/utils/getAsync.d.ts +1 -1
- package/dist/lib/utils/getAsync.js +1 -1
- package/dist/lib/utils/getCidr.d.ts +8 -0
- package/dist/lib/utils/getCidr.js +40 -0
- package/dist/lib/utils/getConfig.d.ts +2 -2
- package/dist/lib/utils/getConfig.js +3 -3
- package/dist/lib/utils/index.d.ts +1 -0
- package/dist/lib/utils/index.js +2 -1
- package/dist/lib/utils/resourceNaming.d.ts +41 -0
- package/dist/lib/utils/resourceNaming.js +77 -0
- package/dist/lib/utils/standardTagsAspect.d.ts +2 -2
- package/dist/lib/utils/standardTagsAspect.js +6 -5
- package/dist/lib/utils/tagResource.d.ts +1 -1
- package/dist/lib/utils/tagResource.js +1 -1
- package/package.json +3 -3
- package/dist/lib/__tests__/patterns/__snapshots__/compute.test.js.snap +0 -433
- package/dist/lib/__tests__/patterns/compute.test.d.ts +0 -1
- package/dist/lib/__tests__/patterns/compute.test.js +0 -137
- package/dist/lib/__tests__/simple.test.d.ts +0 -0
- package/dist/lib/__tests__/simple.test.js +0 -12
- package/dist/lib/resources/aws/organisations/account.d.ts +0 -37
- package/dist/lib/resources/aws/organisations/account.js +0 -220
- package/dist/lib/resources/aws/organisations/delegatedAdministrator.d.ts +0 -14
- package/dist/lib/resources/aws/organisations/delegatedAdministrator.js +0 -61
- package/dist/lib/resources/aws/organisations/index.d.ts +0 -8
- package/dist/lib/resources/aws/organisations/index.js +0 -22
- package/dist/lib/resources/aws/organisations/interfaces.d.ts +0 -105
- package/dist/lib/resources/aws/organisations/interfaces.js +0 -3
- package/dist/lib/resources/aws/organisations/organisation.d.ts +0 -47
- package/dist/lib/resources/aws/organisations/organisation.js +0 -263
- package/dist/lib/resources/aws/organisations/organisationalUnit.d.ts +0 -28
- package/dist/lib/resources/aws/organisations/organisationalUnit.js +0 -170
- package/dist/lib/resources/aws/organisations/policy.d.ts +0 -17
- package/dist/lib/resources/aws/organisations/policy.js +0 -93
- package/dist/lib/resources/aws/organisations/trustedServiceAccess.d.ts +0 -13
- package/dist/lib/resources/aws/organisations/trustedServiceAccess.js +0 -58
- package/dist/lib/resources/aws/organisations/types.d.ts +0 -165
- package/dist/lib/resources/aws/organisations/types.js +0 -36
- package/dist/lib/utils/directTagging.d.ts +0 -31
- package/dist/lib/utils/directTagging.js +0 -86
- package/dist/lib/utils/fjallConstruct.d.ts +0 -8
- package/dist/lib/utils/fjallConstruct.js +0 -18
- package/dist/lib/utils/fjallStackSynthesizer.d.ts +0 -9
- package/dist/lib/utils/fjallStackSynthesizer.js +0 -22
- package/dist/lib/utils/tagContext.d.ts +0 -28
- package/dist/lib/utils/tagContext.js +0 -53
- package/dist/lib/utils/tagSynthesizer.d.ts +0 -13
- package/dist/lib/utils/tagSynthesizer.js +0 -55
|
@@ -23,4 +23,4 @@ class CodeBuildProjectStack extends aws_cdk_lib_1.Stack {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
exports.CodeBuildProjectStack = CodeBuildProjectStack;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZUJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvdXRpbGl0aWVzL2NvZGVCdWlsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBb0M7QUFDcEMsNkRBQXVFO0FBQ3ZFLDJDQUF1QztBQUt2QyxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBRzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUI7UUFDN0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksdUJBQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ25DLEdBQUcsS0FBSztZQUNSLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxJQUFJLDBCQUEwQixFQUFFLEVBQUU7U0FDakUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBWEQsNENBV0M7QUFFRCxNQUFhLHFCQUFzQixTQUFRLG1CQUFLO0lBQzlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUI7UUFDN0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLGdCQUFnQixDQUFDLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDN0IsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBUkQsc0RBUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUHJvamVjdCwgdHlwZSBQcm9qZWN0UHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZFwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSBcIi4uLy4uLy4uL3R5cGVzXCI7XG5cbmludGVyZmFjZSBDb2RlQnVpbGRQcm9wcyBleHRlbmRzIFByb2plY3RQcm9wcyB7fVxuXG5leHBvcnQgY2xhc3MgQ29kZUJ1aWxkUHJvamVjdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBwcm9qZWN0OiBQcm9qZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDb2RlQnVpbGRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnByb2plY3QgPSBuZXcgUHJvamVjdCh0aGlzLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24gfHwgYENvZGUgYnVpbGQgcHJvamVjdCBmb3IgJHtpZH1gXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvZGVCdWlsZFByb2plY3RTdGFjayBleHRlbmRzIFN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENvZGVCdWlsZFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIG5ldyBDb2RlQnVpbGRQcm9qZWN0KHRoaXMsIGlkLCB7XG4gICAgICAuLi5wcm9wc1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import { AssetOptions } from "aws-cdk-lib";
|
|
2
|
-
import {
|
|
3
|
-
import { Runtime } from "aws-cdk-lib/aws-lambda";
|
|
1
|
+
import { CustomResource as customResource, Duration, type AssetOptions } from "aws-cdk-lib";
|
|
2
|
+
import { type PolicyStatement } from "aws-cdk-lib/aws-iam";
|
|
3
|
+
import { type Runtime } from "aws-cdk-lib/aws-lambda";
|
|
4
4
|
import { Construct } from "constructs";
|
|
5
5
|
interface CustomResourceProps {
|
|
6
6
|
runtime: Runtime;
|
|
7
7
|
roleDescription?: string;
|
|
8
8
|
lambdaDescription?: string;
|
|
9
|
-
inlinePolicy:
|
|
10
|
-
[name: string]: PolicyDocument;
|
|
11
|
-
};
|
|
9
|
+
inlinePolicy: PolicyStatement[];
|
|
12
10
|
properties?: {
|
|
13
11
|
[key: string]: string;
|
|
14
12
|
};
|
|
15
|
-
codePath
|
|
13
|
+
codePath?: string;
|
|
14
|
+
inlineCode?: string;
|
|
16
15
|
assetOptions?: AssetOptions;
|
|
16
|
+
handler?: string;
|
|
17
|
+
timeout?: Duration;
|
|
17
18
|
}
|
|
18
19
|
export declare class CustomResource extends Construct {
|
|
19
20
|
readonly response: string;
|
|
21
|
+
readonly resource: customResource;
|
|
20
22
|
constructor(scope: Construct, id: string, props: CustomResourceProps);
|
|
21
23
|
}
|
|
22
24
|
export {};
|
|
@@ -9,23 +9,47 @@ const lambda_1 = require("../compute/lambda");
|
|
|
9
9
|
class CustomResource extends constructs_1.Construct {
|
|
10
10
|
constructor(scope, id, props) {
|
|
11
11
|
super(scope, id);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
// Validate exactly one code source
|
|
13
|
+
if (!props.codePath && !props.inlineCode) {
|
|
14
|
+
throw new Error("CustomResource requires either codePath or inlineCode to be specified");
|
|
15
|
+
}
|
|
16
|
+
if (props.codePath && props.inlineCode) {
|
|
17
|
+
throw new Error("CustomResource requires exactly one of codePath or inlineCode, not both");
|
|
18
|
+
}
|
|
19
|
+
const isInlineCode = !!props.inlineCode;
|
|
20
|
+
const code = isInlineCode
|
|
21
|
+
? aws_lambda_1.Code.fromInline(props.inlineCode)
|
|
22
|
+
: aws_lambda_1.Code.fromAsset(props.codePath, props.assetOptions);
|
|
23
|
+
const handler = props.handler ?? (isInlineCode ? "index.handler" : `${id}.handler`);
|
|
24
|
+
const timeout = props.timeout?.toSeconds() ?? 300;
|
|
25
|
+
// Use LambdaFunction for inline code (unique per use), SingletonFunction for assets (shared)
|
|
26
|
+
const lambdaFunction = isInlineCode
|
|
27
|
+
? new lambda_1.LambdaFunction(this, `${id}Lambda`, {
|
|
28
|
+
code,
|
|
29
|
+
handler,
|
|
30
|
+
runtime: props.runtime,
|
|
31
|
+
timeout,
|
|
32
|
+
lambdaDescription: props.lambdaDescription || `${id} lambda`,
|
|
33
|
+
roleDescription: props.roleDescription || `${id} custom resource lambda`,
|
|
34
|
+
inlinePolicy: props.inlinePolicy
|
|
35
|
+
})
|
|
36
|
+
: new lambda_1.SingletonFunction(this, `${id}Lambda`, {
|
|
37
|
+
code,
|
|
38
|
+
handler,
|
|
39
|
+
runtime: props.runtime,
|
|
40
|
+
lambdaDescription: props.lambdaDescription || `${id} lambda`,
|
|
41
|
+
roleDescription: props.roleDescription || `${id} custom resource lambda`,
|
|
42
|
+
inlinePolicy: props.inlinePolicy
|
|
43
|
+
});
|
|
20
44
|
const provider = new custom_resources_1.Provider(this, `${id}Provider`, {
|
|
21
45
|
onEventHandler: lambdaFunction
|
|
22
46
|
});
|
|
23
|
-
|
|
47
|
+
this.resource = new aws_cdk_lib_1.CustomResource(this, `${id}Resource`, {
|
|
24
48
|
serviceToken: provider.serviceToken,
|
|
25
49
|
properties: props.properties
|
|
26
50
|
});
|
|
27
|
-
this.response = resource.getAtt("Response").toString();
|
|
51
|
+
this.response = this.resource.getAtt("Response").toString();
|
|
28
52
|
}
|
|
29
53
|
}
|
|
30
54
|
exports.CustomResource = CustomResource;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tUmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy91dGlsaXRpZXMvY3VzdG9tUmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBSXFCO0FBQ3JCLG1FQUF3RDtBQUV4RCx1REFBNEQ7QUFDNUQsMkNBQXVDO0FBRXZDLDhDQUFzRTtBQXVCdEUsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFJM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUNiLHVFQUF1RSxDQUN4RSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FDYix5RUFBeUUsQ0FDMUUsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztRQUN4QyxNQUFNLElBQUksR0FBRyxZQUFZO1lBQ3ZCLENBQUMsQ0FBQyxpQkFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsVUFBVyxDQUFDO1lBQ3BDLENBQUMsQ0FBQyxpQkFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsUUFBUyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FDWCxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0RSxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQztRQUVsRCw2RkFBNkY7UUFDN0YsTUFBTSxjQUFjLEdBQUcsWUFBWTtZQUNqQyxDQUFDLENBQUMsSUFBSSx1QkFBYyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFO2dCQUN0QyxJQUFJO2dCQUNKLE9BQU87Z0JBQ1AsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2dCQUN0QixPQUFPO2dCQUNQLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxHQUFHLEVBQUUsU0FBUztnQkFDNUQsZUFBZSxFQUNiLEtBQUssQ0FBQyxlQUFlLElBQUksR0FBRyxFQUFFLHlCQUF5QjtnQkFDekQsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO2FBQ2pDLENBQUM7WUFDSixDQUFDLENBQUMsSUFBSSwwQkFBaUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRTtnQkFDekMsSUFBSTtnQkFDSixPQUFPO2dCQUNQLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDdEIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixJQUFJLEdBQUcsRUFBRSxTQUFTO2dCQUM1RCxlQUFlLEVBQ2IsS0FBSyxDQUFDLGVBQWUsSUFBSSxHQUFHLEVBQUUseUJBQXlCO2dCQUN6RCxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7YUFDakMsQ0FBQyxDQUFDO1FBRVAsTUFBTSxRQUFRLEdBQUcsSUFBSSwyQkFBUSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1lBQ25ELGNBQWMsRUFBRSxjQUFjO1NBQy9CLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFO1lBQ3hELFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtZQUNuQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUE1REQsd0NBNERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ3VzdG9tUmVzb3VyY2UgYXMgY3VzdG9tUmVzb3VyY2UsXG4gIER1cmF0aW9uLFxuICB0eXBlIEFzc2V0T3B0aW9uc1xufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcImF3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IHR5cGUgUG9saWN5U3RhdGVtZW50IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IENvZGUsIHR5cGUgUnVudGltZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5pbXBvcnQgeyBTaW5nbGV0b25GdW5jdGlvbiwgTGFtYmRhRnVuY3Rpb24gfSBmcm9tIFwiLi4vY29tcHV0ZS9sYW1iZGFcIjtcblxuaW50ZXJmYWNlIEN1c3RvbVJlc291cmNlUHJvcHMge1xuICBydW50aW1lOiBSdW50aW1lO1xuICByb2xlRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGxhbWJkYURlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpbmxpbmVQb2xpY3k6IFBvbGljeVN0YXRlbWVudFtdO1xuICBwcm9wZXJ0aWVzPzoge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZzsgLy8gVXNlZCB0byBiZSBgW2tleTogc3RyaW5nXTogYW55YCwgdGhpcyBjb3VsZCBicmVha1xuICB9O1xuXG4gIC8vIENvZGUgc291cmNlXG4gIGNvZGVQYXRoPzogc3RyaW5nO1xuICBpbmxpbmVDb2RlPzogc3RyaW5nO1xuXG4gIC8vIEFzc2V0IG9wdGlvbnMgKG9ubHkgdXNlZCB3aXRoIGNvZGVQYXRoKVxuICBhc3NldE9wdGlvbnM/OiBBc3NldE9wdGlvbnM7XG5cbiAgLy8gT3B0aW9uYWwgb3ZlcnJpZGVzXG4gIGhhbmRsZXI/OiBzdHJpbmc7IC8vIERlZmF1bHQ6IGAke2lkfS5oYW5kbGVyYCBmb3IgY29kZVBhdGgsIGBpbmRleC5oYW5kbGVyYCBmb3IgaW5saW5lQ29kZVxuICB0aW1lb3V0PzogRHVyYXRpb247IC8vIERlZmF1bHQ6IDMwMHMgKDUgbWludXRlcylcbn1cblxuZXhwb3J0IGNsYXNzIEN1c3RvbVJlc291cmNlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHJlc3BvbnNlOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogY3VzdG9tUmVzb3VyY2U7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEN1c3RvbVJlc291cmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gVmFsaWRhdGUgZXhhY3RseSBvbmUgY29kZSBzb3VyY2VcbiAgICBpZiAoIXByb3BzLmNvZGVQYXRoICYmICFwcm9wcy5pbmxpbmVDb2RlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ3VzdG9tUmVzb3VyY2UgcmVxdWlyZXMgZWl0aGVyIGNvZGVQYXRoIG9yIGlubGluZUNvZGUgdG8gYmUgc3BlY2lmaWVkXCJcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChwcm9wcy5jb2RlUGF0aCAmJiBwcm9wcy5pbmxpbmVDb2RlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ3VzdG9tUmVzb3VyY2UgcmVxdWlyZXMgZXhhY3RseSBvbmUgb2YgY29kZVBhdGggb3IgaW5saW5lQ29kZSwgbm90IGJvdGhcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0lubGluZUNvZGUgPSAhIXByb3BzLmlubGluZUNvZGU7XG4gICAgY29uc3QgY29kZSA9IGlzSW5saW5lQ29kZVxuICAgICAgPyBDb2RlLmZyb21JbmxpbmUocHJvcHMuaW5saW5lQ29kZSEpXG4gICAgICA6IENvZGUuZnJvbUFzc2V0KHByb3BzLmNvZGVQYXRoISwgcHJvcHMuYXNzZXRPcHRpb25zKTtcbiAgICBjb25zdCBoYW5kbGVyID1cbiAgICAgIHByb3BzLmhhbmRsZXIgPz8gKGlzSW5saW5lQ29kZSA/IFwiaW5kZXguaGFuZGxlclwiIDogYCR7aWR9LmhhbmRsZXJgKTtcbiAgICBjb25zdCB0aW1lb3V0ID0gcHJvcHMudGltZW91dD8udG9TZWNvbmRzKCkgPz8gMzAwO1xuXG4gICAgLy8gVXNlIExhbWJkYUZ1bmN0aW9uIGZvciBpbmxpbmUgY29kZSAodW5pcXVlIHBlciB1c2UpLCBTaW5nbGV0b25GdW5jdGlvbiBmb3IgYXNzZXRzIChzaGFyZWQpXG4gICAgY29uc3QgbGFtYmRhRnVuY3Rpb24gPSBpc0lubGluZUNvZGVcbiAgICAgID8gbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMsIGAke2lkfUxhbWJkYWAsIHtcbiAgICAgICAgICBjb2RlLFxuICAgICAgICAgIGhhbmRsZXIsXG4gICAgICAgICAgcnVudGltZTogcHJvcHMucnVudGltZSxcbiAgICAgICAgICB0aW1lb3V0LFxuICAgICAgICAgIGxhbWJkYURlc2NyaXB0aW9uOiBwcm9wcy5sYW1iZGFEZXNjcmlwdGlvbiB8fCBgJHtpZH0gbGFtYmRhYCxcbiAgICAgICAgICByb2xlRGVzY3JpcHRpb246XG4gICAgICAgICAgICBwcm9wcy5yb2xlRGVzY3JpcHRpb24gfHwgYCR7aWR9IGN1c3RvbSByZXNvdXJjZSBsYW1iZGFgLFxuICAgICAgICAgIGlubGluZVBvbGljeTogcHJvcHMuaW5saW5lUG9saWN5XG4gICAgICAgIH0pXG4gICAgICA6IG5ldyBTaW5nbGV0b25GdW5jdGlvbih0aGlzLCBgJHtpZH1MYW1iZGFgLCB7XG4gICAgICAgICAgY29kZSxcbiAgICAgICAgICBoYW5kbGVyLFxuICAgICAgICAgIHJ1bnRpbWU6IHByb3BzLnJ1bnRpbWUsXG4gICAgICAgICAgbGFtYmRhRGVzY3JpcHRpb246IHByb3BzLmxhbWJkYURlc2NyaXB0aW9uIHx8IGAke2lkfSBsYW1iZGFgLFxuICAgICAgICAgIHJvbGVEZXNjcmlwdGlvbjpcbiAgICAgICAgICAgIHByb3BzLnJvbGVEZXNjcmlwdGlvbiB8fCBgJHtpZH0gY3VzdG9tIHJlc291cmNlIGxhbWJkYWAsXG4gICAgICAgICAgaW5saW5lUG9saWN5OiBwcm9wcy5pbmxpbmVQb2xpY3lcbiAgICAgICAgfSk7XG5cbiAgICBjb25zdCBwcm92aWRlciA9IG5ldyBQcm92aWRlcih0aGlzLCBgJHtpZH1Qcm92aWRlcmAsIHtcbiAgICAgIG9uRXZlbnRIYW5kbGVyOiBsYW1iZGFGdW5jdGlvblxuICAgIH0pO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBjdXN0b21SZXNvdXJjZSh0aGlzLCBgJHtpZH1SZXNvdXJjZWAsIHtcbiAgICAgIHNlcnZpY2VUb2tlbjogcHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcHJvcGVydGllczogcHJvcHMucHJvcGVydGllc1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZXNwb25zZSA9IHRoaXMucmVzb3VyY2UuZ2V0QXR0KFwiUmVzcG9uc2VcIikudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Provider, ProviderProps } from "aws-cdk-lib/custom-resources";
|
|
2
|
-
import { Construct } from "constructs";
|
|
1
|
+
import { Provider, type ProviderProps } from "aws-cdk-lib/custom-resources";
|
|
2
|
+
import { type Construct } from "constructs";
|
|
3
3
|
export declare class CustomResourceProvider extends Provider {
|
|
4
4
|
constructor(scope: Construct, id: string, props: ProviderProps);
|
|
5
5
|
}
|
|
@@ -8,4 +8,4 @@ class CustomResourceProvider extends custom_resources_1.Provider {
|
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
exports.CustomResourceProvider = CustomResourceProvider;
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tUmVzb3VyY2VQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL3V0aWxpdGllcy9jdXN0b21SZXNvdXJjZVByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1FQUE0RTtBQUc1RSxNQUFhLHNCQUF1QixTQUFRLDJCQUFRO0lBQ2xELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztDQUNGO0FBSkQsd0RBSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciwgdHlwZSBQcm92aWRlclByb3BzIH0gZnJvbSBcImF3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IHR5cGUgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuZXhwb3J0IGNsYXNzIEN1c3RvbVJlc291cmNlUHJvdmlkZXIgZXh0ZW5kcyBQcm92aWRlciB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm92aWRlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CfnResourceShare, CfnResourceShareProps } from "aws-cdk-lib/aws-ram";
|
|
2
|
-
import { Construct } from "constructs";
|
|
1
|
+
import { CfnResourceShare, type CfnResourceShareProps } from "aws-cdk-lib/aws-ram";
|
|
2
|
+
import { type Construct } from "constructs";
|
|
3
3
|
export declare class ResourceShare extends CfnResourceShare {
|
|
4
4
|
constructor(scope: Construct, id: string, props: CfnResourceShareProps);
|
|
5
5
|
}
|
|
@@ -10,4 +10,4 @@ class ResourceShare extends aws_ram_1.CfnResourceShare {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
exports.ResourceShare = ResourceShare;
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VTaGFyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL3V0aWxpdGllcy9yZXNvdXJjZVNoYXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUc2QjtBQUc3QixNQUFhLGFBQWMsU0FBUSwwQkFBZ0I7SUFDakQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE0QjtRQUNwRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSyxDQUFDLHdGQUF3RjtTQUNsRyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFORCxzQ0FNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENmblJlc291cmNlU2hhcmUsXG4gIHR5cGUgQ2ZuUmVzb3VyY2VTaGFyZVByb3BzXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtcmFtXCI7XG5pbXBvcnQgeyB0eXBlIENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmV4cG9ydCBjbGFzcyBSZXNvdXJjZVNoYXJlIGV4dGVuZHMgQ2ZuUmVzb3VyY2VTaGFyZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDZm5SZXNvdXJjZVNoYXJlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIC4uLnByb3BzIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9jZGsvYXBpL3YyL2RvY3MvYXdzLWNkay1saWIuYXdzX3JhbS5DZm5SZXNvdXJjZVNoYXJlLmh0bWxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -32,4 +32,4 @@ class Accounts {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
exports.default = Accounts;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0QXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvZ2V0QXN5bmMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSx3RUFJdUM7QUFDdkMseUJBQXlCO0FBRXpCOztHQUVHO0FBQ0gsTUFBcUIsUUFBUTtJQUszQixZQUFZLE1BQWM7UUFGbEIsZUFBVSxHQUFHLHlCQUF5QixDQUFDO1FBRzdDLGdCQUFnQjtRQUNoQixNQUFNLE1BQU0sR0FBRyxJQUFJLDBDQUFtQixDQUFDO1lBQ3JDLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSwwQ0FBbUIsQ0FBQztZQUN0QyxVQUFVLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQztTQUN6QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzNDLE1BQU07aUJBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FBQztpQkFDYixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDZixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDckQsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO2dCQUNoRCxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQWMsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUE3QkQsMkJBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgdHlwZSBBY2NvdW50LFxuICBMaXN0QWNjb3VudHNDb21tYW5kLFxuICBPcmdhbml6YXRpb25zQ2xpZW50XG59IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3JnYW5pemF0aW9uc1wiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5cbi8qKlxuICogVGhpcyBpcyBhbiBleGFtcGxlIG9mIGFuIGFzeW5jIGNsYXNzIHRoYXQgd2lsbCByZXNvbHZlIHdoZW4gYSBzeW50aCBpcyBydW5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQWNjb3VudHMge1xuICBwdWJsaWMgcmVhZHk6IFByb21pc2U8dm9pZD47XG5cbiAgcHJpdmF0ZSBjb25maWdGaWxlID0gXCIuLi9hY2NvdW50cy1jb25maWcuanNvblwiO1xuXG4gIGNvbnN0cnVjdG9yKHJlZ2lvbjogc3RyaW5nKSB7XG4gICAgLy8gTWFrZSBBUEkgQ2FsbFxuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBPcmdhbml6YXRpb25zQ2xpZW50KHtcbiAgICAgIHJlZ2lvbjogcmVnaW9uXG4gICAgfSk7XG4gICAgY29uc3QgcmVxdWVzdCA9IG5ldyBMaXN0QWNjb3VudHNDb21tYW5kKHtcbiAgICAgIE1heFJlc3VsdHM6IE51bWJlcihcIjIwXCIpXG4gICAgfSk7XG4gICAgdGhpcy5yZWFkeSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNsaWVudFxuICAgICAgICAuc2VuZChyZXF1ZXN0KVxuICAgICAgICAudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgY29uc3QgY29uZmlnU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkocmVzdWx0LkFjY291bnRzKTtcbiAgICAgICAgICBmcy53cml0ZUZpbGVTeW5jKHRoaXMuY29uZmlnRmlsZSwgY29uZmlnU3RyaW5nKTtcbiAgICAgICAgICByZXNvbHZlKHVuZGVmaW5lZCk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChyZWplY3QpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0QWNjb3VudHMoKTogQWNjb3VudFtdIHtcbiAgICBjb25zdCBkYXRhID0gZnMucmVhZEZpbGVTeW5jKHRoaXMuY29uZmlnRmlsZSwgXCJ1dGYtOFwiKTtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKSBhcyBBY2NvdW50W107XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const fs = require("fs");
|
|
4
|
+
class CidrBlock {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.configFile = "../cidr-config.json";
|
|
7
|
+
// Import config, or create it if it doesn't exist
|
|
8
|
+
if (fs.existsSync(this.configFile)) {
|
|
9
|
+
const configString = fs.readFileSync(this.configFile, "utf-8");
|
|
10
|
+
this.cidrBlock = JSON.parse(configString);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
this.cidrBlock = {};
|
|
14
|
+
for (let i = 1; i <= 255; i++) {
|
|
15
|
+
this.cidrBlock[`${i}.0.0.0/8`] = true;
|
|
16
|
+
}
|
|
17
|
+
const configString = JSON.stringify(this.cidrBlock, null, 2);
|
|
18
|
+
fs.writeFileSync(this.configFile, configString);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
writeState() {
|
|
22
|
+
// JSON-ify config and write to file
|
|
23
|
+
const configString = JSON.stringify(this.cidrBlock, null, 2);
|
|
24
|
+
fs.writeFileSync(this.configFile, configString);
|
|
25
|
+
}
|
|
26
|
+
getCidrBlock() {
|
|
27
|
+
for (const key in this.cidrBlock) {
|
|
28
|
+
if (this.cidrBlock[key]) {
|
|
29
|
+
return key;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return "0.0.0.0/8";
|
|
33
|
+
}
|
|
34
|
+
updateState(cidrBlock, status) {
|
|
35
|
+
this.cidrBlock[cidrBlock] = status;
|
|
36
|
+
this.writeState();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.default = CidrBlock;
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2lkci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi91dGlscy9nZXRDaWRyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEseUJBQXlCO0FBTXpCLE1BQXFCLFNBQVM7SUFJNUI7UUFGUSxlQUFVLEdBQUcscUJBQXFCLENBQUM7UUFHekMsa0RBQWtEO1FBQ2xELElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDL0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7WUFDcEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDeEMsQ0FBQztZQUNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0QsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVTtRQUNSLG9DQUFvQztRQUNwQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdELEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsWUFBWTtRQUNWLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN4QixPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxTQUFpQixFQUFFLE1BQWU7UUFDNUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQXRDRCw0QkFzQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcblxuaW50ZXJmYWNlIGNpZHJUYWJsZSB7XG4gIFtrZXk6IHN0cmluZ106IGJvb2xlYW47XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENpZHJCbG9jayB7XG4gIHByaXZhdGUgY2lkckJsb2NrOiBjaWRyVGFibGU7XG4gIHByaXZhdGUgY29uZmlnRmlsZSA9IFwiLi4vY2lkci1jb25maWcuanNvblwiO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIEltcG9ydCBjb25maWcsIG9yIGNyZWF0ZSBpdCBpZiBpdCBkb2Vzbid0IGV4aXN0XG4gICAgaWYgKGZzLmV4aXN0c1N5bmModGhpcy5jb25maWdGaWxlKSkge1xuICAgICAgY29uc3QgY29uZmlnU3RyaW5nID0gZnMucmVhZEZpbGVTeW5jKHRoaXMuY29uZmlnRmlsZSwgXCJ1dGYtOFwiKTtcbiAgICAgIHRoaXMuY2lkckJsb2NrID0gSlNPTi5wYXJzZShjb25maWdTdHJpbmcpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNpZHJCbG9jayA9IHt9O1xuICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gMjU1OyBpKyspIHtcbiAgICAgICAgdGhpcy5jaWRyQmxvY2tbYCR7aX0uMC4wLjAvOGBdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNvbmZpZ1N0cmluZyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuY2lkckJsb2NrLCBudWxsLCAyKTtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmModGhpcy5jb25maWdGaWxlLCBjb25maWdTdHJpbmcpO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlU3RhdGUoKSB7XG4gICAgLy8gSlNPTi1pZnkgY29uZmlnIGFuZCB3cml0ZSB0byBmaWxlXG4gICAgY29uc3QgY29uZmlnU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkodGhpcy5jaWRyQmxvY2ssIG51bGwsIDIpO1xuICAgIGZzLndyaXRlRmlsZVN5bmModGhpcy5jb25maWdGaWxlLCBjb25maWdTdHJpbmcpO1xuICB9XG5cbiAgZ2V0Q2lkckJsb2NrKCkge1xuICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuY2lkckJsb2NrKSB7XG4gICAgICBpZiAodGhpcy5jaWRyQmxvY2tba2V5XSkge1xuICAgICAgICByZXR1cm4ga2V5O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gXCIwLjAuMC4wLzhcIjtcbiAgfVxuXG4gIHVwZGF0ZVN0YXRlKGNpZHJCbG9jazogc3RyaW5nLCBzdGF0dXM6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNpZHJCbG9ja1tjaWRyQmxvY2tdID0gc3RhdHVzO1xuICAgIHRoaXMud3JpdGVTdGF0ZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Account } from "@aws-sdk/client-organizations";
|
|
2
|
-
import { ICostAllocationTags } from "../config/aws";
|
|
1
|
+
import { type Account } from "@aws-sdk/client-organizations";
|
|
2
|
+
import { type ICostAllocationTags } from "../config/aws";
|
|
3
3
|
export interface Config {
|
|
4
4
|
region: string;
|
|
5
5
|
environment: string;
|
|
@@ -32,7 +32,7 @@ function getConfig(accountName) {
|
|
|
32
32
|
// If we have an account name - look for associated provider account
|
|
33
33
|
if (accountName) {
|
|
34
34
|
const providerAccount = fjallConfig.getProviderAccount(accountName);
|
|
35
|
-
if (
|
|
35
|
+
if (providerAccount) {
|
|
36
36
|
config.accountId = providerAccount.id;
|
|
37
37
|
config.accountName = providerAccount.name;
|
|
38
38
|
config.environment = providerAccount.environment;
|
|
@@ -45,7 +45,7 @@ function getConfig(accountName) {
|
|
|
45
45
|
if (accountId) {
|
|
46
46
|
config.accountId = accountId;
|
|
47
47
|
const providerAccount = fjallConfig.getProviderAccountById(accountId);
|
|
48
|
-
if (
|
|
48
|
+
if (providerAccount) {
|
|
49
49
|
config.accountName = providerAccount.name;
|
|
50
50
|
config.environment = providerAccount.environment;
|
|
51
51
|
}
|
|
@@ -63,4 +63,4 @@ function getConfig(accountName) {
|
|
|
63
63
|
return config;
|
|
64
64
|
}
|
|
65
65
|
exports.default = getConfig;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSw4QkFtRUM7QUFwRkQsZ0NBQXlCO0FBQ3pCLHNDQUFvRDtBQWdCcEQsU0FBZ0IsU0FBUyxDQUFDLFdBQW9CO0lBQzVDLE1BQU0sR0FBRyxHQUFHLGFBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUU5QixNQUFNLE1BQU0sR0FBVztRQUNyQixNQUFNLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksV0FBVztRQUM3QyxXQUFXLEVBQUUsU0FBUztRQUN0QixnQkFBZ0IsRUFBRSxFQUFFO1FBQ3BCLGtCQUFrQixFQUFFLEVBQUU7UUFDdEIsZ0JBQWdCLEVBQUUsRUFBRTtRQUNwQixVQUFVLEVBQUUsRUFBRTtLQUNmLENBQUM7SUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVO1FBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUVqRSwyQ0FBMkM7SUFDM0MsTUFBTSxXQUFXLEdBQUcsYUFBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRTdDLHdCQUF3QjtJQUN4QixNQUFNLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFFNUQsMkJBQTJCO0lBQzNCLE1BQU0sQ0FBQyxrQkFBa0IsR0FBRyxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUVoRSw0QkFBNEI7SUFDNUIsTUFBTSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUN0RCxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixFQUFFLElBQUksRUFBRSxDQUFDO0lBQ2xFLE1BQU0sQ0FBQyxVQUFVLEdBQUcsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxzQkFBc0IsR0FBRyxXQUFXLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUV4RSw2REFBNkQ7SUFDN0QsSUFBSSxDQUFDLFdBQVc7UUFBRSxXQUFXLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEUsb0VBQW9FO0lBQ3BFLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEIsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BFLElBQUksZUFBZSxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztZQUMxQyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUM7UUFDbkQsQ0FBQztJQUNILENBQUM7SUFFRCxrRkFBa0Y7SUFDbEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4QixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCx3RUFBd0U7UUFDeEUsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE1BQU0sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBRTdCLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RSxJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUNwQixNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQzFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQztZQUNuRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCx3REFBd0Q7SUFDeEQsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNqRSxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDdkIsTUFBTSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQztJQUMxQyxDQUFDO1NBQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3ZFLDZEQUE2RDtRQUM3RCxNQUFNLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO0lBQy9DLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsa0JBQWUsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBBY2NvdW50IH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1vcmdhbml6YXRpb25zXCI7XG5cbmltcG9ydCBBcHAgZnJvbSBcIi4uL2FwcFwiO1xuaW1wb3J0IHsgQ29uZmlnIGFzIEZqYWxsQ29uZmlnIH0gZnJvbSBcIkBmamFsbC91dGlsXCI7XG5pbXBvcnQgeyB0eXBlIElDb3N0QWxsb2NhdGlvblRhZ3MgfSBmcm9tIFwiLi4vY29uZmlnL2F3c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZyB7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBleGlzdGluZ0FjY291bnRzOiBBY2NvdW50W107XG4gIGNvc3RBbGxvY2F0aW9uVGFnczogSUNvc3RBbGxvY2F0aW9uVGFnc1tdO1xuICBhY2NvdW50SWQ/OiBzdHJpbmc7XG4gIGFjY291bnROYW1lPzogc3RyaW5nO1xuICBwcmltYXJ5UmVnaW9uPzogc3RyaW5nO1xuICBzZWNvbmRhcnlSZWdpb25zOiBzdHJpbmdbXTtcbiAgYWxsUmVnaW9uczogc3RyaW5nW107XG4gIGRpc2FzdGVyUmVjb3ZlcnlSZWdpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoYWNjb3VudE5hbWU/OiBzdHJpbmcpOiBDb25maWcge1xuICBjb25zdCBhcHAgPSBBcHAuZ2V0SW5zdGFuY2UoKTtcblxuICBjb25zdCBjb25maWc6IENvbmZpZyA9IHtcbiAgICByZWdpb246IHByb2Nlc3MuZW52LkFXU19SRUdJT04gfHwgXCJ1cy1lYXN0LTFcIixcbiAgICBlbnZpcm9ubWVudDogXCJ1bmtub3duXCIsXG4gICAgZXhpc3RpbmdBY2NvdW50czogW10sXG4gICAgY29zdEFsbG9jYXRpb25UYWdzOiBbXSxcbiAgICBzZWNvbmRhcnlSZWdpb25zOiBbXSxcbiAgICBhbGxSZWdpb25zOiBbXVxuICB9O1xuXG4gIGlmICghcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTilcbiAgICBjb25zb2xlLndhcm4oXCJBV1NfUkVHSU9OIGlzIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gdXMtZWFzdC0xXCIpO1xuXG4gIC8vIFJldHJpZXZlIGFueSBwcmUtZXhpc3RpbmcgYWNjb3VudCBjb25maWdcbiAgY29uc3QgZmphbGxDb25maWcgPSBGamFsbENvbmZpZy5sb2FkQ29uZmlnKCk7XG5cbiAgLy8gR2V0IGV4aXN0aW5nIGFjY291bnRzXG4gIGNvbmZpZy5leGlzdGluZ0FjY291bnRzID0gZmphbGxDb25maWcuZ2V0RXhpc3RpbmdBY2NvdW50cygpO1xuXG4gIC8vIEdldCBjb3N0IGFsbG9jYXRpb24gdGFnc1xuICBjb25maWcuY29zdEFsbG9jYXRpb25UYWdzID0gZmphbGxDb25maWcuZ2V0Q29zdEFsbG9jYXRpb25UYWdzKCk7XG5cbiAgLy8gR2V0IHJlZ2lvbnMgY29uZmlndXJhdGlvblxuICBjb25maWcucHJpbWFyeVJlZ2lvbiA9IGZqYWxsQ29uZmlnLmdldFByaW1hcnlSZWdpb24oKTtcbiAgY29uZmlnLnNlY29uZGFyeVJlZ2lvbnMgPSBmamFsbENvbmZpZy5nZXRTZWNvbmRhcnlSZWdpb25zKCkgfHwgW107XG4gIGNvbmZpZy5hbGxSZWdpb25zID0gZmphbGxDb25maWcuZ2V0QWxsUmVnaW9ucygpO1xuICBjb25maWcuZGlzYXN0ZXJSZWNvdmVyeVJlZ2lvbiA9IGZqYWxsQ29uZmlnLmdldERpc2FzdGVyUmVjb3ZlcnlSZWdpb24oKTtcblxuICAvLyBJZiB1bnNwZWNpZmllZCBhY2NvdW50IG5hbWUgLSB0cnkgdG8gcmV0cmlldmUgZnJvbSBjb250ZXh0XG4gIGlmICghYWNjb3VudE5hbWUpIGFjY291bnROYW1lID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnROYW1lXCIpO1xuICAvLyBJZiB3ZSBoYXZlIGFuIGFjY291bnQgbmFtZSAtIGxvb2sgZm9yIGFzc29jaWF0ZWQgcHJvdmlkZXIgYWNjb3VudFxuICBpZiAoYWNjb3VudE5hbWUpIHtcbiAgICBjb25zdCBwcm92aWRlckFjY291bnQgPSBmamFsbENvbmZpZy5nZXRQcm92aWRlckFjY291bnQoYWNjb3VudE5hbWUpO1xuICAgIGlmIChwcm92aWRlckFjY291bnQpIHtcbiAgICAgIGNvbmZpZy5hY2NvdW50SWQgPSBwcm92aWRlckFjY291bnQuaWQ7XG4gICAgICBjb25maWcuYWNjb3VudE5hbWUgPSBwcm92aWRlckFjY291bnQubmFtZTtcbiAgICAgIGNvbmZpZy5lbnZpcm9ubWVudCA9IHByb3ZpZGVyQWNjb3VudC5lbnZpcm9ubWVudDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBzdGlsbCBkb24ndCBoYXZlIGFuIGFjY291bnQgbmFtZSAtIHRyeSB0byByZXRyaWV2ZSBhY2NvdW50SWQgZnJvbSBjb250ZXh0XG4gIGlmICghY29uZmlnLmFjY291bnROYW1lKSB7XG4gICAgY29uc3QgYWNjb3VudElkID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnRJZFwiKTtcbiAgICAvLyBJZiB3ZSBmaW5kIGFuIGFjY291bnRJZCAtIHJldHJpZXZlIHRoZSBhc3NvY2lhdGVkIGFjY291bnQgZnJvbSBjb25maWdcbiAgICBpZiAoYWNjb3VudElkKSB7XG4gICAgICBjb25maWcuYWNjb3VudElkID0gYWNjb3VudElkO1xuXG4gICAgICBjb25zdCBwcm92aWRlckFjY291bnQgPSBmamFsbENvbmZpZy5nZXRQcm92aWRlckFjY291bnRCeUlkKGFjY291bnRJZCk7XG4gICAgICBpZiAocHJvdmlkZXJBY2NvdW50KSB7XG4gICAgICAgIGNvbmZpZy5hY2NvdW50TmFtZSA9IHByb3ZpZGVyQWNjb3VudC5uYW1lO1xuICAgICAgICBjb25maWcuZW52aXJvbm1lbnQgPSBwcm92aWRlckFjY291bnQuZW52aXJvbm1lbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgZm9yIGVudmlyb25tZW50IGZyb20gY29udGV4dCAoaGlnaGVzdCBwcmlvcml0eSlcbiAgY29uc3QgY29udGV4dEVudmlyb25tZW50ID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImVudmlyb25tZW50XCIpO1xuICBpZiAoY29udGV4dEVudmlyb25tZW50KSB7XG4gICAgY29uZmlnLmVudmlyb25tZW50ID0gY29udGV4dEVudmlyb25tZW50O1xuICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52LkVOVklST05NRU5UICYmIGNvbmZpZy5lbnZpcm9ubWVudCA9PT0gXCJ1bmtub3duXCIpIHtcbiAgICAvLyBGYWxsIGJhY2sgdG8gRU5WSVJPTk1FTlQgdmFyaWFibGUgaWYgbm8gb3RoZXIgc291cmNlIGZvdW5kXG4gICAgY29uZmlnLmVudmlyb25tZW50ID0gcHJvY2Vzcy5lbnYuRU5WSVJPTk1FTlQ7XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufVxuXG5leHBvcnQgZGVmYXVsdCBnZXRDb25maWc7XG4iXX0=
|
package/dist/lib/utils/index.js
CHANGED
|
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./getConfig"), exports);
|
|
18
|
+
__exportStar(require("./resourceNaming"), exports);
|
|
18
19
|
__exportStar(require("./standardTagsAspect"), exports);
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUM1QixtREFBaUM7QUFDakMsdURBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZ2V0Q29uZmlnXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXNvdXJjZU5hbWluZ1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RhbmRhcmRUYWdzQXNwZWN0XCI7XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized resource naming for database infrastructure.
|
|
3
|
+
* Ensures consistent, predictable names across constructs and tests.
|
|
4
|
+
*
|
|
5
|
+
* AWS Naming Constraints:
|
|
6
|
+
* - DB Instance/Cluster ID: max 63 chars, alphanumeric + hyphens, case-insensitive (lowercased by AWS)
|
|
7
|
+
* - Secret Name: max 512 chars, case-sensitive
|
|
8
|
+
* - Proxy Name: max 60 chars, alphanumeric + hyphens
|
|
9
|
+
*/
|
|
10
|
+
export declare class ResourceNaming {
|
|
11
|
+
/** RDS Instance identifier. AWS lowercases this. */
|
|
12
|
+
static dbInstanceId(databaseName: string): string;
|
|
13
|
+
/** Aurora cluster identifier. Must be lowercase. */
|
|
14
|
+
static clusterId(databaseName: string): string;
|
|
15
|
+
/** Global Aurora cluster identifier. Must be lowercase. */
|
|
16
|
+
static globalClusterId(databaseName: string): string;
|
|
17
|
+
/** Primary cluster ID for GlobalAurora. Must be lowercase. */
|
|
18
|
+
static primaryClusterId(databaseName: string): string;
|
|
19
|
+
/** Secondary cluster ID for GlobalAurora. Must be lowercase. */
|
|
20
|
+
static secondaryClusterId(databaseName: string, region: string): string;
|
|
21
|
+
/** RDS Proxy name. Must be lowercase for consistency. */
|
|
22
|
+
static proxyName(databaseName: string): string;
|
|
23
|
+
/** Aurora writer instance identifier. */
|
|
24
|
+
static writerInstanceId(databaseName: string, suffix?: string): string;
|
|
25
|
+
/** Aurora reader instance identifier. */
|
|
26
|
+
static readerInstanceId(databaseName: string, index: number, suffix?: string): string;
|
|
27
|
+
/** RDS read replica identifier. */
|
|
28
|
+
static readReplicaId(databaseName: string): string;
|
|
29
|
+
/** Credentials secret name. Case-sensitive, preserves casing. */
|
|
30
|
+
static credentialsSecretName(databaseName: string): string;
|
|
31
|
+
/** Master secret name for rotation. Case-sensitive. */
|
|
32
|
+
static masterSecretName(databaseName: string): string;
|
|
33
|
+
/** Security group description for RDS Instance. */
|
|
34
|
+
static instanceSecurityGroupDescription(databaseName: string): string;
|
|
35
|
+
/** Security group description for Aurora cluster. */
|
|
36
|
+
static clusterSecurityGroupDescription(databaseName: string): string;
|
|
37
|
+
/** Security group description for RDS Proxy. */
|
|
38
|
+
static proxySecurityGroupDescription(databaseName: string): string;
|
|
39
|
+
/** Security group description for read replica. */
|
|
40
|
+
static readReplicaSecurityGroupDescription(databaseName: string): string;
|
|
41
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceNaming = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Centralized resource naming for database infrastructure.
|
|
6
|
+
* Ensures consistent, predictable names across constructs and tests.
|
|
7
|
+
*
|
|
8
|
+
* AWS Naming Constraints:
|
|
9
|
+
* - DB Instance/Cluster ID: max 63 chars, alphanumeric + hyphens, case-insensitive (lowercased by AWS)
|
|
10
|
+
* - Secret Name: max 512 chars, case-sensitive
|
|
11
|
+
* - Proxy Name: max 60 chars, alphanumeric + hyphens
|
|
12
|
+
*/
|
|
13
|
+
class ResourceNaming {
|
|
14
|
+
/** RDS Instance identifier. AWS lowercases this. */
|
|
15
|
+
static dbInstanceId(databaseName) {
|
|
16
|
+
return databaseName.toLowerCase();
|
|
17
|
+
}
|
|
18
|
+
/** Aurora cluster identifier. Must be lowercase. */
|
|
19
|
+
static clusterId(databaseName) {
|
|
20
|
+
return `${databaseName.toLowerCase()}-cluster`;
|
|
21
|
+
}
|
|
22
|
+
/** Global Aurora cluster identifier. Must be lowercase. */
|
|
23
|
+
static globalClusterId(databaseName) {
|
|
24
|
+
return `${databaseName.toLowerCase()}-global`;
|
|
25
|
+
}
|
|
26
|
+
/** Primary cluster ID for GlobalAurora. Must be lowercase. */
|
|
27
|
+
static primaryClusterId(databaseName) {
|
|
28
|
+
return `${databaseName.toLowerCase()}-primary-cluster`;
|
|
29
|
+
}
|
|
30
|
+
/** Secondary cluster ID for GlobalAurora. Must be lowercase. */
|
|
31
|
+
static secondaryClusterId(databaseName, region) {
|
|
32
|
+
return `${databaseName.toLowerCase()}-secondary-${region}`;
|
|
33
|
+
}
|
|
34
|
+
/** RDS Proxy name. Must be lowercase for consistency. */
|
|
35
|
+
static proxyName(databaseName) {
|
|
36
|
+
return `${databaseName.toLowerCase()}-proxy`;
|
|
37
|
+
}
|
|
38
|
+
/** Aurora writer instance identifier. */
|
|
39
|
+
static writerInstanceId(databaseName, suffix = "primary-writer") {
|
|
40
|
+
return `${databaseName.toLowerCase()}-${suffix}`;
|
|
41
|
+
}
|
|
42
|
+
/** Aurora reader instance identifier. */
|
|
43
|
+
static readerInstanceId(databaseName, index, suffix) {
|
|
44
|
+
const id = suffix ?? `reader-${index}`;
|
|
45
|
+
return `${databaseName.toLowerCase()}-${id}`;
|
|
46
|
+
}
|
|
47
|
+
/** RDS read replica identifier. */
|
|
48
|
+
static readReplicaId(databaseName) {
|
|
49
|
+
return `${databaseName.toLowerCase()}-read-replica`;
|
|
50
|
+
}
|
|
51
|
+
/** Credentials secret name. Case-sensitive, preserves casing. */
|
|
52
|
+
static credentialsSecretName(databaseName) {
|
|
53
|
+
return `${databaseName}Credentials`;
|
|
54
|
+
}
|
|
55
|
+
/** Master secret name for rotation. Case-sensitive. */
|
|
56
|
+
static masterSecretName(databaseName) {
|
|
57
|
+
return `${databaseName}MasterSecret`;
|
|
58
|
+
}
|
|
59
|
+
/** Security group description for RDS Instance. */
|
|
60
|
+
static instanceSecurityGroupDescription(databaseName) {
|
|
61
|
+
return `Security group for RDS database instance ${databaseName}`;
|
|
62
|
+
}
|
|
63
|
+
/** Security group description for Aurora cluster. */
|
|
64
|
+
static clusterSecurityGroupDescription(databaseName) {
|
|
65
|
+
return `Security group for Aurora cluster ${databaseName}`;
|
|
66
|
+
}
|
|
67
|
+
/** Security group description for RDS Proxy. */
|
|
68
|
+
static proxySecurityGroupDescription(databaseName) {
|
|
69
|
+
return `Security group for RDS Proxy ${databaseName}`;
|
|
70
|
+
}
|
|
71
|
+
/** Security group description for read replica. */
|
|
72
|
+
static readReplicaSecurityGroupDescription(databaseName) {
|
|
73
|
+
return `Security group for RDS Read Replica ${databaseName}`;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.ResourceNaming = ResourceNaming;
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2VOYW1pbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvdXRpbHMvcmVzb3VyY2VOYW1pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFhLGNBQWM7SUFDekIsb0RBQW9EO0lBQ3BELE1BQU0sQ0FBQyxZQUFZLENBQUMsWUFBb0I7UUFDdEMsT0FBTyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELG9EQUFvRDtJQUNwRCxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQW9CO1FBQ25DLE9BQU8sR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsMkRBQTJEO0lBQzNELE1BQU0sQ0FBQyxlQUFlLENBQUMsWUFBb0I7UUFDekMsT0FBTyxHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO0lBQ2hELENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFlBQW9CO1FBQzFDLE9BQU8sR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDO0lBQ3pELENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsTUFBTSxDQUFDLGtCQUFrQixDQUFDLFlBQW9CLEVBQUUsTUFBYztRQUM1RCxPQUFPLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxjQUFjLE1BQU0sRUFBRSxDQUFDO0lBQzdELENBQUM7SUFFRCx5REFBeUQ7SUFDekQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFvQjtRQUNuQyxPQUFPLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUM7SUFDL0MsQ0FBQztJQUVELHlDQUF5QztJQUN6QyxNQUFNLENBQUMsZ0JBQWdCLENBQ3JCLFlBQW9CLEVBQ3BCLE1BQU0sR0FBRyxnQkFBZ0I7UUFFekIsT0FBTyxHQUFHLFlBQVksQ0FBQyxXQUFXLEVBQUUsSUFBSSxNQUFNLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQseUNBQXlDO0lBQ3pDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDckIsWUFBb0IsRUFDcEIsS0FBYSxFQUNiLE1BQWU7UUFFZixNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUksVUFBVSxLQUFLLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRCxtQ0FBbUM7SUFDbkMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFvQjtRQUN2QyxPQUFPLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUM7SUFDdEQsQ0FBQztJQUVELGlFQUFpRTtJQUNqRSxNQUFNLENBQUMscUJBQXFCLENBQUMsWUFBb0I7UUFDL0MsT0FBTyxHQUFHLFlBQVksYUFBYSxDQUFDO0lBQ3RDLENBQUM7SUFFRCx1REFBdUQ7SUFDdkQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFlBQW9CO1FBQzFDLE9BQU8sR0FBRyxZQUFZLGNBQWMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsbURBQW1EO0lBQ25ELE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQyxZQUFvQjtRQUMxRCxPQUFPLDRDQUE0QyxZQUFZLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRUQscURBQXFEO0lBQ3JELE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxZQUFvQjtRQUN6RCxPQUFPLHFDQUFxQyxZQUFZLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxZQUFvQjtRQUN2RCxPQUFPLGdDQUFnQyxZQUFZLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRUQsbURBQW1EO0lBQ25ELE1BQU0sQ0FBQyxtQ0FBbUMsQ0FBQyxZQUFvQjtRQUM3RCxPQUFPLHVDQUF1QyxZQUFZLEVBQUUsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUFuRkQsd0NBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDZW50cmFsaXplZCByZXNvdXJjZSBuYW1pbmcgZm9yIGRhdGFiYXNlIGluZnJhc3RydWN0dXJlLlxuICogRW5zdXJlcyBjb25zaXN0ZW50LCBwcmVkaWN0YWJsZSBuYW1lcyBhY3Jvc3MgY29uc3RydWN0cyBhbmQgdGVzdHMuXG4gKlxuICogQVdTIE5hbWluZyBDb25zdHJhaW50czpcbiAqIC0gREIgSW5zdGFuY2UvQ2x1c3RlciBJRDogbWF4IDYzIGNoYXJzLCBhbHBoYW51bWVyaWMgKyBoeXBoZW5zLCBjYXNlLWluc2Vuc2l0aXZlIChsb3dlcmNhc2VkIGJ5IEFXUylcbiAqIC0gU2VjcmV0IE5hbWU6IG1heCA1MTIgY2hhcnMsIGNhc2Utc2Vuc2l0aXZlXG4gKiAtIFByb3h5IE5hbWU6IG1heCA2MCBjaGFycywgYWxwaGFudW1lcmljICsgaHlwaGVuc1xuICovXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VOYW1pbmcge1xuICAvKiogUkRTIEluc3RhbmNlIGlkZW50aWZpZXIuIEFXUyBsb3dlcmNhc2VzIHRoaXMuICovXG4gIHN0YXRpYyBkYkluc3RhbmNlSWQoZGF0YWJhc2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRhYmFzZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIC8qKiBBdXJvcmEgY2x1c3RlciBpZGVudGlmaWVyLiBNdXN0IGJlIGxvd2VyY2FzZS4gKi9cbiAgc3RhdGljIGNsdXN0ZXJJZChkYXRhYmFzZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2RhdGFiYXNlTmFtZS50b0xvd2VyQ2FzZSgpfS1jbHVzdGVyYDtcbiAgfVxuXG4gIC8qKiBHbG9iYWwgQXVyb3JhIGNsdXN0ZXIgaWRlbnRpZmllci4gTXVzdCBiZSBsb3dlcmNhc2UuICovXG4gIHN0YXRpYyBnbG9iYWxDbHVzdGVySWQoZGF0YWJhc2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtkYXRhYmFzZU5hbWUudG9Mb3dlckNhc2UoKX0tZ2xvYmFsYDtcbiAgfVxuXG4gIC8qKiBQcmltYXJ5IGNsdXN0ZXIgSUQgZm9yIEdsb2JhbEF1cm9yYS4gTXVzdCBiZSBsb3dlcmNhc2UuICovXG4gIHN0YXRpYyBwcmltYXJ5Q2x1c3RlcklkKGRhdGFiYXNlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZGF0YWJhc2VOYW1lLnRvTG93ZXJDYXNlKCl9LXByaW1hcnktY2x1c3RlcmA7XG4gIH1cblxuICAvKiogU2Vjb25kYXJ5IGNsdXN0ZXIgSUQgZm9yIEdsb2JhbEF1cm9yYS4gTXVzdCBiZSBsb3dlcmNhc2UuICovXG4gIHN0YXRpYyBzZWNvbmRhcnlDbHVzdGVySWQoZGF0YWJhc2VOYW1lOiBzdHJpbmcsIHJlZ2lvbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZGF0YWJhc2VOYW1lLnRvTG93ZXJDYXNlKCl9LXNlY29uZGFyeS0ke3JlZ2lvbn1gO1xuICB9XG5cbiAgLyoqIFJEUyBQcm94eSBuYW1lLiBNdXN0IGJlIGxvd2VyY2FzZSBmb3IgY29uc2lzdGVuY3kuICovXG4gIHN0YXRpYyBwcm94eU5hbWUoZGF0YWJhc2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtkYXRhYmFzZU5hbWUudG9Mb3dlckNhc2UoKX0tcHJveHlgO1xuICB9XG5cbiAgLyoqIEF1cm9yYSB3cml0ZXIgaW5zdGFuY2UgaWRlbnRpZmllci4gKi9cbiAgc3RhdGljIHdyaXRlckluc3RhbmNlSWQoXG4gICAgZGF0YWJhc2VOYW1lOiBzdHJpbmcsXG4gICAgc3VmZml4ID0gXCJwcmltYXJ5LXdyaXRlclwiXG4gICk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2RhdGFiYXNlTmFtZS50b0xvd2VyQ2FzZSgpfS0ke3N1ZmZpeH1gO1xuICB9XG5cbiAgLyoqIEF1cm9yYSByZWFkZXIgaW5zdGFuY2UgaWRlbnRpZmllci4gKi9cbiAgc3RhdGljIHJlYWRlckluc3RhbmNlSWQoXG4gICAgZGF0YWJhc2VOYW1lOiBzdHJpbmcsXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBzdWZmaXg/OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBpZCA9IHN1ZmZpeCA/PyBgcmVhZGVyLSR7aW5kZXh9YDtcbiAgICByZXR1cm4gYCR7ZGF0YWJhc2VOYW1lLnRvTG93ZXJDYXNlKCl9LSR7aWR9YDtcbiAgfVxuXG4gIC8qKiBSRFMgcmVhZCByZXBsaWNhIGlkZW50aWZpZXIuICovXG4gIHN0YXRpYyByZWFkUmVwbGljYUlkKGRhdGFiYXNlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZGF0YWJhc2VOYW1lLnRvTG93ZXJDYXNlKCl9LXJlYWQtcmVwbGljYWA7XG4gIH1cblxuICAvKiogQ3JlZGVudGlhbHMgc2VjcmV0IG5hbWUuIENhc2Utc2Vuc2l0aXZlLCBwcmVzZXJ2ZXMgY2FzaW5nLiAqL1xuICBzdGF0aWMgY3JlZGVudGlhbHNTZWNyZXROYW1lKGRhdGFiYXNlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZGF0YWJhc2VOYW1lfUNyZWRlbnRpYWxzYDtcbiAgfVxuXG4gIC8qKiBNYXN0ZXIgc2VjcmV0IG5hbWUgZm9yIHJvdGF0aW9uLiBDYXNlLXNlbnNpdGl2ZS4gKi9cbiAgc3RhdGljIG1hc3RlclNlY3JldE5hbWUoZGF0YWJhc2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtkYXRhYmFzZU5hbWV9TWFzdGVyU2VjcmV0YDtcbiAgfVxuXG4gIC8qKiBTZWN1cml0eSBncm91cCBkZXNjcmlwdGlvbiBmb3IgUkRTIEluc3RhbmNlLiAqL1xuICBzdGF0aWMgaW5zdGFuY2VTZWN1cml0eUdyb3VwRGVzY3JpcHRpb24oZGF0YWJhc2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgU2VjdXJpdHkgZ3JvdXAgZm9yIFJEUyBkYXRhYmFzZSBpbnN0YW5jZSAke2RhdGFiYXNlTmFtZX1gO1xuICB9XG5cbiAgLyoqIFNlY3VyaXR5IGdyb3VwIGRlc2NyaXB0aW9uIGZvciBBdXJvcmEgY2x1c3Rlci4gKi9cbiAgc3RhdGljIGNsdXN0ZXJTZWN1cml0eUdyb3VwRGVzY3JpcHRpb24oZGF0YWJhc2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgU2VjdXJpdHkgZ3JvdXAgZm9yIEF1cm9yYSBjbHVzdGVyICR7ZGF0YWJhc2VOYW1lfWA7XG4gIH1cblxuICAvKiogU2VjdXJpdHkgZ3JvdXAgZGVzY3JpcHRpb24gZm9yIFJEUyBQcm94eS4gKi9cbiAgc3RhdGljIHByb3h5U2VjdXJpdHlHcm91cERlc2NyaXB0aW9uKGRhdGFiYXNlTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFNlY3VyaXR5IGdyb3VwIGZvciBSRFMgUHJveHkgJHtkYXRhYmFzZU5hbWV9YDtcbiAgfVxuXG4gIC8qKiBTZWN1cml0eSBncm91cCBkZXNjcmlwdGlvbiBmb3IgcmVhZCByZXBsaWNhLiAqL1xuICBzdGF0aWMgcmVhZFJlcGxpY2FTZWN1cml0eUdyb3VwRGVzY3JpcHRpb24oZGF0YWJhc2VOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgU2VjdXJpdHkgZ3JvdXAgZm9yIFJEUyBSZWFkIFJlcGxpY2EgJHtkYXRhYmFzZU5hbWV9YDtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IAspect } from "aws-cdk-lib";
|
|
2
|
-
import { IConstruct } from "constructs";
|
|
1
|
+
import { type IAspect } from "aws-cdk-lib";
|
|
2
|
+
import { type IConstruct } from "constructs";
|
|
3
3
|
/**
|
|
4
4
|
* Aspect to enforce a standard set of tags on every tag-capable resource in a construct tree.
|
|
5
5
|
*
|