@fjall/components-infrastructure 0.73.16 → 0.73.17

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 (45) hide show
  1. package/dist/lib/patterns/aws/ec2.d.ts +43 -0
  2. package/dist/lib/patterns/aws/ec2.js +123 -0
  3. package/dist/lib/resources/aws/database/rdsAuroraGlobal.js +3 -3
  4. package/dist/lib/utils/getCidr.d.ts +8 -0
  5. package/dist/lib/utils/getCidr.js +40 -0
  6. package/package.json +3 -3
  7. package/dist/lib/__tests__/patterns/__snapshots__/compute.test.js.snap +0 -433
  8. package/dist/lib/__tests__/patterns/compute.test.d.ts +0 -1
  9. package/dist/lib/__tests__/patterns/compute.test.js +0 -137
  10. package/dist/lib/__tests__/simple.test.d.ts +0 -0
  11. package/dist/lib/__tests__/simple.test.js +0 -12
  12. package/dist/lib/resources/aws/backup/backupPlan.d.ts +0 -24
  13. package/dist/lib/resources/aws/backup/backupPlan.js +0 -172
  14. package/dist/lib/resources/aws/backup/backupVault.d.ts +0 -19
  15. package/dist/lib/resources/aws/backup/backupVault.js +0 -44
  16. package/dist/lib/resources/aws/backup/index.d.ts +0 -2
  17. package/dist/lib/resources/aws/backup/index.js +0 -19
  18. package/dist/lib/resources/aws/organisations/account.d.ts +0 -37
  19. package/dist/lib/resources/aws/organisations/account.js +0 -220
  20. package/dist/lib/resources/aws/organisations/delegatedAdministrator.d.ts +0 -14
  21. package/dist/lib/resources/aws/organisations/delegatedAdministrator.js +0 -61
  22. package/dist/lib/resources/aws/organisations/index.d.ts +0 -8
  23. package/dist/lib/resources/aws/organisations/index.js +0 -22
  24. package/dist/lib/resources/aws/organisations/interfaces.d.ts +0 -105
  25. package/dist/lib/resources/aws/organisations/interfaces.js +0 -3
  26. package/dist/lib/resources/aws/organisations/organisation.d.ts +0 -47
  27. package/dist/lib/resources/aws/organisations/organisation.js +0 -263
  28. package/dist/lib/resources/aws/organisations/organisationalUnit.d.ts +0 -28
  29. package/dist/lib/resources/aws/organisations/organisationalUnit.js +0 -170
  30. package/dist/lib/resources/aws/organisations/policy.d.ts +0 -17
  31. package/dist/lib/resources/aws/organisations/policy.js +0 -93
  32. package/dist/lib/resources/aws/organisations/trustedServiceAccess.d.ts +0 -13
  33. package/dist/lib/resources/aws/organisations/trustedServiceAccess.js +0 -58
  34. package/dist/lib/resources/aws/organisations/types.d.ts +0 -165
  35. package/dist/lib/resources/aws/organisations/types.js +0 -36
  36. package/dist/lib/utils/directTagging.d.ts +0 -31
  37. package/dist/lib/utils/directTagging.js +0 -86
  38. package/dist/lib/utils/fjallConstruct.d.ts +0 -8
  39. package/dist/lib/utils/fjallConstruct.js +0 -18
  40. package/dist/lib/utils/fjallStackSynthesizer.d.ts +0 -9
  41. package/dist/lib/utils/fjallStackSynthesizer.js +0 -22
  42. package/dist/lib/utils/tagContext.d.ts +0 -28
  43. package/dist/lib/utils/tagContext.js +0 -53
  44. package/dist/lib/utils/tagSynthesizer.d.ts +0 -13
  45. package/dist/lib/utils/tagSynthesizer.js +0 -55
@@ -0,0 +1,43 @@
1
+ import { BlockDevice, IMachineImage, IVpc, SubnetType, UserData, SecurityGroup, IConnectable, Connections } from "aws-cdk-lib/aws-ec2";
2
+ import { Construct } from "constructs";
3
+ import { StackProps } from "aws-cdk-lib";
4
+ import { Role } from "aws-cdk-lib/aws-iam";
5
+ import { KeyValue } from "../../types";
6
+ interface ExistingVpcConfig {
7
+ vpcId?: string;
8
+ subnetType?: SubnetType;
9
+ }
10
+ interface NewVpcConfig {
11
+ subnetType: SubnetType;
12
+ }
13
+ export type VpcProps = ExistingVpcConfig | NewVpcConfig;
14
+ interface Ec2InstanceProps extends StackProps {
15
+ spotCapacityPercentage?: number;
16
+ blockDevices?: BlockDevice[];
17
+ accountId?: string;
18
+ serviceName: string;
19
+ vpc: VpcProps;
20
+ minCapcity?: number;
21
+ maxCapacity?: number;
22
+ instanceType: string;
23
+ machineImage?: IMachineImage;
24
+ userData?: UserData;
25
+ role?: Role;
26
+ enableSSH?: boolean;
27
+ tags: KeyValue;
28
+ }
29
+ export declare class Ec2Instance extends Construct implements IConnectable {
30
+ private launchTemplate;
31
+ vpc: IVpc;
32
+ asgSecurityGroup: SecurityGroup;
33
+ private autoScalingGroup;
34
+ private keyPair;
35
+ constructor(scope: Construct, id: string, props: Ec2InstanceProps);
36
+ connections: Connections;
37
+ addVpc(props: Ec2InstanceProps): void;
38
+ addKeyPair(props: Ec2InstanceProps): void;
39
+ addLaunchTemplate(props: Ec2InstanceProps): void;
40
+ addAutoScalingGroup(props: Ec2InstanceProps): void;
41
+ suspendAutoScaling(): void;
42
+ }
43
+ export {};
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Ec2Instance = void 0;
4
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
5
+ const constructs_1 = require("constructs");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const tagResource_1 = require("../../utils/tagResource");
8
+ const aws_autoscaling_1 = require("aws-cdk-lib/aws-autoscaling");
9
+ const awsCustomResource_1 = require("../../resources/aws/utilities/awsCustomResource");
10
+ const custom_resources_1 = require("aws-cdk-lib/custom-resources");
11
+ const vpc_1 = require("../../resources/aws/networking/vpc");
12
+ class Ec2Instance extends constructs_1.Construct {
13
+ constructor(scope, id, props) {
14
+ super(scope, id);
15
+ this.addVpc(props);
16
+ if (props.enableSSH) {
17
+ this.addKeyPair(props);
18
+ }
19
+ this.addLaunchTemplate(props);
20
+ this.addAutoScalingGroup(props);
21
+ this.suspendAutoScaling();
22
+ //TODO: Add load balancer as boolean prop, then configure load balancer
23
+ }
24
+ addVpc(props) {
25
+ if ("vpcId" in props.vpc) {
26
+ this.vpc = vpc_1.Vpc.fromLookup(this, `${props.serviceName}Vpc`, {
27
+ vpcId: props.vpc.vpcId
28
+ });
29
+ }
30
+ else {
31
+ this.vpc = new vpc_1.Vpc(this, `${props.serviceName}Vpc`, {
32
+ accountId: props.accountId,
33
+ tags: props.tags,
34
+ subnetConfiguration: [
35
+ {
36
+ name: `${props.serviceName}`,
37
+ subnetType: props.vpc.subnetType || aws_ec2_1.SubnetType.PRIVATE_WITH_EGRESS
38
+ }
39
+ ]
40
+ });
41
+ }
42
+ }
43
+ addKeyPair(props) {
44
+ // TODO: Breakout into a seperate construct for use with better prop handling
45
+ this.keyPair = new aws_ec2_1.KeyPair(this, "KeyPair", {
46
+ keyPairName: `${props.serviceName}KeyPair`
47
+ });
48
+ }
49
+ addLaunchTemplate(props) {
50
+ this.asgSecurityGroup = new aws_ec2_1.SecurityGroup(this, `AsgSecurityGroup`, {
51
+ vpc: this.vpc,
52
+ description: `Security group for the ${props.serviceName} auto scaling group`
53
+ });
54
+ if (props.enableSSH) {
55
+ this.asgSecurityGroup.addIngressRule(aws_ec2_1.Peer.anyIpv4(), aws_ec2_1.Port.tcp(22), "Allow SSH");
56
+ }
57
+ this.launchTemplate = new aws_ec2_1.LaunchTemplate(this, "LaunchTemplate", {
58
+ launchTemplateName: `${props.serviceName}LaunchTemplate`,
59
+ instanceType: new aws_ec2_1.InstanceType(`${props.instanceType}`),
60
+ machineImage: props.machineImage || aws_ec2_1.MachineImage.latestAmazonLinux2(),
61
+ userData: props.userData,
62
+ role: props.role,
63
+ blockDevices: props?.blockDevices,
64
+ securityGroup: this.asgSecurityGroup,
65
+ detailedMonitoring: true,
66
+ requireImdsv2: true,
67
+ httpPutResponseHopLimit: 2,
68
+ httpTokens: aws_ec2_1.LaunchTemplateHttpTokens.REQUIRED,
69
+ instanceMetadataTags: true,
70
+ keyPair: this.keyPair
71
+ });
72
+ }
73
+ addAutoScalingGroup(props) {
74
+ // TODO: Support spot instances
75
+ // TODO: Handle terminating EC2 instances when updating, currently hangs.
76
+ this.autoScalingGroup = new aws_autoscaling_1.AutoScalingGroup(this, "AutoScalingGroup", {
77
+ vpc: this.vpc,
78
+ vpcSubnets: {
79
+ subnetType: props.enableSSH ? aws_ec2_1.SubnetType.PUBLIC : undefined
80
+ },
81
+ minCapacity: props.minCapcity,
82
+ maxCapacity: props.maxCapacity,
83
+ launchTemplate: this.launchTemplate,
84
+ cooldown: aws_cdk_lib_1.Duration.seconds(60),
85
+ groupMetrics: [aws_autoscaling_1.GroupMetrics.all()],
86
+ updatePolicy: aws_autoscaling_1.UpdatePolicy.replacingUpdate(),
87
+ newInstancesProtectedFromScaleIn: true,
88
+ // securityGroup: this.asgSecurityGroup,
89
+ terminationPolicies: [
90
+ aws_autoscaling_1.TerminationPolicy.OLDEST_LAUNCH_CONFIGURATION,
91
+ aws_autoscaling_1.TerminationPolicy.CLOSEST_TO_NEXT_INSTANCE_HOUR
92
+ ],
93
+ ssmSessionPermissions: true
94
+ });
95
+ (0, tagResource_1.default)(this.autoScalingGroup, props.tags);
96
+ }
97
+ suspendAutoScaling() {
98
+ new awsCustomResource_1.AwsCustomResource(this, "SuspendAutoscaling", {
99
+ functionName: "suspendAutoScaling",
100
+ onCreate: {
101
+ service: "AutoScaling",
102
+ action: "suspendProcesses",
103
+ parameters: {
104
+ AutoScalingGroupName: this.autoScalingGroup.autoScalingGroupName,
105
+ ScalingProcesses: ["AZRebalance"]
106
+ },
107
+ physicalResourceId: custom_resources_1.PhysicalResourceId.of("suspendAutoScaling")
108
+ },
109
+ onUpdate: {
110
+ service: "AutoScaling",
111
+ action: "suspendProcesses",
112
+ parameters: {
113
+ AutoScalingGroupName: this.autoScalingGroup.autoScalingGroupName,
114
+ ScalingProcesses: ["AZRebalance"]
115
+ },
116
+ physicalResourceId: custom_resources_1.PhysicalResourceId.of("suspendAutoScaling")
117
+ },
118
+ resourceType: "Custom::suspendAutoscaling"
119
+ });
120
+ }
121
+ }
122
+ exports.Ec2Instance = Ec2Instance;
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWMyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL3BhdHRlcm5zL2F3cy9lYzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBaUI2QjtBQUM3QiwyQ0FBdUM7QUFDdkMsNkNBQW1EO0FBQ25ELHlEQUFrRDtBQUVsRCxpRUFLcUM7QUFFckMsdUZBQW9GO0FBQ3BGLG1FQUFrRTtBQUNsRSw0REFBeUQ7QUE2QnpELE1BQWEsV0FBWSxTQUFRLHNCQUFTO0lBT3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUI7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFMUIsdUVBQXVFO0lBQ3pFLENBQUM7SUFHRCxNQUFNLENBQUMsS0FBdUI7UUFDNUIsSUFBSSxPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxLQUFLLEVBQUU7Z0JBQ3pELEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUs7YUFDdkIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxX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QXdDO1lBQ3hDLG1CQUFtQixFQUFFO2dCQUNuQixtQ0FBaUIsQ0FBQywyQkFBMkI7Z0JBQzdDLG1DQUFpQixDQUFDLDZCQUE2QjthQUNoRDtZQUNELHFCQUFxQixFQUFFLElBQUk7U0FDNUIsQ0FBQyxDQUFDO1FBQ0gsSUFBQSxxQkFBVyxFQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLHFDQUFpQixDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUNoRCxZQUFZLEVBQUUsb0JBQW9CO1lBQ2xDLFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsYUFBYTtnQkFDdEIsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsVUFBVSxFQUFFO29CQUNWLG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0I7b0JBQ2hFLGdCQUFnQixFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUNsQztnQkFDRCxrQkFBa0IsRUFBRSxxQ0FBa0IsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDaEU7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLE1BQU0sRUFBRSxrQkFBa0I7Z0JBQzFCLFVBQVUsRUFBRTtvQkFDVixvQkFBb0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CO29CQUNoRSxnQkFBZ0IsRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDbEM7Z0JBQ0Qsa0JBQWtCLEVBQUUscUNBQWtCLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2FBQ2hFO1lBQ0QsWUFBWSxFQUFFLDRCQUE0QjtTQUMzQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFoSUQsa0NBZ0lDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmxvY2tEZXZpY2UsXG4gIElNYWNoaW5lSW1hZ2UsXG4gIEluc3RhbmNlVHlwZSxcbiAgSVZwYyxcbiAgTGF1bmNoVGVtcGxhdGUsXG4gIFN1Ym5ldFR5cGUsXG4gIFVzZXJEYXRhLFxuICBNYWNoaW5lSW1hZ2UsXG4gIExhdW5jaFRlbXBsYXRlSHR0cFRva2VucyxcbiAgS2V5UGFpcixcbiAgSUtleVBhaXIsXG4gIFNlY3VyaXR5R3JvdXAsXG4gIFBlZXIsXG4gIFBvcnQsXG4gIElDb25uZWN0YWJsZSxcbiAgQ29ubmVjdGlvbnNcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBEdXJhdGlvbiwgU3RhY2tQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHRhZ1Jlc291cmNlIGZyb20gXCIuLi8uLi91dGlscy90YWdSZXNvdXJjZVwiO1xuaW1wb3J0IHsgUm9sZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQge1xuICBBdXRvU2NhbGluZ0dyb3VwLFxuICBHcm91cE1ldHJpY3MsXG4gIFRlcm1pbmF0aW9uUG9saWN5LFxuICBVcGRhdGVQb2xpY3lcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hdXRvc2NhbGluZ1wiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IEF3c0N1c3RvbVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvdXRpbGl0aWVzL2F3c0N1c3RvbVJlc291cmNlXCI7XG5pbXBvcnQgeyBQaHlzaWNhbFJlc291cmNlSWQgfSBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiO1xuaW1wb3J0IHsgVnBjIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvbmV0d29ya2luZy92cGNcIjtcblxuaW50ZXJmYWNlIEV4aXN0aW5nVnBjQ29uZmlnIHtcbiAgdnBjSWQ/OiBzdHJpbmc7XG4gIHN1Ym5ldFR5cGU/OiBTdWJuZXRUeXBlO1xufVxuXG5pbnRlcmZhY2UgTmV3VnBjQ29uZmlnIHtcbiAgc3VibmV0VHlwZTogU3VibmV0VHlwZTtcbn1cblxuZXhwb3J0IHR5cGUgVnBjUHJvcHMgPSBFeGlzdGluZ1ZwY0NvbmZpZyB8IE5ld1ZwY0NvbmZpZztcblxuaW50ZXJmYWNlIEVjMkluc3RhbmNlUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgc3BvdENhcGFjaXR5UGVyY2VudGFnZT86IG51bWJlcjtcbiAgYmxvY2tEZXZpY2VzPzogQmxvY2tEZXZpY2VbXTtcbiAgYWNjb3VudElkPzogc3RyaW5nO1xuICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICB2cGM6IFZwY1Byb3BzO1xuICBtaW5DYXBjaXR5PzogbnVtYmVyO1xuICBtYXhDYXBhY2l0eT86IG51bWJlcjtcbiAgaW5zdGFuY2VUeXBlOiBzdHJpbmc7XG4gIG1hY2hpbmVJbWFnZT86IElNYWNoaW5lSW1hZ2U7XG4gIHVzZXJEYXRhPzogVXNlckRhdGE7XG4gIHJvbGU/OiBSb2xlO1xuICBlbmFibGVTU0g/OiBib29sZWFuO1xuICB0YWdzOiBLZXlWYWx1ZTtcbn1cblxuZXhwb3J0IGNsYXNzIEVjMkluc3RhbmNlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUNvbm5lY3RhYmxlIHtcbiAgcHJpdmF0ZSBsYXVuY2hUZW1wbGF0ZTogTGF1bmNoVGVtcGxhdGU7XG4gIHB1YmxpYyB2cGM6IElWcGM7XG4gIHB1YmxpYyBhc2dTZWN1cml0eUdyb3VwOiBTZWN1cml0eUdyb3VwO1xuICBwcml2YXRlIGF1dG9TY2FsaW5nR3JvdXA6IEF1dG9TY2FsaW5nR3JvdXA7XG4gIHByaXZhdGUga2V5UGFpcjogSUtleVBhaXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEVjMkluc3RhbmNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5hZGRWcGMocHJvcHMpO1xuICAgIGlmIChwcm9wcy5lbmFibGVTU0gpIHtcbiAgICAgIHRoaXMuYWRkS2V5UGFpcihwcm9wcyk7XG4gICAgfVxuICAgIHRoaXMuYWRkTGF1bmNoVGVtcGxhdGUocHJvcHMpO1xuICAgIHRoaXMuYWRkQXV0b1NjYWxpbmdHcm91cChwcm9wcyk7XG4gICAgdGhpcy5zdXNwZW5kQXV0b1NjYWxpbmcoKTtcblxuICAgIC8vVE9ETzogQWRkIGxvYWQgYmFsYW5jZXIgYXMgYm9vbGVhbiBwcm9wLCB0aGVuIGNvbmZpZ3VyZSBsb2FkIGJhbGFuY2VyXG4gIH1cbiAgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuXG4gIGFkZFZwYyhwcm9wczogRWMySW5zdGFuY2VQcm9wcykge1xuICAgIGlmIChcInZwY0lkXCIgaW4gcHJvcHMudnBjKSB7XG4gICAgICB0aGlzLnZwYyA9IFZwYy5mcm9tTG9va3VwKHRoaXMsIGAke3Byb3BzLnNlcnZpY2VOYW1lfVZwY2AsIHtcbiAgICAgICAgdnBjSWQ6IHByb3BzLnZwYy52cGNJZFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudnBjID0gbmV3IFZwYyh0aGlzLCBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1WcGNgLCB7XG4gICAgICAgIGFjY291bnRJZDogcHJvcHMuYWNjb3VudElkLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzLFxuICAgICAgICBzdWJuZXRDb25maWd1cmF0aW9uOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogYCR7cHJvcHMuc2VydmljZU5hbWV9YCxcbiAgICAgICAgICAgIHN1Ym5ldFR5cGU6IHByb3BzLnZwYy5zdWJuZXRUeXBlIHx8IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYWRkS2V5UGFpcihwcm9wczogRWMySW5zdGFuY2VQcm9wcykge1xuICAgIC8vIFRPRE86IEJyZWFrb3V0IGludG8gYSBzZXBlcmF0ZSBjb25zdHJ1Y3QgZm9yIHVzZSB3aXRoIGJldHRlciBwcm9wIGhhbmRsaW5nXG4gICAgdGhpcy5rZXlQYWlyID0gbmV3IEtleVBhaXIodGhpcywgXCJLZXlQYWlyXCIsIHtcbiAgICAgIGtleVBhaXJOYW1lOiBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1LZXlQYWlyYFxuICAgIH0pO1xuICB9XG5cbiAgYWRkTGF1bmNoVGVtcGxhdGUocHJvcHM6IEVjMkluc3RhbmNlUHJvcHMpIHtcbiAgICB0aGlzLmFzZ1NlY3VyaXR5R3JvdXAgPSBuZXcgU2VjdXJpdHlHcm91cCh0aGlzLCBgQXNnU2VjdXJpdHlHcm91cGAsIHtcbiAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICBkZXNjcmlwdGlvbjogYFNlY3VyaXR5IGdyb3VwIGZvciB0aGUgJHtwcm9wcy5zZXJ2aWNlTmFtZX0gYXV0byBzY2FsaW5nIGdyb3VwYFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLmVuYWJsZVNTSCkge1xuICAgICAgdGhpcy5hc2dTZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKFxuICAgICAgICBQZWVyLmFueUlwdjQoKSxcbiAgICAgICAgUG9ydC50Y3AoMjIpLFxuICAgICAgICBcIkFsbG93IFNTSFwiXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMubGF1bmNoVGVtcGxhdGUgPSBuZXcgTGF1bmNoVGVtcGxhdGUodGhpcywgXCJMYXVuY2hUZW1wbGF0ZVwiLCB7XG4gICAgICBsYXVuY2hUZW1wbGF0ZU5hbWU6IGAke3Byb3BzLnNlcnZpY2VOYW1lfUxhdW5jaFRlbXBsYXRlYCxcbiAgICAgIGluc3RhbmNlVHlwZTogbmV3IEluc3RhbmNlVHlwZShgJHtwcm9wcy5pbnN0YW5jZVR5cGV9YCksXG4gICAgICBtYWNoaW5lSW1hZ2U6IHByb3BzLm1hY2hpbmVJbWFnZSB8fCBNYWNoaW5lSW1hZ2UubGF0ZXN0QW1hem9uTGludXgyKCksXG4gICAgICB1c2VyRGF0YTogcHJvcHMudXNlckRhdGEsXG4gICAgICByb2xlOiBwcm9wcy5yb2xlLFxuICAgICAgYmxvY2tEZXZpY2VzOiBwcm9wcz8uYmxvY2tEZXZpY2VzLFxuICAgICAgc2VjdXJpdHlHcm91cDogdGhpcy5hc2dTZWN1cml0eUdyb3VwLFxuICAgICAgZGV0YWlsZWRNb25pdG9yaW5nOiB0cnVlLFxuICAgICAgcmVxdWlyZUltZHN2MjogdHJ1ZSxcbiAgICAgIGh0dHBQdXRSZXNwb25zZUhvcExpbWl0OiAyLFxuICAgICAgaHR0cFRva2VuczogTGF1bmNoVGVtcGxhdGVIdHRwVG9rZW5zLlJFUVVJUkVELFxuICAgICAgaW5zdGFuY2VNZXRhZGF0YVRhZ3M6IHRydWUsXG4gICAgICBrZXlQYWlyOiB0aGlzLmtleVBhaXJcbiAgICB9KTtcbiAgfVxuXG4gIGFkZEF1dG9TY2FsaW5nR3JvdXAocHJvcHM6IEVjMkluc3RhbmNlUHJvcHMpIHtcbiAgICAvLyBUT0RPOiBTdXBwb3J0IHNwb3QgaW5zdGFuY2VzXG4gICAgLy8gVE9ETzogSGFuZGxlIHRlcm1pbmF0aW5nIEVDMiBpbnN0YW5jZXMgd2hlbiB1cGRhdGluZywgY3VycmVudGx5IGhhbmdzLlxuICAgIHRoaXMuYXV0b1NjYWxpbmdHcm91cCA9IG5ldyBBdXRvU2NhbGluZ0dyb3VwKHRoaXMsIFwiQXV0b1NjYWxpbmdHcm91cFwiLCB7XG4gICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICBzdWJuZXRUeXBlOiBwcm9wcy5lbmFibGVTU0ggPyBTdWJuZXRUeXBlLlBVQkxJQyA6IHVuZGVmaW5lZFxuICAgICAgfSxcbiAgICAgIG1pbkNhcGFjaXR5OiBwcm9wcy5taW5DYXBjaXR5LFxuICAgICAgbWF4Q2FwYWNpdHk6IHByb3BzLm1heENhcGFjaXR5LFxuICAgICAgbGF1bmNoVGVtcGxhdGU6IHRoaXMubGF1bmNoVGVtcGxhdGUsXG4gICAgICBjb29sZG93bjogRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICBncm91cE1ldHJpY3M6IFtHcm91cE1ldHJpY3MuYWxsKCldLFxuICAgICAgdXBkYXRlUG9saWN5OiBVcGRhdGVQb2xpY3kucmVwbGFjaW5nVXBkYXRlKCksXG4gICAgICBuZXdJbnN0YW5jZXNQcm90ZWN0ZWRGcm9tU2NhbGVJbjogdHJ1ZSxcbiAgICAgIC8vIHNlY3VyaXR5R3JvdXA6IHRoaXMuYXNnU2VjdXJpdHlHcm91cCxcbiAgICAgIHRlcm1pbmF0aW9uUG9saWNpZXM6IFtcbiAgICAgICAgVGVybWluYXRpb25Qb2xpY3kuT0xERVNUX0xBVU5DSF9DT05GSUdVUkFUSU9OLFxuICAgICAgICBUZXJtaW5hdGlvblBvbGljeS5DTE9TRVNUX1RPX05FWFRfSU5TVEFOQ0VfSE9VUlxuICAgICAgXSxcbiAgICAgIHNzbVNlc3Npb25QZXJtaXNzaW9uczogdHJ1ZVxuICAgIH0pO1xuICAgIHRhZ1Jlc291cmNlKHRoaXMuYXV0b1NjYWxpbmdHcm91cCwgcHJvcHMudGFncyk7XG4gIH1cblxuICBzdXNwZW5kQXV0b1NjYWxpbmcoKSB7XG4gICAgbmV3IEF3c0N1c3RvbVJlc291cmNlKHRoaXMsIFwiU3VzcGVuZEF1dG9zY2FsaW5nXCIsIHtcbiAgICAgIGZ1bmN0aW9uTmFtZTogXCJzdXNwZW5kQXV0b1NjYWxpbmdcIixcbiAgICAgIG9uQ3JlYXRlOiB7XG4gICAgICAgIHNlcnZpY2U6IFwiQXV0b1NjYWxpbmdcIixcbiAgICAgICAgYWN0aW9uOiBcInN1c3BlbmRQcm9jZXNzZXNcIixcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIEF1dG9TY2FsaW5nR3JvdXBOYW1lOiB0aGlzLmF1dG9TY2FsaW5nR3JvdXAuYXV0b1NjYWxpbmdHcm91cE5hbWUsXG4gICAgICAgICAgU2NhbGluZ1Byb2Nlc3NlczogW1wiQVpSZWJhbGFuY2VcIl1cbiAgICAgICAgfSxcbiAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBQaHlzaWNhbFJlc291cmNlSWQub2YoXCJzdXNwZW5kQXV0b1NjYWxpbmdcIilcbiAgICAgIH0sXG4gICAgICBvblVwZGF0ZToge1xuICAgICAgICBzZXJ2aWNlOiBcIkF1dG9TY2FsaW5nXCIsXG4gICAgICAgIGFjdGlvbjogXCJzdXNwZW5kUHJvY2Vzc2VzXCIsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBBdXRvU2NhbGluZ0dyb3VwTmFtZTogdGhpcy5hdXRvU2NhbGluZ0dyb3VwLmF1dG9TY2FsaW5nR3JvdXBOYW1lLFxuICAgICAgICAgIFNjYWxpbmdQcm9jZXNzZXM6IFtcIkFaUmViYWxhbmNlXCJdXG4gICAgICAgIH0sXG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogUGh5c2ljYWxSZXNvdXJjZUlkLm9mKFwic3VzcGVuZEF1dG9TY2FsaW5nXCIpXG4gICAgICB9LFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6c3VzcGVuZEF1dG9zY2FsaW5nXCJcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -115,8 +115,8 @@ class RdsAuroraGlobal extends constructs_1.Construct {
115
115
  });
116
116
  // set the L1 DBCluster property so CloudFormation will join it to the global cluster
117
117
  if (this.regionalCluster) {
118
- const regionalL1 = this.regionalCluster.node
119
- .defaultChild;
118
+ const regionalL1 = this.regionalCluster.getCfnCluster &&
119
+ this.regionalCluster.getCfnCluster();
120
120
  if (regionalL1) {
121
121
  regionalL1.globalClusterIdentifier = this.globalId;
122
122
  }
@@ -153,4 +153,4 @@ class RdsAuroraGlobal extends constructs_1.Construct {
153
153
  }
154
154
  }
155
155
  exports.RdsAuroraGlobal = RdsAuroraGlobal;
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzQXVyb3JhR2xvYmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvZGF0YWJhc2UvcmRzQXVyb3JhR2xvYmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUErQztBQUMvQyxpREFBcUU7QUFDckUsMkNBQXVDO0FBR3ZDLDJDQUF3QztBQWN4QyxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFVNUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzNDLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsUUFBUTtZQUNYLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLEVBQUU7Z0JBQzVDLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO1FBRS9DLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELHlCQUF5QjtJQUN6QiwwQkFBMEI7UUFDeEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCwyQkFBMkI7UUFDekIsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQztJQUNwRSxDQUFDO0lBRU8sNEJBQTRCO1FBQ2xDLGtGQUFrRjtRQUNsRixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQUUsT0FB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LEtBQUssQ0FBQyxZQUFZLCtCQUErQixFQUN6RDtZQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNwQixVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVkseUJBQXlCO1NBQ2hFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsY0FBYztZQUFFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyRSxJQUFJLElBQUksQ0FBQyxlQUFlO1lBQUUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsZUFBZTtZQUFFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4RSxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLGVBQWU7WUFBRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQXhMRCwwQ0F3TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDZm5HbG9iYWxDbHVzdGVyLCBDZm5EQkNsdXN0ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJkc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IElWcGMsIENvbm5lY3Rpb25zLCBJQ29ubmVjdGFibGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgSUNsdXN0ZXJFbmdpbmUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJkc1wiO1xuaW1wb3J0IHsgUmRzQXVyb3JhIH0gZnJvbSBcIi4vcmRzQXVyb3JhXCI7XG5pbXBvcnQgeyBTZWNyZXQgfSBmcm9tIFwiLi4vc2VjcmV0c1wiO1xuXG5pbnRlcmZhY2UgUmRzQXVyb3JhR2xvYmFsUHJvcHMge1xuICB2cGM6IElWcGM7XG4gIGRhdGFiYXNlTmFtZTogc3RyaW5nO1xuICAvKiogcHJpbWFyeSByZWdpb24gd2hlcmUgdGhlIGluaXRpYWwgY2x1c3RlciAmIGdsb2JhbCBjbHVzdGVyIHJlc291cmNlIGFyZSBjcmVhdGVkICovXG4gIHByaW1hcnlSZWdpb246IHN0cmluZztcbiAgLyoqIG9wdGlvbmFsIGRldGVybWluaXN0aWMgaWQgZm9yIHRoZSBnbG9iYWwgY2x1c3RlciAoc2hvdWxkIGJlIHNoYXJlZCBhY3Jvc3Mgc3RhY2tzL3JlZ2lvbnMpICovXG4gIGdsb2JhbENsdXN0ZXJJZGVudGlmaWVyPzogc3RyaW5nO1xuICAvKiogb3B0aW9uYWwgZW5naW5lIHRvIGZvcndhcmQgdG8gdGhlIHVuZGVybHlpbmcgY2x1c3RlciAqL1xuICBlbmdpbmU/OiBJQ2x1c3RlckVuZ2luZTtcbn1cblxuZXhwb3J0IGNsYXNzIFJkc0F1cm9yYUdsb2JhbCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElDb25uZWN0YWJsZSB7XG4gIHB1YmxpYyBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG5cbiAgcHJpdmF0ZSBnbG9iYWxDbHVzdGVyPzogQ2ZuR2xvYmFsQ2x1c3RlcjtcbiAgcHJpdmF0ZSBwcmltYXJ5Q2x1c3Rlcj86IFJkc0F1cm9yYTtcbiAgcHJpdmF0ZSByZWdpb25hbENsdXN0ZXI/OiBSZHNBdXJvcmE7XG4gIHByaXZhdGUgcHJvcHM6IFJkc0F1cm9yYUdsb2JhbFByb3BzO1xuICBwcml2YXRlIGN1cnJlbnRSZWdpb246IHN0cmluZztcbiAgcHJpdmF0ZSBnbG9iYWxJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZHNBdXJvcmFHbG9iYWxQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5jdXJyZW50UmVnaW9uID0gU3RhY2sub2YodGhpcykucmVnaW9uO1xuICAgIC8vIEVuc3VyZSBnbG9iYWwgY2x1c3RlciBpZGVudGlmaWVyIGlzIGxvd2VyY2FzZSBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBpZGVudGlmaWVyc1xuICAgIHRoaXMuZ2xvYmFsSWQgPVxuICAgICAgcHJvcHMuZ2xvYmFsQ2x1c3RlcklkZW50aWZpZXI/LnRvTG93ZXJDYXNlKCkgfHxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZS50b0xvd2VyQ2FzZSgpfS1nbG9iYWxgO1xuXG4gICAgLy8gY3JlYXRlIGNsdXN0ZXJzIC8gZ2xvYmFsIGNsdXN0ZXIgZGVwZW5kaW5nIG9uIHJlZ2lvblxuICAgIHRoaXMuYWRkQXVyb3JhQ2x1c3RlcigpO1xuICAgIHRoaXMuYWRkR2xvYmFsQ2x1c3RlcigpO1xuICAgIHRoaXMuYWRkT3V0cHV0cygpO1xuICB9XG5cbiAgLy8gLS0tIHB1YmxpYyBoZWxwZXJzIC0tLVxuICBnZXRHbG9iYWxDbHVzdGVySWRlbnRpZmllcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdsb2JhbElkO1xuICB9XG5cbiAgZ2V0UHJpbWFyeUNsdXN0ZXJJZGVudGlmaWVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucHJvcHMuZGF0YWJhc2VOYW1lLnRvTG93ZXJDYXNlKCl9LXByaW1hcnktY2x1c3RlcmA7XG4gIH1cblxuICBwcml2YXRlIGdldEdsb2JhbENsdXN0ZXJFbmdpbmVTdHJpbmcoKTogc3RyaW5nIHtcbiAgICAvLyBEZWZhdWx0IHRvIGF1cm9yYS1wb3N0Z3Jlc3FsIGlmIG5vIGVuZ2luZSBzcGVjaWZpZWQgKG1hdGNoZXMgZXhpc3RpbmcgYmVoYXZpb3IpXG4gICAgaWYgKCF0aGlzLnByb3BzLmVuZ2luZSkgcmV0dXJuIFwiYXVyb3JhLXBvc3RncmVzcWxcIjtcblxuICAgIGNvbnN0IGVuZ2luZU9iajogYW55ID0gdGhpcy5wcm9wcy5lbmdpbmUgYXMgYW55O1xuXG4gICAgLy8gVHJ5IGNvbW1vbiBsb2NhdGlvbnMgZm9yIHRoZSBlbmdpbmUgaWRlbnRpZmllclxuICAgIGxldCBlbmdpbmVUeXBlOiB1bmtub3duID1cbiAgICAgIGVuZ2luZU9iai5lbmdpbmVUeXBlID8/IGVuZ2luZU9iai5lbmdpbmUgPz8gZW5naW5lT2JqLm5hbWU7XG5cbiAgICAvLyBJZiB0aGUgZW5naW5lIHdhcyBwcm92aWRlZCBhcyBhIHJhdyBzdHJpbmcgKHVubGlrZWx5IGJ1dCBzdXBwb3J0IGl0KVxuICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5lbmdpbmUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGVuZ2luZVR5cGUgPSB0aGlzLnByb3BzLmVuZ2luZTtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFjayB0byB0b1N0cmluZygpIGZvciBUb2tlbi1saWtlIG9iamVjdHNcbiAgICBpZiAoIWVuZ2luZVR5cGUgJiYgdHlwZW9mIGVuZ2luZU9iai50b1N0cmluZyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICB0cnkge1xuICAgICAgICBlbmdpbmVUeXBlID0gZW5naW5lT2JqLnRvU3RyaW5nKCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGVuZ2luZVR5cGUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBlbmdpbmVUeXBlICE9PSBcInN0cmluZ1wiKSByZXR1cm4gXCJhdXJvcmEtcG9zdGdyZXNxbFwiO1xuXG4gICAgLy8gTm9ybWFsaXplIGNvbW1vbiBmb3JtczogQVVST1JBX1BPU1RHUkVTUUwgLT4gYXVyb3JhLXBvc3RncmVzcWwsIGF1cm9yYV9wb3N0Z3Jlc3FsIC0+IGF1cm9yYS1wb3N0Z3Jlc3FsXG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IGVuZ2luZVR5cGUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9fL2csIFwiLVwiKTtcblxuICAgIC8vIElmIHRoZSBub3JtYWxpemVkIHZhbHVlIGlzIGp1c3QgJ2F1cm9yYScsIHByZWZlciB0aGUgbW9yZSBzcGVjaWZpYyBwb3N0Z3JlcyBkZWZhdWx0XG4gICAgaWYgKG5vcm1hbGl6ZWQgPT09IFwiYXVyb3JhXCIpIHJldHVybiBcImF1cm9yYS1wb3N0Z3Jlc3FsXCI7XG5cbiAgICByZXR1cm4gbm9ybWFsaXplZDtcbiAgfVxuXG4gIC8vIGNyZWF0ZSB0aGUgQ2ZuR2xvYmFsQ2x1c3RlciBvbmx5IGluIHRoZSBwcmltYXJ5IHJlZ2lvblxuICBhZGRHbG9iYWxDbHVzdGVyKCkge1xuICAgIGlmICh0aGlzLnByb3BzLnByaW1hcnlSZWdpb24gIT09IHRoaXMuY3VycmVudFJlZ2lvbikgcmV0dXJuO1xuXG4gICAgLy8gY3JlYXRlIHRoZSBnbG9iYWwgY2x1c3RlciByZXNvdXJjZSByZWZlcmVuY2luZyB0aGUgcHJpbWFyeSBjbHVzdGVyIGlkZW50aWZpZXJcbiAgICAvLyBQcmVmZXIgcmVmZXJlbmNpbmcgdGhlIEwxIERCQ2x1c3RlciBSZWYgc28gQ2xvdWRGb3JtYXRpb24gd2lsbCBjcmVhdGUgdGhlXG4gICAgLy8gREJDbHVzdGVyIGZpcnN0IGFuZCB3ZSBhdm9pZCBpZGVudGlmaWVyLWNhc2luZyBtaXNtYXRjaGVzLlxuICAgIGxldCBzb3VyY2VJZGVudGlmaWVyOiBhbnkgPSB0aGlzLmdldFByaW1hcnlDbHVzdGVySWRlbnRpZmllcigpO1xuICAgIGxldCBwcmltYXJ5TDE6IENmbkRCQ2x1c3RlciB8IHVuZGVmaW5lZDtcblxuICAgIGlmICh0aGlzLnByaW1hcnlDbHVzdGVyKSB7XG4gICAgICAvLyBVc2UgdGhlIGhlbHBlciBvbiBSZHNBdXJvcmEgdG8gZ2V0IHRoZSB1bmRlcmx5aW5nIEwxIERCQ2x1c3RlciAobW9yZSByZWxpYWJsZVxuICAgICAgLy8gdGhhbiByZWx5aW5nIG9uIG5vZGUuZGVmYXVsdENoaWxkIHdoaWNoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBjb25zdHJ1Y3Qgb3JkZXJpbmcpXG4gICAgICBwcmltYXJ5TDEgPVxuICAgICAgICB0aGlzLnByaW1hcnlDbHVzdGVyLmdldENmbkNsdXN0ZXIgJiZcbiAgICAgICAgdGhpcy5wcmltYXJ5Q2x1c3Rlci5nZXRDZm5DbHVzdGVyKCk7XG4gICAgICBpZiAocHJpbWFyeUwxKSB7XG4gICAgICAgIHNvdXJjZUlkZW50aWZpZXIgPSBwcmltYXJ5TDEucmVmO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZ2xvYmFsQ2x1c3RlciA9IG5ldyBDZm5HbG9iYWxDbHVzdGVyKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3RoaXMucHJvcHMuZGF0YWJhc2VOYW1lfUdsb2JhbENsdXN0ZXJgLFxuICAgICAge1xuICAgICAgICBnbG9iYWxDbHVzdGVySWRlbnRpZmllcjogdGhpcy5nbG9iYWxJZCxcbiAgICAgICAgc291cmNlRGJDbHVzdGVySWRlbnRpZmllcjogc291cmNlSWRlbnRpZmllclxuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBlbnN1cmUgdGhlIHVuZGVybHlpbmcgcHJpbWFyeSBEQkNsdXN0ZXIgTDEgaGFzIHRoZSBnbG9iYWxDbHVzdGVySWRlbnRpZmllciBzZXRcbiAgICBpZiAocHJpbWFyeUwxKSB7XG4gICAgICAvLyBNYWtlIHRoZSBDRk4gZGVwZW5kZW5jeSBleHBsaWNpdCBzbyB0aGUgREJDbHVzdGVyIGlzIGNyZWF0ZWQgYmVmb3JlIHRoZSBHbG9iYWxDbHVzdGVyXG4gICAgICB0aGlzLmdsb2JhbENsdXN0ZXIuYWRkRGVwZW5kc09uKHByaW1hcnlMMSk7XG4gICAgICAvLyBJTVBPUlRBTlQ6IGRvIE5PVCBzZXQgdGhlIHByaW1hcnkgREJDbHVzdGVyJ3MgYGdsb2JhbENsdXN0ZXJJZGVudGlmaWVyYCBoZXJlLlxuICAgICAgLy8gSWYgd2Ugc2V0IHRoZSBwcmltYXJ5IERCQ2x1c3RlciB0byByZWZlcmVuY2UgdGhlIGdsb2JhbCBjbHVzdGVyLCBDbG91ZEZvcm1hdGlvblxuICAgICAgLy8gd2lsbCBhdHRlbXB0IHRvIHZhbGlkYXRlIHRoYXQgdGhlIGdsb2JhbCBjbHVzdGVyIGV4aXN0cyB3aGVuIGNyZWF0aW5nIHRoZVxuICAgICAgLy8gREJDbHVzdGVyIOKAlCBidXQgdGhlIGdsb2JhbCBjbHVzdGVyIGlzIGNyZWF0ZWQgYWZ0ZXJ3YXJkICh3ZSBhZGQgYVxuICAgICAgLy8gZGVwZW5kc09uKSwgd2hpY2ggY2F1c2VzIGEgXCJHbG9iYWwgY2x1c3RlciAuLi4gbm90IGZvdW5kXCIgZXJyb3IuIFRoZVxuICAgICAgLy8gY29ycmVjdCBvcmRlciBpcyB0byBjcmVhdGUgdGhlIERCQ2x1c3RlciBmaXJzdCwgdGhlbiBjcmVhdGUgdGhlXG4gICAgICAvLyBDZm5HbG9iYWxDbHVzdGVyIHdpdGggYHNvdXJjZURiQ2x1c3RlcklkZW50aWZpZXJgIHBvaW50aW5nIGF0IHRoZVxuICAgICAgLy8gcHJpbWFyeSBjbHVzdGVyJ3MgUmVmLiBMZWF2aW5nIHRoZSBwcmltYXJ5IEwxIHdpdGhvdXQgdGhlXG4gICAgICAvLyBgZ2xvYmFsQ2x1c3RlcklkZW50aWZpZXJgIGF2b2lkcyB0aGUgY2lyY3VsYXIgcmVmZXJlbmNlLlxuICAgIH1cbiAgfVxuXG4gIC8vIGNyZWF0ZSBhbiBBdXJvcmEgY2x1c3RlciBpbiB0aGlzIHJlZ2lvbiAocHJpbWFyeSBvciBzZWNvbmRhcnkpXG4gIGFkZEF1cm9yYUNsdXN0ZXIoKSB7XG4gICAgaWYgKHRoaXMucHJvcHMucHJpbWFyeVJlZ2lvbiA9PT0gdGhpcy5jdXJyZW50UmVnaW9uKSB7XG4gICAgICAvLyBwcmltYXJ5XG4gICAgICB0aGlzLnByaW1hcnlDbHVzdGVyID0gbmV3IFJkc0F1cm9yYShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYCR7dGhpcy5wcm9wcy5kYXRhYmFzZU5hbWV9UHJpbWFyeWAsXG4gICAgICAgIHtcbiAgICAgICAgICB2cGM6IHRoaXMucHJvcHMudnBjLFxuICAgICAgICAgIGRhdGFiYXNlTmFtZTogdGhpcy5wcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICAgICAgZW5naW5lOiB0aGlzLnByb3BzLmVuZ2luZSxcbiAgICAgICAgICBjbHVzdGVySWRlbnRpZmllcjogdGhpcy5nZXRQcmltYXJ5Q2x1c3RlcklkZW50aWZpZXIoKVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMucHJpbWFyeUNsdXN0ZXIuY29ubmVjdGlvbnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHNlY29uZGFyeSByZWdpb25cbiAgICAgIHRoaXMucmVnaW9uYWxDbHVzdGVyID0gbmV3IFJkc0F1cm9yYShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYCR7dGhpcy5wcm9wcy5kYXRhYmFzZU5hbWV9UmVnaW9uYWxgLFxuICAgICAgICB7XG4gICAgICAgICAgdnBjOiB0aGlzLnByb3BzLnZwYyxcbiAgICAgICAgICBkYXRhYmFzZU5hbWU6IHRoaXMucHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICAgIGVuZ2luZTogdGhpcy5wcm9wcy5lbmdpbmUsXG4gICAgICAgICAgY2x1c3RlcklkZW50aWZpZXI6IGAke3RoaXMucHJvcHMuZGF0YWJhc2VOYW1lfS1zZWNvbmRhcnktJHt0aGlzLmN1cnJlbnRSZWdpb259YFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICAvLyBzZXQgdGhlIEwxIERCQ2x1c3RlciBwcm9wZXJ0eSBzbyBDbG91ZEZvcm1hdGlvbiB3aWxsIGpvaW4gaXQgdG8gdGhlIGdsb2JhbCBjbHVzdGVyXG4gICAgICBpZiAodGhpcy5yZWdpb25hbENsdXN0ZXIpIHtcbiAgICAgICAgY29uc3QgcmVnaW9uYWxMMSA9IHRoaXMucmVnaW9uYWxDbHVzdGVyLm5vZGVcbiAgICAgICAgICAuZGVmYXVsdENoaWxkIGFzIENmbkRCQ2x1c3RlcjtcbiAgICAgICAgaWYgKHJlZ2lvbmFsTDEpIHtcbiAgICAgICAgICByZWdpb25hbEwxLmdsb2JhbENsdXN0ZXJJZGVudGlmaWVyID0gdGhpcy5nbG9iYWxJZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5yZWdpb25hbENsdXN0ZXIuY29ubmVjdGlvbnM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkT3V0cHV0cygpIHtcbiAgICBuZXcgQ2ZuT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3RoaXMucHJvcHMuZGF0YWJhc2VOYW1lfUdsb2JhbENsdXN0ZXJJZGVudGlmaWVyT3V0cHV0YCxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHRoaXMuZ2xvYmFsSWQsXG4gICAgICAgIGV4cG9ydE5hbWU6IGAke3RoaXMucHJvcHMuZGF0YWJhc2VOYW1lfUdsb2JhbENsdXN0ZXJJZGVudGlmaWVyYFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBnZXRDcmVkZW50aWFscygpOiBTZWNyZXQge1xuICAgIGlmICh0aGlzLnByaW1hcnlDbHVzdGVyKSByZXR1cm4gdGhpcy5wcmltYXJ5Q2x1c3Rlci5nZXRDcmVkZW50aWFscygpO1xuICAgIGlmICh0aGlzLnJlZ2lvbmFsQ2x1c3RlcikgcmV0dXJuIHRoaXMucmVnaW9uYWxDbHVzdGVyLmdldENyZWRlbnRpYWxzKCk7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gQXVyb3JhIGNsdXN0ZXIgYXZhaWxhYmxlIHRvIHJldHVybiBjcmVkZW50aWFscyBmcm9tXCIpO1xuICB9XG5cbiAgZ2V0SG9zdEVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucHJpbWFyeUNsdXN0ZXIpIHJldHVybiB0aGlzLnByaW1hcnlDbHVzdGVyLmdldEhvc3RFbmRwb2ludCgpO1xuICAgIGlmICh0aGlzLnJlZ2lvbmFsQ2x1c3RlcikgcmV0dXJuIHRoaXMucmVnaW9uYWxDbHVzdGVyLmdldEhvc3RFbmRwb2ludCgpO1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vIEF1cm9yYSBjbHVzdGVyIGF2YWlsYWJsZSB0byByZXR1cm4gZW5kcG9pbnQgZnJvbVwiKTtcbiAgfVxuXG4gIGdldEhvc3RQb3J0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucHJpbWFyeUNsdXN0ZXIpIHJldHVybiB0aGlzLnByaW1hcnlDbHVzdGVyLmdldEhvc3RQb3J0KCk7XG4gICAgaWYgKHRoaXMucmVnaW9uYWxDbHVzdGVyKSByZXR1cm4gdGhpcy5yZWdpb25hbENsdXN0ZXIuZ2V0SG9zdFBvcnQoKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBBdXJvcmEgY2x1c3RlciBhdmFpbGFibGUgdG8gcmV0dXJuIHBvcnQgZnJvbVwiKTtcbiAgfVxufVxuIl19
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzQXVyb3JhR2xvYmFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvZGF0YWJhc2UvcmRzQXVyb3JhR2xvYmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUErQztBQUMvQyxpREFBcUU7QUFDckUsMkNBQXVDO0FBR3ZDLDJDQUF3QztBQWN4QyxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFVNUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQzNDLHVGQUF1RjtRQUN2RixJQUFJLENBQUMsUUFBUTtZQUNYLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxXQUFXLEVBQUU7Z0JBQzVDLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO1FBRS9DLHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELHlCQUF5QjtJQUN6QiwwQkFBMEI7UUFDeEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCwyQkFBMkI7UUFDekIsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQztJQUNwRSxDQUFDO0lBRU8sNEJBQTRCO1FBQ2xDLGtGQUFrRjtRQUNsRixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQUUsT0FB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SUFBSSxFQUNKLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLCtCQUErQixFQUN6RDtZQUNFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNwQixVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVkseUJBQXlCO1NBQ2hFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsY0FBYztZQUFFLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyRSxJQUFJLElBQUksQ0FBQyxlQUFlO1lBQUUsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLGNBQWM7WUFBRSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsZUFBZTtZQUFFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4RSxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxjQUFjO1lBQUUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLGVBQWU7WUFBRSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQXpMRCwwQ0F5TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDZm5HbG9iYWxDbHVzdGVyLCBDZm5EQkNsdXN0ZXIgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJkc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IElWcGMsIENvbm5lY3Rpb25zLCBJQ29ubmVjdGFibGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgSUNsdXN0ZXJFbmdpbmUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJkc1wiO1xuaW1wb3J0IHsgUmRzQXVyb3JhIH0gZnJvbSBcIi4vcmRzQXVyb3JhXCI7XG5pbXBvcnQgeyBTZWNyZXQgfSBmcm9tIFwiLi4vc2VjcmV0c1wiO1xuXG5pbnRlcmZhY2UgUmRzQXVyb3JhR2xvYmFsUHJvcHMge1xuICB2cGM6IElWcGM7XG4gIGRhdGFiYXNlTmFtZTogc3RyaW5nO1xuICAvKiogcHJpbWFyeSByZWdpb24gd2hlcmUgdGhlIGluaXRpYWwgY2x1c3RlciAmIGdsb2JhbCBjbHVzdGVyIHJlc291cmNlIGFyZSBjcmVhdGVkICovXG4gIHByaW1hcnlSZWdpb246IHN0cmluZztcbiAgLyoqIG9wdGlvbmFsIGRldGVybWluaXN0aWMgaWQgZm9yIHRoZSBnbG9iYWwgY2x1c3RlciAoc2hvdWxkIGJlIHNoYXJlZCBhY3Jvc3Mgc3RhY2tzL3JlZ2lvbnMpICovXG4gIGdsb2JhbENsdXN0ZXJJZGVudGlmaWVyPzogc3RyaW5nO1xuICAvKiogb3B0aW9uYWwgZW5naW5lIHRvIGZvcndhcmQgdG8gdGhlIHVuZGVybHlpbmcgY2x1c3RlciAqL1xuICBlbmdpbmU/OiBJQ2x1c3RlckVuZ2luZTtcbn1cblxuZXhwb3J0IGNsYXNzIFJkc0F1cm9yYUdsb2JhbCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElDb25uZWN0YWJsZSB7XG4gIHB1YmxpYyBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG5cbiAgcHJpdmF0ZSBnbG9iYWxDbHVzdGVyPzogQ2ZuR2xvYmFsQ2x1c3RlcjtcbiAgcHJpdmF0ZSBwcmltYXJ5Q2x1c3Rlcj86IFJkc0F1cm9yYTtcbiAgcHJpdmF0ZSByZWdpb25hbENsdXN0ZXI/OiBSZHNBdXJvcmE7XG4gIHByaXZhdGUgcHJvcHM6IFJkc0F1cm9yYUdsb2JhbFByb3BzO1xuICBwcml2YXRlIGN1cnJlbnRSZWdpb246IHN0cmluZztcbiAgcHJpdmF0ZSBnbG9iYWxJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZHNBdXJvcmFHbG9iYWxQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5jdXJyZW50UmVnaW9uID0gU3RhY2sub2YodGhpcykucmVnaW9uO1xuICAgIC8vIEVuc3VyZSBnbG9iYWwgY2x1c3RlciBpZGVudGlmaWVyIGlzIGxvd2VyY2FzZSBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBpZGVudGlmaWVyc1xuICAgIHRoaXMuZ2xvYmFsSWQgPVxuICAgICAgcHJvcHMuZ2xvYmFsQ2x1c3RlcklkZW50aWZpZXI/LnRvTG93ZXJDYXNlKCkgfHxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZS50b0xvd2VyQ2FzZSgpfS1nbG9iYWxgO1xuXG4gICAgLy8gY3JlYXRlIGNsdXN0ZXJzIC8gZ2xvYmFsIGNsdXN0ZXIgZGVwZW5kaW5nIG9uIHJlZ2lvblxuICAgIHRoaXMuYWRkQXVyb3JhQ2x1c3RlcigpO1xuICAgIHRoaXMuYWRkR2xvYmFsQ2x1c3RlcigpO1xuICAgIHRoaXMuYWRkT3V0cHV0cygpO1xuICB9XG5cbiAgLy8gLS0tIHB1YmxpYyBoZWxwZXJzIC0tLVxuICBnZXRHbG9iYWxDbHVzdGVySWRlbnRpZmllcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdsb2JhbElkO1xuICB9XG5cbiAgZ2V0UHJpbWFyeUNsdXN0ZXJJZGVudGlmaWVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMucHJvcHMuZGF0YWJhc2VOYW1lLnRvTG93ZXJDYXNlKCl9LXByaW1hcnktY2x1c3RlcmA7XG4gIH1cblxuICBwcml2YXRlIGdldEdsb2JhbENsdXN0ZXJFbmdpbmVTdHJpbmcoKTogc3RyaW5nIHtcbiAgICAvLyBEZWZhdWx0IHRvIGF1cm9yYS1wb3N0Z3Jlc3FsIGlmIG5vIGVuZ2luZSBzcGVjaWZpZWQgKG1hdGNoZXMgZXhpc3RpbmcgYmVoYXZpb3IpXG4gICAgaWYgKCF0aGlzLnByb3BzLmVuZ2luZSkgcmV0dXJuIFwiYXVyb3JhLXBvc3RncmVzcWxcIjtcblxuICAgIGNvbnN0IGVuZ2luZU9iajogYW55ID0gdGhpcy5wcm9wcy5lbmdpbmUgYXMgYW55O1xuXG4gICAgLy8gVHJ5IGNvbW1vbiBsb2NhdGlvbnMgZm9yIHRoZSBlbmdpbmUgaWRlbnRpZmllclxuICAgIGxldCBlbmdpbmVUeXBlOiB1bmtub3duID1cbiAgICAgIGVuZ2luZU9iai5lbmdpbmVUeXBlID8/IGVuZ2luZU9iai5lbmdpbmUgPz8gZW5naW5lT2JqLm5hbWU7XG5cbiAgICAvLyBJZiB0aGUgZW5naW5lIHdhcyBwcm92aWRlZCBhcyBhIHJhdyBzdHJpbmcgKHVubGlrZWx5IGJ1dCBzdXBwb3J0IGl0KVxuICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wcy5lbmdpbmUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIGVuZ2luZVR5cGUgPSB0aGlzLnByb3BzLmVuZ2luZTtcbiAgICB9XG5cbiAgICAvLyBGYWxsYmFjayB0byB0b1N0cmluZygpIGZvciBUb2tlbi1saWtlIG9iamVjdHNcbiAgICBpZiAoIWVuZ2luZVR5cGUgJiYgdHlwZW9mIGVuZ2luZU9iai50b1N0cmluZyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICB0cnkge1xuICAgICAgICBlbmdpbmVUeXBlID0gZW5naW5lT2JqLnRvU3RyaW5nKCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGVuZ2luZVR5cGUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBlbmdpbmVUeXBlICE9PSBcInN0cmluZ1wiKSByZXR1cm4gXCJhdXJvcmEtcG9zdGdyZXNxbFwiO1xuXG4gICAgLy8gTm9ybWFsaXplIGNvbW1vbiBmb3JtczogQVVST1JBX1BPU1RHUkVTUUwgLT4gYXVyb3JhLXBvc3RncmVzcWwsIGF1cm9yYV9wb3N0Z3Jlc3FsIC0+IGF1cm9yYS1wb3N0Z3Jlc3FsXG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IGVuZ2luZVR5cGUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9fL2csIFwiLVwiKTtcblxuICAgIC8vIElmIHRoZSBub3JtYWxpemVkIHZhbHVlIGlzIGp1c3QgJ2F1cm9yYScsIHByZWZlciB0aGUgbW9yZSBzcGVjaWZpYyBwb3N0Z3JlcyBkZWZhdWx0XG4gICAgaWYgKG5vcm1hbGl6ZWQgPT09IFwiYXVyb3JhXCIpIHJldHVybiBcImF1cm9yYS1wb3N0Z3Jlc3FsXCI7XG5cbiAgICByZXR1cm4gbm9ybWFsaXplZDtcbiAgfVxuXG4gIC8vIGNyZWF0ZSB0aGUgQ2ZuR2xvYmFsQ2x1c3RlciBvbmx5IGluIHRoZSBwcmltYXJ5IHJlZ2lvblxuICBhZGRHbG9iYWxDbHVzdGVyKCkge1xuICAgIGlmICh0aGlzLnByb3BzLnByaW1hcnlSZWdpb24gIT09IHRoaXMuY3VycmVudFJlZ2lvbikgcmV0dXJuO1xuXG4gICAgLy8gY3JlYXRlIHRoZSBnbG9iYWwgY2x1c3RlciByZXNvdXJjZSByZWZlcmVuY2luZyB0aGUgcHJpbWFyeSBjbHVzdGVyIGlkZW50aWZpZXJcbiAgICAvLyBQcmVmZXIgcmVmZXJlbmNpbmcgdGhlIEwxIERCQ2x1c3RlciBSZWYgc28gQ2xvdWRGb3JtYXRpb24gd2lsbCBjcmVhdGUgdGhlXG4gICAgLy8gREJDbHVzdGVyIGZpcnN0IGFuZCB3ZSBhdm9pZCBpZGVudGlmaWVyLWNhc2luZyBtaXNtYXRjaGVzLlxuICAgIGxldCBzb3VyY2VJZGVudGlmaWVyOiBhbnkgPSB0aGlzLmdldFByaW1hcnlDbHVzdGVySWRlbnRpZmllcigpO1xuICAgIGxldCBwcmltYXJ5TDE6IENmbkRCQ2x1c3RlciB8IHVuZGVmaW5lZDtcblxuICAgIGlmICh0aGlzLnByaW1hcnlDbHVzdGVyKSB7XG4gICAgICAvLyBVc2UgdGhlIGhlbHBlciBvbiBSZHNBdXJvcmEgdG8gZ2V0IHRoZSB1bmRlcmx5aW5nIEwxIERCQ2x1c3RlciAobW9yZSByZWxpYWJsZVxuICAgICAgLy8gdGhhbiByZWx5aW5nIG9uIG5vZGUuZGVmYXVsdENoaWxkIHdoaWNoIGNhbiB2YXJ5IGRlcGVuZGluZyBvbiBjb25zdHJ1Y3Qgb3JkZXJpbmcpXG4gICAgICBwcmltYXJ5TDEgPVxuICAgICAgICB0aGlzLnByaW1hcnlDbHVzdGVyLmdldENmbkNsdXN0ZXIgJiZcbiAgICAgICAgdGhpcy5wcmltYXJ5Q2x1c3Rlci5nZXRDZm5DbHVzdGVyKCk7XG4gICAgICBpZiAocHJpbWFyeUwxKSB7XG4gICAgICAgIHNvdXJjZUlkZW50aWZpZXIgPSBwcmltYXJ5TDEucmVmO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZ2xvYmFsQ2x1c3RlciA9IG5ldyBDZm5HbG9iYWxDbHVzdGVyKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3RoaXMucHJvcHMuZGF0YWJhc2VOYW1lfUdsb2JhbENsdXN0ZXJgLFxuICAgICAge1xuICAgICAgICBnbG9iYWxDbHVzdGVySWRlbnRpZmllcjogdGhpcy5nbG9iYWxJZCxcbiAgICAgICAgc291cmNlRGJDbHVzdGVySWRlbnRpZmllcjogc291cmNlSWRlbnRpZmllclxuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBlbnN1cmUgdGhlIHVuZGVybHlpbmcgcHJpbWFyeSBEQkNsdXN0ZXIgTDEgaGFzIHRoZSBnbG9iYWxDbHVzdGVySWRlbnRpZmllciBzZXRcbiAgICBpZiAocHJpbWFyeUwxKSB7XG4gICAgICAvLyBNYWtlIHRoZSBDRk4gZGVwZW5kZW5jeSBleHBsaWNpdCBzbyB0aGUgREJDbHVzdGVyIGlzIGNyZWF0ZWQgYmVmb3JlIHRoZSBHbG9iYWxDbHVzdGVyXG4gICAgICB0aGlzLmdsb2JhbENsdXN0ZXIuYWRkRGVwZW5kc09uKHByaW1hcnlMMSk7XG4gICAgICAvLyBJTVBPUlRBTlQ6IGRvIE5PVCBzZXQgdGhlIHByaW1hcnkgREJDbHVzdGVyJ3MgYGdsb2JhbENsdXN0ZXJJZGVudGlmaWVyYCBoZXJlLlxuICAgICAgLy8gSWYgd2Ugc2V0IHRoZSBwcmltYXJ5IERCQ2x1c3RlciB0byByZWZlcmVuY2UgdGhlIGdsb2JhbCBjbHVzdGVyLCBDbG91ZEZvcm1hdGlvblxuICAgICAgLy8gd2lsbCBhdHRlbXB0IHRvIHZhbGlkYXRlIHRoYXQgdGhlIGdsb2JhbCBjbHVzdGVyIGV4aXN0cyB3aGVuIGNyZWF0aW5nIHRoZVxuICAgICAgLy8gREJDbHVzdGVyIOKAlCBidXQgdGhlIGdsb2JhbCBjbHVzdGVyIGlzIGNyZWF0ZWQgYWZ0ZXJ3YXJkICh3ZSBhZGQgYVxuICAgICAgLy8gZGVwZW5kc09uKSwgd2hpY2ggY2F1c2VzIGEgXCJHbG9iYWwgY2x1c3RlciAuLi4gbm90IGZvdW5kXCIgZXJyb3IuIFRoZVxuICAgICAgLy8gY29ycmVjdCBvcmRlciBpcyB0byBjcmVhdGUgdGhlIERCQ2x1c3RlciBmaXJzdCwgdGhlbiBjcmVhdGUgdGhlXG4gICAgICAvLyBDZm5HbG9iYWxDbHVzdGVyIHdpdGggYHNvdXJjZURiQ2x1c3RlcklkZW50aWZpZXJgIHBvaW50aW5nIGF0IHRoZVxuICAgICAgLy8gcHJpbWFyeSBjbHVzdGVyJ3MgUmVmLiBMZWF2aW5nIHRoZSBwcmltYXJ5IEwxIHdpdGhvdXQgdGhlXG4gICAgICAvLyBgZ2xvYmFsQ2x1c3RlcklkZW50aWZpZXJgIGF2b2lkcyB0aGUgY2lyY3VsYXIgcmVmZXJlbmNlLlxuICAgIH1cbiAgfVxuXG4gIC8vIGNyZWF0ZSBhbiBBdXJvcmEgY2x1c3RlciBpbiB0aGlzIHJlZ2lvbiAocHJpbWFyeSBvciBzZWNvbmRhcnkpXG4gIGFkZEF1cm9yYUNsdXN0ZXIoKSB7XG4gICAgaWYgKHRoaXMucHJvcHMucHJpbWFyeVJlZ2lvbiA9PT0gdGhpcy5jdXJyZW50UmVnaW9uKSB7XG4gICAgICAvLyBwcmltYXJ5XG4gICAgICB0aGlzLnByaW1hcnlDbHVzdGVyID0gbmV3IFJkc0F1cm9yYShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYCR7dGhpcy5wcm9wcy5kYXRhYmFzZU5hbWV9UHJpbWFyeWAsXG4gICAgICAgIHtcbiAgICAgICAgICB2cGM6IHRoaXMucHJvcHMudnBjLFxuICAgICAgICAgIGRhdGFiYXNlTmFtZTogdGhpcy5wcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICAgICAgZW5naW5lOiB0aGlzLnByb3BzLmVuZ2luZSxcbiAgICAgICAgICBjbHVzdGVySWRlbnRpZmllcjogdGhpcy5nZXRQcmltYXJ5Q2x1c3RlcklkZW50aWZpZXIoKVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMucHJpbWFyeUNsdXN0ZXIuY29ubmVjdGlvbnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHNlY29uZGFyeSByZWdpb25cbiAgICAgIHRoaXMucmVnaW9uYWxDbHVzdGVyID0gbmV3IFJkc0F1cm9yYShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYCR7dGhpcy5wcm9wcy5kYXRhYmFzZU5hbWV9UmVnaW9uYWxgLFxuICAgICAgICB7XG4gICAgICAgICAgdnBjOiB0aGlzLnByb3BzLnZwYyxcbiAgICAgICAgICBkYXRhYmFzZU5hbWU6IHRoaXMucHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICAgIGVuZ2luZTogdGhpcy5wcm9wcy5lbmdpbmUsXG4gICAgICAgICAgY2x1c3RlcklkZW50aWZpZXI6IGAke3RoaXMucHJvcHMuZGF0YWJhc2VOYW1lfS1zZWNvbmRhcnktJHt0aGlzLmN1cnJlbnRSZWdpb259YFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgICAvLyBzZXQgdGhlIEwxIERCQ2x1c3RlciBwcm9wZXJ0eSBzbyBDbG91ZEZvcm1hdGlvbiB3aWxsIGpvaW4gaXQgdG8gdGhlIGdsb2JhbCBjbHVzdGVyXG4gICAgICBpZiAodGhpcy5yZWdpb25hbENsdXN0ZXIpIHtcbiAgICAgICAgY29uc3QgcmVnaW9uYWxMMSA9XG4gICAgICAgICAgdGhpcy5yZWdpb25hbENsdXN0ZXIuZ2V0Q2ZuQ2x1c3RlciAmJlxuICAgICAgICAgIHRoaXMucmVnaW9uYWxDbHVzdGVyLmdldENmbkNsdXN0ZXIoKTtcbiAgICAgICAgaWYgKHJlZ2lvbmFsTDEpIHtcbiAgICAgICAgICByZWdpb25hbEwxLmdsb2JhbENsdXN0ZXJJZGVudGlmaWVyID0gdGhpcy5nbG9iYWxJZDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5yZWdpb25hbENsdXN0ZXIuY29ubmVjdGlvbnM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkT3V0cHV0cygpIHtcbiAgICBuZXcgQ2ZuT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3RoaXMucHJvcHMuZGF0YWJhc2VOYW1lfUdsb2JhbENsdXN0ZXJJZGVudGlmaWVyT3V0cHV0YCxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHRoaXMuZ2xvYmFsSWQsXG4gICAgICAgIGV4cG9ydE5hbWU6IGAke3RoaXMucHJvcHMuZGF0YWJhc2VOYW1lfUdsb2JhbENsdXN0ZXJJZGVudGlmaWVyYFxuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBnZXRDcmVkZW50aWFscygpOiBTZWNyZXQge1xuICAgIGlmICh0aGlzLnByaW1hcnlDbHVzdGVyKSByZXR1cm4gdGhpcy5wcmltYXJ5Q2x1c3Rlci5nZXRDcmVkZW50aWFscygpO1xuICAgIGlmICh0aGlzLnJlZ2lvbmFsQ2x1c3RlcikgcmV0dXJuIHRoaXMucmVnaW9uYWxDbHVzdGVyLmdldENyZWRlbnRpYWxzKCk7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiTm8gQXVyb3JhIGNsdXN0ZXIgYXZhaWxhYmxlIHRvIHJldHVybiBjcmVkZW50aWFscyBmcm9tXCIpO1xuICB9XG5cbiAgZ2V0SG9zdEVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucHJpbWFyeUNsdXN0ZXIpIHJldHVybiB0aGlzLnByaW1hcnlDbHVzdGVyLmdldEhvc3RFbmRwb2ludCgpO1xuICAgIGlmICh0aGlzLnJlZ2lvbmFsQ2x1c3RlcikgcmV0dXJuIHRoaXMucmVnaW9uYWxDbHVzdGVyLmdldEhvc3RFbmRwb2ludCgpO1xuICAgIHRocm93IG5ldyBFcnJvcihcIk5vIEF1cm9yYSBjbHVzdGVyIGF2YWlsYWJsZSB0byByZXR1cm4gZW5kcG9pbnQgZnJvbVwiKTtcbiAgfVxuXG4gIGdldEhvc3RQb3J0KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMucHJpbWFyeUNsdXN0ZXIpIHJldHVybiB0aGlzLnByaW1hcnlDbHVzdGVyLmdldEhvc3RQb3J0KCk7XG4gICAgaWYgKHRoaXMucmVnaW9uYWxDbHVzdGVyKSByZXR1cm4gdGhpcy5yZWdpb25hbENsdXN0ZXIuZ2V0SG9zdFBvcnQoKTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBBdXJvcmEgY2x1c3RlciBhdmFpbGFibGUgdG8gcmV0dXJuIHBvcnQgZnJvbVwiKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,8 @@
1
+ export default class CidrBlock {
2
+ private cidrBlock;
3
+ private configFile;
4
+ constructor();
5
+ writeState(): void;
6
+ getCidrBlock(): string;
7
+ updateState(cidrBlock: string, status: boolean): void;
8
+ }
@@ -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=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fjall/components-infrastructure",
3
- "version": "0.73.16",
3
+ "version": "0.73.17",
4
4
  "bin": {
5
5
  "infrastructure": "bin/infrastructure.js"
6
6
  },
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@aws-sdk/client-organizations": "^3.716.0",
38
- "@fjall/util": "^0.73.16",
38
+ "@fjall/util": "^0.73.17",
39
39
  "@pepperize/cdk-organizations": "^0.7.135",
40
40
  "cdk-time-sleep": "^1.0.0",
41
41
  "constructs": "^10.0.0",
@@ -44,7 +44,7 @@
44
44
  "overrides": {
45
45
  "@smithy/core": "2.5.5"
46
46
  },
47
- "gitHead": "0b3f5fe7183fa6ab15b1eb021da856ffa1b4592f",
47
+ "gitHead": "205550db96f458e2aad8d3893d77039ea4aae845",
48
48
  "peerDependencies": {
49
49
  "aws-cdk": "^2.206.0",
50
50
  "aws-cdk-lib": "^2.206.0",