@mavogel/cdk-vscode-server 0.0.15 → 0.0.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.
- package/.commitlintrc.js +1 -0
- package/.jsii +39 -30
- package/.prettierrc +0 -0
- package/API.md +25 -7
- package/CONTRIBUTING.md +2 -0
- package/assets/installer/installer.lambda/index.js +28 -9
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/installer/installer.d.ts +1 -1
- package/lib/installer/installer.js +220 -230
- package/lib/installer/installer.lambda.d.ts +2 -2
- package/lib/installer/installer.lambda.js +16 -16
- package/lib/mappings.d.ts +1 -1
- package/lib/mappings.js +25 -7
- package/lib/prefixlist-retriever/prefixlist-retriever.d.ts +2 -2
- package/lib/prefixlist-retriever/prefixlist-retriever.js +17 -16
- package/lib/secret-retriever/secret-retriever.d.ts +2 -2
- package/lib/secret-retriever/secret-retriever.js +30 -24
- package/lib/secret-retriever/secret-retriever.lambda.d.ts +1 -1
- package/lib/secret-retriever/secret-retriever.lambda.js +6 -6
- package/lib/suppress-nags.d.ts +1 -1
- package/lib/suppress-nags.js +3 -3
- package/lib/vscode-server.d.ts +30 -3
- package/lib/vscode-server.js +175 -150
- package/mavogelcdkvscodeserver/go.mod +2 -2
- package/mavogelcdkvscodeserver/jsii/jsii.go +2 -2
- package/mavogelcdkvscodeserver/version +1 -1
- package/package.json +10 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { OnEventRequest, OnEventResponse } from
|
|
2
|
-
import { Context } from
|
|
1
|
+
import type { OnEventRequest, OnEventResponse } from "aws-cdk-lib/custom-resources/lib/provider-framework/types";
|
|
2
|
+
import { Context } from "aws-lambda";
|
|
3
3
|
export declare const handler: (event: OnEventRequest, context: Context) => Promise<OnEventResponse>;
|
|
@@ -5,8 +5,8 @@ const client_ssm_1 = require("@aws-sdk/client-ssm");
|
|
|
5
5
|
const ssm = new client_ssm_1.SSM();
|
|
6
6
|
const SLEEP_MS = 2900;
|
|
7
7
|
const handler = async (event, context) => {
|
|
8
|
-
console.log(
|
|
9
|
-
if (event.RequestType !==
|
|
8
|
+
console.log("Event: %j", { ...event, ResponseURL: "..." });
|
|
9
|
+
if (event.RequestType !== "Create") {
|
|
10
10
|
// do nothing
|
|
11
11
|
return {};
|
|
12
12
|
}
|
|
@@ -16,12 +16,12 @@ const handler = async (event, context) => {
|
|
|
16
16
|
const documentName = event.ResourceProperties.DocumentName;
|
|
17
17
|
const cloudWatchLogGroupName = event.ResourceProperties.CloudWatchLogGroupName;
|
|
18
18
|
// debug
|
|
19
|
-
console.log(
|
|
20
|
-
console.log(
|
|
21
|
-
console.log(
|
|
19
|
+
console.log("ResourceProperties raw: %j", resourceProperties);
|
|
20
|
+
console.log("InstanceId: %s", event.ResourceProperties.InstanceId);
|
|
21
|
+
console.log("VSCodePassword: %s", event.ResourceProperties.VSCodePassword);
|
|
22
22
|
// to be able to modify them
|
|
23
23
|
const resourcePropertiesPartial = resourceProperties;
|
|
24
|
-
console.log(
|
|
24
|
+
console.log("ResourceProperties before: %j", resourcePropertiesPartial);
|
|
25
25
|
delete resourcePropertiesPartial.ServiceToken;
|
|
26
26
|
if (resourcePropertiesPartial.ServiceTimeout) {
|
|
27
27
|
delete resourcePropertiesPartial.ServiceTimeout;
|
|
@@ -32,12 +32,12 @@ const handler = async (event, context) => {
|
|
|
32
32
|
if (resourcePropertiesPartial.PhysicalResourceId) {
|
|
33
33
|
delete resourcePropertiesPartial.PhysicalResourceId;
|
|
34
34
|
}
|
|
35
|
-
console.log(
|
|
35
|
+
console.log("ResourceProperties filtered after: %j", resourcePropertiesPartial);
|
|
36
36
|
const parameters = {};
|
|
37
37
|
for (const [key, value] of Object.entries(resourcePropertiesPartial)) {
|
|
38
38
|
parameters[key] = [value];
|
|
39
39
|
}
|
|
40
|
-
console.log(
|
|
40
|
+
console.log("mapped parameters: %j", parameters);
|
|
41
41
|
let attemptNo = 0;
|
|
42
42
|
let timeRemaining = context.getRemainingTimeInMillis();
|
|
43
43
|
console.log(`Running SSM Document '${documentName}' on EC2 instance '${instanceId}'. Logging to '${cloudWatchLogGroupName}' with parameters: '${JSON.stringify(parameters)}'`);
|
|
@@ -59,25 +59,25 @@ const handler = async (event, context) => {
|
|
|
59
59
|
const commandId = command.CommandId;
|
|
60
60
|
const responseData = { CommandId: commandId };
|
|
61
61
|
switch (command.Status) {
|
|
62
|
-
case
|
|
63
|
-
case
|
|
62
|
+
case "Pending":
|
|
63
|
+
case "InProgress":
|
|
64
64
|
timeRemaining = context.getRemainingTimeInMillis();
|
|
65
65
|
if (timeRemaining > SLEEP_MS) {
|
|
66
66
|
console.log(`Instance ${instanceId} not ready: 'InProgress'. Sleeping: ${SLEEP_MS / 1000}s`);
|
|
67
|
-
await new Promise(resolve => setTimeout(resolve, SLEEP_MS));
|
|
67
|
+
await new Promise((resolve) => setTimeout(resolve, SLEEP_MS));
|
|
68
68
|
break;
|
|
69
69
|
}
|
|
70
70
|
else {
|
|
71
71
|
throw new Error(`SSM Document ${documentName} on EC2 instance ${instanceId} timed out while lambda in progress`);
|
|
72
72
|
}
|
|
73
|
-
case
|
|
73
|
+
case "Success":
|
|
74
74
|
console.log(`Instance ${instanceId} successfully bootstrapped`);
|
|
75
75
|
return { Data: responseData };
|
|
76
|
-
case
|
|
76
|
+
case "TimedOut":
|
|
77
77
|
throw new Error(`SSM Document ${documentName} on EC2 instance ${instanceId} timed out`);
|
|
78
|
-
case
|
|
78
|
+
case "Cancelled":
|
|
79
79
|
throw new Error(`SSM Document ${documentName} on EC2 instance ${instanceId} cancelled`);
|
|
80
|
-
case
|
|
80
|
+
case "Failed":
|
|
81
81
|
throw new Error(`SSM Document ${documentName} on EC2 instance ${instanceId} failed`);
|
|
82
82
|
default:
|
|
83
83
|
throw new Error(`SSM Document ${documentName} on EC2 instance ${instanceId} status ${command.Status}`);
|
|
@@ -91,4 +91,4 @@ const handler = async (event, context) => {
|
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
93
|
exports.handler = handler;
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGVyLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnN0YWxsZXIvaW5zdGFsbGVyLmxhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBbUQ7QUFNbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxnQkFBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBRWYsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLEtBQXFCLEVBQUUsT0FBZ0IsRUFBNEIsRUFBRTtJQUNqRyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRTNELElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNuQyxhQUFhO1FBQ2IsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDO0lBQ3BELE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUM7SUFDdkQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQztJQUMzRCxNQUFNLHNCQUFzQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQztJQUUvRSxRQUFRO0lBQ1IsT0FBTyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlELE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTNFLDRCQUE0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S0FBSyxDQUFDLGdCQUFnQixZQUFZLG9CQUFvQixVQUFVLHFDQUFxQyxDQUFDLENBQUM7b0JBQ25ILENBQUM7Z0JBQ0gsS0FBSyxTQUFTO29CQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxVQUFVLDRCQUE0QixDQUFDLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7Z0JBQ2hDLEtBQUssVUFBVTtvQkFDYixNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixZQUFZLG9CQUFvQixVQUFVLFlBQVksQ0FBQyxDQUFDO2dCQUMxRixLQUFLLFdBQVc7b0JBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsWUFBWSxvQkFBb0IsVUFBVSxZQUFZLENBQUMsQ0FBQztnQkFDMUYsS0FBSyxRQUFRO29CQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLFlBQVksb0JBQW9CLFVBQVUsU0FBUyxDQUFDLENBQUM7Z0JBQ3ZGO29CQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLFlBQVksb0JBQW9CLFVBQVUsV0FBVyxPQUFPLENBQUMsTUFBTyxFQUFFLENBQUMsQ0FBQztZQUM1RyxDQUFDO1lBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUVoQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkIsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQztBQWpHVyxRQUFBLE9BQU8sV0FpR2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCwgU1NNIH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXNzbSc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgdHlwZSB7IE9uRXZlbnRSZXF1ZXN0LCBPbkV2ZW50UmVzcG9uc2UgfSBmcm9tICdhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzL2xpYi9wcm92aWRlci1mcmFtZXdvcmsvdHlwZXMnO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gJ2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25DdXN0b21SZXNvdXJjZVJlc291cmNlUHJvcGVydGllc0NvbW1vbiB9IGZyb20gJ2F3cy1sYW1iZGEvdHJpZ2dlci9jbG91ZGZvcm1hdGlvbi1jdXN0b20tcmVzb3VyY2UnO1xuXG5jb25zdCBzc20gPSBuZXcgU1NNKCk7XG5jb25zdCBTTEVFUF9NUyA9IDI5MDA7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gYXN5bmMgKGV2ZW50OiBPbkV2ZW50UmVxdWVzdCwgY29udGV4dDogQ29udGV4dCk6IFByb21pc2U8T25FdmVudFJlc3BvbnNlPiA9PiB7XG4gIGNvbnNvbGUubG9nKCdFdmVudDogJWonLCB7IC4uLmV2ZW50LCBSZXNwb25zZVVSTDogJy4uLicgfSk7XG5cbiAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlICE9PSAnQ3JlYXRlJykge1xuICAgIC8vIGRvIG5vdGhpbmdcbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvLyBvbmx5IENyZWF0ZSBjYXNlXG4gIGNvbnN0IHJlc291cmNlUHJvcGVydGllcyA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcztcbiAgY29uc3QgaW5zdGFuY2VJZCA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5JbnN0YW5jZUlkO1xuICBjb25zdCBkb2N1bWVudE5hbWUgPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuRG9jdW1lbnROYW1lO1xuICBjb25zdCBjbG91ZFdhdGNoTG9nR3JvdXBOYW1lID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkNsb3VkV2F0Y2hMb2dHcm91cE5hbWU7XG5cbiAgLy8gZGVidWdcbiAgY29uc29sZS5sb2coJ1Jlc291cmNlUHJvcGVydGllcyByYXc6ICVqJywgcmVzb3VyY2VQcm9wZXJ0aWVzKTtcbiAgY29uc29sZS5sb2coJ0luc3RhbmNlSWQ6ICVzJywgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkluc3RhbmNlSWQpO1xuICBjb25zb2xlLmxvZygnVlNDb2RlUGFzc3dvcmQ6ICVzJywgZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLlZTQ29kZVBhc3N3b3JkKTtcblxuICAvLyB0byBiZSBhYmxlIHRvIG1vZGlmeSB0aGVtXG4gIGNvbnN0IHJlc291cmNlUHJvcGVydGllc1BhcnRpYWwgPSByZXNvdXJjZVByb3BlcnRpZXMgYXMgUGFydGlhbDxDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlUmVzb3VyY2VQcm9wZXJ0aWVzQ29tbW9uPjtcbiAgY29uc29sZS5sb2coJ1Jlc291cmNlUHJvcGVydGllcyBiZWZvcmU6ICVqJywgcmVzb3VyY2VQcm9wZXJ0aWVzUGFydGlhbCk7XG4gIGRlbGV0ZSByZXNvdXJjZVByb3BlcnRpZXNQYXJ0aWFsLlNlcnZpY2VUb2tlbjtcbiAgaWYgKHJlc291cmNlUHJvcGVydGllc1BhcnRpYWwuU2VydmljZVRpbWVvdXQpIHtcbiAgICBkZWxldGUgcmVzb3VyY2VQcm9wZXJ0aWVzUGFydGlhbC5TZXJ2aWNlVGltZW91dDtcbiAgfVxuICBkZWxldGUgcmVzb3VyY2VQcm9wZXJ0aWVzUGFydGlhbC5JbnN0YW5jZUlkO1xuICBkZWxldGUgcmVzb3VyY2VQcm9wZXJ0aWVzUGFydGlhbC5Eb2N1bWVudE5hbWU7XG4gIGRlbGV0ZSByZXNvdXJjZVByb3BlcnRpZXNQYXJ0aWFsLkNsb3VkV2F0Y2hMb2dHcm91cE5hbWU7XG4gIGlmIChyZXNvdXJjZVByb3BlcnRpZXNQYXJ0aWFsLlBoeXNpY2FsUmVzb3VyY2VJZCkge1xuICAgIGRlbGV0ZSByZXNvdXJjZVByb3BlcnRpZXNQYXJ0aWFsLlBoeXNpY2FsUmVzb3VyY2VJZDtcbiAgfVxuXG4gIGNvbnNvbGUubG9nKCdSZXNvdXJjZVByb3BlcnRpZXMgZmlsdGVyZWQgYWZ0ZXI6ICVqJywgcmVzb3VyY2VQcm9wZXJ0aWVzUGFydGlhbCk7XG5cbiAgY29uc3QgcGFyYW1ldGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nW10+ID0ge307XG4gIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHJlc291cmNlUHJvcGVydGllc1BhcnRpYWwpKSB7XG4gICAgcGFyYW1ldGVyc1trZXldID0gW3ZhbHVlXTtcbiAgfVxuICBjb25zb2xlLmxvZygnbWFwcGVkIHBhcmFtZXRlcnM6ICVqJywgcGFyYW1ldGVycyk7XG5cbiAgbGV0IGF0dGVtcHRObzogbnVtYmVyID0gMDtcbiAgbGV0IHRpbWVSZW1haW5pbmc6IG51bWJlciA9IGNvbnRleHQuZ2V0UmVtYWluaW5nVGltZUluTWlsbGlzKCk7XG5cbiAgY29uc29sZS5sb2coYFJ1bm5pbmcgU1NNIERvY3VtZW50ICcke2RvY3VtZW50TmFtZX0nIG9uIEVDMiBpbnN0YW5jZSAnJHtpbnN0YW5jZUlkfScuIExvZ2dpbmcgdG8gJyR7Y2xvdWRXYXRjaExvZ0dyb3VwTmFtZX0nIHdpdGggcGFyYW1ldGVyczogJyR7SlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycyl9J2ApO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgYXR0ZW1wdE5vICs9IDE7XG4gICAgY29uc29sZS5sb2coYEF0dGVtcHQ6ICR7YXR0ZW1wdE5vfS4gVGltZSBSZW1haW5pbmc6ICR7dGltZVJlbWFpbmluZyAvIDEwMDB9c2ApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc3NtLnNlbmRDb21tYW5kKHtcbiAgICAgICAgRG9jdW1lbnROYW1lOiBkb2N1bWVudE5hbWUsXG4gICAgICAgIEluc3RhbmNlSWRzOiBbaW5zdGFuY2VJZF0sXG4gICAgICAgIENsb3VkV2F0Y2hPdXRwdXRDb25maWc6IHtcbiAgICAgICAgICBDbG91ZFdhdGNoTG9nR3JvdXBOYW1lOiBjbG91ZFdhdGNoTG9nR3JvdXBOYW1lLFxuICAgICAgICAgIENsb3VkV2F0Y2hPdXRwdXRFbmFibGVkOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBQYXJhbWV0ZXJzOiBwYXJhbWV0ZXJzLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnNvbGUubG9nKGByZXNwb25zZTogJHtKU09OLnN0cmluZ2lmeShyZXNwb25zZSl9YCk7XG4gICAgICBjb25zdCBjb21tYW5kOiBDb21tYW5kID0gcmVzcG9uc2UuQ29tbWFuZCE7XG4gICAgICBjb25zdCBjb21tYW5kSWQ6IHN0cmluZyA9IGNvbW1hbmQuQ29tbWFuZElkITtcbiAgICAgIGNvbnN0IHJlc3BvbnNlRGF0YTogYW55ID0geyBDb21tYW5kSWQ6IGNvbW1hbmRJZCB9O1xuXG4gICAgICBzd2l0Y2ggKGNvbW1hbmQuU3RhdHVzISkge1xuICAgICAgICBjYXNlICdQZW5kaW5nJzpcbiAgICAgICAgY2FzZSAnSW5Qcm9ncmVzcyc6XG4gICAgICAgICAgdGltZVJlbWFpbmluZyA9IGNvbnRleHQuZ2V0UmVtYWluaW5nVGltZUluTWlsbGlzKCk7XG4gICAgICAgICAgaWYgKHRpbWVSZW1haW5pbmcgPiBTTEVFUF9NUykge1xuICAgICAgICAgICAgY29uc29sZS5sb2coYEluc3RhbmNlICR7aW5zdGFuY2VJZH0gbm90IHJlYWR5OiAnSW5Qcm9ncmVzcycuIFNsZWVwaW5nOiAke1NMRUVQX01TIC8gMTAwMH1zYCk7XG4gICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgU0xFRVBfTVMpKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNTTSBEb2N1bWVudCAke2RvY3VtZW50TmFtZX0gb24gRUMyIGluc3RhbmNlICR7aW5zdGFuY2VJZH0gdGltZWQgb3V0IHdoaWxlIGxhbWJkYSBpbiBwcm9ncmVzc2ApO1xuICAgICAgICAgIH1cbiAgICAgICAgY2FzZSAnU3VjY2Vzcyc6XG4gICAgICAgICAgY29uc29sZS5sb2coYEluc3RhbmNlICR7aW5zdGFuY2VJZH0gc3VjY2Vzc2Z1bGx5IGJvb3RzdHJhcHBlZGApO1xuICAgICAgICAgIHJldHVybiB7IERhdGE6IHJlc3BvbnNlRGF0YSB9O1xuICAgICAgICBjYXNlICdUaW1lZE91dCc6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTU00gRG9jdW1lbnQgJHtkb2N1bWVudE5hbWV9IG9uIEVDMiBpbnN0YW5jZSAke2luc3RhbmNlSWR9IHRpbWVkIG91dGApO1xuICAgICAgICBjYXNlICdDYW5jZWxsZWQnOlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgU1NNIERvY3VtZW50ICR7ZG9jdW1lbnROYW1lfSBvbiBFQzIgaW5zdGFuY2UgJHtpbnN0YW5jZUlkfSBjYW5jZWxsZWRgKTtcbiAgICAgICAgY2FzZSAnRmFpbGVkJzpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNTTSBEb2N1bWVudCAke2RvY3VtZW50TmFtZX0gb24gRUMyIGluc3RhbmNlICR7aW5zdGFuY2VJZH0gZmFpbGVkYCk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBTU00gRG9jdW1lbnQgJHtkb2N1bWVudE5hbWV9IG9uIEVDMiBpbnN0YW5jZSAke2luc3RhbmNlSWR9IHN0YXR1cyAke2NvbW1hbmQuU3RhdHVzIX1gKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgRGF0YTogcmVzcG9uc2VEYXRhIH07XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59OyJdfQ==
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGVyLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnN0YWxsZXIvaW5zdGFsbGVyLmxhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxvREFBbUQ7QUFTbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxnQkFBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDO0FBRWYsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUMxQixLQUFxQixFQUNyQixPQUFnQixFQUNVLEVBQUU7SUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUUzRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbkMsYUFBYTtRQUNiLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELG1CQUFtQjtJQUNuQixNQUFNLGtCQUFrQixHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztJQUNwRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO0lBQ3ZELE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7SUFDM0QsTUFBTSxzQkFBc0IsR0FDMUIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDO0lBRWxELFFBQVE7SUFDUixPQUFPLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDOUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFM0UsNEJB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QUFNLElBQUksS0FBSyxDQUNiLGdCQUFnQixZQUFZLG9CQUFvQixVQUFVLHFDQUFxQyxDQUNoRyxDQUFDO29CQUNKLENBQUM7Z0JBQ0gsS0FBSyxTQUFTO29CQUNaLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxVQUFVLDRCQUE0QixDQUFDLENBQUM7b0JBQ2hFLE9BQU8sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUM7Z0JBQ2hDLEtBQUssVUFBVTtvQkFDYixNQUFNLElBQUksS0FBSyxDQUNiLGdCQUFnQixZQUFZLG9CQUFvQixVQUFVLFlBQVksQ0FDdkUsQ0FBQztnQkFDSixLQUFLLFdBQVc7b0JBQ2QsTUFBTSxJQUFJLEtBQUssQ0FDYixnQkFBZ0IsWUFBWSxvQkFBb0IsVUFBVSxZQUFZLENBQ3ZFLENBQUM7Z0JBQ0osS0FBSyxRQUFRO29CQUNYLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0JBQWdCLFlBQVksb0JBQW9CLFVBQVUsU0FBUyxDQUNwRSxDQUFDO2dCQUNKO29CQUNFLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0JBQWdCLFlBQVksb0JBQW9CLFVBQVUsV0FBVyxPQUFPLENBQUMsTUFBTyxFQUFFLENBQ3ZGLENBQUM7WUFDTixDQUFDO1lBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQztRQUNoQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbkIsTUFBTSxLQUFLLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQztBQXhIVyxRQUFBLE9BQU8sV0F3SGxCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZCwgU1NNIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zc21cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB0eXBlIHtcbiAgT25FdmVudFJlcXVlc3QsXG4gIE9uRXZlbnRSZXNwb25zZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXMvbGliL3Byb3ZpZGVyLWZyYW1ld29yay90eXBlc1wiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJhd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlUmVzb3VyY2VQcm9wZXJ0aWVzQ29tbW9uIH0gZnJvbSBcImF3cy1sYW1iZGEvdHJpZ2dlci9jbG91ZGZvcm1hdGlvbi1jdXN0b20tcmVzb3VyY2VcIjtcblxuY29uc3Qgc3NtID0gbmV3IFNTTSgpO1xuY29uc3QgU0xFRVBfTVMgPSAyOTAwO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGFzeW5jIChcbiAgZXZlbnQ6IE9uRXZlbnRSZXF1ZXN0LFxuICBjb250ZXh0OiBDb250ZXh0LFxuKTogUHJvbWlzZTxPbkV2ZW50UmVzcG9uc2U+ID0+IHtcbiAgY29uc29sZS5sb2coXCJFdmVudDogJWpcIiwgeyAuLi5ldmVudCwgUmVzcG9uc2VVUkw6IFwiLi4uXCIgfSk7XG5cbiAgaWYgKGV2ZW50LlJlcXVlc3RUeXBlICE9PSBcIkNyZWF0ZVwiKSB7XG4gICAgLy8gZG8gbm90aGluZ1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8vIG9ubHkgQ3JlYXRlIGNhc2VcbiAgY29uc3QgcmVzb3VyY2VQcm9wZXJ0aWVzID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzO1xuICBjb25zdCBpbnN0YW5jZUlkID0gZXZlbnQuUmVzb3VyY2VQcm9wZXJ0aWVzLkluc3RhbmNlSWQ7XG4gIGNvbnN0IGRvY3VtZW50TmFtZSA9IGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5Eb2N1bWVudE5hbWU7XG4gIGNvbnN0IGNsb3VkV2F0Y2hMb2dHcm91cE5hbWUgPVxuICAgIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5DbG91ZFdhdGNoTG9nR3JvdXBOYW1lO1xuXG4gIC8vIGRlYnVnXG4gIGNvbnNvbGUubG9nKFwiUmVzb3VyY2VQcm9wZXJ0aWVzIHJhdzogJWpcIiwgcmVzb3VyY2VQcm9wZXJ0aWVzKTtcbiAgY29uc29sZS5sb2coXCJJbnN0YW5jZUlkOiAlc1wiLCBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuSW5zdGFuY2VJZCk7XG4gIGNvbnNvbGUubG9nKFwiVlNDb2RlUGFzc3dvcmQ6ICVzXCIsIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5WU0NvZGVQYXNzd29yZCk7XG5cbiAgLy8gdG8gYmUgYWJsZSB0byBtb2RpZnkgdGhlbVxuICBjb25zdCByZXNvdXJjZVByb3BlcnRpZXNQYXJ0aWFsID1cbiAgICByZXNvdXJjZVByb3BlcnRpZXMgYXMgUGFydGlhbDxDbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlUmVzb3VyY2VQcm9wZXJ0aWVzQ29tbW9uPjtcbiAgY29uc29sZS5sb2coXCJSZXNvdXJjZVByb3BlcnRpZXMgYmVmb3JlOiAlalwiLCByZXNvdXJjZVByb3BlcnRpZXNQYXJ0aWFsKTtcbiAgZGVsZXRlIHJlc291cmNlUHJvcGVydGllc1BhcnRpYWwuU2VydmljZVRva2VuO1xuICBpZiAocmVzb3VyY2VQcm9wZXJ0aWVzUGFydGlhbC5TZXJ2aWNlVGltZW91dCkge1xuICAgIGRlbGV0ZSByZXNvdXJjZVByb3BlcnRpZXNQYXJ0aWFsLlNlcnZpY2VUaW1lb3V0O1xuICB9XG4gIGRlbGV0ZSByZXNvdXJjZVByb3BlcnRpZXNQYXJ0aWFsLkluc3RhbmNlSWQ7XG4gIGRlbGV0ZSByZXNvdXJjZVByb3BlcnRpZXNQYXJ0aWFsLkRvY3VtZW50TmFtZTtcbiAgZGVsZXRlIHJlc291cmNlUHJvcGVydGllc1BhcnRpYWwuQ2xvdWRXYXRjaExvZ0dyb3VwTmFtZTtcbiAgaWYgKHJlc291cmNlUHJvcGVydGllc1BhcnRpYWwuUGh5c2ljYWxSZXNvdXJjZUlkKSB7XG4gICAgZGVsZXRlIHJlc291cmNlUHJvcGVydGllc1BhcnRpYWwuUGh5c2ljYWxSZXNvdXJjZUlkO1xuICB9XG5cbiAgY29uc29sZS5sb2coXG4gICAgXCJSZXNvdXJjZVByb3BlcnRpZXMgZmlsdGVyZWQgYWZ0ZXI6ICVqXCIsXG4gICAgcmVzb3VyY2VQcm9wZXJ0aWVzUGFydGlhbCxcbiAgKTtcblxuICBjb25zdCBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fTtcbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVzb3VyY2VQcm9wZXJ0aWVzUGFydGlhbCkpIHtcbiAgICBwYXJhbWV0ZXJzW2tleV0gPSBbdmFsdWVdO1xuICB9XG4gIGNvbnNvbGUubG9nKFwibWFwcGVkIHBhcmFtZXRlcnM6ICVqXCIsIHBhcmFtZXRlcnMpO1xuXG4gIGxldCBhdHRlbXB0Tm86IG51bWJlciA9IDA7XG4gIGxldCB0aW1lUmVtYWluaW5nOiBudW1iZXIgPSBjb250ZXh0LmdldFJlbWFpbmluZ1RpbWVJbk1pbGxpcygpO1xuXG4gIGNvbnNvbGUubG9nKFxuICAgIGBSdW5uaW5nIFNTTSBEb2N1bWVudCAnJHtkb2N1bWVudE5hbWV9JyBvbiBFQzIgaW5zdGFuY2UgJyR7aW5zdGFuY2VJZH0nLiBMb2dnaW5nIHRvICcke2Nsb3VkV2F0Y2hMb2dHcm91cE5hbWV9JyB3aXRoIHBhcmFtZXRlcnM6ICcke0pTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMpfSdgLFxuICApO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgYXR0ZW1wdE5vICs9IDE7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgQXR0ZW1wdDogJHthdHRlbXB0Tm99LiBUaW1lIFJlbWFpbmluZzogJHt0aW1lUmVtYWluaW5nIC8gMTAwMH1zYCxcbiAgICApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgc3NtLnNlbmRDb21tYW5kKHtcbiAgICAgICAgRG9jdW1lbnROYW1lOiBkb2N1bWVudE5hbWUsXG4gICAgICAgIEluc3RhbmNlSWRzOiBbaW5zdGFuY2VJZF0sXG4gICAgICAgIENsb3VkV2F0Y2hPdXRwdXRDb25maWc6IHtcbiAgICAgICAgICBDbG91ZFdhdGNoTG9nR3JvdXBOYW1lOiBjbG91ZFdhdGNoTG9nR3JvdXBOYW1lLFxuICAgICAgICAgIENsb3VkV2F0Y2hPdXRwdXRFbmFibGVkOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBQYXJhbWV0ZXJzOiBwYXJhbWV0ZXJzLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnNvbGUubG9nKGByZXNwb25zZTogJHtKU09OLnN0cmluZ2lmeShyZXNwb25zZSl9YCk7XG4gICAgICBjb25zdCBjb21tYW5kOiBDb21tYW5kID0gcmVzcG9uc2UuQ29tbWFuZCE7XG4gICAgICBjb25zdCBjb21tYW5kSWQ6IHN0cmluZyA9IGNvbW1hbmQuQ29tbWFuZElkITtcbiAgICAgIGNvbnN0IHJlc3BvbnNlRGF0YTogYW55ID0geyBDb21tYW5kSWQ6IGNvbW1hbmRJZCB9O1xuXG4gICAgICBzd2l0Y2ggKGNvbW1hbmQuU3RhdHVzISkge1xuICAgICAgICBjYXNlIFwiUGVuZGluZ1wiOlxuICAgICAgICBjYXNlIFwiSW5Qcm9ncmVzc1wiOlxuICAgICAgICAgIHRpbWVSZW1haW5pbmcgPSBjb250ZXh0LmdldFJlbWFpbmluZ1RpbWVJbk1pbGxpcygpO1xuICAgICAgICAgIGlmICh0aW1lUmVtYWluaW5nID4gU0xFRVBfTVMpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgICAgICBgSW5zdGFuY2UgJHtpbnN0YW5jZUlkfSBub3QgcmVhZHk6ICdJblByb2dyZXNzJy4gU2xlZXBpbmc6ICR7U0xFRVBfTVMgLyAxMDAwfXNgLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIFNMRUVQX01TKSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgU1NNIERvY3VtZW50ICR7ZG9jdW1lbnROYW1lfSBvbiBFQzIgaW5zdGFuY2UgJHtpbnN0YW5jZUlkfSB0aW1lZCBvdXQgd2hpbGUgbGFtYmRhIGluIHByb2dyZXNzYCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICBjYXNlIFwiU3VjY2Vzc1wiOlxuICAgICAgICAgIGNvbnNvbGUubG9nKGBJbnN0YW5jZSAke2luc3RhbmNlSWR9IHN1Y2Nlc3NmdWxseSBib290c3RyYXBwZWRgKTtcbiAgICAgICAgICByZXR1cm4geyBEYXRhOiByZXNwb25zZURhdGEgfTtcbiAgICAgICAgY2FzZSBcIlRpbWVkT3V0XCI6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYFNTTSBEb2N1bWVudCAke2RvY3VtZW50TmFtZX0gb24gRUMyIGluc3RhbmNlICR7aW5zdGFuY2VJZH0gdGltZWQgb3V0YCxcbiAgICAgICAgICApO1xuICAgICAgICBjYXNlIFwiQ2FuY2VsbGVkXCI6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYFNTTSBEb2N1bWVudCAke2RvY3VtZW50TmFtZX0gb24gRUMyIGluc3RhbmNlICR7aW5zdGFuY2VJZH0gY2FuY2VsbGVkYCxcbiAgICAgICAgICApO1xuICAgICAgICBjYXNlIFwiRmFpbGVkXCI6XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYFNTTSBEb2N1bWVudCAke2RvY3VtZW50TmFtZX0gb24gRUMyIGluc3RhbmNlICR7aW5zdGFuY2VJZH0gZmFpbGVkYCxcbiAgICAgICAgICApO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBTU00gRG9jdW1lbnQgJHtkb2N1bWVudE5hbWV9IG9uIEVDMiBpbnN0YW5jZSAke2luc3RhbmNlSWR9IHN0YXR1cyAke2NvbW1hbmQuU3RhdHVzIX1gLFxuICAgICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7IERhdGE6IHJlc3BvbnNlRGF0YSB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvcik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn07XG4iXX0=
|
package/lib/mappings.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { LinuxArchitectureType, LinuxFlavorType } from
|
|
1
|
+
import { LinuxArchitectureType, LinuxFlavorType } from "./vscode-server";
|
|
2
2
|
export declare function getAmiSSMParameterForLinuxArchitectureAndFlavor(arch: LinuxArchitectureType, flavor: LinuxFlavorType): string;
|
package/lib/mappings.js
CHANGED
|
@@ -9,12 +9,30 @@ exports.getAmiSSMParameterForLinuxArchitectureAndFlavor = getAmiSSMParameterForL
|
|
|
9
9
|
*/
|
|
10
10
|
const AmiSSMParameterForLinuxArchitectureAndFlavor = new Map([
|
|
11
11
|
// key, value
|
|
12
|
-
[
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
[
|
|
17
|
-
|
|
12
|
+
[
|
|
13
|
+
"arm-ubuntu22",
|
|
14
|
+
"/aws/service/canonical/ubuntu/server/jammy/stable/current/arm64/hvm/ebs-gp2/ami-id",
|
|
15
|
+
],
|
|
16
|
+
[
|
|
17
|
+
"arm-ubuntu24",
|
|
18
|
+
"/aws/service/canonical/ubuntu/server/noble/stable/current/arm64/hvm/ebs-gp3/ami-id",
|
|
19
|
+
],
|
|
20
|
+
[
|
|
21
|
+
"arm-al2023",
|
|
22
|
+
"/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64",
|
|
23
|
+
],
|
|
24
|
+
[
|
|
25
|
+
"amd64-ubuntu22",
|
|
26
|
+
"/aws/service/canonical/ubuntu/server/jammy/stable/current/amd64/hvm/ebs-gp2/ami-id",
|
|
27
|
+
],
|
|
28
|
+
[
|
|
29
|
+
"amd64-ubuntu24",
|
|
30
|
+
"/aws/service/canonical/ubuntu/server/noble/stable/current/amd64/hvm/ebs-gp3/ami-id",
|
|
31
|
+
],
|
|
32
|
+
[
|
|
33
|
+
"amd64-al2023",
|
|
34
|
+
"/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64",
|
|
35
|
+
],
|
|
18
36
|
]);
|
|
19
37
|
function getAmiSSMParameterForLinuxArchitectureAndFlavor(arch, flavor) {
|
|
20
38
|
if (AmiSSMParameterForLinuxArchitectureAndFlavor.has(`${arch}-${flavor}`)) {
|
|
@@ -22,4 +40,4 @@ function getAmiSSMParameterForLinuxArchitectureAndFlavor(arch, flavor) {
|
|
|
22
40
|
}
|
|
23
41
|
throw new Error(`Linux architecture '${arch}' and flavor '${flavor}' not supported`);
|
|
24
42
|
}
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWFwcGluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFtQ0EsMEdBWUM7QUE5Q0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLDRDQUE0QyxHQUFHLElBQUksR0FBRyxDQUFpQjtJQUMzRSxhQUFhO0lBQ2I7UUFDRSxjQUFjO1FBQ2Qsb0ZBQW9GO0tBQ3JGO0lBQ0Q7UUFDRSxjQUFjO1FBQ2Qsb0ZBQW9GO0tBQ3JGO0lBQ0Q7UUFDRSxZQUFZO1FBQ1osc0VBQXNFO0tBQ3ZFO0lBQ0Q7UUFDRSxnQkFBZ0I7UUFDaEIsb0ZBQW9GO0tBQ3JGO0lBQ0Q7UUFDRSxnQkFBZ0I7UUFDaEIsb0ZBQW9GO0tBQ3JGO0lBQ0Q7UUFDRSxjQUFjO1FBQ2QsdUVBQXVFO0tBQ3hFO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsU0FBZ0IsK0NBQStDLENBQzdELElBQTJCLEVBQzNCLE1BQXVCO0lBRXZCLElBQUksNENBQTRDLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUMxRSxPQUFPLDRDQUE0QyxDQUFDLEdBQUcsQ0FDckQsR0FBRyxJQUFJLElBQUksTUFBTSxFQUFFLENBQ25CLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYix1QkFBdUIsSUFBSSxpQkFBaUIsTUFBTSxpQkFBaUIsQ0FDcEUsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaW51eEFyY2hpdGVjdHVyZVR5cGUsIExpbnV4Rmxhdm9yVHlwZSB9IGZyb20gXCIuL3ZzY29kZS1zZXJ2ZXJcIjtcbi8qKlxuICogU1NNIFBhcmFtZXRlcnMgZm9yIHRoZSBBcmNoaXRlY3R1cmUgYW5kIEZsYXZvciBvZiB0aGUgTGludXggc3lzdGVtLlxuICpcbiAqIGF3cyBzc20gZ2V0LXBhcmFtZXRlcnMtYnktcGF0aCAtLXBhdGggXCIvYXdzL3NlcnZpY2UvY2Fub25pY2FsL3VidW50dS9cIiAtLXJlY3Vyc2l2ZSAtLXF1ZXJ5IFwiUGFyYW1ldGVyc1sqXS5OYW1lXCIgID4gY2Fub25pY2FsLWFtaS50eHRcbiAqIGF3cyBzc20gZ2V0LXBhcmFtZXRlcnMtYnktcGF0aCAtLXBhdGggXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvXCIgLS1yZWN1cnNpdmUgLS1xdWVyeSBcIlBhcmFtZXRlcnNbKl0uTmFtZVwiICA+IGFtYXpvbi1hbWkudHh0XG4gKi9cbmNvbnN0IEFtaVNTTVBhcmFtZXRlckZvckxpbnV4QXJjaGl0ZWN0dXJlQW5kRmxhdm9yID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xuICAvLyBrZXksIHZhbHVlXG4gIFtcbiAgICBcImFybS11YnVudHUyMlwiLFxuICAgIFwiL2F3cy9zZXJ2aWNlL2Nhbm9uaWNhbC91YnVudHUvc2VydmVyL2phbW15L3N0YWJsZS9jdXJyZW50L2FybTY0L2h2bS9lYnMtZ3AyL2FtaS1pZFwiLFxuICBdLFxuICBbXG4gICAgXCJhcm0tdWJ1bnR1MjRcIixcbiAgICBcIi9hd3Mvc2VydmljZS9jYW5vbmljYWwvdWJ1bnR1L3NlcnZlci9ub2JsZS9zdGFibGUvY3VycmVudC9hcm02NC9odm0vZWJzLWdwMy9hbWktaWRcIixcbiAgXSxcbiAgW1xuICAgIFwiYXJtLWFsMjAyM1wiLFxuICAgIFwiL2F3cy9zZXJ2aWNlL2FtaS1hbWF6b24tbGludXgtbGF0ZXN0L2FsMjAyMy1hbWkta2VybmVsLWRlZmF1bHQtYXJtNjRcIixcbiAgXSxcbiAgW1xuICAgIFwiYW1kNjQtdWJ1bnR1MjJcIixcbiAgICBcIi9hd3Mvc2VydmljZS9jYW5vbmljYWwvdWJ1bnR1L3NlcnZlci9qYW1teS9zdGFibGUvY3VycmVudC9hbWQ2NC9odm0vZWJzLWdwMi9hbWktaWRcIixcbiAgXSxcbiAgW1xuICAgIFwiYW1kNjQtdWJ1bnR1MjRcIixcbiAgICBcIi9hd3Mvc2VydmljZS9jYW5vbmljYWwvdWJ1bnR1L3NlcnZlci9ub2JsZS9zdGFibGUvY3VycmVudC9hbWQ2NC9odm0vZWJzLWdwMy9hbWktaWRcIixcbiAgXSxcbiAgW1xuICAgIFwiYW1kNjQtYWwyMDIzXCIsXG4gICAgXCIvYXdzL3NlcnZpY2UvYW1pLWFtYXpvbi1saW51eC1sYXRlc3QvYWwyMDIzLWFtaS1rZXJuZWwtZGVmYXVsdC14ODZfNjRcIixcbiAgXSxcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QW1pU1NNUGFyYW1ldGVyRm9yTGludXhBcmNoaXRlY3R1cmVBbmRGbGF2b3IoXG4gIGFyY2g6IExpbnV4QXJjaGl0ZWN0dXJlVHlwZSxcbiAgZmxhdm9yOiBMaW51eEZsYXZvclR5cGUsXG4pOiBzdHJpbmcge1xuICBpZiAoQW1pU1NNUGFyYW1ldGVyRm9yTGludXhBcmNoaXRlY3R1cmVBbmRGbGF2b3IuaGFzKGAke2FyY2h9LSR7Zmxhdm9yfWApKSB7XG4gICAgcmV0dXJuIEFtaVNTTVBhcmFtZXRlckZvckxpbnV4QXJjaGl0ZWN0dXJlQW5kRmxhdm9yLmdldChcbiAgICAgIGAke2FyY2h9LSR7Zmxhdm9yfWAsXG4gICAgKSE7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgIGBMaW51eCBhcmNoaXRlY3R1cmUgJyR7YXJjaH0nIGFuZCBmbGF2b3IgJyR7Zmxhdm9yfScgbm90IHN1cHBvcnRlZGAsXG4gICk7XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IPrefixList } from
|
|
2
|
-
import { Construct } from
|
|
1
|
+
import { IPrefixList } from "aws-cdk-lib/aws-ec2";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
3
|
export interface AwsManagedPrefixListProps {
|
|
4
4
|
/**
|
|
5
5
|
* Name of the aws managed prefix list.
|
|
@@ -13,18 +13,18 @@ const constructs_1 = require("constructs");
|
|
|
13
13
|
class AwsManagedPrefixList extends constructs_1.Construct {
|
|
14
14
|
constructor(scope, id, { name }) {
|
|
15
15
|
super(scope, id);
|
|
16
|
-
const cr = new custom_resources_1.AwsCustomResource(this,
|
|
17
|
-
logGroup: new aws_logs_1.LogGroup(this,
|
|
16
|
+
const cr = new custom_resources_1.AwsCustomResource(this, "GetPrefixListId", {
|
|
17
|
+
logGroup: new aws_logs_1.LogGroup(this, "GetPrefixListIdLogGroup", {
|
|
18
18
|
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
19
19
|
retention: 1,
|
|
20
20
|
}),
|
|
21
21
|
onUpdate: {
|
|
22
|
-
service:
|
|
23
|
-
action:
|
|
22
|
+
service: "@aws-sdk/client-ec2",
|
|
23
|
+
action: "DescribeManagedPrefixListsCommand",
|
|
24
24
|
parameters: {
|
|
25
25
|
Filters: [
|
|
26
26
|
{
|
|
27
|
-
Name:
|
|
27
|
+
Name: "prefix-list-name",
|
|
28
28
|
Values: [name],
|
|
29
29
|
},
|
|
30
30
|
],
|
|
@@ -34,23 +34,24 @@ class AwsManagedPrefixList extends constructs_1.Construct {
|
|
|
34
34
|
policy: custom_resources_1.AwsCustomResourcePolicy.fromStatements([
|
|
35
35
|
new aws_iam_1.PolicyStatement({
|
|
36
36
|
effect: aws_iam_1.Effect.ALLOW,
|
|
37
|
-
actions: [
|
|
38
|
-
resources: [
|
|
37
|
+
actions: ["ec2:DescribeManagedPrefixLists"],
|
|
38
|
+
resources: ["*"],
|
|
39
39
|
}),
|
|
40
40
|
]),
|
|
41
|
-
role: new aws_iam_1.Role(this,
|
|
42
|
-
assumedBy: new aws_iam_1.ServicePrincipal(
|
|
41
|
+
role: new aws_iam_1.Role(this, "GetPrefixListIdRole", {
|
|
42
|
+
assumedBy: new aws_iam_1.ServicePrincipal("lambda.amazonaws.com"),
|
|
43
43
|
}),
|
|
44
44
|
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
45
45
|
});
|
|
46
|
-
cdk_nag_1.NagSuppressions.addResourceSuppressions([
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
cdk_nag_1.NagSuppressions.addResourceSuppressions([cr], [
|
|
47
|
+
{
|
|
48
|
+
id: "AwsSolutions-IAM5",
|
|
49
|
+
reason: "For this provider wildcards are fine",
|
|
50
|
+
},
|
|
50
51
|
], true);
|
|
51
|
-
const prefixListId = cr.getResponseField(
|
|
52
|
-
this.prefixList = aws_ec2_1.PrefixList.fromPrefixListId(this,
|
|
52
|
+
const prefixListId = cr.getResponseField("PrefixLists.0.PrefixListId");
|
|
53
|
+
this.prefixList = aws_ec2_1.PrefixList.fromPrefixListId(this, "PrefixList", prefixListId);
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
exports.AwsManagedPrefixList = AwsManagedPrefixList;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZml4bGlzdC1yZXRyaWV2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJlZml4bGlzdC1yZXRyaWV2ZXIvcHJlZml4bGlzdC1yZXRyaWV2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQTRDO0FBQzVDLGlEQUE4RDtBQUM5RCxpREFLNkI7QUFDN0IsbURBQWdEO0FBQ2hELG1FQUlzQztBQUN0QyxxQ0FBMEM7QUFDMUMsMkNBQXVDO0FBYXZDLG9EQUFvRDtBQUNwRCxzRUFBc0U7QUFDdEUsTUFBYSxvQkFBcUIsU0FBUSxzQkFBUztJQUdqRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixFQUFFLElBQUksRUFBNkI7UUFFbkMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQUUsR0FBRyxJQUFJLG9DQUFpQixDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUN4RCxRQUFRLEVBQUUsSUFBSSxtQkFBUSxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRTtnQkFDdEQsYUFBYSxFQUFFLDJCQUFhLENBQUMsT0FBTztnQkFDcEMsU0FBUyxFQUFFLENBQUM7YUFDYixDQUFDO1lBQ0YsUUFBUSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLE1BQU0sRUFBRSxtQ0FBbUM7Z0JBQzNDLFVBQVUsRUFBRTtvQkFDVixPQUFPLEVBQUU7d0JBQ1A7NEJBQ0UsSUFBSSxFQUFFLGtCQUFrQjs0QkFDeEIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO3lCQUNmO3FCQUNGO2lCQUNGO2dCQUNELGtCQUFrQixFQUFFLHFDQUFrQixDQUFDLEVBQUUsQ0FDdkMsR0FBRyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUN2QzthQUNGO1lBQ0QsTUFBTSxFQUFFLDBDQUF1QixDQUFDLGNBQWMsQ0FBQztnQkFDN0MsSUFBSSx5QkFBZSxDQUFDO29CQUNsQixNQUFNLEVBQUUsZ0JBQU0sQ0FBQyxLQUFLO29CQUNwQixPQUFPLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQztvQkFDM0MsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO2lCQUNqQixDQUFDO2FBQ0gsQ0FBQztZQUNGLElBQUksRUFBRSxJQUFJLGNBQUksQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7Z0JBQzFDLFNBQVMsRUFBRSxJQUFJLDBCQUFnQixDQUFDLHNCQUFzQixDQUFDO2FBQ3hELENBQUM7WUFDRixhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1NBQ3JDLENBQUMsQ0FBQztRQUNILHlCQUFlLENBQUMsdUJBQXVCLENBQ3JDLENBQUMsRUFBRSxDQUFDLEVBQ0o7WUFDRTtnQkFDRSxFQUFFLEVBQUUsbUJBQW1CO2dCQUN2QixNQUFNLEVBQUUsc0NBQXNDO2FBQy9DO1NBQ0YsRUFDRCxJQUFJLENBQ0wsQ0FBQztRQUVGLE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxVQUFVLEdBQUcsb0JBQVUsQ0FBQyxnQkFBZ0IsQ0FDM0MsSUFBSSxFQUNKLFlBQVksRUFDWixZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTdERCxvREE2REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdmFsUG9saWN5IH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBJUHJlZml4TGlzdCwgUHJlZml4TGlzdCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQge1xuICBFZmZlY3QsXG4gIFBvbGljeVN0YXRlbWVudCxcbiAgUm9sZSxcbiAgU2VydmljZVByaW5jaXBhbCxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IExvZ0dyb3VwIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQge1xuICBBd3NDdXN0b21SZXNvdXJjZSxcbiAgQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3ksXG4gIFBoeXNpY2FsUmVzb3VyY2VJZCxcbn0gZnJvbSBcImF3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IE5hZ1N1cHByZXNzaW9ucyB9IGZyb20gXCJjZGstbmFnXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c01hbmFnZWRQcmVmaXhMaXN0UHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYXdzIG1hbmFnZWQgcHJlZml4IGxpc3QuXG4gICAqIFNlZTogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3ZwYy9sYXRlc3QvdXNlcmd1aWRlL3dvcmtpbmctd2l0aC1hd3MtbWFuYWdlZC1wcmVmaXgtbGlzdHMuaHRtbCNhdmFpbGFibGUtYXdzLW1hbmFnZWQtcHJlZml4LWxpc3RzXG4gICAqIGVnLiBjb20uYW1hem9uYXdzLmdsb2JhbC5jbG91ZGZyb250Lm9yaWdpbi1mYWNpbmdcbiAgICpcbiAgICogc2VlIGFsbCB2aWEgYXdzIGVjMiBkZXNjcmliZS1tYW5hZ2VkLXByZWZpeC1saXN0cyAgLS1yZWdpb24gPFJFR0lPTj4gfCBqcSAtciAnLlByZWZpeExpc3RzW10gfCBzZWxlY3QgKC5QcmVmaXhMaXN0TmFtZSA9PSBcImNvbS5hbWF6b25hd3MuZ2xvYmFsLmNsb3VkZnJvbnQub3JpZ2luLWZhY2luZ1wiKSB8IC5QcmVmaXhMaXN0SWQnXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbi8vIGNvcGllZCB3aXRoIGdyYWNlIGZyb20gaGVyZSB1bnRpbCBjZGsgc3VwcG9ydHMgaXRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTUxMTUjaXNzdWVjb21tZW50LTE2NjUxMDQ2ODdcbmV4cG9ydCBjbGFzcyBBd3NNYW5hZ2VkUHJlZml4TGlzdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBwcmVmaXhMaXN0OiBJUHJlZml4TGlzdDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgeyBuYW1lIH06IEF3c01hbmFnZWRQcmVmaXhMaXN0UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBjciA9IG5ldyBBd3NDdXN0b21SZXNvdXJjZSh0aGlzLCBcIkdldFByZWZpeExpc3RJZFwiLCB7XG4gICAgICBsb2dHcm91cDogbmV3IExvZ0dyb3VwKHRoaXMsIFwiR2V0UHJlZml4TGlzdElkTG9nR3JvdXBcIiwge1xuICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LkRFU1RST1ksXG4gICAgICAgIHJldGVudGlvbjogMSxcbiAgICAgIH0pLFxuICAgICAgb25VcGRhdGU6IHtcbiAgICAgICAgc2VydmljZTogXCJAYXdzLXNkay9jbGllbnQtZWMyXCIsXG4gICAgICAgIGFjdGlvbjogXCJEZXNjcmliZU1hbmFnZWRQcmVmaXhMaXN0c0NvbW1hbmRcIixcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIEZpbHRlcnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgTmFtZTogXCJwcmVmaXgtbGlzdC1uYW1lXCIsXG4gICAgICAgICAgICAgIFZhbHVlczogW25hbWVdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IFBoeXNpY2FsUmVzb3VyY2VJZC5vZihcbiAgICAgICAgICBgJHtpZH0tJHt0aGlzLm5vZGUuYWRkci5zbGljZSgwLCAxNil9YCxcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICBwb2xpY3k6IEF3c0N1c3RvbVJlc291cmNlUG9saWN5LmZyb21TdGF0ZW1lbnRzKFtcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgYWN0aW9uczogW1wiZWMyOkRlc2NyaWJlTWFuYWdlZFByZWZpeExpc3RzXCJdLFxuICAgICAgICAgIHJlc291cmNlczogW1wiKlwiXSxcbiAgICAgICAgfSksXG4gICAgICBdKSxcbiAgICAgIHJvbGU6IG5ldyBSb2xlKHRoaXMsIFwiR2V0UHJlZml4TGlzdElkUm9sZVwiLCB7XG4gICAgICAgIGFzc3VtZWRCeTogbmV3IFNlcnZpY2VQcmluY2lwYWwoXCJsYW1iZGEuYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIH0pLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pO1xuICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhcbiAgICAgIFtjcl0sXG4gICAgICBbXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogXCJBd3NTb2x1dGlvbnMtSUFNNVwiLFxuICAgICAgICAgIHJlYXNvbjogXCJGb3IgdGhpcyBwcm92aWRlciB3aWxkY2FyZHMgYXJlIGZpbmVcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB0cnVlLFxuICAgICk7XG5cbiAgICBjb25zdCBwcmVmaXhMaXN0SWQgPSBjci5nZXRSZXNwb25zZUZpZWxkKFwiUHJlZml4TGlzdHMuMC5QcmVmaXhMaXN0SWRcIik7XG5cbiAgICB0aGlzLnByZWZpeExpc3QgPSBQcmVmaXhMaXN0LmZyb21QcmVmaXhMaXN0SWQoXG4gICAgICB0aGlzLFxuICAgICAgXCJQcmVmaXhMaXN0XCIsXG4gICAgICBwcmVmaXhMaXN0SWQsXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -6,7 +6,6 @@ const core_1 = require("aws-cdk-lib/core");
|
|
|
6
6
|
const custom_resources_1 = require("aws-cdk-lib/custom-resources");
|
|
7
7
|
const cdk_nag_1 = require("cdk-nag");
|
|
8
8
|
const secret_retriever_function_1 = require("./secret-retriever-function");
|
|
9
|
-
;
|
|
10
9
|
class SecretRetriever {
|
|
11
10
|
static new(options) {
|
|
12
11
|
return new (class extends SecretRetriever {
|
|
@@ -28,45 +27,52 @@ class CustomResourceSecretRetriever extends SecretRetriever {
|
|
|
28
27
|
constructor(scope, options) {
|
|
29
28
|
super();
|
|
30
29
|
this.secretArn = options.secretArn;
|
|
31
|
-
const onEvent = new secret_retriever_function_1.SecretRetrieverFunction(scope,
|
|
30
|
+
const onEvent = new secret_retriever_function_1.SecretRetrieverFunction(scope, "SecretRetrieverOnEventHandler", {
|
|
32
31
|
timeout: core_1.Duration.seconds(10),
|
|
33
32
|
memorySize: 128,
|
|
34
33
|
});
|
|
35
|
-
cdk_nag_1.NagSuppressions.addResourceSuppressions([
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
cdk_nag_1.NagSuppressions.addResourceSuppressions([onEvent], [
|
|
35
|
+
{
|
|
36
|
+
id: "AwsSolutions-IAM4",
|
|
37
|
+
reason: "For this event handler we do not need to restrict managed policies",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
id: "AwsSolutions-L1",
|
|
41
|
+
reason: "For this lambda the latest runtime is not needed",
|
|
42
|
+
},
|
|
40
43
|
], true);
|
|
41
44
|
onEvent.addToRolePolicy(new aws_iam_1.PolicyStatement({
|
|
42
|
-
actions: [
|
|
43
|
-
|
|
44
|
-
],
|
|
45
|
-
resources: [
|
|
46
|
-
this.secretArn,
|
|
47
|
-
],
|
|
45
|
+
actions: ["secretsmanager:GetSecretValue"],
|
|
46
|
+
resources: [this.secretArn],
|
|
48
47
|
}));
|
|
49
|
-
const provider = new custom_resources_1.Provider(scope,
|
|
48
|
+
const provider = new custom_resources_1.Provider(scope, "SecretRetrieveProvider", {
|
|
50
49
|
onEventHandler: onEvent,
|
|
51
50
|
});
|
|
52
|
-
cdk_nag_1.NagSuppressions.addResourceSuppressions([
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
{
|
|
51
|
+
cdk_nag_1.NagSuppressions.addResourceSuppressions([provider], [
|
|
52
|
+
{
|
|
53
|
+
id: "AwsSolutions-IAM4",
|
|
54
|
+
reason: "For this provider we do not need to restrict managed policies",
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: "AwsSolutions-IAM5",
|
|
58
|
+
reason: "For this provider wildcards are fine",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
id: "AwsSolutions-L1",
|
|
62
|
+
reason: "For this provider the latest runtime is not needed",
|
|
63
|
+
},
|
|
58
64
|
], true);
|
|
59
|
-
const resource = new core_1.CustomResource(scope,
|
|
65
|
+
const resource = new core_1.CustomResource(scope, "SecretRetrieverCustomResource", {
|
|
60
66
|
serviceToken: provider.serviceToken,
|
|
61
67
|
properties: {
|
|
62
68
|
SecretArn: options.secretArn,
|
|
63
69
|
ServiceTimeout: 305,
|
|
64
70
|
},
|
|
65
71
|
});
|
|
66
|
-
this.secretPlaintext = resource.getAtt(
|
|
67
|
-
this.secretPasswordPlaintext = resource.getAttString(
|
|
72
|
+
this.secretPlaintext = resource.getAtt("secretValue").toJSON();
|
|
73
|
+
this.secretPasswordPlaintext = resource.getAttString("secretPasswordValue");
|
|
68
74
|
this.customResource = resource;
|
|
69
75
|
}
|
|
70
76
|
_bind() { }
|
|
71
77
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LXJldHJpZXZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZWNyZXQtcmV0cmlldmVyL3NlY3JldC1yZXRyaWV2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQXNEO0FBRXRELDJDQUF1RTtBQUN2RSxtRUFBd0Q7QUFDeEQscUNBQTBDO0FBRTFDLDJFQUFzRTtBQWF0RSxNQUFzQixlQUFlO0lBQzVCLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBK0I7UUFDL0MsT0FBTyxJQUFJLENBQUMsS0FBTSxTQUFRLGVBQWU7WUFDaEMsS0FBSyxDQUFDLEtBQWdCO2dCQUMzQixNQUFNLGVBQWUsR0FBRyxJQUFJLDZCQUE2QixDQUFDLEtBQUssRUFBRTtvQkFDL0QsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO2lCQUM3QixDQUFDLENBQUM7Z0JBRUgsT0FBTyxlQUFlLENBQUM7WUFDekIsQ0FBQztTQUNGLENBQUMsRUFBRSxDQUFDO0lBQ1AsQ0FBQztJQWdCRDs7T0FFRztJQUNILGdCQUF5QixDQUFDO0NBTTNCO0FBcENELDBDQW9DQztBQUlELE1BQU0sNkJBQThCLFNBQVEsZUFBZTtJQUN6RCxZQUFZLEtBQWdCLEVBQUUsT0FBNkM7UUFDekUsS0FBSyxFQUFFLENBQUM7UUFFUixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFFbkMsTUFBTSxPQUFPLEdBQWEsSUFBSSxtREFBdUIsQ0FDbkQsS0FBSyxFQUNMLCtCQUErQixFQUMvQjtZQUNFLE9BQU8sRUFBRSxlQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM3QixVQUFVLEVBQUUsR0FBRztTQUNoQixDQUNGLENBQUM7UUFDRix5QkFBZSxDQUFDLHVCQUF1QixDQUNyQyxDQUFDLE9BQU8sQ0FBQyxFQUNUO1lBQ0U7Z0JBQ0UsRUFBRSxFQUFFLG1CQUFtQjtnQkFDdkIsTUFBTSxFQUNKLG9FQUFvRTthQUN2RTtZQUNEO2dCQUNFLEVBQUUsRUFBRSxpQkFBaUI7Z0JBQ3JCLE1BQU0sRUFBRSxrREFBa0Q7YUFDM0Q7U0FDRixFQUNELElBQUksQ0FDTCxDQUFDO1FBRUYsT0FBTyxDQUFDLGVBQWUsQ0FDckIsSUFBSSx5QkFBZSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxDQUFDLCtCQUErQixDQUFDO1lBQzFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDNUIsQ0FBQyxDQUNILENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxJQUFJLDJCQUFRLENBQUMsS0FBSyxFQUFFLHdCQUF3QixFQUFFO1lBQzdELGNBQWMsRUFBRSxPQUFPO1NBQ3hCLENBQUMsQ0FBQztRQUNILHlCQUFlLENBQUMsdUJBQXVCLENBQ3JDLENBQUMsUUFBUSxDQUFDLEVBQ1Y7WUFDRTtnQkFDRSxFQUFFLEVBQUUsbUJBQW1CO2dCQUN2QixNQUFNLEVBQ0osK0RBQStEO2FBQ2xFO1lBQ0Q7Z0JBQ0UsRUFBRSxFQUFFLG1CQUFtQjtnQkFDdkIsTUFBTSxFQUFFLHNDQUFzQzthQUMvQztZQUNEO2dCQUNFLEVBQUUsRUFBRSxpQkFBaUI7Z0JBQ3JCLE1BQU0sRUFBRSxvREFBb0Q7YUFDN0Q7U0FDRixFQUNELElBQUksQ0FDTCxDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSxxQkFBYyxDQUNqQyxLQUFLLEVBQ0wsK0JBQStCLEVBQy9CO1lBQ0UsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZO1lBQ25DLFVBQVUsRUFBRTtnQkFDVixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7Z0JBQzVCLGNBQWMsRUFBRSxHQUFHO2FBQ3BCO1NBQ0YsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLGVBQWUsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLE1BQU0sRUFBWSxDQUFDO1FBQ3pFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLGNBQWMsR0FBRyxRQUFRLENBQUM7SUFDakMsQ0FBQztJQUVNLEtBQUssS0FBSSxDQUFDO0NBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUG9saWN5U3RhdGVtZW50IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7IEZ1bmN0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IEN1c3RvbVJlc291cmNlLCBEdXJhdGlvbiwgSVJlc291cmNlIH0gZnJvbSBcImF3cy1jZGstbGliL2NvcmVcIjtcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcImF3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IE5hZ1N1cHByZXNzaW9ucyB9IGZyb20gXCJjZGstbmFnXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgU2VjcmV0UmV0cmlldmVyRnVuY3Rpb24gfSBmcm9tIFwiLi9zZWNyZXQtcmV0cmlldmVyLWZ1bmN0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VjcmV0IHtcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWNyZXRSZXRyaWV2ZXJPcHRpb25zQmFzZSB7XG4gIHJlYWRvbmx5IHNlY3JldEFybjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlY3JldFJldHJpZXZlck9wdGlvbnMgZXh0ZW5kcyBTZWNyZXRSZXRyaWV2ZXJPcHRpb25zQmFzZSB7fVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2VjcmV0UmV0cmlldmVyIHtcbiAgcHVibGljIHN0YXRpYyBuZXcob3B0aW9uczogU2VjcmV0UmV0cmlldmVyT3B0aW9ucyk6IFNlY3JldFJldHJpZXZlciB7XG4gICAgcmV0dXJuIG5ldyAoY2xhc3MgZXh0ZW5kcyBTZWNyZXRSZXRyaWV2ZXIge1xuICAgICAgcHVibGljIF9iaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBTZWNyZXRSZXRyaWV2ZXIge1xuICAgICAgICBjb25zdCBzZWNyZXRSZXRyaWV2ZXIgPSBuZXcgQ3VzdG9tUmVzb3VyY2VTZWNyZXRSZXRyaWV2ZXIoc2NvcGUsIHtcbiAgICAgICAgICBzZWNyZXRBcm46IG9wdGlvbnMuc2VjcmV0QXJuLFxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gc2VjcmV0UmV0cmlldmVyO1xuICAgICAgfVxuICAgIH0pKCk7XG4gIH1cblxuICBwdWJsaWMgc2VjcmV0QXJuITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBzZWNyZXRSZXRyaWV2ZXIgaW4gU1NNLlxuICAgKi9cbiAgcHVibGljIHNlY3JldFJldHJpZXZlckFybiE6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBsYWludGV4dCBzZWNyZXRcbiAgICovXG4gIHB1YmxpYyBzZWNyZXRQbGFpbnRleHQhOiBTZWNyZXQ7XG4gIHB1YmxpYyBzZWNyZXRQYXNzd29yZFBsYWludGV4dCE6IHN0cmluZztcbiAgcHVibGljIGN1c3RvbVJlc291cmNlITogSVJlc291cmNlO1xuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IF9iaW5kKHNjb3BlOiBDb25zdHJ1Y3QpOiBhbnk7XG59XG5cbmludGVyZmFjZSBDdXN0b21SZXNvdXJjZVNlY3JldFJldHJpZXZlck9wdGlvbnMgZXh0ZW5kcyBTZWNyZXRSZXRyaWV2ZXJPcHRpb25zIHt9XG5cbmNsYXNzIEN1c3RvbVJlc291cmNlU2VjcmV0UmV0cmlldmVyIGV4dGVuZHMgU2VjcmV0UmV0cmlldmVyIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgb3B0aW9uczogQ3VzdG9tUmVzb3VyY2VTZWNyZXRSZXRyaWV2ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuc2VjcmV0QXJuID0gb3B0aW9ucy5zZWNyZXRBcm47XG5cbiAgICBjb25zdCBvbkV2ZW50OiBGdW5jdGlvbiA9IG5ldyBTZWNyZXRSZXRyaWV2ZXJGdW5jdGlvbihcbiAgICAgIHNjb3BlLFxuICAgICAgXCJTZWNyZXRSZXRyaWV2ZXJPbkV2ZW50SGFuZGxlclwiLFxuICAgICAge1xuICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDEwKSxcbiAgICAgICAgbWVtb3J5U2l6ZTogMTI4LFxuICAgICAgfSxcbiAgICApO1xuICAgIE5hZ1N1cHByZXNzaW9ucy5hZGRSZXNvdXJjZVN1cHByZXNzaW9ucyhcbiAgICAgIFtvbkV2ZW50XSxcbiAgICAgIFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBcIkF3c1NvbHV0aW9ucy1JQU00XCIsXG4gICAgICAgICAgcmVhc29uOlxuICAgICAgICAgICAgXCJGb3IgdGhpcyBldmVudCBoYW5kbGVyIHdlIGRvIG5vdCBuZWVkIHRvIHJlc3RyaWN0IG1hbmFnZWQgcG9saWNpZXNcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBcIkF3c1NvbHV0aW9ucy1MMVwiLFxuICAgICAgICAgIHJlYXNvbjogXCJGb3IgdGhpcyBsYW1iZGEgdGhlIGxhdGVzdCBydW50aW1lIGlzIG5vdCBuZWVkZWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB0cnVlLFxuICAgICk7XG5cbiAgICBvbkV2ZW50LmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBbXCJzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZVwiXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbdGhpcy5zZWNyZXRBcm5dLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIGNvbnN0IHByb3ZpZGVyID0gbmV3IFByb3ZpZGVyKHNjb3BlLCBcIlNlY3JldFJldHJpZXZlUHJvdmlkZXJcIiwge1xuICAgICAgb25FdmVudEhhbmRsZXI6IG9uRXZlbnQsXG4gICAgfSk7XG4gICAgTmFnU3VwcHJlc3Npb25zLmFkZFJlc291cmNlU3VwcHJlc3Npb25zKFxuICAgICAgW3Byb3ZpZGVyXSxcbiAgICAgIFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBcIkF3c1NvbHV0aW9ucy1JQU00XCIsXG4gICAgICAgICAgcmVhc29uOlxuICAgICAgICAgICAgXCJGb3IgdGhpcyBwcm92aWRlciB3ZSBkbyBub3QgbmVlZCB0byByZXN0cmljdCBtYW5hZ2VkIHBvbGljaWVzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBpZDogXCJBd3NTb2x1dGlvbnMtSUFNNVwiLFxuICAgICAgICAgIHJlYXNvbjogXCJGb3IgdGhpcyBwcm92aWRlciB3aWxkY2FyZHMgYXJlIGZpbmVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBcIkF3c1NvbHV0aW9ucy1MMVwiLFxuICAgICAgICAgIHJlYXNvbjogXCJGb3IgdGhpcyBwcm92aWRlciB0aGUgbGF0ZXN0IHJ1bnRpbWUgaXMgbm90IG5lZWRlZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHRydWUsXG4gICAgKTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IEN1c3RvbVJlc291cmNlKFxuICAgICAgc2NvcGUsXG4gICAgICBcIlNlY3JldFJldHJpZXZlckN1c3RvbVJlc291cmNlXCIsXG4gICAgICB7XG4gICAgICAgIHNlcnZpY2VUb2tlbjogcHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgU2VjcmV0QXJuOiBvcHRpb25zLnNlY3JldEFybixcbiAgICAgICAgICBTZXJ2aWNlVGltZW91dDogMzA1LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgdGhpcy5zZWNyZXRQbGFpbnRleHQgPSByZXNvdXJjZS5nZXRBdHQoXCJzZWNyZXRWYWx1ZVwiKS50b0pTT04oKSBhcyBTZWNyZXQ7XG4gICAgdGhpcy5zZWNyZXRQYXNzd29yZFBsYWludGV4dCA9IHJlc291cmNlLmdldEF0dFN0cmluZyhcInNlY3JldFBhc3N3b3JkVmFsdWVcIik7XG4gICAgdGhpcy5jdXN0b21SZXNvdXJjZSA9IHJlc291cmNlO1xuICB9XG5cbiAgcHVibGljIF9iaW5kKCkge31cbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { OnEventRequest, OnEventResponse } from
|
|
1
|
+
import type { OnEventRequest, OnEventResponse } from "aws-cdk-lib/custom-resources/lib/provider-framework/types";
|
|
2
2
|
export declare const handler: (event: OnEventRequest) => Promise<OnEventResponse>;
|
|
@@ -4,22 +4,22 @@ exports.handler = void 0;
|
|
|
4
4
|
const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
|
|
5
5
|
const secretsManager = new client_secrets_manager_1.SecretsManager();
|
|
6
6
|
const handler = async (event) => {
|
|
7
|
-
console.log(
|
|
8
|
-
if (event.RequestType ===
|
|
7
|
+
console.log("Event: %j", { ...event, ResponseURL: "..." });
|
|
8
|
+
if (event.RequestType === "Delete") {
|
|
9
9
|
// do nothing
|
|
10
10
|
return {};
|
|
11
11
|
}
|
|
12
12
|
// Create and update case
|
|
13
13
|
const secretArn = event.ResourceProperties.SecretArn;
|
|
14
|
-
console.log(
|
|
14
|
+
console.log("secretArn: %j", secretArn);
|
|
15
15
|
try {
|
|
16
16
|
const secret = await secretsManager.getSecretValue({
|
|
17
17
|
SecretId: secretArn,
|
|
18
18
|
});
|
|
19
19
|
const secretValue = secret.SecretString;
|
|
20
|
-
console.log(
|
|
20
|
+
console.log("secretValue: %j", secretValue);
|
|
21
21
|
const parsedSecretValue = JSON.parse(secretValue);
|
|
22
|
-
console.log(
|
|
22
|
+
console.log("secretValue is JSON: %j", parsedSecretValue);
|
|
23
23
|
return {
|
|
24
24
|
Data: {
|
|
25
25
|
secretValue: parsedSecretValue,
|
|
@@ -33,4 +33,4 @@ const handler = async (event) => {
|
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
exports.handler = handler;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0LXJldHJpZXZlci5sYW1iZGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VjcmV0LXJldHJpZXZlci9zZWNyZXQtcmV0cmlldmVyLmxhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw0RUFBaUU7QUFRakUsTUFBTSxjQUFjLEdBQUcsSUFBSSx1Q0FBYyxFQUFFLENBQUM7QUFFckMsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUMxQixLQUFxQixFQUNLLEVBQUU7SUFDNUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUUzRCxJQUFJLEtBQUssQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbkMsYUFBYTtRQUNiLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELHlCQUF5QjtJQUN6QixNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDO0lBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRXhDLElBQUksQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLGNBQWMsQ0FBQztZQUNqRCxRQUFRLEVBQUUsU0FBUztTQUNwQixDQUFDLENBQUM7UUFFSCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsWUFBYSxDQUFDO1FBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFNUMsTUFBTSxpQkFBaUIsR0FBVyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzFELE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUUxRCxPQUFPO1lBQ0wsSUFBSSxFQUFFO2dCQUNKLFdBQVcsRUFBRSxpQkFBaUI7Z0JBQzlCLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDLFFBQVE7YUFDaEQ7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMsQ0FBQztBQW5DVyxRQUFBLE9BQU8sV0FtQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VjcmV0c01hbmFnZXIgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXNlY3JldHMtbWFuYWdlclwiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHR5cGUge1xuICBPbkV2ZW50UmVxdWVzdCxcbiAgT25FdmVudFJlc3BvbnNlLFxufSBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlcy9saWIvcHJvdmlkZXItZnJhbWV3b3JrL3R5cGVzXCI7XG5pbXBvcnQgeyBTZWNyZXQgfSBmcm9tIFwiLi9zZWNyZXQtcmV0cmlldmVyXCI7XG5cbmNvbnN0IHNlY3JldHNNYW5hZ2VyID0gbmV3IFNlY3JldHNNYW5hZ2VyKCk7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gYXN5bmMgKFxuICBldmVudDogT25FdmVudFJlcXVlc3QsXG4pOiBQcm9taXNlPE9uRXZlbnRSZXNwb25zZT4gPT4ge1xuICBjb25zb2xlLmxvZyhcIkV2ZW50OiAlalwiLCB7IC4uLmV2ZW50LCBSZXNwb25zZVVSTDogXCIuLi5cIiB9KTtcblxuICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgPT09IFwiRGVsZXRlXCIpIHtcbiAgICAvLyBkbyBub3RoaW5nXG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLy8gQ3JlYXRlIGFuZCB1cGRhdGUgY2FzZVxuICBjb25zdCBzZWNyZXRBcm4gPSBldmVudC5SZXNvdXJjZVByb3BlcnRpZXMuU2VjcmV0QXJuO1xuICBjb25zb2xlLmxvZyhcInNlY3JldEFybjogJWpcIiwgc2VjcmV0QXJuKTtcblxuICB0cnkge1xuICAgIGNvbnN0IHNlY3JldCA9IGF3YWl0IHNlY3JldHNNYW5hZ2VyLmdldFNlY3JldFZhbHVlKHtcbiAgICAgIFNlY3JldElkOiBzZWNyZXRBcm4sXG4gICAgfSk7XG5cbiAgICBjb25zdCBzZWNyZXRWYWx1ZSA9IHNlY3JldC5TZWNyZXRTdHJpbmchO1xuICAgIGNvbnNvbGUubG9nKFwic2VjcmV0VmFsdWU6ICVqXCIsIHNlY3JldFZhbHVlKTtcblxuICAgIGNvbnN0IHBhcnNlZFNlY3JldFZhbHVlOiBTZWNyZXQgPSBKU09OLnBhcnNlKHNlY3JldFZhbHVlKTtcbiAgICBjb25zb2xlLmxvZyhcInNlY3JldFZhbHVlIGlzIEpTT046ICVqXCIsIHBhcnNlZFNlY3JldFZhbHVlKTtcblxuICAgIHJldHVybiB7XG4gICAgICBEYXRhOiB7XG4gICAgICAgIHNlY3JldFZhbHVlOiBwYXJzZWRTZWNyZXRWYWx1ZSxcbiAgICAgICAgc2VjcmV0UGFzc3dvcmRWYWx1ZTogcGFyc2VkU2VjcmV0VmFsdWUucGFzc3dvcmQsXG4gICAgICB9LFxuICAgIH07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG4iXX0=
|
package/lib/suppress-nags.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Stack } from
|
|
1
|
+
import { Stack } from "aws-cdk-lib";
|
|
2
2
|
export declare function suppressCommonNags(stack: Stack): void;
|
package/lib/suppress-nags.js
CHANGED
|
@@ -9,9 +9,9 @@ const cdk_nag_1 = require("cdk-nag");
|
|
|
9
9
|
function suppressCommonNags(stack) {
|
|
10
10
|
cdk_nag_1.NagSuppressions.addResourceSuppressionsByPath(stack, `/${stack.stackName}/AWS679f53fac002430cb0da5b7982bd2287/Resource`, [
|
|
11
11
|
{
|
|
12
|
-
id:
|
|
13
|
-
reason:
|
|
12
|
+
id: "AwsSolutions-L1",
|
|
13
|
+
reason: "We manage runtime for AwsSdkCall Custom Resource and will update when necessary",
|
|
14
14
|
},
|
|
15
15
|
]);
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcHJlc3MtbmFncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdXBwcmVzcy1uYWdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBT0EsZ0RBWUM7QUFsQkQscUNBQTBDO0FBRTFDLG9EQUFvRDtBQUNwRCx1REFBdUQ7QUFDdkQsd0RBQXdEO0FBQ3hELG9DQUFvQztBQUNwQyxTQUFnQixrQkFBa0IsQ0FBQyxLQUFZO0lBQzdDLHlCQUFlLENBQUMsNkJBQTZCLENBQzNDLEtBQUssRUFDTCxJQUFJLEtBQUssQ0FBQyxTQUFTLCtDQUErQyxFQUNsRTtRQUNFO1lBQ0UsRUFBRSxFQUFFLGlCQUFpQjtZQUNyQixNQUFNLEVBQ0osaUZBQWlGO1NBQ3BGO0tBQ0YsQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBOYWdTdXBwcmVzc2lvbnMgfSBmcm9tIFwiY2RrLW5hZ1wiO1xuXG4vLyBIZXJlIHdlIHN0b3JlIHRoZSBuYWdzIHdoaWNoIHdlIGNhbiBvbmx5IGRpcmVjdGx5XG4vLyBhZGRyZXNzIHRvIHJlc291cmNlIGFuZCBub3Qgd2l0aCB0aGUgY29tbW9uIHBhdHRlcm4uXG4vLyBUaGlzIG1vc3RseSBoYXBwZW5zIHdpdGggY3VzdG9tIHJlc291cmNlcywgd2l0aCBhIGxvdFxuLy8gb2YgZ2VuZXJhdGVkIGNvZGUgdW5kZXIgdGhlIGhvb2QuXG5leHBvcnQgZnVuY3Rpb24gc3VwcHJlc3NDb21tb25OYWdzKHN0YWNrOiBTdGFjaykge1xuICBOYWdTdXBwcmVzc2lvbnMuYWRkUmVzb3VyY2VTdXBwcmVzc2lvbnNCeVBhdGgoXG4gICAgc3RhY2ssXG4gICAgYC8ke3N0YWNrLnN0YWNrTmFtZX0vQVdTNjc5ZjUzZmFjMDAyNDMwY2IwZGE1Yjc5ODJiZDIyODcvUmVzb3VyY2VgLFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IFwiQXdzU29sdXRpb25zLUwxXCIsXG4gICAgICAgIHJlYXNvbjpcbiAgICAgICAgICBcIldlIG1hbmFnZSBydW50aW1lIGZvciBBd3NTZGtDYWxsIEN1c3RvbSBSZXNvdXJjZSBhbmQgd2lsbCB1cGRhdGUgd2hlbiBuZWNlc3NhcnlcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgKTtcbn1cbiJdfQ==
|
package/lib/vscode-server.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import * as ec2 from
|
|
2
|
-
import * as iam from
|
|
3
|
-
import { Construct } from
|
|
1
|
+
import * as ec2 from "aws-cdk-lib/aws-ec2";
|
|
2
|
+
import * as iam from "aws-cdk-lib/aws-iam";
|
|
3
|
+
import { Construct } from "constructs";
|
|
4
|
+
/**
|
|
5
|
+
* Properties for the VSCodeServer construct
|
|
6
|
+
*/
|
|
4
7
|
export interface VSCodeServerProps {
|
|
5
8
|
/**
|
|
6
9
|
* UserName for VSCode Server
|
|
@@ -79,19 +82,43 @@ export interface VSCodeServerProps {
|
|
|
79
82
|
* The flavor of linux you want to run vscode server on
|
|
80
83
|
*/
|
|
81
84
|
export declare enum LinuxFlavorType {
|
|
85
|
+
/**
|
|
86
|
+
* Ubuntu 22
|
|
87
|
+
*/
|
|
82
88
|
UBUNTU_22 = "ubuntu22",
|
|
89
|
+
/**
|
|
90
|
+
* Ubuntu 24
|
|
91
|
+
*/
|
|
83
92
|
UBUNTU_24 = "ubuntu24",
|
|
93
|
+
/**
|
|
94
|
+
* Amazon Linux 2023
|
|
95
|
+
*/
|
|
84
96
|
AMAZON_LINUX_2023 = "al2023"
|
|
85
97
|
}
|
|
86
98
|
/**
|
|
87
99
|
* The architecture of the cpu you want to run vscode server on
|
|
88
100
|
*/
|
|
89
101
|
export declare enum LinuxArchitectureType {
|
|
102
|
+
/**
|
|
103
|
+
* ARM architecture
|
|
104
|
+
*/
|
|
90
105
|
ARM = "arm",
|
|
106
|
+
/**
|
|
107
|
+
* AMD64 architecture
|
|
108
|
+
*/
|
|
91
109
|
AMD64 = "amd64"
|
|
92
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* VSCodeServer - spin it up in under 10 minutes
|
|
113
|
+
*/
|
|
93
114
|
export declare class VSCodeServer extends Construct {
|
|
115
|
+
/**
|
|
116
|
+
* The name of the domain the server is reachable
|
|
117
|
+
*/
|
|
94
118
|
readonly domainName: string;
|
|
119
|
+
/**
|
|
120
|
+
* The password to login to the server
|
|
121
|
+
*/
|
|
95
122
|
readonly password: string;
|
|
96
123
|
constructor(scope: Construct, id: string, props?: VSCodeServerProps);
|
|
97
124
|
}
|