@mavogel/cdk-vscode-server 0.0.61 → 0.0.63
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/.jsii +117 -178
- package/API.md +96 -199
- package/CLAUDE.md +214 -57
- package/README.md +39 -1
- package/assets/idle-monitor-enabler/idle-monitor-enabler.lambda/index.js +67 -0
- package/assets/installer/installer.lambda/index.js +67 -30
- package/awslint.json +5 -0
- package/examples/git-repo/main.ts +30 -0
- package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.assets.json +2 -2
- package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.template.json +1 -1
- package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.assets.json +8 -8
- package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.template.json +257 -94
- package/integ-tests/{integ.stop-on-idle.ts.snapshot/asset.33da23274e25bd9f43638c5d83dad26e3931cbe78d462ffd9a9f565e948b4f5f.lambda → integ.al2023.ts.snapshot/asset.2f99f38311da357eaaea1284d67c759759324dec4a1cd11621d9c59eea9e81df.lambda}/index.js +67 -30
- package/integ-tests/{integ.ubuntu.ts.snapshot/asset.0ad50fc42afd768c3d0bfdd4701e43284fb077a25f19eea1e8c51a5ca36ebfe4 → integ.al2023.ts.snapshot/asset.efac30c7091c58fed492058fa6403c14f7e58aab8cf4fd595d838b8d5eeec2b9}/index.js +50 -25
- package/integ-tests/integ.al2023.ts.snapshot/integ.json +1 -1
- package/integ-tests/integ.al2023.ts.snapshot/manifest.json +19 -3
- package/integ-tests/integ.al2023.ts.snapshot/tree.json +1 -1
- package/integ-tests/integ.custom-domain.ts.snapshot/IntegSetupVSCodeOnCustomDomainDefaultTestDeployAssert6982D514.assets.json +2 -2
- package/integ-tests/integ.custom-domain.ts.snapshot/IntegSetupVSCodeOnCustomDomainDefaultTestDeployAssert6982D514.template.json +1 -1
- package/integ-tests/integ.custom-domain.ts.snapshot/IntegTestStackCustomDomain.assets.json +8 -8
- package/integ-tests/integ.custom-domain.ts.snapshot/IntegTestStackCustomDomain.template.json +270 -94
- package/integ-tests/{integ.ubuntu.ts.snapshot/asset.33da23274e25bd9f43638c5d83dad26e3931cbe78d462ffd9a9f565e948b4f5f.lambda → integ.custom-domain.ts.snapshot/asset.2f99f38311da357eaaea1284d67c759759324dec4a1cd11621d9c59eea9e81df.lambda}/index.js +67 -30
- package/integ-tests/{integ.al2023.ts.snapshot/asset.0ad50fc42afd768c3d0bfdd4701e43284fb077a25f19eea1e8c51a5ca36ebfe4 → integ.custom-domain.ts.snapshot/asset.efac30c7091c58fed492058fa6403c14f7e58aab8cf4fd595d838b8d5eeec2b9}/index.js +50 -25
- package/integ-tests/integ.custom-domain.ts.snapshot/integ.json +1 -1
- package/integ-tests/integ.custom-domain.ts.snapshot/manifest.json +19 -3
- package/integ-tests/integ.custom-domain.ts.snapshot/tree.json +1 -1
- package/integ-tests/integ.stop-on-idle.ts +1 -4
- package/integ-tests/integ.stop-on-idle.ts.snapshot/IntegStopOnIdleFunctionalityDefaultTestDeployAssertEECF3FC0.assets.json +2 -2
- package/integ-tests/integ.stop-on-idle.ts.snapshot/IntegStopOnIdleFunctionalityDefaultTestDeployAssertEECF3FC0.template.json +4 -4
- package/integ-tests/integ.stop-on-idle.ts.snapshot/IntegTestStackStopOnIdle.assets.json +23 -9
- package/integ-tests/integ.stop-on-idle.ts.snapshot/IntegTestStackStopOnIdle.template.json +755 -194
- package/integ-tests/integ.stop-on-idle.ts.snapshot/asset.22c8a6c357b704e370bef317ae1b52c59f684aa7640422a3d1dfe813d1f77853.lambda/index.js +67 -0
- package/integ-tests/{integ.custom-domain.ts.snapshot/asset.33da23274e25bd9f43638c5d83dad26e3931cbe78d462ffd9a9f565e948b4f5f.lambda → integ.stop-on-idle.ts.snapshot/asset.2f99f38311da357eaaea1284d67c759759324dec4a1cd11621d9c59eea9e81df.lambda}/index.js +67 -30
- package/integ-tests/integ.stop-on-idle.ts.snapshot/manifest.json +353 -72
- package/integ-tests/integ.stop-on-idle.ts.snapshot/tree.json +1 -1
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.assets.json +2 -2
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.template.json +1 -1
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.assets.json +8 -8
- package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.template.json +270 -94
- package/integ-tests/{integ.al2023.ts.snapshot/asset.33da23274e25bd9f43638c5d83dad26e3931cbe78d462ffd9a9f565e948b4f5f.lambda → integ.ubuntu.ts.snapshot/asset.2f99f38311da357eaaea1284d67c759759324dec4a1cd11621d9c59eea9e81df.lambda}/index.js +67 -30
- package/integ-tests/{integ.custom-domain.ts.snapshot/asset.0ad50fc42afd768c3d0bfdd4701e43284fb077a25f19eea1e8c51a5ca36ebfe4 → integ.ubuntu.ts.snapshot/asset.efac30c7091c58fed492058fa6403c14f7e58aab8cf4fd595d838b8d5eeec2b9}/index.js +50 -25
- package/integ-tests/integ.ubuntu.ts.snapshot/integ.json +1 -1
- package/integ-tests/integ.ubuntu.ts.snapshot/manifest.json +19 -3
- package/integ-tests/integ.ubuntu.ts.snapshot/tree.json +1 -1
- package/integ-tests/integ.ubuntu24.ts +69 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.assets.json +33 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.template.json +337 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/IntegTestStackUbuntu24.assets.json +118 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/IntegTestStackUbuntu24.template.json +2725 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +1 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.2f99f38311da357eaaea1284d67c759759324dec4a1cd11621d9c59eea9e81df.lambda/index.js +180 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.530055f7515b3f0a47900f5df37e729ba40ca977b2d07b952bdefa2b8f883f42.bundle/index.js +30676 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b.lambda/index.js +57 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200/__entrypoint__.js +1 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.7fa1e366ee8a9ded01fc355f704cff92bfd179574e6f9cfee800a3541df1b200/index.js +1 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.9d043014be736e8162bcc7ec5590cc6d2ff24fd0d9c73a5c5d595151c5fdad00/index.js +1 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/cfn-response.js +1 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/consts.js +1 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/framework.js +3 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/outbound.js +1 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.bdc104ed9cab1b5b6421713c8155f0b753380595356f710400609664d3635eca/util.js +1 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/asset.efac30c7091c58fed492058fa6403c14f7e58aab8cf4fd595d838b8d5eeec2b9/index.js +6017 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/integ.json +23 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/manifest.json +1473 -0
- package/integ-tests/integ.ubuntu24.ts.snapshot/tree.json +1 -0
- package/lib/idle-monitor/idle-monitor-function.js +2 -2
- package/lib/idle-monitor/idle-monitor.js +5 -2
- package/lib/idle-monitor-enabler/idle-monitor-enabler-function.d.ts +13 -0
- package/lib/idle-monitor-enabler/idle-monitor-enabler-function.js +22 -0
- package/lib/idle-monitor-enabler/idle-monitor-enabler.d.ts +25 -0
- package/lib/idle-monitor-enabler/idle-monitor-enabler.js +76 -0
- package/lib/idle-monitor-enabler/idle-monitor-enabler.lambda.d.ts +9 -0
- package/lib/idle-monitor-enabler/idle-monitor-enabler.lambda.js +48 -0
- package/lib/index.d.ts +0 -1
- package/lib/index.js +1 -2
- package/lib/installer/installer-function.js +2 -2
- package/lib/installer/installer.d.ts +100 -0
- package/lib/installer/installer.js +658 -301
- package/lib/installer/installer.lambda.js +64 -30
- package/lib/secret-retriever/secret-retriever-function.js +2 -2
- package/lib/vscode-server.d.ts +40 -0
- package/lib/vscode-server.js +27 -4
- package/package.json +12 -12
- package/.claude/hooks/file_checker.sh +0 -178
- package/.qlty/.gitignore +0 -7
- package/.qlty/configs/.yamllint.yaml +0 -21
- package/.qlty/qlty.toml +0 -115
- package/assets/status-check/status-check.lambda/index.js +0 -123
- package/integ-tests/integ.al2023.ts.snapshot/cdk.out +0 -1
- package/integ-tests/integ.al2023.ts.snapshot/read.13497.1.lock +0 -1
- package/integ-tests/integ.custom-domain.ts.snapshot/read.13497.1.lock +0 -1
- package/integ-tests/integ.ubuntu.ts.snapshot/cdk.out +0 -1
- package/integ-tests/integ.ubuntu.ts.snapshot/read.13497.1.lock +0 -1
- package/lib/status-check/status-check-function.d.ts +0 -13
- package/lib/status-check/status-check-function.js +0 -22
- package/lib/status-check/status-check.d.ts +0 -36
- package/lib/status-check/status-check.js +0 -109
- package/lib/status-check/status-check.lambda.d.ts +0 -2
- package/lib/status-check/status-check.lambda.js +0 -104
|
@@ -59,47 +59,89 @@ var handler = async (event, context) => {
|
|
|
59
59
|
parameters[key] = [value];
|
|
60
60
|
}
|
|
61
61
|
console.log("mapped parameters: %j", parameters);
|
|
62
|
-
let attemptNo = 0;
|
|
63
|
-
let timeRemaining = context.getRemainingTimeInMillis();
|
|
64
62
|
console.log(
|
|
65
63
|
`Running SSM Document '${documentName}' on EC2 instance '${instanceId}'. Logging to '${cloudWatchLogGroupName}' with parameters: '${JSON.stringify(parameters)}'`
|
|
66
64
|
);
|
|
65
|
+
let commandId;
|
|
66
|
+
let attemptNo = 0;
|
|
67
67
|
while (true) {
|
|
68
68
|
attemptNo += 1;
|
|
69
|
+
const timeRemaining = context.getRemainingTimeInMillis();
|
|
69
70
|
console.log(
|
|
70
|
-
`
|
|
71
|
+
`Send attempt: ${attemptNo}. Time Remaining: ${timeRemaining / 1e3}s`
|
|
71
72
|
);
|
|
72
73
|
try {
|
|
73
|
-
const response = await ssm.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
74
|
+
const response = await ssm.send(
|
|
75
|
+
new import_client_ssm.SendCommandCommand({
|
|
76
|
+
DocumentName: documentName,
|
|
77
|
+
InstanceIds: [instanceId],
|
|
78
|
+
CloudWatchOutputConfig: {
|
|
79
|
+
CloudWatchLogGroupName: cloudWatchLogGroupName,
|
|
80
|
+
CloudWatchOutputEnabled: true
|
|
81
|
+
},
|
|
82
|
+
Parameters: parameters
|
|
83
|
+
})
|
|
84
|
+
);
|
|
85
|
+
console.log(`sendCommand response: ${JSON.stringify(response)}`);
|
|
83
86
|
const command = response.Command;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
+
commandId = command.CommandId;
|
|
88
|
+
console.log(`Command sent successfully. CommandId: ${commandId}`);
|
|
89
|
+
break;
|
|
90
|
+
} catch (error) {
|
|
91
|
+
console.log("Error sending command:", error);
|
|
92
|
+
const isUnauthorized = error.name === "UnauthorizedException" || error.name === "AccessDeniedException" || error.message && error.message.includes("not authorized");
|
|
93
|
+
const isThrottled = error.name === "ThrottlingException" || error.name === "TooManyRequestsException";
|
|
94
|
+
const isRetryable = isUnauthorized || isThrottled;
|
|
95
|
+
const remainingTime = context.getRemainingTimeInMillis();
|
|
96
|
+
if (isRetryable && remainingTime > SLEEP_MS) {
|
|
97
|
+
console.log(
|
|
98
|
+
`Retryable error encountered (${error.name}). Attempt ${attemptNo}. Sleeping: ${SLEEP_MS / 1e3}s before retry`
|
|
99
|
+
);
|
|
100
|
+
await new Promise((resolve) => setTimeout(resolve, SLEEP_MS));
|
|
101
|
+
} else {
|
|
102
|
+
console.log("Non-retryable error or timeout. Failing...");
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
let pollAttemptNo = 0;
|
|
108
|
+
const responseData = { CommandId: commandId };
|
|
109
|
+
while (true) {
|
|
110
|
+
pollAttemptNo += 1;
|
|
111
|
+
const timeRemaining = context.getRemainingTimeInMillis();
|
|
112
|
+
console.log(
|
|
113
|
+
`Poll attempt: ${pollAttemptNo}. Time Remaining: ${timeRemaining / 1e3}s`
|
|
114
|
+
);
|
|
115
|
+
try {
|
|
116
|
+
const invocationResponse = await ssm.send(
|
|
117
|
+
new import_client_ssm.GetCommandInvocationCommand({
|
|
118
|
+
CommandId: commandId,
|
|
119
|
+
InstanceId: instanceId
|
|
120
|
+
})
|
|
121
|
+
);
|
|
122
|
+
console.log(
|
|
123
|
+
`getCommandInvocation response: ${JSON.stringify(invocationResponse)}`
|
|
124
|
+
);
|
|
125
|
+
const status = invocationResponse.Status;
|
|
126
|
+
switch (status) {
|
|
87
127
|
case "Pending":
|
|
88
128
|
case "InProgress":
|
|
89
|
-
|
|
129
|
+
case "Delayed":
|
|
90
130
|
if (timeRemaining > SLEEP_MS) {
|
|
91
131
|
console.log(
|
|
92
|
-
`
|
|
132
|
+
`Command ${commandId} status: '${status}'. Sleeping: ${SLEEP_MS / 1e3}s`
|
|
93
133
|
);
|
|
94
134
|
await new Promise((resolve) => setTimeout(resolve, SLEEP_MS));
|
|
95
135
|
break;
|
|
96
136
|
} else {
|
|
97
137
|
throw new Error(
|
|
98
|
-
`SSM Document ${documentName} on EC2 instance ${instanceId} timed out while lambda
|
|
138
|
+
`SSM Document ${documentName} on EC2 instance ${instanceId} timed out while lambda waiting (status: ${status})`
|
|
99
139
|
);
|
|
100
140
|
}
|
|
101
141
|
case "Success":
|
|
102
|
-
console.log(
|
|
142
|
+
console.log(
|
|
143
|
+
`Instance ${instanceId} successfully bootstrapped. Command ${commandId} completed.`
|
|
144
|
+
);
|
|
103
145
|
return { Data: responseData };
|
|
104
146
|
case "TimedOut":
|
|
105
147
|
throw new Error(
|
|
@@ -115,23 +157,18 @@ var handler = async (event, context) => {
|
|
|
115
157
|
);
|
|
116
158
|
default:
|
|
117
159
|
throw new Error(
|
|
118
|
-
`SSM Document ${documentName} on EC2 instance ${instanceId} status ${
|
|
160
|
+
`SSM Document ${documentName} on EC2 instance ${instanceId} unknown status: ${status}`
|
|
119
161
|
);
|
|
120
162
|
}
|
|
121
|
-
return { Data: responseData };
|
|
122
163
|
} catch (error) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
const isThrottled = error.name === "ThrottlingException" || error.name === "TooManyRequestsException";
|
|
126
|
-
const isRetryable = isUnauthorized || isThrottled;
|
|
127
|
-
timeRemaining = context.getRemainingTimeInMillis();
|
|
128
|
-
if (isRetryable && timeRemaining > SLEEP_MS) {
|
|
164
|
+
const remainingTime = context.getRemainingTimeInMillis();
|
|
165
|
+
if (error.name === "InvocationDoesNotExist" && remainingTime > SLEEP_MS) {
|
|
129
166
|
console.log(
|
|
130
|
-
`
|
|
167
|
+
`Invocation not yet available. Sleeping: ${SLEEP_MS / 1e3}s`
|
|
131
168
|
);
|
|
132
169
|
await new Promise((resolve) => setTimeout(resolve, SLEEP_MS));
|
|
133
170
|
} else {
|
|
134
|
-
console.log("
|
|
171
|
+
console.log("Error checking command status:", error);
|
|
135
172
|
throw error;
|
|
136
173
|
}
|
|
137
174
|
}
|
|
@@ -5944,37 +5944,62 @@ var handler = async (event) => {
|
|
|
5944
5944
|
message: "Login in",
|
|
5945
5945
|
event
|
|
5946
5946
|
});
|
|
5947
|
-
|
|
5948
|
-
|
|
5949
|
-
|
|
5950
|
-
|
|
5951
|
-
|
|
5952
|
-
|
|
5953
|
-
|
|
5954
|
-
|
|
5955
|
-
|
|
5956
|
-
|
|
5957
|
-
|
|
5958
|
-
|
|
5959
|
-
|
|
5960
|
-
|
|
5947
|
+
const maxRetries = 20;
|
|
5948
|
+
const retryDelayMs = 15e3;
|
|
5949
|
+
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
5950
|
+
log({ message: `Login attempt ${attempt}/${maxRetries}` });
|
|
5951
|
+
try {
|
|
5952
|
+
if (!domainName || !password) {
|
|
5953
|
+
throw new Error("Domain name and password are required");
|
|
5954
|
+
}
|
|
5955
|
+
const url = domainName.startsWith("http") ? domainName : `https://${domainName}`;
|
|
5956
|
+
const response = await fetch(url);
|
|
5957
|
+
if (!response.ok) {
|
|
5958
|
+
log({ message: `HTTP ${response.status}, retrying...` });
|
|
5959
|
+
if (attempt < maxRetries) {
|
|
5960
|
+
await sleep(retryDelayMs);
|
|
5961
|
+
continue;
|
|
5962
|
+
}
|
|
5963
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
5964
|
+
}
|
|
5965
|
+
const htmlContent = await response.text();
|
|
5966
|
+
const root = (0, import_node_html_parser.parse)(htmlContent);
|
|
5967
|
+
const centerContainer = root.querySelector(".center-container");
|
|
5968
|
+
if (!centerContainer) {
|
|
5969
|
+
log({ message: "Center container not found yet, retrying..." });
|
|
5970
|
+
if (attempt < maxRetries) {
|
|
5971
|
+
await sleep(retryDelayMs);
|
|
5972
|
+
continue;
|
|
5973
|
+
}
|
|
5974
|
+
error({
|
|
5975
|
+
message: "Center container NOT found after all retries",
|
|
5976
|
+
htmlContent
|
|
5977
|
+
});
|
|
5978
|
+
return "NOK";
|
|
5979
|
+
}
|
|
5980
|
+
log({ message: `Found center container on attempt ${attempt}. TADA` });
|
|
5981
|
+
return "OK";
|
|
5982
|
+
} catch (err) {
|
|
5983
|
+
log({
|
|
5984
|
+
message: `Attempt ${attempt} failed`,
|
|
5985
|
+
error: err instanceof Error ? err.message : String(err)
|
|
5986
|
+
});
|
|
5987
|
+
if (attempt < maxRetries) {
|
|
5988
|
+
await sleep(retryDelayMs);
|
|
5989
|
+
continue;
|
|
5990
|
+
}
|
|
5961
5991
|
error({
|
|
5962
|
-
message: "
|
|
5963
|
-
|
|
5992
|
+
message: "All retry attempts failed",
|
|
5993
|
+
err
|
|
5964
5994
|
});
|
|
5965
5995
|
return "NOK";
|
|
5966
5996
|
}
|
|
5967
|
-
log({ message: "Found center container. TADA" });
|
|
5968
|
-
return "OK";
|
|
5969
|
-
} catch (err) {
|
|
5970
|
-
error({
|
|
5971
|
-
message: "Error fetching or processing document",
|
|
5972
|
-
err,
|
|
5973
|
-
htmlContent
|
|
5974
|
-
});
|
|
5975
|
-
return "NOK";
|
|
5976
5997
|
}
|
|
5998
|
+
return "NOK";
|
|
5977
5999
|
};
|
|
6000
|
+
function sleep(ms) {
|
|
6001
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
6002
|
+
}
|
|
5978
6003
|
function log(msg) {
|
|
5979
6004
|
console.log(JSON.stringify(msg));
|
|
5980
6005
|
}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"validateOnSynth": false,
|
|
19
19
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
|
|
20
20
|
"cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
|
|
21
|
-
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/
|
|
21
|
+
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/0d21ebe148c0168a894b38d8db4c34b6ac5b9a016612b7493c323c5d1dc23b7d.json",
|
|
22
22
|
"requiresBootstrapStackVersion": 6,
|
|
23
23
|
"bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
|
|
24
24
|
"additionalDependencies": [
|
|
@@ -1063,6 +1063,14 @@
|
|
|
1063
1063
|
"*"
|
|
1064
1064
|
]
|
|
1065
1065
|
}
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"type": "aws:cdk:analytics:method",
|
|
1069
|
+
"data": {
|
|
1070
|
+
"addToPrincipalPolicy": [
|
|
1071
|
+
{}
|
|
1072
|
+
]
|
|
1073
|
+
}
|
|
1066
1074
|
}
|
|
1067
1075
|
],
|
|
1068
1076
|
"/IntegTestStackCustomDomain/IntegVSCodeServer/InstallerOnEventHandler/ServiceRole/ImportServiceRole": [
|
|
@@ -1098,6 +1106,14 @@
|
|
|
1098
1106
|
]
|
|
1099
1107
|
}
|
|
1100
1108
|
},
|
|
1109
|
+
{
|
|
1110
|
+
"type": "aws:cdk:analytics:method",
|
|
1111
|
+
"data": {
|
|
1112
|
+
"addStatements": [
|
|
1113
|
+
{}
|
|
1114
|
+
]
|
|
1115
|
+
}
|
|
1116
|
+
},
|
|
1101
1117
|
{
|
|
1102
1118
|
"type": "aws:cdk:analytics:method",
|
|
1103
1119
|
"data": {
|
|
@@ -1560,7 +1576,7 @@
|
|
|
1560
1576
|
"validateOnSynth": false,
|
|
1561
1577
|
"assumeRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-deploy-role-${AWS::AccountId}-${AWS::Region}",
|
|
1562
1578
|
"cloudFormationExecutionRoleArn": "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/cdk-hnb659fds-cfn-exec-role-${AWS::AccountId}-${AWS::Region}",
|
|
1563
|
-
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/
|
|
1579
|
+
"stackTemplateAssetObjectUrl": "s3://cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}/c0c8c31a0be065be2df21bb20ec386bf72819c1e19f79e9fc09c29712e67a4a0.json",
|
|
1564
1580
|
"requiresBootstrapStackVersion": 6,
|
|
1565
1581
|
"bootstrapStackVersionSsmParameter": "/cdk-bootstrap/hnb659fds/version",
|
|
1566
1582
|
"additionalDependencies": [
|
|
@@ -1649,5 +1665,5 @@
|
|
|
1649
1665
|
}
|
|
1650
1666
|
}
|
|
1651
1667
|
},
|
|
1652
|
-
"minimumCliVersion": "2.
|
|
1668
|
+
"minimumCliVersion": "2.1031.0"
|
|
1653
1669
|
}
|