@glicogh/healthcare-cdk 0.1.60 → 0.1.62
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.
|
@@ -6,6 +6,7 @@ const constants_1 = require("../util/constants");
|
|
|
6
6
|
const initBuildConfig_1 = require("../util/initBuildConfig");
|
|
7
7
|
const getInstanceType_1 = require("../util/getInstanceType");
|
|
8
8
|
const getEc2UserData_1 = require("../util/getEc2UserData");
|
|
9
|
+
const getInstanceStorage_1 = require("../util/getInstanceStorage");
|
|
9
10
|
// import { LookupEIP } from '../constructs/lookup-eip';
|
|
10
11
|
class MicroserviceApiGateway extends cdk.Stack {
|
|
11
12
|
constructor(scope, id, props) {
|
|
@@ -28,6 +29,7 @@ class MicroserviceApiGateway extends cdk.Stack {
|
|
|
28
29
|
associatePublicIpAddress: false,
|
|
29
30
|
userData: cdk.aws_ec2.UserData.custom((0, getEc2UserData_1.getEc2UserData)('api-gateway')),
|
|
30
31
|
role: cdk.aws_iam.Role.fromRoleName(this, 'BaseRoleLookup', (0, constants_1.getConstant)('baseRoleName')),
|
|
32
|
+
blockDevices: (0, getInstanceStorage_1.getInstanceStorage)('api-gateway'),
|
|
31
33
|
});
|
|
32
34
|
// assign a new elastic IP in each deployment
|
|
33
35
|
new cdk.aws_ec2.CfnEIP(this, 'AssignElasticIP', {
|
|
@@ -45,4 +47,4 @@ class MicroserviceApiGateway extends cdk.Stack {
|
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
49
|
exports.MicroserviceApiGateway = MicroserviceApiGateway;
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLWFwaS1nYXRld2F5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL21pY3Jvc2VydmljZS1hcGktZ2F0ZXdheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFFbkMsaURBQWdFO0FBQ2hFLDZEQUFzRDtBQUN0RCw2REFBMEQ7QUFDMUQsMkRBQXdEO0FBQ3hELG1FQUFnRTtBQUNoRSx3REFBd0Q7QUFFeEQsTUFBYSxzQkFBdUIsU0FBUSxHQUFHLENBQUMsS0FBSztJQUNuRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyw2QkFBVyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUN4RCxPQUFPLEVBQUUsSUFBQSwwQkFBYyxFQUFDLE9BQU8sQ0FBQztTQUNqQyxDQUFDLENBQUM7UUFDSCxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBQSwwQkFBYyxFQUFDLDJCQUEyQixDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFdEksTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLDZCQUFXLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDeEYsR0FBRztZQUNILGFBQWEsRUFBRSxRQUFRO1lBQ3ZCLFlBQVksRUFBRSxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUEsaUNBQWUsRUFBQyxhQUFhLENBQUMsQ0FBQztZQUMxRSxZQUFZLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO2dCQUNsRCxDQUFDLDZCQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUEsdUJBQVcsRUFBQyxpQkFBaUIsQ0FBVzthQUNuRSxDQUFDO1lBQ0YsVUFBVSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUN6RCx3QkFBd0IsRUFBRSxLQUFLO1lBQy9CLFFBQVEsRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBQSwrQkFBYyxFQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3BFLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFLElBQUEsdUJBQVcsRUFBQyxjQUFjLENBQVcsQ0FBQztZQUNsRyxZQUFZLEVBQUUsSUFBQSx1Q0FBa0IsRUFBQyxhQUFhLENBQUM7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsNkNBQTZDO1FBQzdDLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1lBQzlDLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTtTQUNoQyxDQUFDLENBQUM7UUFFSCxtRkFBbUY7UUFDbkYsZ0ZBQWdGO1FBQ2hGLDhEQUE4RDtRQUM5RCx1QkFBdUI7UUFDdkIscUNBQXFDO1FBQ3JDLE1BQU07UUFFTixJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUNuQyxLQUFLLEVBQUUsUUFBUSxDQUFDLGdCQUFnQjtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUEzQ0Qsd0RBMkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQsIGdldEVudkNvbnN0YW50IH0gZnJvbSAnLi4vdXRpbC9jb25zdGFudHMnO1xuaW1wb3J0IHsgYnVpbGRDb25maWcgfSBmcm9tICcuLi91dGlsL2luaXRCdWlsZENvbmZpZyc7XG5pbXBvcnQgeyBnZXRJbnN0YW5jZVR5cGUgfSBmcm9tICcuLi91dGlsL2dldEluc3RhbmNlVHlwZSc7XG5pbXBvcnQgeyBnZXRFYzJVc2VyRGF0YSB9IGZyb20gJy4uL3V0aWwvZ2V0RWMyVXNlckRhdGEnO1xuaW1wb3J0IHsgZ2V0SW5zdGFuY2VTdG9yYWdlIH0gZnJvbSAnLi4vdXRpbC9nZXRJbnN0YW5jZVN0b3JhZ2UnO1xuLy8gaW1wb3J0IHsgTG9va3VwRUlQIH0gZnJvbSAnLi4vY29uc3RydWN0cy9sb29rdXAtZWlwJztcblxuZXhwb3J0IGNsYXNzIE1pY3Jvc2VydmljZUFwaUdhdGV3YXkgZXh0ZW5kcyBjZGsuU3RhY2sge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IGNkay5TdGFja1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBpZiAoIWJ1aWxkQ29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0J1aWxkQ29uZmlnIG5vdCBzZXQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB2cGMgPSBjZGsuYXdzX2VjMi5WcGMuZnJvbUxvb2t1cCh0aGlzLCAnVlBDTG9va3VwJywge1xuICAgICAgdnBjTmFtZTogZ2V0RW52Q29uc3RhbnQoJ3ZwY0lkJyksXG4gICAgfSk7XG4gICAgY29uc3Qgc2VjR3JvdXAgPSBjZGsuYXdzX2VjMi5TZWN1cml0eUdyb3VwLmZyb21Mb29rdXBCeU5hbWUodGhpcywgJ1NlY0dyb3VwTG9va3VwJywgZ2V0RW52Q29uc3RhbnQoJ2FwaUdhdGV3YXlTZWN1cml0eUdyb3VwSWQnKSwgdnBjKTtcblxuICAgIGNvbnN0IGluc3RhbmNlID0gbmV3IGNkay5hd3NfZWMyLkluc3RhbmNlKHRoaXMsIGBlYzItYXBpLWdhdGV3YXktJHtidWlsZENvbmZpZy5lbnZOYW1lfWAsIHtcbiAgICAgIHZwYyxcbiAgICAgIHNlY3VyaXR5R3JvdXA6IHNlY0dyb3VwLFxuICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgY2RrLmF3c19lYzIuSW5zdGFuY2VUeXBlKGdldEluc3RhbmNlVHlwZSgnYXBpLWdhdGV3YXknKSksXG4gICAgICBtYWNoaW5lSW1hZ2U6IGNkay5hd3NfZWMyLk1hY2hpbmVJbWFnZS5nZW5lcmljTGludXgoe1xuICAgICAgICBbYnVpbGRDb25maWcuYXdzLnJlZ2lvbl06IGdldENvbnN0YW50KCdkZWZhdWx0SW1hZ2VBbWknKSBhcyBzdHJpbmcsXG4gICAgICB9KSxcbiAgICAgIHZwY1N1Ym5ldHM6IHsgc3VibmV0VHlwZTogY2RrLmF3c19lYzIuU3VibmV0VHlwZS5QVUJMSUMgfSxcbiAgICAgIGFzc29jaWF0ZVB1YmxpY0lwQWRkcmVzczogZmFsc2UsXG4gICAgICB1c2VyRGF0YTogY2RrLmF3c19lYzIuVXNlckRhdGEuY3VzdG9tKGdldEVjMlVzZXJEYXRhKCdhcGktZ2F0ZXdheScpKSxcbiAgICAgIHJvbGU6IGNkay5hd3NfaWFtLlJvbGUuZnJvbVJvbGVOYW1lKHRoaXMsICdCYXNlUm9sZUxvb2t1cCcsIGdldENvbnN0YW50KCdiYXNlUm9sZU5hbWUnKSBhcyBzdHJpbmcpLFxuICAgICAgYmxvY2tEZXZpY2VzOiBnZXRJbnN0YW5jZVN0b3JhZ2UoJ2FwaS1nYXRld2F5JyksXG4gICAgfSk7XG5cbiAgICAvLyBhc3NpZ24gYSBuZXcgZWxhc3RpYyBJUCBpbiBlYWNoIGRlcGxveW1lbnRcbiAgICBuZXcgY2RrLmF3c19lYzIuQ2ZuRUlQKHRoaXMsICdBc3NpZ25FbGFzdGljSVAnLCB7XG4gICAgICBpbnN0YW5jZUlkOiBpbnN0YW5jZS5pbnN0YW5jZUlkLFxuICAgIH0pO1xuXG4gICAgLy8gLy8gYWx0ZXJuYXRpdmVseSwgYXNzaWduIGFuIGFscmVhZHkgZXhpc3RpbmcgZWxhc3RpYyBJUCBieSBsb29raW5nIGl0IHVwIGJ5IG5hbWVcbiAgICAvLyBjb25zdCBlaXAgPSBMb29rdXBFSVAuZnJvbU5hbWUodGhpcywgU3RyaW5nKGdldENvbnN0YW50KCdhcGlHYXRld2F5RUlQSWQnKSkpO1xuICAgIC8vIG5ldyBjZGsuYXdzX2VjMi5DZm5FSVBBc3NvY2lhdGlvbih0aGlzLCAnRUlQQXNzb2NpYXRpb24nLCB7XG4gICAgLy8gICBhbGxvY2F0aW9uSWQ6IGVpcCxcbiAgICAvLyAgIGluc3RhbmNlSWQ6IGluc3RhbmNlLmluc3RhbmNlSWQsXG4gICAgLy8gfSk7XG5cbiAgICBuZXcgY2RrLkNmbk91dHB1dCh0aGlzLCAncHVibGljLWlwJywge1xuICAgICAgdmFsdWU6IGluc3RhbmNlLmluc3RhbmNlUHVibGljSXAsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -6,6 +6,7 @@ const constants_1 = require("../util/constants");
|
|
|
6
6
|
const initBuildConfig_1 = require("../util/initBuildConfig");
|
|
7
7
|
const migration_1 = require("../util/migration");
|
|
8
8
|
const path = require("path");
|
|
9
|
+
const fs = require("fs");
|
|
9
10
|
class MicroserviceMigration extends cdk.Stack {
|
|
10
11
|
constructor(scope, id, props) {
|
|
11
12
|
super(scope, id, props);
|
|
@@ -37,47 +38,49 @@ class MicroserviceMigration extends cdk.Stack {
|
|
|
37
38
|
},
|
|
38
39
|
});
|
|
39
40
|
const lambdasRootDir = path.join(path.resolve('../../'), 'lambdas');
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
lambdaProps.environment
|
|
41
|
+
if (fs.existsSync(lambdasRootDir)) {
|
|
42
|
+
const lambdaProps = {
|
|
43
|
+
runtime: cdk.aws_lambda.Runtime.NODEJS_22_X,
|
|
44
|
+
architecture: cdk.aws_lambda.Architecture.X86_64,
|
|
45
|
+
handler: 'handler',
|
|
46
|
+
depsLockFilePath: path.join(lambdasRootDir, 'package-lock.json'),
|
|
47
|
+
projectRoot: lambdasRootDir,
|
|
48
|
+
bundling: {
|
|
49
|
+
tsconfig: path.join(lambdasRootDir, 'tsconfig.json'),
|
|
50
|
+
externalModules: ['better-sqlite3', 'pg', 'mysql', 'sqlite3', 'tedious', 'oracledb', 'pg-query-stream'],
|
|
51
|
+
},
|
|
52
|
+
environment: (0, migration_1.getLambdaEnvs)(this),
|
|
53
|
+
vpc,
|
|
54
|
+
vpcSubnets: { subnetType: cdk.aws_ec2.SubnetType.PRIVATE_WITH_EGRESS },
|
|
55
|
+
paramsAndSecrets,
|
|
56
|
+
timeout: cdk.Duration.minutes(10),
|
|
57
|
+
};
|
|
58
|
+
const migrationQueue = new cdk.aws_sqs.Queue(this, 'migrationQueue', {
|
|
59
|
+
queueName: 'migration-queue.fifo',
|
|
60
|
+
fifo: true,
|
|
61
|
+
fifoThroughputLimit: cdk.aws_sqs.FifoThroughputLimit.PER_MESSAGE_GROUP_ID,
|
|
62
|
+
deduplicationScope: cdk.aws_sqs.DeduplicationScope.MESSAGE_GROUP,
|
|
63
|
+
});
|
|
64
|
+
if (lambdaProps.environment) {
|
|
65
|
+
lambdaProps.environment['MIGRATION_QUEUE_URL'] = migrationQueue.queueUrl;
|
|
66
|
+
}
|
|
67
|
+
const producerLambda = new cdk.aws_lambda_nodejs.NodejsFunction(this, 'migrationProducerLambda', {
|
|
68
|
+
...lambdaProps,
|
|
69
|
+
functionName: 'migration-producer',
|
|
70
|
+
entry: path.join(lambdasRootDir, 'producer', 'index.ts'),
|
|
71
|
+
role: lambdaRole,
|
|
72
|
+
});
|
|
73
|
+
const consumerLambda = new cdk.aws_lambda_nodejs.NodejsFunction(this, 'migrationConsumerLambda', {
|
|
74
|
+
...lambdaProps,
|
|
75
|
+
functionName: 'migration-consumer',
|
|
76
|
+
entry: path.join(lambdasRootDir, 'consumer', 'index.ts'),
|
|
77
|
+
role: lambdaRole,
|
|
78
|
+
});
|
|
79
|
+
consumerLambda.addEventSource(new cdk.aws_lambda_event_sources.SqsEventSource(migrationQueue, { batchSize: 10, maxConcurrency: 10 }));
|
|
80
|
+
migrationQueue.grantSendMessages(producerLambda);
|
|
81
|
+
migrationQueue.grantConsumeMessages(consumerLambda);
|
|
64
82
|
}
|
|
65
|
-
const producerLambda = new cdk.aws_lambda_nodejs.NodejsFunction(this, 'migrationProducerLambda', {
|
|
66
|
-
...lambdaProps,
|
|
67
|
-
functionName: 'migration-producer',
|
|
68
|
-
entry: path.join(lambdasRootDir, 'producer', 'index.ts'),
|
|
69
|
-
role: lambdaRole,
|
|
70
|
-
});
|
|
71
|
-
const consumerLambda = new cdk.aws_lambda_nodejs.NodejsFunction(this, 'migrationConsumerLambda', {
|
|
72
|
-
...lambdaProps,
|
|
73
|
-
functionName: 'migration-consumer',
|
|
74
|
-
entry: path.join(lambdasRootDir, 'consumer', 'index.ts'),
|
|
75
|
-
role: lambdaRole,
|
|
76
|
-
});
|
|
77
|
-
consumerLambda.addEventSource(new cdk.aws_lambda_event_sources.SqsEventSource(migrationQueue, { batchSize: 10, maxConcurrency: 10 }));
|
|
78
|
-
migrationQueue.grantSendMessages(producerLambda);
|
|
79
|
-
migrationQueue.grantConsumeMessages(consumerLambda);
|
|
80
83
|
}
|
|
81
84
|
}
|
|
82
85
|
exports.MicroserviceMigration = MicroserviceMigration;
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWljcm9zZXJ2aWNlLW1pZ3JhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9taWNyb3NlcnZpY2UtbWlncmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFtQztBQUVuQyxpREFBbUQ7QUFDbkQsNkRBQXNEO0FBQ3RELGlEQUFrRDtBQUNsRCw2QkFBNkI7QUFDN0IseUJBQXlCO0FBRXpCLE1BQWEscUJBQXNCLFNBQVEsR0FBRyxDQUFDLEtBQUs7SUFDbEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFzQjtRQUM5RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsNkJBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUN6QyxDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDeEQsT0FBTyxFQUFFLElBQUEsMEJBQWMsRUFBQyxPQUFPLENBQUM7U0FDakMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsRUFBRTtZQUNqSSxjQUFjLEVBQUUsRUFBRTtZQUNsQixxQkFBcUIsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7U0FDakQsQ0FBQyxDQUFDO1FBRUgsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7WUFDbkUsUUFBUSxFQUFFLGlCQUFpQjtZQUMzQixTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMs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RSxVQUFVLEVBQUUsVUFBVSxDQUFDO2dCQUN4RCxJQUFJLEVBQUUsVUFBVTthQUNqQixDQUFDLENBQUM7WUFFSCxNQUFNLGNBQWMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFFO2dCQUMvRixHQUFHLFdBQVc7Z0JBQ2QsWUFBWSxFQUFFLG9CQUFvQjtnQkFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7Z0JBQ3hELElBQUksRUFBRSxVQUFVO2FBQ2pCLENBQUMsQ0FBQztZQUVILGNBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxHQUFHLENBQUMsd0JBQXdCLENBQUMsY0FBYyxDQUFDLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUV0SSxjQUFjLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakQsY0FBYyxDQUFDLG9CQUFvQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFyRkQsc0RBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgZ2V0RW52Q29uc3RhbnQgfSBmcm9tICcuLi91dGlsL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBidWlsZENvbmZpZyB9IGZyb20gJy4uL3V0aWwvaW5pdEJ1aWxkQ29uZmlnJztcbmltcG9ydCB7IGdldExhbWJkYUVudnMgfSBmcm9tICcuLi91dGlsL21pZ3JhdGlvbic7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuXG5leHBvcnQgY2xhc3MgTWljcm9zZXJ2aWNlTWlncmF0aW9uIGV4dGVuZHMgY2RrLlN0YWNrIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBjZGsuU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgaWYgKCFidWlsZENvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdCdWlsZENvbmZpZyBub3Qgc2V0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgdnBjID0gY2RrLmF3c19lYzIuVnBjLmZyb21Mb29rdXAodGhpcywgJ1ZQQ0xvb2t1cCcsIHtcbiAgICAgIHZwY05hbWU6IGdldEVudkNvbnN0YW50KCd2cGNJZCcpLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGFyYW1zQW5kU2VjcmV0cyA9IGNkay5hd3NfbGFtYmRhLlBhcmFtc0FuZFNlY3JldHNMYXllclZlcnNpb24uZnJvbVZlcnNpb24oY2RrLmF3c19sYW1iZGEuUGFyYW1zQW5kU2VjcmV0c1ZlcnNpb25zLlYxXzBfMTAzLCB7XG4gICAgICBtYXhDb25uZWN0aW9uczogMjAsXG4gICAgICBzZWNyZXRzTWFuYWdlclRpbWVvdXQ6IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwMCksXG4gICAgfSk7XG5cbiAgICBjb25zdCBsYW1iZGFSb2xlID0gbmV3IGNkay5hd3NfaWFtLlJvbGUodGhpcywgJ01pZ3JhdGlvbkxhbWJkYVJvbGUnLCB7XG4gICAgICByb2xlTmFtZTogJ01pZ3JhdGlvbkxhbWJkYScsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBjZGsuYXdzX2lhbS5TZXJ2aWNlUHJpbmNpcGFsKCdsYW1iZGEuYW1hem9uYXdzLmNvbScpLFxuICAgICAgbWFuYWdlZFBvbGljaWVzOiBbY2RrLmF3c19pYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ3NlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGUnKV0sXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBtaWdyYXRpb25MYW1iZGFzOiBuZXcgY2RrLmF3c19pYW0uUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBjZGsuYXdzX2lhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBzaWQ6ICdBbGxvd0xhbWJkYVRvUmVhZFNTTVBhcmFtZXRlcnMnLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtgYXJuOmF3czpzc206JHtidWlsZENvbmZpZy5hd3MucmVnaW9ufToke2J1aWxkQ29uZmlnLmF3cy5hY2NvdW50fTpwYXJhbWV0ZXIvJHtidWlsZENvbmZpZy5lbnZOYW1lfS9taWNyb3NlcnZpY2VzLypgXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogWydzc206R2V0UGFyYW1ldGVyKiddLFxuICAgICAgICAgICAgICBlZmZlY3Q6IGNkay5hd3NfaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxhbWJkYXNSb290RGlyID0gcGF0aC5qb2luKHBhdGgucmVzb2x2ZSgnLi4vLi4vJyksICdsYW1iZGFzJyk7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMobGFtYmRhc1Jvb3REaXIpKSB7XG4gICAgICBjb25zdCBsYW1iZGFQcm9wczogY2RrLmF3c19sYW1iZGFfbm9kZWpzLk5vZGVqc0Z1bmN0aW9uUHJvcHMgPSB7XG4gICAgICAgIHJ1bnRpbWU6IGNkay5hd3NfbGFtYmRhLlJ1bnRpbWUuTk9ERUpTXzIyX1gsXG4gICAgICAgIGFyY2hpdGVjdHVyZTogY2RrLmF3c19sYW1iZGEuQXJjaGl0ZWN0dXJlLlg4Nl82NCxcbiAgICAgICAgaGFuZGxlcjogJ2hhbmRsZXInLFxuICAgICAgICBkZXBzTG9ja0ZpbGVQYXRoOiBwYXRoLmpvaW4obGFtYmRhc1Jvb3REaXIsICdwYWNrYWdlLWxvY2suanNvbicpLFxuICAgICAgICBwcm9qZWN0Um9vdDogbGFtYmRhc1Jvb3REaXIsXG4gICAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgICAgdHNjb25maWc6IHBhdGguam9pbihsYW1iZGFzUm9vdERpciwgJ3RzY29uZmlnLmpzb24nKSxcbiAgICAgICAgICBleHRlcm5hbE1vZHVsZXM6IFsnYmV0dGVyLXNxbGl0ZTMnLCAncGcnLCAnbXlzcWwnLCAnc3FsaXRlMycsICd0ZWRpb3VzJywgJ29yYWNsZWRiJywgJ3BnLXF1ZXJ5LXN0cmVhbSddLFxuICAgICAgICB9LFxuICAgICAgICBlbnZpcm9ubWVudDogZ2V0TGFtYmRhRW52cyh0aGlzKSxcbiAgICAgICAgdnBjLFxuICAgICAgICB2cGNTdWJuZXRzOiB7IHN1Ym5ldFR5cGU6IGNkay5hd3NfZWMyLlN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTUyB9LFxuICAgICAgICBwYXJhbXNBbmRTZWNyZXRzLFxuICAgICAgICB0aW1lb3V0OiBjZGsuRHVyYXRpb24ubWludXRlcygxMCksXG4gICAgICB9O1xuXG4gICAgICBjb25zdCBtaWdyYXRpb25RdWV1ZSA9IG5ldyBjZGsuYXdzX3Nxcy5RdWV1ZSh0aGlzLCAnbWlncmF0aW9uUXVldWUnLCB7XG4gICAgICAgIHF1ZXVlTmFtZTogJ21pZ3JhdGlvbi1xdWV1ZS5maWZvJyxcbiAgICAgICAgZmlmbzogdHJ1ZSxcbiAgICAgICAgZmlmb1Rocm91Z2hwdXRMaW1pdDogY2RrLmF3c19zcXMuRmlmb1Rocm91Z2hwdXRMaW1pdC5QRVJfTUVTU0FHRV9HUk9VUF9JRCxcbiAgICAgICAgZGVkdXBsaWNhdGlvblNjb3BlOiBjZGsuYXdzX3Nxcy5EZWR1cGxpY2F0aW9uU2NvcGUuTUVTU0FHRV9HUk9VUCxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAobGFtYmRhUHJvcHMuZW52aXJvbm1lbnQpIHtcbiAgICAgICAgbGFtYmRhUHJvcHMuZW52aXJvbm1lbnRbJ01JR1JBVElPTl9RVUVVRV9VUkwnXSA9IG1pZ3JhdGlvblF1ZXVlLnF1ZXVlVXJsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwcm9kdWNlckxhbWJkYSA9IG5ldyBjZGsuYXdzX2xhbWJkYV9ub2RlanMuTm9kZWpzRnVuY3Rpb24odGhpcywgJ21pZ3JhdGlvblByb2R1Y2VyTGFtYmRhJywge1xuICAgICAgICAuLi5sYW1iZGFQcm9wcyxcbiAgICAgICAgZnVuY3Rpb25OYW1lOiAnbWlncmF0aW9uLXByb2R1Y2VyJyxcbiAgICAgICAgZW50cnk6IHBhdGguam9pbihsYW1iZGFzUm9vdERpciwgJ3Byb2R1Y2VyJywgJ2luZGV4LnRzJyksXG4gICAgICAgIHJvbGU6IGxhbWJkYVJvbGUsXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgY29uc3VtZXJMYW1iZGEgPSBuZXcgY2RrLmF3c19sYW1iZGFfbm9kZWpzLk5vZGVqc0Z1bmN0aW9uKHRoaXMsICdtaWdyYXRpb25Db25zdW1lckxhbWJkYScsIHtcbiAgICAgICAgLi4ubGFtYmRhUHJvcHMsXG4gICAgICAgIGZ1bmN0aW9uTmFtZTogJ21pZ3JhdGlvbi1jb25zdW1lcicsXG4gICAgICAgIGVudHJ5OiBwYXRoLmpvaW4obGFtYmRhc1Jvb3REaXIsICdjb25zdW1lcicsICdpbmRleC50cycpLFxuICAgICAgICByb2xlOiBsYW1iZGFSb2xlLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN1bWVyTGFtYmRhLmFkZEV2ZW50U291cmNlKG5ldyBjZGsuYXdzX2xhbWJkYV9ldmVudF9zb3VyY2VzLlNxc0V2ZW50U291cmNlKG1pZ3JhdGlvblF1ZXVlLCB7IGJhdGNoU2l6ZTogMTAsIG1heENvbmN1cnJlbmN5OiAxMCB9KSk7XG5cbiAgICAgIG1pZ3JhdGlvblF1ZXVlLmdyYW50U2VuZE1lc3NhZ2VzKHByb2R1Y2VyTGFtYmRhKTtcbiAgICAgIG1pZ3JhdGlvblF1ZXVlLmdyYW50Q29uc3VtZU1lc3NhZ2VzKGNvbnN1bWVyTGFtYmRhKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -21,8 +21,8 @@ function getInstanceStorage(key) {
|
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
23
|
function getRootStorage(service) {
|
|
24
|
-
const envVarForSize = `ec2_${service}${(0, isMicroservice_1.isMicroservice)(service) ? '_service' : ''}_instance_storage_size`;
|
|
25
|
-
const envVarForType = `ec2_${service}${(0, isMicroservice_1.isMicroservice)(service) ? '_service' : ''}_instance_storage_type`;
|
|
24
|
+
const envVarForSize = `ec2_${service.replace(/-/g, '_')}${(0, isMicroservice_1.isMicroservice)(service) ? '_service' : ''}_instance_storage_size`;
|
|
25
|
+
const envVarForType = `ec2_${service.replace(/-/g, '_')}${(0, isMicroservice_1.isMicroservice)(service) ? '_service' : ''}_instance_storage_type`;
|
|
26
26
|
const valForSize = Number(process.env[envVarForSize.toUpperCase()] ?? (0, constants_1.getConstant)('defaultStorageSize'));
|
|
27
27
|
const valForType = process.env[envVarForType.toUpperCase()] ?? (0, constants_1.getConstant)('defaultStorageType');
|
|
28
28
|
if (valForSize && valForType && !(valForSize === 8 && valForType === 'gp3') && !isNaN(valForSize)) {
|
|
@@ -34,4 +34,4 @@ function getRootStorage(service) {
|
|
|
34
34
|
return { deviceName: storage.name, volume: aws_ec2_1.BlockDeviceVolume.ebs(storage.size, { volumeType: storage.type }) };
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0SW5zdGFuY2VTdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdXRpbC9nZXRJbnN0YW5jZVN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxnREFnQkM7QUF4QkQsaURBQTBGO0FBQzFGLHVEQUFnRDtBQUNoRCwyQ0FBMEM7QUFDMUMscURBQWtEO0FBS2xELFNBQWdCLGtCQUFrQixDQUFDLEdBQWdDO0lBQ2pFLE1BQU0sT0FBTyxHQUFHLEdBQUcsSUFBSSw2QkFBVyxFQUFFLFdBQVcsQ0FBQztJQUNoRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFrQixFQUFFLENBQUM7SUFDdEMsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLElBQUksV0FBVyxFQUFFLENBQUM7UUFDaEIsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELE9BQU87QUFDVCxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsT0FBZTtJQUNyQyxNQUFNLGFBQWEsR0FBRyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLElBQUEsK0JBQWMsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLHdCQUF3QixDQUFDO0lBQzVILE1BQU0sYUFBYSxHQUFHLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsSUFBQSwrQkFBYyxFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsd0JBQXdCLENBQUM7SUFFNUgsTUFBTSxVQUFVLEdBQVcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBQSx1QkFBVyxFQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQztJQUNqSCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLElBQUEsdUJBQVcsRUFBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQ2pHLElBQUksVUFBVSxJQUFJLFVBQVUsSUFBSSxDQUFDLENBQUMsVUFBVSxLQUFLLENBQUMsSUFBSSxVQUFVLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUNsRyxNQUFNLE9BQU8sR0FBb0I7WUFDL0IsSUFBSSxFQUFFLFdBQVc7WUFDakIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDeEIsSUFBSSxFQUFFLFVBQWlDO1NBQ3hDLENBQUM7UUFDRixPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLDJCQUFpQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDakgsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCbG9ja0RldmljZSwgQmxvY2tEZXZpY2VWb2x1bWUsIEVic0RldmljZVZvbHVtZVR5cGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IGJ1aWxkQ29uZmlnIH0gZnJvbSAnLi9pbml0QnVpbGRDb25maWcnO1xuaW1wb3J0IHsgZ2V0Q29uc3RhbnQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc01pY3Jvc2VydmljZSB9IGZyb20gJy4vaXNNaWNyb3NlcnZpY2UnO1xuaW1wb3J0IHsgQnVpbGRDb25maWcgfSBmcm9tICcuLi9AdHlwZXMvY29tbW9uJztcblxudHlwZSBHZXRJbnN0YW5jZVJvb3RTdG9yYWdlUmV0dXJuID0gQmxvY2tEZXZpY2VbXTtcbnR5cGUgSW5zdGFuY2VTdG9yYWdlID0geyBuYW1lOiBzdHJpbmc7IHNpemU6IG51bWJlcjsgdHlwZTogRWJzRGV2aWNlVm9sdW1lVHlwZSB9O1xuZXhwb3J0IGZ1bmN0aW9uIGdldEluc3RhbmNlU3RvcmFnZShrZXk/OiBCdWlsZENvbmZpZ1snc2VydmljZU5hbWUnXSk6IEdldEluc3RhbmNlUm9vdFN0b3JhZ2VSZXR1cm4gfCB1bmRlZmluZWQge1xuICBjb25zdCBzZXJ2aWNlID0ga2V5ID8/IGJ1aWxkQ29uZmlnPy5zZXJ2aWNlTmFtZTtcbiAgaWYgKCFzZXJ2aWNlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdTZXJ2aWNlIG5vdCBkZWZpbmVkJyk7XG4gIH1cblxuICBjb25zdCBzdG9yYWdlTGlzdDogQmxvY2tEZXZpY2VbXSA9IFtdO1xuICBjb25zdCByb290U3RvcmFnZSA9IGdldFJvb3RTdG9yYWdlKHNlcnZpY2UpO1xuICBpZiAocm9vdFN0b3JhZ2UpIHtcbiAgICBzdG9yYWdlTGlzdC5wdXNoKHJvb3RTdG9yYWdlKTtcbiAgfVxuXG4gIGlmIChzdG9yYWdlTGlzdC5sZW5ndGgpIHtcbiAgICByZXR1cm4gc3RvcmFnZUxpc3Q7XG4gIH1cbiAgcmV0dXJuO1xufVxuXG5mdW5jdGlvbiBnZXRSb290U3RvcmFnZShzZXJ2aWNlOiBzdHJpbmcpOiBCbG9ja0RldmljZSB8IHZvaWQge1xuICBjb25zdCBlbnZWYXJGb3JTaXplID0gYGVjMl8ke3NlcnZpY2UucmVwbGFjZSgvLS9nLCAnXycpfSR7aXNNaWNyb3NlcnZpY2Uoc2VydmljZSkgPyAnX3NlcnZpY2UnIDogJyd9X2luc3RhbmNlX3N0b3JhZ2Vfc2l6ZWA7XG4gIGNvbnN0IGVudlZhckZvclR5cGUgPSBgZWMyXyR7c2VydmljZS5yZXBsYWNlKC8tL2csICdfJyl9JHtpc01pY3Jvc2VydmljZShzZXJ2aWNlKSA/ICdfc2VydmljZScgOiAnJ31faW5zdGFuY2Vfc3RvcmFnZV90eXBlYDtcblxuICBjb25zdCB2YWxGb3JTaXplOiBudW1iZXIgPSBOdW1iZXIocHJvY2Vzcy5lbnZbZW52VmFyRm9yU2l6ZS50b1VwcGVyQ2FzZSgpXSA/PyBnZXRDb25zdGFudCgnZGVmYXVsdFN0b3JhZ2VTaXplJykpO1xuICBjb25zdCB2YWxGb3JUeXBlID0gcHJvY2Vzcy5lbnZbZW52VmFyRm9yVHlwZS50b1VwcGVyQ2FzZSgpXSA/PyBnZXRDb25zdGFudCgnZGVmYXVsdFN0b3JhZ2VUeXBlJyk7XG4gIGlmICh2YWxGb3JTaXplICYmIHZhbEZvclR5cGUgJiYgISh2YWxGb3JTaXplID09PSA4ICYmIHZhbEZvclR5cGUgPT09ICdncDMnKSAmJiAhaXNOYU4odmFsRm9yU2l6ZSkpIHtcbiAgICBjb25zdCBzdG9yYWdlOiBJbnN0YW5jZVN0b3JhZ2UgPSB7XG4gICAgICBuYW1lOiAnL2Rldi9zZGExJyxcbiAgICAgIHNpemU6IE51bWJlcih2YWxGb3JTaXplKSxcbiAgICAgIHR5cGU6IHZhbEZvclR5cGUgYXMgRWJzRGV2aWNlVm9sdW1lVHlwZSxcbiAgICB9O1xuICAgIHJldHVybiB7IGRldmljZU5hbWU6IHN0b3JhZ2UubmFtZSwgdm9sdW1lOiBCbG9ja0RldmljZVZvbHVtZS5lYnMoc3RvcmFnZS5zaXplLCB7IHZvbHVtZVR5cGU6IHN0b3JhZ2UudHlwZSB9KSB9O1xuICB9XG59XG4iXX0=
|