@mavogel/cdk-vscode-server 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/.jsii +4351 -0
  2. package/API.md +367 -0
  3. package/CONTRIBUTING.md +59 -0
  4. package/LICENSE +202 -0
  5. package/README.md +183 -0
  6. package/assets/installer/installer.lambda/index.js +112 -0
  7. package/assets/secret-retriever/secret-retriever.lambda/index.js +57 -0
  8. package/docs/img/vscode-server-ui-login-min.png +0 -0
  9. package/docs/img/vscode-server-ui-min.png +0 -0
  10. package/docs/img/vscode-server.drawio +108 -0
  11. package/docs/img/vscode-server.drawio-min.png +0 -0
  12. package/integ-tests/code-server login.html +48 -0
  13. package/integ-tests/functions/login-handler.ts +63 -0
  14. package/integ-tests/integ.al2023.ts +69 -0
  15. package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.assets.json +32 -0
  16. package/integ-tests/integ.al2023.ts.snapshot/IntegSetupVSCodeOnAl2023DefaultTestDeployAssert74D8F645.template.json +337 -0
  17. package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.assets.json +110 -0
  18. package/integ-tests/integ.al2023.ts.snapshot/IntegTestStackAl2023.template.json +2459 -0
  19. package/integ-tests/integ.al2023.ts.snapshot/asset.23732f3d1982f7fb0da3bd6638a8107337bb767fea165b45eae12000a1dd67ce/index.js +6169 -0
  20. package/integ-tests/integ.al2023.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +1 -0
  21. package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/cfn-response.js +1 -0
  22. package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/consts.js +1 -0
  23. package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/framework.js +3 -0
  24. package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/outbound.js +1 -0
  25. package/integ-tests/integ.al2023.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/util.js +1 -0
  26. package/integ-tests/integ.al2023.ts.snapshot/asset.512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf.lambda/index.js +112 -0
  27. package/integ-tests/integ.al2023.ts.snapshot/asset.781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b.lambda/index.js +57 -0
  28. package/integ-tests/integ.al2023.ts.snapshot/asset.c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d.bundle/index.js +30572 -0
  29. package/integ-tests/integ.al2023.ts.snapshot/asset.ce2f3595a340d6c519a65888ef97e3b9b64f053f83608e32cc28162e22d7d99a/index.js +1 -0
  30. package/integ-tests/integ.al2023.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/__entrypoint__.js +1 -0
  31. package/integ-tests/integ.al2023.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/index.js +1 -0
  32. package/integ-tests/integ.al2023.ts.snapshot/cdk.out +1 -0
  33. package/integ-tests/integ.al2023.ts.snapshot/integ.json +22 -0
  34. package/integ-tests/integ.al2023.ts.snapshot/manifest.json +510 -0
  35. package/integ-tests/integ.al2023.ts.snapshot/tree.json +2944 -0
  36. package/integ-tests/integ.ubuntu.ts +66 -0
  37. package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.assets.json +32 -0
  38. package/integ-tests/integ.ubuntu.ts.snapshot/IntegSetupVSCodeOnUbuntuDefaultTestDeployAssertFF8DF2C5.template.json +337 -0
  39. package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.assets.json +110 -0
  40. package/integ-tests/integ.ubuntu.ts.snapshot/IntegTestStackUbuntu22.template.json +2477 -0
  41. package/integ-tests/integ.ubuntu.ts.snapshot/asset.23732f3d1982f7fb0da3bd6638a8107337bb767fea165b45eae12000a1dd67ce/index.js +6169 -0
  42. package/integ-tests/integ.ubuntu.ts.snapshot/asset.2819175352ad1ce0dae768e83fc328fb70fb5f10b4a8ff0ccbcb791f02b0716d/index.js +1 -0
  43. package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/cfn-response.js +1 -0
  44. package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/consts.js +1 -0
  45. package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/framework.js +3 -0
  46. package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/outbound.js +1 -0
  47. package/integ-tests/integ.ubuntu.ts.snapshot/asset.4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e/util.js +1 -0
  48. package/integ-tests/integ.ubuntu.ts.snapshot/asset.512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf.lambda/index.js +112 -0
  49. package/integ-tests/integ.ubuntu.ts.snapshot/asset.781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b.lambda/index.js +57 -0
  50. package/integ-tests/integ.ubuntu.ts.snapshot/asset.c504585dae89ce8e394d7744ccae054318e7d1aff14afb545438d173d51dc97d.bundle/index.js +30572 -0
  51. package/integ-tests/integ.ubuntu.ts.snapshot/asset.ce2f3595a340d6c519a65888ef97e3b9b64f053f83608e32cc28162e22d7d99a/index.js +1 -0
  52. package/integ-tests/integ.ubuntu.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/__entrypoint__.js +1 -0
  53. package/integ-tests/integ.ubuntu.ts.snapshot/asset.ee7de53d64cc9d6248fa6aa550f92358f6c907b5efd6f3298aeab1b5e7ea358a/index.js +1 -0
  54. package/integ-tests/integ.ubuntu.ts.snapshot/cdk.out +1 -0
  55. package/integ-tests/integ.ubuntu.ts.snapshot/integ.json +22 -0
  56. package/integ-tests/integ.ubuntu.ts.snapshot/manifest.json +510 -0
  57. package/integ-tests/integ.ubuntu.ts.snapshot/tree.json +2962 -0
  58. package/lib/index.d.ts +1 -0
  59. package/lib/index.js +18 -0
  60. package/lib/installer/installer-function.d.ts +13 -0
  61. package/lib/installer/installer-function.js +23 -0
  62. package/lib/installer/installer.d.ts +64 -0
  63. package/lib/installer/installer.js +707 -0
  64. package/lib/installer/installer.lambda.d.ts +3 -0
  65. package/lib/installer/installer.lambda.js +94 -0
  66. package/lib/mappings.d.ts +2 -0
  67. package/lib/mappings.js +25 -0
  68. package/lib/prefixlist-retriever/prefixlist-retriever.d.ts +16 -0
  69. package/lib/prefixlist-retriever/prefixlist-retriever.js +56 -0
  70. package/lib/secret-retriever/secret-retriever-function.d.ts +13 -0
  71. package/lib/secret-retriever/secret-retriever-function.js +23 -0
  72. package/lib/secret-retriever/secret-retriever.d.ts +33 -0
  73. package/lib/secret-retriever/secret-retriever.js +72 -0
  74. package/lib/secret-retriever/secret-retriever.lambda.d.ts +2 -0
  75. package/lib/secret-retriever/secret-retriever.lambda.js +36 -0
  76. package/lib/vscode-server.d.ts +97 -0
  77. package/lib/vscode-server.js +417 -0
  78. package/node_modules/boolbase/README.md +10 -0
  79. package/node_modules/boolbase/index.js +8 -0
  80. package/node_modules/boolbase/package.json +23 -0
  81. package/node_modules/css-select/LICENSE +11 -0
  82. package/node_modules/css-select/README.md +264 -0
  83. package/node_modules/css-select/lib/attributes.d.ts +7 -0
  84. package/node_modules/css-select/lib/attributes.d.ts.map +1 -0
  85. package/node_modules/css-select/lib/attributes.js +236 -0
  86. package/node_modules/css-select/lib/attributes.js.map +1 -0
  87. package/node_modules/css-select/lib/compile.d.ts +13 -0
  88. package/node_modules/css-select/lib/compile.d.ts.map +1 -0
  89. package/node_modules/css-select/lib/compile.js +151 -0
  90. package/node_modules/css-select/lib/compile.js.map +1 -0
  91. package/node_modules/css-select/lib/esm/attributes.d.ts +7 -0
  92. package/node_modules/css-select/lib/esm/attributes.d.ts.map +1 -0
  93. package/node_modules/css-select/lib/esm/attributes.js +222 -0
  94. package/node_modules/css-select/lib/esm/attributes.js.map +1 -0
  95. package/node_modules/css-select/lib/esm/compile.d.ts +13 -0
  96. package/node_modules/css-select/lib/esm/compile.d.ts.map +1 -0
  97. package/node_modules/css-select/lib/esm/compile.js +115 -0
  98. package/node_modules/css-select/lib/esm/compile.js.map +1 -0
  99. package/node_modules/css-select/lib/esm/general.d.ts +3 -0
  100. package/node_modules/css-select/lib/esm/general.d.ts.map +1 -0
  101. package/node_modules/css-select/lib/esm/general.js +144 -0
  102. package/node_modules/css-select/lib/esm/general.js.map +1 -0
  103. package/node_modules/css-select/lib/esm/index.d.ts +50 -0
  104. package/node_modules/css-select/lib/esm/index.d.ts.map +1 -0
  105. package/node_modules/css-select/lib/esm/index.js +115 -0
  106. package/node_modules/css-select/lib/esm/index.js.map +1 -0
  107. package/node_modules/css-select/lib/esm/package.json +1 -0
  108. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts +5 -0
  109. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.d.ts.map +1 -0
  110. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js +35 -0
  111. package/node_modules/css-select/lib/esm/pseudo-selectors/aliases.js.map +1 -0
  112. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts +4 -0
  113. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.d.ts.map +1 -0
  114. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js +143 -0
  115. package/node_modules/css-select/lib/esm/pseudo-selectors/filters.js.map +1 -0
  116. package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts +8 -0
  117. package/node_modules/css-select/lib/esm/pseudo-selectors/index.d.ts.map +1 -0
  118. package/node_modules/css-select/lib/esm/pseudo-selectors/index.js +40 -0
  119. package/node_modules/css-select/lib/esm/pseudo-selectors/index.js.map +1 -0
  120. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts +6 -0
  121. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.d.ts.map +1 -0
  122. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js +79 -0
  123. package/node_modules/css-select/lib/esm/pseudo-selectors/pseudos.js.map +1 -0
  124. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts +9 -0
  125. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.d.ts.map +1 -0
  126. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js +94 -0
  127. package/node_modules/css-select/lib/esm/pseudo-selectors/subselects.js.map +1 -0
  128. package/node_modules/css-select/lib/esm/sort.d.ts +12 -0
  129. package/node_modules/css-select/lib/esm/sort.d.ts.map +1 -0
  130. package/node_modules/css-select/lib/esm/sort.js +79 -0
  131. package/node_modules/css-select/lib/esm/sort.js.map +1 -0
  132. package/node_modules/css-select/lib/esm/types.d.ts +167 -0
  133. package/node_modules/css-select/lib/esm/types.d.ts.map +1 -0
  134. package/node_modules/css-select/lib/esm/types.js +2 -0
  135. package/node_modules/css-select/lib/esm/types.js.map +1 -0
  136. package/node_modules/css-select/lib/general.d.ts +3 -0
  137. package/node_modules/css-select/lib/general.d.ts.map +1 -0
  138. package/node_modules/css-select/lib/general.js +148 -0
  139. package/node_modules/css-select/lib/general.js.map +1 -0
  140. package/node_modules/css-select/lib/index.d.ts +50 -0
  141. package/node_modules/css-select/lib/index.d.ts.map +1 -0
  142. package/node_modules/css-select/lib/index.js +154 -0
  143. package/node_modules/css-select/lib/index.js.map +1 -0
  144. package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts +5 -0
  145. package/node_modules/css-select/lib/pseudo-selectors/aliases.d.ts.map +1 -0
  146. package/node_modules/css-select/lib/pseudo-selectors/aliases.js +34 -0
  147. package/node_modules/css-select/lib/pseudo-selectors/aliases.js.map +1 -0
  148. package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts +4 -0
  149. package/node_modules/css-select/lib/pseudo-selectors/filters.d.ts.map +1 -0
  150. package/node_modules/css-select/lib/pseudo-selectors/filters.js +157 -0
  151. package/node_modules/css-select/lib/pseudo-selectors/filters.js.map +1 -0
  152. package/node_modules/css-select/lib/pseudo-selectors/index.d.ts +8 -0
  153. package/node_modules/css-select/lib/pseudo-selectors/index.d.ts.map +1 -0
  154. package/node_modules/css-select/lib/pseudo-selectors/index.js +46 -0
  155. package/node_modules/css-select/lib/pseudo-selectors/index.js.map +1 -0
  156. package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts +6 -0
  157. package/node_modules/css-select/lib/pseudo-selectors/pseudos.d.ts.map +1 -0
  158. package/node_modules/css-select/lib/pseudo-selectors/pseudos.js +93 -0
  159. package/node_modules/css-select/lib/pseudo-selectors/pseudos.js.map +1 -0
  160. package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts +9 -0
  161. package/node_modules/css-select/lib/pseudo-selectors/subselects.d.ts.map +1 -0
  162. package/node_modules/css-select/lib/pseudo-selectors/subselects.js +112 -0
  163. package/node_modules/css-select/lib/pseudo-selectors/subselects.js.map +1 -0
  164. package/node_modules/css-select/lib/sort.d.ts +12 -0
  165. package/node_modules/css-select/lib/sort.d.ts.map +1 -0
  166. package/node_modules/css-select/lib/sort.js +84 -0
  167. package/node_modules/css-select/lib/sort.js.map +1 -0
  168. package/node_modules/css-select/lib/types.d.ts +167 -0
  169. package/node_modules/css-select/lib/types.d.ts.map +1 -0
  170. package/node_modules/css-select/lib/types.js +3 -0
  171. package/node_modules/css-select/lib/types.js.map +1 -0
  172. package/node_modules/css-select/package.json +81 -0
  173. package/node_modules/css-what/LICENSE +11 -0
  174. package/node_modules/css-what/lib/commonjs/index.d.ts +4 -0
  175. package/node_modules/css-what/lib/commonjs/index.d.ts.map +1 -0
  176. package/node_modules/css-what/lib/commonjs/index.js +23 -0
  177. package/node_modules/css-what/lib/commonjs/parse.d.ts +20 -0
  178. package/node_modules/css-what/lib/commonjs/parse.d.ts.map +1 -0
  179. package/node_modules/css-what/lib/commonjs/parse.js +425 -0
  180. package/node_modules/css-what/lib/commonjs/stringify.d.ts +8 -0
  181. package/node_modules/css-what/lib/commonjs/stringify.d.ts.map +1 -0
  182. package/node_modules/css-what/lib/commonjs/stringify.js +138 -0
  183. package/node_modules/css-what/lib/commonjs/types.d.ts +70 -0
  184. package/node_modules/css-what/lib/commonjs/types.d.ts.map +1 -0
  185. package/node_modules/css-what/lib/commonjs/types.js +42 -0
  186. package/node_modules/css-what/lib/es/index.d.ts +4 -0
  187. package/node_modules/css-what/lib/es/index.d.ts.map +1 -0
  188. package/node_modules/css-what/lib/es/index.js +3 -0
  189. package/node_modules/css-what/lib/es/parse.d.ts +20 -0
  190. package/node_modules/css-what/lib/es/parse.d.ts.map +1 -0
  191. package/node_modules/css-what/lib/es/parse.js +420 -0
  192. package/node_modules/css-what/lib/es/stringify.d.ts +8 -0
  193. package/node_modules/css-what/lib/es/stringify.d.ts.map +1 -0
  194. package/node_modules/css-what/lib/es/stringify.js +126 -0
  195. package/node_modules/css-what/lib/es/types.d.ts +70 -0
  196. package/node_modules/css-what/lib/es/types.d.ts.map +1 -0
  197. package/node_modules/css-what/lib/es/types.js +39 -0
  198. package/node_modules/css-what/package.json +59 -0
  199. package/node_modules/css-what/readme.md +69 -0
  200. package/node_modules/dom-serializer/LICENSE +11 -0
  201. package/node_modules/dom-serializer/README.md +109 -0
  202. package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts +3 -0
  203. package/node_modules/dom-serializer/lib/esm/foreignNames.d.ts.map +1 -0
  204. package/node_modules/dom-serializer/lib/esm/foreignNames.js +100 -0
  205. package/node_modules/dom-serializer/lib/esm/index.d.ts +52 -0
  206. package/node_modules/dom-serializer/lib/esm/index.d.ts.map +1 -0
  207. package/node_modules/dom-serializer/lib/esm/index.js +190 -0
  208. package/node_modules/dom-serializer/lib/esm/package.json +1 -0
  209. package/node_modules/dom-serializer/lib/foreignNames.d.ts +3 -0
  210. package/node_modules/dom-serializer/lib/foreignNames.d.ts.map +1 -0
  211. package/node_modules/dom-serializer/lib/foreignNames.js +103 -0
  212. package/node_modules/dom-serializer/lib/index.d.ts +52 -0
  213. package/node_modules/dom-serializer/lib/index.d.ts.map +1 -0
  214. package/node_modules/dom-serializer/lib/index.js +229 -0
  215. package/node_modules/dom-serializer/package.json +69 -0
  216. package/node_modules/domelementtype/LICENSE +11 -0
  217. package/node_modules/domelementtype/lib/esm/index.d.ts +48 -0
  218. package/node_modules/domelementtype/lib/esm/index.d.ts.map +1 -0
  219. package/node_modules/domelementtype/lib/esm/index.js +51 -0
  220. package/node_modules/domelementtype/lib/esm/package.json +1 -0
  221. package/node_modules/domelementtype/lib/index.d.ts +48 -0
  222. package/node_modules/domelementtype/lib/index.d.ts.map +1 -0
  223. package/node_modules/domelementtype/lib/index.js +55 -0
  224. package/node_modules/domelementtype/package.json +54 -0
  225. package/node_modules/domelementtype/readme.md +1 -0
  226. package/node_modules/domhandler/LICENSE +11 -0
  227. package/node_modules/domhandler/lib/esm/index.d.ts +76 -0
  228. package/node_modules/domhandler/lib/esm/index.d.ts.map +1 -0
  229. package/node_modules/domhandler/lib/esm/index.js +146 -0
  230. package/node_modules/domhandler/lib/esm/node.d.ts +245 -0
  231. package/node_modules/domhandler/lib/esm/node.d.ts.map +1 -0
  232. package/node_modules/domhandler/lib/esm/node.js +338 -0
  233. package/node_modules/domhandler/lib/esm/package.json +1 -0
  234. package/node_modules/domhandler/lib/index.d.ts +76 -0
  235. package/node_modules/domhandler/lib/index.d.ts.map +1 -0
  236. package/node_modules/domhandler/lib/index.js +165 -0
  237. package/node_modules/domhandler/lib/node.d.ts +245 -0
  238. package/node_modules/domhandler/lib/node.d.ts.map +1 -0
  239. package/node_modules/domhandler/lib/node.js +474 -0
  240. package/node_modules/domhandler/package.json +73 -0
  241. package/node_modules/domhandler/readme.md +92 -0
  242. package/node_modules/domutils/LICENSE +11 -0
  243. package/node_modules/domutils/lib/esm/feeds.d.ts +71 -0
  244. package/node_modules/domutils/lib/esm/feeds.d.ts.map +1 -0
  245. package/node_modules/domutils/lib/esm/feeds.js +183 -0
  246. package/node_modules/domutils/lib/esm/feeds.js.map +1 -0
  247. package/node_modules/domutils/lib/esm/helpers.d.ts +59 -0
  248. package/node_modules/domutils/lib/esm/helpers.d.ts.map +1 -0
  249. package/node_modules/domutils/lib/esm/helpers.js +136 -0
  250. package/node_modules/domutils/lib/esm/helpers.js.map +1 -0
  251. package/node_modules/domutils/lib/esm/index.d.ts +10 -0
  252. package/node_modules/domutils/lib/esm/index.d.ts.map +1 -0
  253. package/node_modules/domutils/lib/esm/index.js +10 -0
  254. package/node_modules/domutils/lib/esm/index.js.map +1 -0
  255. package/node_modules/domutils/lib/esm/legacy.d.ts +79 -0
  256. package/node_modules/domutils/lib/esm/legacy.d.ts.map +1 -0
  257. package/node_modules/domutils/lib/esm/legacy.js +152 -0
  258. package/node_modules/domutils/lib/esm/legacy.js.map +1 -0
  259. package/node_modules/domutils/lib/esm/manipulation.d.ts +49 -0
  260. package/node_modules/domutils/lib/esm/manipulation.d.ts.map +1 -0
  261. package/node_modules/domutils/lib/esm/manipulation.js +134 -0
  262. package/node_modules/domutils/lib/esm/manipulation.js.map +1 -0
  263. package/node_modules/domutils/lib/esm/package.json +1 -0
  264. package/node_modules/domutils/lib/esm/querying.d.ts +64 -0
  265. package/node_modules/domutils/lib/esm/querying.d.ts.map +1 -0
  266. package/node_modules/domutils/lib/esm/querying.js +142 -0
  267. package/node_modules/domutils/lib/esm/querying.js.map +1 -0
  268. package/node_modules/domutils/lib/esm/stringify.d.ts +46 -0
  269. package/node_modules/domutils/lib/esm/stringify.d.ts.map +1 -0
  270. package/node_modules/domutils/lib/esm/stringify.js +81 -0
  271. package/node_modules/domutils/lib/esm/stringify.js.map +1 -0
  272. package/node_modules/domutils/lib/esm/traversal.d.ts +67 -0
  273. package/node_modules/domutils/lib/esm/traversal.d.ts.map +1 -0
  274. package/node_modules/domutils/lib/esm/traversal.js +112 -0
  275. package/node_modules/domutils/lib/esm/traversal.js.map +1 -0
  276. package/node_modules/domutils/lib/feeds.d.ts +71 -0
  277. package/node_modules/domutils/lib/feeds.d.ts.map +1 -0
  278. package/node_modules/domutils/lib/feeds.js +190 -0
  279. package/node_modules/domutils/lib/feeds.js.map +1 -0
  280. package/node_modules/domutils/lib/helpers.d.ts +59 -0
  281. package/node_modules/domutils/lib/helpers.d.ts.map +1 -0
  282. package/node_modules/domutils/lib/helpers.js +142 -0
  283. package/node_modules/domutils/lib/helpers.js.map +1 -0
  284. package/node_modules/domutils/lib/index.d.ts +10 -0
  285. package/node_modules/domutils/lib/index.d.ts.map +1 -0
  286. package/node_modules/domutils/lib/index.js +33 -0
  287. package/node_modules/domutils/lib/index.js.map +1 -0
  288. package/node_modules/domutils/lib/legacy.d.ts +79 -0
  289. package/node_modules/domutils/lib/legacy.d.ts.map +1 -0
  290. package/node_modules/domutils/lib/legacy.js +168 -0
  291. package/node_modules/domutils/lib/legacy.js.map +1 -0
  292. package/node_modules/domutils/lib/manipulation.d.ts +49 -0
  293. package/node_modules/domutils/lib/manipulation.d.ts.map +1 -0
  294. package/node_modules/domutils/lib/manipulation.js +142 -0
  295. package/node_modules/domutils/lib/manipulation.js.map +1 -0
  296. package/node_modules/domutils/lib/querying.d.ts +64 -0
  297. package/node_modules/domutils/lib/querying.d.ts.map +1 -0
  298. package/node_modules/domutils/lib/querying.js +155 -0
  299. package/node_modules/domutils/lib/querying.js.map +1 -0
  300. package/node_modules/domutils/lib/stringify.d.ts +46 -0
  301. package/node_modules/domutils/lib/stringify.d.ts.map +1 -0
  302. package/node_modules/domutils/lib/stringify.js +91 -0
  303. package/node_modules/domutils/lib/stringify.js.map +1 -0
  304. package/node_modules/domutils/lib/traversal.d.ts +67 -0
  305. package/node_modules/domutils/lib/traversal.d.ts.map +1 -0
  306. package/node_modules/domutils/lib/traversal.js +125 -0
  307. package/node_modules/domutils/lib/traversal.js.map +1 -0
  308. package/node_modules/domutils/package.json +79 -0
  309. package/node_modules/domutils/readme.md +31 -0
  310. package/node_modules/entities/LICENSE +11 -0
  311. package/node_modules/entities/lib/decode.d.ts +211 -0
  312. package/node_modules/entities/lib/decode.d.ts.map +1 -0
  313. package/node_modules/entities/lib/decode.js +536 -0
  314. package/node_modules/entities/lib/decode.js.map +1 -0
  315. package/node_modules/entities/lib/decode_codepoint.d.ts +19 -0
  316. package/node_modules/entities/lib/decode_codepoint.d.ts.map +1 -0
  317. package/node_modules/entities/lib/decode_codepoint.js +76 -0
  318. package/node_modules/entities/lib/decode_codepoint.js.map +1 -0
  319. package/node_modules/entities/lib/encode.d.ts +22 -0
  320. package/node_modules/entities/lib/encode.d.ts.map +1 -0
  321. package/node_modules/entities/lib/encode.js +77 -0
  322. package/node_modules/entities/lib/encode.js.map +1 -0
  323. package/node_modules/entities/lib/escape.d.ts +43 -0
  324. package/node_modules/entities/lib/escape.d.ts.map +1 -0
  325. package/node_modules/entities/lib/escape.js +122 -0
  326. package/node_modules/entities/lib/escape.js.map +1 -0
  327. package/node_modules/entities/lib/esm/decode.d.ts +211 -0
  328. package/node_modules/entities/lib/esm/decode.d.ts.map +1 -0
  329. package/node_modules/entities/lib/esm/decode.js +496 -0
  330. package/node_modules/entities/lib/esm/decode.js.map +1 -0
  331. package/node_modules/entities/lib/esm/decode_codepoint.d.ts +19 -0
  332. package/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +1 -0
  333. package/node_modules/entities/lib/esm/decode_codepoint.js +71 -0
  334. package/node_modules/entities/lib/esm/decode_codepoint.js.map +1 -0
  335. package/node_modules/entities/lib/esm/encode.d.ts +22 -0
  336. package/node_modules/entities/lib/esm/encode.d.ts.map +1 -0
  337. package/node_modules/entities/lib/esm/encode.js +69 -0
  338. package/node_modules/entities/lib/esm/encode.js.map +1 -0
  339. package/node_modules/entities/lib/esm/escape.d.ts +43 -0
  340. package/node_modules/entities/lib/esm/escape.d.ts.map +1 -0
  341. package/node_modules/entities/lib/esm/escape.js +116 -0
  342. package/node_modules/entities/lib/esm/escape.js.map +1 -0
  343. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +3 -0
  344. package/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +1 -0
  345. package/node_modules/entities/lib/esm/generated/decode-data-html.js +7 -0
  346. package/node_modules/entities/lib/esm/generated/decode-data-html.js.map +1 -0
  347. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +3 -0
  348. package/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +1 -0
  349. package/node_modules/entities/lib/esm/generated/decode-data-xml.js +7 -0
  350. package/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +1 -0
  351. package/node_modules/entities/lib/esm/generated/encode-html.d.ts +8 -0
  352. package/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +1 -0
  353. package/node_modules/entities/lib/esm/generated/encode-html.js +10 -0
  354. package/node_modules/entities/lib/esm/generated/encode-html.js.map +1 -0
  355. package/node_modules/entities/lib/esm/index.d.ts +96 -0
  356. package/node_modules/entities/lib/esm/index.d.ts.map +1 -0
  357. package/node_modules/entities/lib/esm/index.js +99 -0
  358. package/node_modules/entities/lib/esm/index.js.map +1 -0
  359. package/node_modules/entities/lib/esm/package.json +1 -0
  360. package/node_modules/entities/lib/generated/decode-data-html.d.ts +3 -0
  361. package/node_modules/entities/lib/generated/decode-data-html.d.ts.map +1 -0
  362. package/node_modules/entities/lib/generated/decode-data-html.js +9 -0
  363. package/node_modules/entities/lib/generated/decode-data-html.js.map +1 -0
  364. package/node_modules/entities/lib/generated/decode-data-xml.d.ts +3 -0
  365. package/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +1 -0
  366. package/node_modules/entities/lib/generated/decode-data-xml.js +9 -0
  367. package/node_modules/entities/lib/generated/decode-data-xml.js.map +1 -0
  368. package/node_modules/entities/lib/generated/encode-html.d.ts +8 -0
  369. package/node_modules/entities/lib/generated/encode-html.d.ts.map +1 -0
  370. package/node_modules/entities/lib/generated/encode-html.js +12 -0
  371. package/node_modules/entities/lib/generated/encode-html.js.map +1 -0
  372. package/node_modules/entities/lib/index.d.ts +96 -0
  373. package/node_modules/entities/lib/index.d.ts.map +1 -0
  374. package/node_modules/entities/lib/index.js +126 -0
  375. package/node_modules/entities/lib/index.js.map +1 -0
  376. package/node_modules/entities/package.json +90 -0
  377. package/node_modules/entities/readme.md +122 -0
  378. package/node_modules/he/LICENSE-MIT.txt +20 -0
  379. package/node_modules/he/README.md +379 -0
  380. package/node_modules/he/bin/he +148 -0
  381. package/node_modules/he/he.js +345 -0
  382. package/node_modules/he/man/he.1 +78 -0
  383. package/node_modules/he/package.json +58 -0
  384. package/node_modules/node-html-parser/CHANGELOG.md +137 -0
  385. package/node_modules/node-html-parser/LICENSE +7 -0
  386. package/node_modules/node-html-parser/README.md +365 -0
  387. package/node_modules/node-html-parser/dist/back.d.ts +1 -0
  388. package/node_modules/node-html-parser/dist/back.js +6 -0
  389. package/node_modules/node-html-parser/dist/index.d.ts +20 -0
  390. package/node_modules/node-html-parser/dist/index.js +32 -0
  391. package/node_modules/node-html-parser/dist/main.js +1646 -0
  392. package/node_modules/node-html-parser/dist/matcher.d.ts +6 -0
  393. package/node_modules/node-html-parser/dist/matcher.js +106 -0
  394. package/node_modules/node-html-parser/dist/nodes/comment.d.ts +20 -0
  395. package/node_modules/node-html-parser/dist/nodes/comment.js +57 -0
  396. package/node_modules/node-html-parser/dist/nodes/html.d.ts +240 -0
  397. package/node_modules/node-html-parser/dist/nodes/html.js +1218 -0
  398. package/node_modules/node-html-parser/dist/nodes/node.d.ts +24 -0
  399. package/node_modules/node-html-parser/dist/nodes/node.js +52 -0
  400. package/node_modules/node-html-parser/dist/nodes/text.d.ts +44 -0
  401. package/node_modules/node-html-parser/dist/nodes/text.js +144 -0
  402. package/node_modules/node-html-parser/dist/nodes/type.d.ts +6 -0
  403. package/node_modules/node-html-parser/dist/nodes/type.js +9 -0
  404. package/node_modules/node-html-parser/dist/parse.d.ts +1 -0
  405. package/node_modules/node-html-parser/dist/parse.js +5 -0
  406. package/node_modules/node-html-parser/dist/valid.d.ts +6 -0
  407. package/node_modules/node-html-parser/dist/valid.js +13 -0
  408. package/node_modules/node-html-parser/dist/void-tag.d.ts +7 -0
  409. package/node_modules/node-html-parser/dist/void-tag.js +29 -0
  410. package/node_modules/node-html-parser/package.json +114 -0
  411. package/node_modules/nth-check/LICENSE +11 -0
  412. package/node_modules/nth-check/README.md +136 -0
  413. package/node_modules/nth-check/lib/compile.d.ts +55 -0
  414. package/node_modules/nth-check/lib/compile.d.ts.map +1 -0
  415. package/node_modules/nth-check/lib/compile.js +121 -0
  416. package/node_modules/nth-check/lib/compile.js.map +1 -0
  417. package/node_modules/nth-check/lib/esm/compile.d.ts +55 -0
  418. package/node_modules/nth-check/lib/esm/compile.d.ts.map +1 -0
  419. package/node_modules/nth-check/lib/esm/compile.js +113 -0
  420. package/node_modules/nth-check/lib/esm/compile.js.map +1 -0
  421. package/node_modules/nth-check/lib/esm/index.d.ts +59 -0
  422. package/node_modules/nth-check/lib/esm/index.d.ts.map +1 -0
  423. package/node_modules/nth-check/lib/esm/index.js +63 -0
  424. package/node_modules/nth-check/lib/esm/index.js.map +1 -0
  425. package/node_modules/nth-check/lib/esm/package.json +1 -0
  426. package/node_modules/nth-check/lib/esm/parse.d.ts +9 -0
  427. package/node_modules/nth-check/lib/esm/parse.d.ts.map +1 -0
  428. package/node_modules/nth-check/lib/esm/parse.js +73 -0
  429. package/node_modules/nth-check/lib/esm/parse.js.map +1 -0
  430. package/node_modules/nth-check/lib/index.d.ts +59 -0
  431. package/node_modules/nth-check/lib/index.d.ts.map +1 -0
  432. package/node_modules/nth-check/lib/index.js +70 -0
  433. package/node_modules/nth-check/lib/index.js.map +1 -0
  434. package/node_modules/nth-check/lib/parse.d.ts +9 -0
  435. package/node_modules/nth-check/lib/parse.d.ts.map +1 -0
  436. package/node_modules/nth-check/lib/parse.js +77 -0
  437. package/node_modules/nth-check/lib/parse.js.map +1 -0
  438. package/node_modules/nth-check/package.json +78 -0
  439. package/package.json +154 -0
@@ -0,0 +1,2944 @@
1
+ {
2
+ "version": "tree-0.1",
3
+ "tree": {
4
+ "id": "App",
5
+ "path": "",
6
+ "children": {
7
+ "IntegTestStackAl2023": {
8
+ "id": "IntegTestStackAl2023",
9
+ "path": "IntegTestStackAl2023",
10
+ "children": {
11
+ "IntegVSCodeServer": {
12
+ "id": "IntegVSCodeServer",
13
+ "path": "IntegTestStackAl2023/IntegVSCodeServer",
14
+ "children": {
15
+ "password-secret": {
16
+ "id": "password-secret",
17
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/password-secret",
18
+ "children": {
19
+ "Resource": {
20
+ "id": "Resource",
21
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/password-secret/Resource",
22
+ "attributes": {
23
+ "aws:cdk:cloudformation:type": "AWS::SecretsManager::Secret",
24
+ "aws:cdk:cloudformation:props": {
25
+ "generateSecretString": {
26
+ "passwordLength": 16,
27
+ "secretStringTemplate": "{\"username\":\"participant\"}",
28
+ "excludePunctuation": true,
29
+ "includeSpace": false,
30
+ "generateStringKey": "password"
31
+ }
32
+ }
33
+ },
34
+ "constructInfo": {
35
+ "fqn": "aws-cdk-lib.aws_secretsmanager.CfnSecret",
36
+ "version": "2.165.0"
37
+ }
38
+ }
39
+ },
40
+ "constructInfo": {
41
+ "fqn": "aws-cdk-lib.aws_secretsmanager.Secret",
42
+ "version": "2.165.0"
43
+ }
44
+ },
45
+ "SecretRetrieverOnEventHandler": {
46
+ "id": "SecretRetrieverOnEventHandler",
47
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverOnEventHandler",
48
+ "children": {
49
+ "ServiceRole": {
50
+ "id": "ServiceRole",
51
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverOnEventHandler/ServiceRole",
52
+ "children": {
53
+ "ImportServiceRole": {
54
+ "id": "ImportServiceRole",
55
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverOnEventHandler/ServiceRole/ImportServiceRole",
56
+ "constructInfo": {
57
+ "fqn": "aws-cdk-lib.Resource",
58
+ "version": "2.165.0"
59
+ }
60
+ },
61
+ "Resource": {
62
+ "id": "Resource",
63
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverOnEventHandler/ServiceRole/Resource",
64
+ "attributes": {
65
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
66
+ "aws:cdk:cloudformation:props": {
67
+ "assumeRolePolicyDocument": {
68
+ "Statement": [
69
+ {
70
+ "Action": "sts:AssumeRole",
71
+ "Effect": "Allow",
72
+ "Principal": {
73
+ "Service": "lambda.amazonaws.com"
74
+ }
75
+ }
76
+ ],
77
+ "Version": "2012-10-17"
78
+ },
79
+ "managedPolicyArns": [
80
+ {
81
+ "Fn::Join": [
82
+ "",
83
+ [
84
+ "arn:",
85
+ {
86
+ "Ref": "AWS::Partition"
87
+ },
88
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
89
+ ]
90
+ ]
91
+ }
92
+ ]
93
+ }
94
+ },
95
+ "constructInfo": {
96
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
97
+ "version": "2.165.0"
98
+ }
99
+ },
100
+ "DefaultPolicy": {
101
+ "id": "DefaultPolicy",
102
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverOnEventHandler/ServiceRole/DefaultPolicy",
103
+ "children": {
104
+ "Resource": {
105
+ "id": "Resource",
106
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverOnEventHandler/ServiceRole/DefaultPolicy/Resource",
107
+ "attributes": {
108
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
109
+ "aws:cdk:cloudformation:props": {
110
+ "policyDocument": {
111
+ "Statement": [
112
+ {
113
+ "Action": "secretsmanager:GetSecretValue",
114
+ "Effect": "Allow",
115
+ "Resource": {
116
+ "Ref": "IntegVSCodeServerpasswordsecret202A5DB3"
117
+ }
118
+ }
119
+ ],
120
+ "Version": "2012-10-17"
121
+ },
122
+ "policyName": "IntegVSCodeServerSecretRetrieverOnEventHandlerServiceRoleDefaultPolicy2641E2C6",
123
+ "roles": [
124
+ {
125
+ "Ref": "IntegVSCodeServerSecretRetrieverOnEventHandlerServiceRoleBEF8D4D2"
126
+ }
127
+ ]
128
+ }
129
+ },
130
+ "constructInfo": {
131
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
132
+ "version": "2.165.0"
133
+ }
134
+ }
135
+ },
136
+ "constructInfo": {
137
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
138
+ "version": "2.165.0"
139
+ }
140
+ }
141
+ },
142
+ "constructInfo": {
143
+ "fqn": "aws-cdk-lib.aws_iam.Role",
144
+ "version": "2.165.0"
145
+ }
146
+ },
147
+ "Code": {
148
+ "id": "Code",
149
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverOnEventHandler/Code",
150
+ "children": {
151
+ "Stage": {
152
+ "id": "Stage",
153
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverOnEventHandler/Code/Stage",
154
+ "constructInfo": {
155
+ "fqn": "aws-cdk-lib.AssetStaging",
156
+ "version": "2.165.0"
157
+ }
158
+ },
159
+ "AssetBucket": {
160
+ "id": "AssetBucket",
161
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverOnEventHandler/Code/AssetBucket",
162
+ "constructInfo": {
163
+ "fqn": "aws-cdk-lib.aws_s3.BucketBase",
164
+ "version": "2.165.0"
165
+ }
166
+ }
167
+ },
168
+ "constructInfo": {
169
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset",
170
+ "version": "2.165.0"
171
+ }
172
+ },
173
+ "Resource": {
174
+ "id": "Resource",
175
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverOnEventHandler/Resource",
176
+ "attributes": {
177
+ "aws:cdk:cloudformation:type": "AWS::Lambda::Function",
178
+ "aws:cdk:cloudformation:props": {
179
+ "code": {
180
+ "s3Bucket": {
181
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
182
+ },
183
+ "s3Key": "781ab0ab74634cdaf61539ab208ab777829ef07097ac21f95b9e15a3b1eedc1b.zip"
184
+ },
185
+ "description": "src/secret-retriever/secret-retriever.lambda.ts",
186
+ "environment": {
187
+ "variables": {
188
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
189
+ }
190
+ },
191
+ "handler": "index.handler",
192
+ "memorySize": 128,
193
+ "role": {
194
+ "Fn::GetAtt": [
195
+ "IntegVSCodeServerSecretRetrieverOnEventHandlerServiceRoleBEF8D4D2",
196
+ "Arn"
197
+ ]
198
+ },
199
+ "runtime": "nodejs18.x",
200
+ "timeout": 10
201
+ }
202
+ },
203
+ "constructInfo": {
204
+ "fqn": "aws-cdk-lib.aws_lambda.CfnFunction",
205
+ "version": "2.165.0"
206
+ }
207
+ }
208
+ },
209
+ "constructInfo": {
210
+ "fqn": "aws-cdk-lib.aws_lambda.Function",
211
+ "version": "2.165.0"
212
+ }
213
+ },
214
+ "SecretRetrieveProvider": {
215
+ "id": "SecretRetrieveProvider",
216
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider",
217
+ "children": {
218
+ "framework-onEvent": {
219
+ "id": "framework-onEvent",
220
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent",
221
+ "children": {
222
+ "ServiceRole": {
223
+ "id": "ServiceRole",
224
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/ServiceRole",
225
+ "children": {
226
+ "ImportServiceRole": {
227
+ "id": "ImportServiceRole",
228
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/ServiceRole/ImportServiceRole",
229
+ "constructInfo": {
230
+ "fqn": "aws-cdk-lib.Resource",
231
+ "version": "2.165.0"
232
+ }
233
+ },
234
+ "Resource": {
235
+ "id": "Resource",
236
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/ServiceRole/Resource",
237
+ "attributes": {
238
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
239
+ "aws:cdk:cloudformation:props": {
240
+ "assumeRolePolicyDocument": {
241
+ "Statement": [
242
+ {
243
+ "Action": "sts:AssumeRole",
244
+ "Effect": "Allow",
245
+ "Principal": {
246
+ "Service": "lambda.amazonaws.com"
247
+ }
248
+ }
249
+ ],
250
+ "Version": "2012-10-17"
251
+ },
252
+ "managedPolicyArns": [
253
+ {
254
+ "Fn::Join": [
255
+ "",
256
+ [
257
+ "arn:",
258
+ {
259
+ "Ref": "AWS::Partition"
260
+ },
261
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
262
+ ]
263
+ ]
264
+ }
265
+ ]
266
+ }
267
+ },
268
+ "constructInfo": {
269
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
270
+ "version": "2.165.0"
271
+ }
272
+ },
273
+ "DefaultPolicy": {
274
+ "id": "DefaultPolicy",
275
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/ServiceRole/DefaultPolicy",
276
+ "children": {
277
+ "Resource": {
278
+ "id": "Resource",
279
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/ServiceRole/DefaultPolicy/Resource",
280
+ "attributes": {
281
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
282
+ "aws:cdk:cloudformation:props": {
283
+ "policyDocument": {
284
+ "Statement": [
285
+ {
286
+ "Action": "lambda:InvokeFunction",
287
+ "Effect": "Allow",
288
+ "Resource": [
289
+ {
290
+ "Fn::GetAtt": [
291
+ "IntegVSCodeServerSecretRetrieverOnEventHandlerDD084AE3",
292
+ "Arn"
293
+ ]
294
+ },
295
+ {
296
+ "Fn::Join": [
297
+ "",
298
+ [
299
+ {
300
+ "Fn::GetAtt": [
301
+ "IntegVSCodeServerSecretRetrieverOnEventHandlerDD084AE3",
302
+ "Arn"
303
+ ]
304
+ },
305
+ ":*"
306
+ ]
307
+ ]
308
+ }
309
+ ]
310
+ }
311
+ ],
312
+ "Version": "2012-10-17"
313
+ },
314
+ "policyName": "IntegVSCodeServerSecretRetrieveProviderframeworkonEventServiceRoleDefaultPolicyEC4DCEA0",
315
+ "roles": [
316
+ {
317
+ "Ref": "IntegVSCodeServerSecretRetrieveProviderframeworkonEventServiceRole0F156B64"
318
+ }
319
+ ]
320
+ }
321
+ },
322
+ "constructInfo": {
323
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
324
+ "version": "2.165.0"
325
+ }
326
+ }
327
+ },
328
+ "constructInfo": {
329
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
330
+ "version": "2.165.0"
331
+ }
332
+ }
333
+ },
334
+ "constructInfo": {
335
+ "fqn": "aws-cdk-lib.aws_iam.Role",
336
+ "version": "2.165.0"
337
+ }
338
+ },
339
+ "Code": {
340
+ "id": "Code",
341
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/Code",
342
+ "children": {
343
+ "Stage": {
344
+ "id": "Stage",
345
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/Code/Stage",
346
+ "constructInfo": {
347
+ "fqn": "aws-cdk-lib.AssetStaging",
348
+ "version": "2.165.0"
349
+ }
350
+ },
351
+ "AssetBucket": {
352
+ "id": "AssetBucket",
353
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/Code/AssetBucket",
354
+ "constructInfo": {
355
+ "fqn": "aws-cdk-lib.aws_s3.BucketBase",
356
+ "version": "2.165.0"
357
+ }
358
+ }
359
+ },
360
+ "constructInfo": {
361
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset",
362
+ "version": "2.165.0"
363
+ }
364
+ },
365
+ "Resource": {
366
+ "id": "Resource",
367
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider/framework-onEvent/Resource",
368
+ "attributes": {
369
+ "aws:cdk:cloudformation:type": "AWS::Lambda::Function",
370
+ "aws:cdk:cloudformation:props": {
371
+ "code": {
372
+ "s3Bucket": {
373
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
374
+ },
375
+ "s3Key": "4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e.zip"
376
+ },
377
+ "description": "AWS CDK resource provider framework - onEvent (IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieveProvider)",
378
+ "environment": {
379
+ "variables": {
380
+ "USER_ON_EVENT_FUNCTION_ARN": {
381
+ "Fn::GetAtt": [
382
+ "IntegVSCodeServerSecretRetrieverOnEventHandlerDD084AE3",
383
+ "Arn"
384
+ ]
385
+ }
386
+ }
387
+ },
388
+ "handler": "framework.onEvent",
389
+ "role": {
390
+ "Fn::GetAtt": [
391
+ "IntegVSCodeServerSecretRetrieveProviderframeworkonEventServiceRole0F156B64",
392
+ "Arn"
393
+ ]
394
+ },
395
+ "runtime": {
396
+ "Fn::FindInMap": [
397
+ "LatestNodeRuntimeMap",
398
+ {
399
+ "Ref": "AWS::Region"
400
+ },
401
+ "value"
402
+ ]
403
+ },
404
+ "timeout": 900
405
+ }
406
+ },
407
+ "constructInfo": {
408
+ "fqn": "aws-cdk-lib.aws_lambda.CfnFunction",
409
+ "version": "2.165.0"
410
+ }
411
+ }
412
+ },
413
+ "constructInfo": {
414
+ "fqn": "aws-cdk-lib.aws_lambda.Function",
415
+ "version": "2.165.0"
416
+ }
417
+ }
418
+ },
419
+ "constructInfo": {
420
+ "fqn": "aws-cdk-lib.custom_resources.Provider",
421
+ "version": "2.165.0"
422
+ }
423
+ },
424
+ "SecretRetrieverCustomResource": {
425
+ "id": "SecretRetrieverCustomResource",
426
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverCustomResource",
427
+ "children": {
428
+ "Default": {
429
+ "id": "Default",
430
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SecretRetrieverCustomResource/Default",
431
+ "constructInfo": {
432
+ "fqn": "aws-cdk-lib.CfnResource",
433
+ "version": "2.165.0"
434
+ }
435
+ }
436
+ },
437
+ "constructInfo": {
438
+ "fqn": "aws-cdk-lib.CustomResource",
439
+ "version": "2.165.0"
440
+ }
441
+ },
442
+ "vpc": {
443
+ "id": "vpc",
444
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc",
445
+ "children": {
446
+ "Resource": {
447
+ "id": "Resource",
448
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/Resource",
449
+ "attributes": {
450
+ "aws:cdk:cloudformation:type": "AWS::EC2::VPC",
451
+ "aws:cdk:cloudformation:props": {
452
+ "cidrBlock": "10.0.0.0/16",
453
+ "enableDnsHostnames": true,
454
+ "enableDnsSupport": true,
455
+ "instanceTenancy": "default",
456
+ "tags": [
457
+ {
458
+ "key": "Name",
459
+ "value": "IntegTestStackAl2023/IntegVSCodeServer/vpc"
460
+ }
461
+ ]
462
+ }
463
+ },
464
+ "constructInfo": {
465
+ "fqn": "aws-cdk-lib.aws_ec2.CfnVPC",
466
+ "version": "2.165.0"
467
+ }
468
+ },
469
+ "publicSubnet1": {
470
+ "id": "publicSubnet1",
471
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet1",
472
+ "children": {
473
+ "Subnet": {
474
+ "id": "Subnet",
475
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet1/Subnet",
476
+ "attributes": {
477
+ "aws:cdk:cloudformation:type": "AWS::EC2::Subnet",
478
+ "aws:cdk:cloudformation:props": {
479
+ "availabilityZone": {
480
+ "Fn::Select": [
481
+ 0,
482
+ {
483
+ "Fn::GetAZs": ""
484
+ }
485
+ ]
486
+ },
487
+ "cidrBlock": "10.0.0.0/17",
488
+ "mapPublicIpOnLaunch": true,
489
+ "tags": [
490
+ {
491
+ "key": "aws-cdk:subnet-name",
492
+ "value": "public"
493
+ },
494
+ {
495
+ "key": "aws-cdk:subnet-type",
496
+ "value": "Public"
497
+ },
498
+ {
499
+ "key": "Name",
500
+ "value": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet1"
501
+ }
502
+ ],
503
+ "vpcId": {
504
+ "Ref": "IntegVSCodeServervpc93DDE887"
505
+ }
506
+ }
507
+ },
508
+ "constructInfo": {
509
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet",
510
+ "version": "2.165.0"
511
+ }
512
+ },
513
+ "Acl": {
514
+ "id": "Acl",
515
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet1/Acl",
516
+ "constructInfo": {
517
+ "fqn": "aws-cdk-lib.Resource",
518
+ "version": "2.165.0"
519
+ }
520
+ },
521
+ "RouteTable": {
522
+ "id": "RouteTable",
523
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet1/RouteTable",
524
+ "attributes": {
525
+ "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable",
526
+ "aws:cdk:cloudformation:props": {
527
+ "tags": [
528
+ {
529
+ "key": "Name",
530
+ "value": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet1"
531
+ }
532
+ ],
533
+ "vpcId": {
534
+ "Ref": "IntegVSCodeServervpc93DDE887"
535
+ }
536
+ }
537
+ },
538
+ "constructInfo": {
539
+ "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable",
540
+ "version": "2.165.0"
541
+ }
542
+ },
543
+ "RouteTableAssociation": {
544
+ "id": "RouteTableAssociation",
545
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet1/RouteTableAssociation",
546
+ "attributes": {
547
+ "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation",
548
+ "aws:cdk:cloudformation:props": {
549
+ "routeTableId": {
550
+ "Ref": "IntegVSCodeServervpcpublicSubnet1RouteTableFD418D0B"
551
+ },
552
+ "subnetId": {
553
+ "Ref": "IntegVSCodeServervpcpublicSubnet1Subnet928029A1"
554
+ }
555
+ }
556
+ },
557
+ "constructInfo": {
558
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation",
559
+ "version": "2.165.0"
560
+ }
561
+ },
562
+ "DefaultRoute": {
563
+ "id": "DefaultRoute",
564
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet1/DefaultRoute",
565
+ "attributes": {
566
+ "aws:cdk:cloudformation:type": "AWS::EC2::Route",
567
+ "aws:cdk:cloudformation:props": {
568
+ "destinationCidrBlock": "0.0.0.0/0",
569
+ "gatewayId": {
570
+ "Ref": "IntegVSCodeServervpcIGW960F6D83"
571
+ },
572
+ "routeTableId": {
573
+ "Ref": "IntegVSCodeServervpcpublicSubnet1RouteTableFD418D0B"
574
+ }
575
+ }
576
+ },
577
+ "constructInfo": {
578
+ "fqn": "aws-cdk-lib.aws_ec2.CfnRoute",
579
+ "version": "2.165.0"
580
+ }
581
+ }
582
+ },
583
+ "constructInfo": {
584
+ "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet",
585
+ "version": "2.165.0"
586
+ }
587
+ },
588
+ "publicSubnet2": {
589
+ "id": "publicSubnet2",
590
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet2",
591
+ "children": {
592
+ "Subnet": {
593
+ "id": "Subnet",
594
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet2/Subnet",
595
+ "attributes": {
596
+ "aws:cdk:cloudformation:type": "AWS::EC2::Subnet",
597
+ "aws:cdk:cloudformation:props": {
598
+ "availabilityZone": {
599
+ "Fn::Select": [
600
+ 1,
601
+ {
602
+ "Fn::GetAZs": ""
603
+ }
604
+ ]
605
+ },
606
+ "cidrBlock": "10.0.128.0/17",
607
+ "mapPublicIpOnLaunch": true,
608
+ "tags": [
609
+ {
610
+ "key": "aws-cdk:subnet-name",
611
+ "value": "public"
612
+ },
613
+ {
614
+ "key": "aws-cdk:subnet-type",
615
+ "value": "Public"
616
+ },
617
+ {
618
+ "key": "Name",
619
+ "value": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet2"
620
+ }
621
+ ],
622
+ "vpcId": {
623
+ "Ref": "IntegVSCodeServervpc93DDE887"
624
+ }
625
+ }
626
+ },
627
+ "constructInfo": {
628
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSubnet",
629
+ "version": "2.165.0"
630
+ }
631
+ },
632
+ "Acl": {
633
+ "id": "Acl",
634
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet2/Acl",
635
+ "constructInfo": {
636
+ "fqn": "aws-cdk-lib.Resource",
637
+ "version": "2.165.0"
638
+ }
639
+ },
640
+ "RouteTable": {
641
+ "id": "RouteTable",
642
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet2/RouteTable",
643
+ "attributes": {
644
+ "aws:cdk:cloudformation:type": "AWS::EC2::RouteTable",
645
+ "aws:cdk:cloudformation:props": {
646
+ "tags": [
647
+ {
648
+ "key": "Name",
649
+ "value": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet2"
650
+ }
651
+ ],
652
+ "vpcId": {
653
+ "Ref": "IntegVSCodeServervpc93DDE887"
654
+ }
655
+ }
656
+ },
657
+ "constructInfo": {
658
+ "fqn": "aws-cdk-lib.aws_ec2.CfnRouteTable",
659
+ "version": "2.165.0"
660
+ }
661
+ },
662
+ "RouteTableAssociation": {
663
+ "id": "RouteTableAssociation",
664
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet2/RouteTableAssociation",
665
+ "attributes": {
666
+ "aws:cdk:cloudformation:type": "AWS::EC2::SubnetRouteTableAssociation",
667
+ "aws:cdk:cloudformation:props": {
668
+ "routeTableId": {
669
+ "Ref": "IntegVSCodeServervpcpublicSubnet2RouteTableC264EFB4"
670
+ },
671
+ "subnetId": {
672
+ "Ref": "IntegVSCodeServervpcpublicSubnet2SubnetE381654D"
673
+ }
674
+ }
675
+ },
676
+ "constructInfo": {
677
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSubnetRouteTableAssociation",
678
+ "version": "2.165.0"
679
+ }
680
+ },
681
+ "DefaultRoute": {
682
+ "id": "DefaultRoute",
683
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/publicSubnet2/DefaultRoute",
684
+ "attributes": {
685
+ "aws:cdk:cloudformation:type": "AWS::EC2::Route",
686
+ "aws:cdk:cloudformation:props": {
687
+ "destinationCidrBlock": "0.0.0.0/0",
688
+ "gatewayId": {
689
+ "Ref": "IntegVSCodeServervpcIGW960F6D83"
690
+ },
691
+ "routeTableId": {
692
+ "Ref": "IntegVSCodeServervpcpublicSubnet2RouteTableC264EFB4"
693
+ }
694
+ }
695
+ },
696
+ "constructInfo": {
697
+ "fqn": "aws-cdk-lib.aws_ec2.CfnRoute",
698
+ "version": "2.165.0"
699
+ }
700
+ }
701
+ },
702
+ "constructInfo": {
703
+ "fqn": "aws-cdk-lib.aws_ec2.PublicSubnet",
704
+ "version": "2.165.0"
705
+ }
706
+ },
707
+ "IGW": {
708
+ "id": "IGW",
709
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/IGW",
710
+ "attributes": {
711
+ "aws:cdk:cloudformation:type": "AWS::EC2::InternetGateway",
712
+ "aws:cdk:cloudformation:props": {
713
+ "tags": [
714
+ {
715
+ "key": "Name",
716
+ "value": "IntegTestStackAl2023/IntegVSCodeServer/vpc"
717
+ }
718
+ ]
719
+ }
720
+ },
721
+ "constructInfo": {
722
+ "fqn": "aws-cdk-lib.aws_ec2.CfnInternetGateway",
723
+ "version": "2.165.0"
724
+ }
725
+ },
726
+ "VPCGW": {
727
+ "id": "VPCGW",
728
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/VPCGW",
729
+ "attributes": {
730
+ "aws:cdk:cloudformation:type": "AWS::EC2::VPCGatewayAttachment",
731
+ "aws:cdk:cloudformation:props": {
732
+ "internetGatewayId": {
733
+ "Ref": "IntegVSCodeServervpcIGW960F6D83"
734
+ },
735
+ "vpcId": {
736
+ "Ref": "IntegVSCodeServervpc93DDE887"
737
+ }
738
+ }
739
+ },
740
+ "constructInfo": {
741
+ "fqn": "aws-cdk-lib.aws_ec2.CfnVPCGatewayAttachment",
742
+ "version": "2.165.0"
743
+ }
744
+ },
745
+ "RestrictDefaultSecurityGroupCustomResource": {
746
+ "id": "RestrictDefaultSecurityGroupCustomResource",
747
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/RestrictDefaultSecurityGroupCustomResource",
748
+ "children": {
749
+ "Default": {
750
+ "id": "Default",
751
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/vpc/RestrictDefaultSecurityGroupCustomResource/Default",
752
+ "constructInfo": {
753
+ "fqn": "aws-cdk-lib.CfnResource",
754
+ "version": "2.165.0"
755
+ }
756
+ }
757
+ },
758
+ "constructInfo": {
759
+ "fqn": "aws-cdk-lib.CustomResource",
760
+ "version": "2.165.0"
761
+ }
762
+ }
763
+ },
764
+ "constructInfo": {
765
+ "fqn": "aws-cdk-lib.aws_ec2.Vpc",
766
+ "version": "2.165.0"
767
+ }
768
+ },
769
+ "cf-to-server-sg": {
770
+ "id": "cf-to-server-sg",
771
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-to-server-sg",
772
+ "children": {
773
+ "Resource": {
774
+ "id": "Resource",
775
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-to-server-sg/Resource",
776
+ "attributes": {
777
+ "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroup",
778
+ "aws:cdk:cloudformation:props": {
779
+ "groupDescription": "SG for VSCodeServer - only allow CloudFront ingress",
780
+ "groupName": "cloudfront-to-vscode-server",
781
+ "securityGroupEgress": [
782
+ {
783
+ "cidrIp": "0.0.0.0/0",
784
+ "description": "Allow all outbound traffic by default",
785
+ "ipProtocol": "-1"
786
+ }
787
+ ],
788
+ "vpcId": {
789
+ "Ref": "IntegVSCodeServervpc93DDE887"
790
+ }
791
+ }
792
+ },
793
+ "constructInfo": {
794
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroup",
795
+ "version": "2.165.0"
796
+ }
797
+ },
798
+ "from {IndirectPeer}:80": {
799
+ "id": "from {IndirectPeer}:80",
800
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-to-server-sg/from {IndirectPeer}:80",
801
+ "attributes": {
802
+ "aws:cdk:cloudformation:type": "AWS::EC2::SecurityGroupIngress",
803
+ "aws:cdk:cloudformation:props": {
804
+ "description": "Allow HTTP from com.amazonaws.global.cloudfront.origin-facing",
805
+ "fromPort": 80,
806
+ "groupId": {
807
+ "Fn::GetAtt": [
808
+ "IntegVSCodeServercftoserversgFFE586B0",
809
+ "GroupId"
810
+ ]
811
+ },
812
+ "ipProtocol": "tcp",
813
+ "sourcePrefixListId": {
814
+ "Fn::GetAtt": [
815
+ "IntegVSCodeServercfprefixlistIdGetPrefixListIdF0821FFC",
816
+ "PrefixLists.0.PrefixListId"
817
+ ]
818
+ },
819
+ "toPort": 80
820
+ }
821
+ },
822
+ "constructInfo": {
823
+ "fqn": "aws-cdk-lib.aws_ec2.CfnSecurityGroupIngress",
824
+ "version": "2.165.0"
825
+ }
826
+ }
827
+ },
828
+ "constructInfo": {
829
+ "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup",
830
+ "version": "2.165.0"
831
+ }
832
+ },
833
+ "cf-prefixlistId": {
834
+ "id": "cf-prefixlistId",
835
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId",
836
+ "children": {
837
+ "GetPrefixListIdLogGroup": {
838
+ "id": "GetPrefixListIdLogGroup",
839
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/GetPrefixListIdLogGroup",
840
+ "children": {
841
+ "Resource": {
842
+ "id": "Resource",
843
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/GetPrefixListIdLogGroup/Resource",
844
+ "attributes": {
845
+ "aws:cdk:cloudformation:type": "AWS::Logs::LogGroup",
846
+ "aws:cdk:cloudformation:props": {
847
+ "retentionInDays": 1
848
+ }
849
+ },
850
+ "constructInfo": {
851
+ "fqn": "aws-cdk-lib.aws_logs.CfnLogGroup",
852
+ "version": "2.165.0"
853
+ }
854
+ }
855
+ },
856
+ "constructInfo": {
857
+ "fqn": "aws-cdk-lib.aws_logs.LogGroup",
858
+ "version": "2.165.0"
859
+ }
860
+ },
861
+ "GetPrefixListIdRole": {
862
+ "id": "GetPrefixListIdRole",
863
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/GetPrefixListIdRole",
864
+ "children": {
865
+ "ImportGetPrefixListIdRole": {
866
+ "id": "ImportGetPrefixListIdRole",
867
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/GetPrefixListIdRole/ImportGetPrefixListIdRole",
868
+ "constructInfo": {
869
+ "fqn": "aws-cdk-lib.Resource",
870
+ "version": "2.165.0"
871
+ }
872
+ },
873
+ "Resource": {
874
+ "id": "Resource",
875
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/GetPrefixListIdRole/Resource",
876
+ "attributes": {
877
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
878
+ "aws:cdk:cloudformation:props": {
879
+ "assumeRolePolicyDocument": {
880
+ "Statement": [
881
+ {
882
+ "Action": "sts:AssumeRole",
883
+ "Effect": "Allow",
884
+ "Principal": {
885
+ "Service": "lambda.amazonaws.com"
886
+ }
887
+ }
888
+ ],
889
+ "Version": "2012-10-17"
890
+ }
891
+ }
892
+ },
893
+ "constructInfo": {
894
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
895
+ "version": "2.165.0"
896
+ }
897
+ }
898
+ },
899
+ "constructInfo": {
900
+ "fqn": "aws-cdk-lib.aws_iam.Role",
901
+ "version": "2.165.0"
902
+ }
903
+ },
904
+ "GetPrefixListId": {
905
+ "id": "GetPrefixListId",
906
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId",
907
+ "children": {
908
+ "Provider": {
909
+ "id": "Provider",
910
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId/Provider",
911
+ "constructInfo": {
912
+ "fqn": "aws-cdk-lib.aws_lambda.SingletonFunction",
913
+ "version": "2.165.0"
914
+ }
915
+ },
916
+ "Resource": {
917
+ "id": "Resource",
918
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId/Resource",
919
+ "children": {
920
+ "Default": {
921
+ "id": "Default",
922
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId/Resource/Default",
923
+ "constructInfo": {
924
+ "fqn": "aws-cdk-lib.CfnResource",
925
+ "version": "2.165.0"
926
+ }
927
+ }
928
+ },
929
+ "constructInfo": {
930
+ "fqn": "aws-cdk-lib.CustomResource",
931
+ "version": "2.165.0"
932
+ }
933
+ },
934
+ "CustomResourcePolicy": {
935
+ "id": "CustomResourcePolicy",
936
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId/CustomResourcePolicy",
937
+ "children": {
938
+ "Resource": {
939
+ "id": "Resource",
940
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/GetPrefixListId/CustomResourcePolicy/Resource",
941
+ "attributes": {
942
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
943
+ "aws:cdk:cloudformation:props": {
944
+ "policyDocument": {
945
+ "Statement": [
946
+ {
947
+ "Action": "ec2:DescribeManagedPrefixLists",
948
+ "Effect": "Allow",
949
+ "Resource": "*"
950
+ }
951
+ ],
952
+ "Version": "2012-10-17"
953
+ },
954
+ "policyName": "IntegVSCodeServercfprefixlistIdGetPrefixListIdCustomResourcePolicyAB3F4958",
955
+ "roles": [
956
+ {
957
+ "Ref": "IntegVSCodeServercfprefixlistIdGetPrefixListIdRole1302B3E1"
958
+ }
959
+ ]
960
+ }
961
+ },
962
+ "constructInfo": {
963
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
964
+ "version": "2.165.0"
965
+ }
966
+ }
967
+ },
968
+ "constructInfo": {
969
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
970
+ "version": "2.165.0"
971
+ }
972
+ }
973
+ },
974
+ "constructInfo": {
975
+ "fqn": "aws-cdk-lib.custom_resources.AwsCustomResource",
976
+ "version": "2.165.0"
977
+ }
978
+ },
979
+ "PrefixList": {
980
+ "id": "PrefixList",
981
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-prefixlistId/PrefixList",
982
+ "constructInfo": {
983
+ "fqn": "aws-cdk-lib.Resource",
984
+ "version": "2.165.0"
985
+ }
986
+ }
987
+ },
988
+ "constructInfo": {
989
+ "fqn": "constructs.Construct",
990
+ "version": "10.0.5"
991
+ }
992
+ },
993
+ "server-instance-role": {
994
+ "id": "server-instance-role",
995
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/server-instance-role",
996
+ "children": {
997
+ "Importserver-instance-role": {
998
+ "id": "Importserver-instance-role",
999
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/server-instance-role/Importserver-instance-role",
1000
+ "constructInfo": {
1001
+ "fqn": "aws-cdk-lib.Resource",
1002
+ "version": "2.165.0"
1003
+ }
1004
+ },
1005
+ "Resource": {
1006
+ "id": "Resource",
1007
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/server-instance-role/Resource",
1008
+ "attributes": {
1009
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
1010
+ "aws:cdk:cloudformation:props": {
1011
+ "assumeRolePolicyDocument": {
1012
+ "Statement": [
1013
+ {
1014
+ "Action": "sts:AssumeRole",
1015
+ "Effect": "Allow",
1016
+ "Principal": {
1017
+ "Service": [
1018
+ "ec2.amazonaws.com",
1019
+ "ssm.amazonaws.com"
1020
+ ]
1021
+ }
1022
+ }
1023
+ ],
1024
+ "Version": "2012-10-17"
1025
+ },
1026
+ "managedPolicyArns": [
1027
+ {
1028
+ "Fn::Join": [
1029
+ "",
1030
+ [
1031
+ "arn:",
1032
+ {
1033
+ "Ref": "AWS::Partition"
1034
+ },
1035
+ ":iam::aws:policy/AmazonSSMManagedInstanceCore"
1036
+ ]
1037
+ ]
1038
+ },
1039
+ {
1040
+ "Fn::Join": [
1041
+ "",
1042
+ [
1043
+ "arn:",
1044
+ {
1045
+ "Ref": "AWS::Partition"
1046
+ },
1047
+ ":iam::aws:policy/CloudWatchAgentServerPolicy"
1048
+ ]
1049
+ ]
1050
+ },
1051
+ {
1052
+ "Fn::Join": [
1053
+ "",
1054
+ [
1055
+ "arn:",
1056
+ {
1057
+ "Ref": "AWS::Partition"
1058
+ },
1059
+ ":iam::aws:policy/AmazonQDeveloperAccess"
1060
+ ]
1061
+ ]
1062
+ },
1063
+ {
1064
+ "Fn::Join": [
1065
+ "",
1066
+ [
1067
+ "arn:",
1068
+ {
1069
+ "Ref": "AWS::Partition"
1070
+ },
1071
+ ":iam::aws:policy/ReadOnlyAccess"
1072
+ ]
1073
+ ]
1074
+ }
1075
+ ],
1076
+ "policies": [
1077
+ {
1078
+ "policyName": "VSCodeInstanceInlinePolicy",
1079
+ "policyDocument": {
1080
+ "Statement": [
1081
+ {
1082
+ "Action": [
1083
+ "iam:AddRoleToInstanceProfile",
1084
+ "iam:AttachRolePolicy",
1085
+ "iam:CreateRole",
1086
+ "iam:CreateServiceLinkedRole",
1087
+ "iam:DeleteRole",
1088
+ "iam:DeleteRolePermissionsBoundary",
1089
+ "iam:DeleteRolePolicy",
1090
+ "iam:DeleteServiceLinkedRole",
1091
+ "iam:DetachRolePolicy",
1092
+ "iam:GetRole",
1093
+ "iam:GetRolePolicy",
1094
+ "iam:GetServiceLinkedRoleDeletionStatus",
1095
+ "iam:ListAttachedRolePolicies",
1096
+ "iam:ListInstanceProfilesForRole",
1097
+ "iam:ListRolePolicies",
1098
+ "iam:ListRoleTags",
1099
+ "iam:ListRoles",
1100
+ "iam:PutRolePermissionsBoundary",
1101
+ "iam:PutRolePolicy",
1102
+ "iam:RemoveRoleFromInstanceProfile",
1103
+ "iam:TagRole",
1104
+ "iam:UntagRole",
1105
+ "iam:UpdateAssumeRolePolicy",
1106
+ "iam:UpdateRole",
1107
+ "iam:UpdateRoleDescription",
1108
+ "sts:AssumeRole"
1109
+ ],
1110
+ "Effect": "Allow",
1111
+ "Resource": {
1112
+ "Fn::Join": [
1113
+ "",
1114
+ [
1115
+ "arn:aws:iam::",
1116
+ {
1117
+ "Ref": "AWS::AccountId"
1118
+ },
1119
+ ":role/cdk-*"
1120
+ ]
1121
+ ]
1122
+ },
1123
+ "Sid": "StsAccess"
1124
+ },
1125
+ {
1126
+ "Action": "iam:PassRole",
1127
+ "Condition": {
1128
+ "StringLike": {
1129
+ "iam:PassedToService": "cloudformation.amazonaws.com"
1130
+ }
1131
+ },
1132
+ "Effect": "Allow",
1133
+ "Resource": {
1134
+ "Fn::Join": [
1135
+ "",
1136
+ [
1137
+ "arn:aws:iam::",
1138
+ {
1139
+ "Ref": "AWS::AccountId"
1140
+ },
1141
+ ":role/cdk-*"
1142
+ ]
1143
+ ]
1144
+ }
1145
+ },
1146
+ {
1147
+ "Action": "cloudformation:*",
1148
+ "Effect": "Allow",
1149
+ "Resource": {
1150
+ "Fn::Join": [
1151
+ "",
1152
+ [
1153
+ "arn:aws:cloudformation:*:",
1154
+ {
1155
+ "Ref": "AWS::AccountId"
1156
+ },
1157
+ ":stack/CDKToolkit/*"
1158
+ ]
1159
+ ]
1160
+ }
1161
+ },
1162
+ {
1163
+ "Action": [
1164
+ "cloudformation:CreateChangeSet",
1165
+ "cloudformation:DeleteChangeSet",
1166
+ "cloudformation:ExecuteChangeSet",
1167
+ "ec2:DescribeInstances",
1168
+ "ec2:DescribeVolumesModifications*",
1169
+ "ec2:ModifyVolume"
1170
+ ],
1171
+ "Effect": "Allow",
1172
+ "Resource": "*"
1173
+ },
1174
+ {
1175
+ "Action": "s3:*",
1176
+ "Effect": "Allow",
1177
+ "Resource": "*",
1178
+ "Sid": "S3Access"
1179
+ },
1180
+ {
1181
+ "Action": [
1182
+ "ecr:CreateRepository",
1183
+ "ecr:DeleteRepository",
1184
+ "ecr:DescribeRepositories",
1185
+ "ecr:GetLifecyclePolicy",
1186
+ "ecr:PutImageScanningConfiguration",
1187
+ "ecr:PutLifecyclePolicy",
1188
+ "ecr:SetRepositoryPolicy"
1189
+ ],
1190
+ "Effect": "Allow",
1191
+ "Resource": {
1192
+ "Fn::Join": [
1193
+ "",
1194
+ [
1195
+ "arn:aws:ecr:*:",
1196
+ {
1197
+ "Ref": "AWS::AccountId"
1198
+ },
1199
+ ":repository/cdk-*"
1200
+ ]
1201
+ ]
1202
+ },
1203
+ "Sid": "ECRAccess"
1204
+ },
1205
+ {
1206
+ "Action": [
1207
+ "ssm:DeleteParameter*",
1208
+ "ssm:GetParameter*",
1209
+ "ssm:PutParameter*"
1210
+ ],
1211
+ "Effect": "Allow",
1212
+ "Resource": {
1213
+ "Fn::Join": [
1214
+ "",
1215
+ [
1216
+ "arn:aws:ssm:*:",
1217
+ {
1218
+ "Ref": "AWS::AccountId"
1219
+ },
1220
+ ":parameter/cdk-bootstrap/*"
1221
+ ]
1222
+ ]
1223
+ }
1224
+ },
1225
+ {
1226
+ "Action": [
1227
+ "codepipeline:DisableStageTransition",
1228
+ "codepipeline:EnableStageTransition",
1229
+ "codepipeline:StartPipelineExecution",
1230
+ "codepipeline:StopPipelineExecution",
1231
+ "codepipeline:UpdatePipeline"
1232
+ ],
1233
+ "Effect": "Allow",
1234
+ "Resource": {
1235
+ "Fn::Join": [
1236
+ "",
1237
+ [
1238
+ "arn:aws:codepipeline:*:",
1239
+ {
1240
+ "Ref": "AWS::AccountId"
1241
+ },
1242
+ ":*/*"
1243
+ ]
1244
+ ]
1245
+ }
1246
+ },
1247
+ {
1248
+ "Action": "kms:Decrypt",
1249
+ "Effect": "Allow",
1250
+ "Resource": {
1251
+ "Fn::Join": [
1252
+ "",
1253
+ [
1254
+ "arn:aws:kms:*:",
1255
+ {
1256
+ "Ref": "AWS::AccountId"
1257
+ },
1258
+ ":key/*"
1259
+ ]
1260
+ ]
1261
+ }
1262
+ }
1263
+ ],
1264
+ "Version": "2012-10-17"
1265
+ }
1266
+ }
1267
+ ]
1268
+ }
1269
+ },
1270
+ "constructInfo": {
1271
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
1272
+ "version": "2.165.0"
1273
+ }
1274
+ }
1275
+ },
1276
+ "constructInfo": {
1277
+ "fqn": "aws-cdk-lib.aws_iam.Role",
1278
+ "version": "2.165.0"
1279
+ }
1280
+ },
1281
+ "server-instance": {
1282
+ "id": "server-instance",
1283
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/server-instance",
1284
+ "children": {
1285
+ "InstanceProfile": {
1286
+ "id": "InstanceProfile",
1287
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/server-instance/InstanceProfile",
1288
+ "attributes": {
1289
+ "aws:cdk:cloudformation:type": "AWS::IAM::InstanceProfile",
1290
+ "aws:cdk:cloudformation:props": {
1291
+ "roles": [
1292
+ {
1293
+ "Ref": "IntegVSCodeServerserverinstancerole7745B5BB"
1294
+ }
1295
+ ]
1296
+ }
1297
+ },
1298
+ "constructInfo": {
1299
+ "fqn": "aws-cdk-lib.aws_iam.CfnInstanceProfile",
1300
+ "version": "2.165.0"
1301
+ }
1302
+ },
1303
+ "Resource": {
1304
+ "id": "Resource",
1305
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/server-instance/Resource",
1306
+ "attributes": {
1307
+ "aws:cdk:cloudformation:type": "AWS::EC2::Instance",
1308
+ "aws:cdk:cloudformation:props": {
1309
+ "availabilityZone": {
1310
+ "Fn::Select": [
1311
+ 0,
1312
+ {
1313
+ "Fn::GetAZs": ""
1314
+ }
1315
+ ]
1316
+ },
1317
+ "blockDeviceMappings": [
1318
+ {
1319
+ "deviceName": "/dev/sda1",
1320
+ "ebs": {
1321
+ "encrypted": true,
1322
+ "deleteOnTermination": true,
1323
+ "volumeSize": 20,
1324
+ "volumeType": "gp3"
1325
+ }
1326
+ }
1327
+ ],
1328
+ "iamInstanceProfile": {
1329
+ "Ref": "IntegVSCodeServerserverinstanceInstanceProfile6130979E"
1330
+ },
1331
+ "imageId": {
1332
+ "Ref": "SsmParameterValueawsserviceamiamazonlinuxlatestal2023amikerneldefaultarm64C96584B6F00A464EAD1953AFF4B05118Parameter"
1333
+ },
1334
+ "instanceType": "m7g.xlarge",
1335
+ "launchTemplate": {
1336
+ "launchTemplateName": "IntegTestStackAl2023IntegVSCodeServerserverinstanceLaunchTemplate52F35056",
1337
+ "version": {
1338
+ "Fn::GetAtt": [
1339
+ "IntegVSCodeServerserverinstanceLaunchTemplate43932ED3",
1340
+ "LatestVersionNumber"
1341
+ ]
1342
+ }
1343
+ },
1344
+ "monitoring": true,
1345
+ "networkInterfaces": [
1346
+ {
1347
+ "deviceIndex": "0",
1348
+ "associatePublicIpAddress": true,
1349
+ "subnetId": {
1350
+ "Ref": "IntegVSCodeServervpcpublicSubnet1Subnet928029A1"
1351
+ },
1352
+ "groupSet": [
1353
+ {
1354
+ "Fn::GetAtt": [
1355
+ "IntegVSCodeServercftoserversgFFE586B0",
1356
+ "GroupId"
1357
+ ]
1358
+ }
1359
+ ]
1360
+ }
1361
+ ],
1362
+ "tags": [
1363
+ {
1364
+ "key": "Name",
1365
+ "value": "VSCodeServer"
1366
+ }
1367
+ ],
1368
+ "userData": {
1369
+ "Fn::Base64": "\n #cloud-config\n hostname: VSCodeServer\n runcmd:\n - mkdir -p /Workshop && chown -R participant:participant /Workshop\n "
1370
+ }
1371
+ }
1372
+ },
1373
+ "constructInfo": {
1374
+ "fqn": "aws-cdk-lib.aws_ec2.CfnInstance",
1375
+ "version": "2.165.0"
1376
+ }
1377
+ },
1378
+ "LaunchTemplate": {
1379
+ "id": "LaunchTemplate",
1380
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/server-instance/LaunchTemplate",
1381
+ "attributes": {
1382
+ "aws:cdk:cloudformation:type": "AWS::EC2::LaunchTemplate",
1383
+ "aws:cdk:cloudformation:props": {
1384
+ "launchTemplateData": {
1385
+ "metadataOptions": {
1386
+ "httpTokens": "required"
1387
+ }
1388
+ },
1389
+ "launchTemplateName": "IntegTestStackAl2023IntegVSCodeServerserverinstanceLaunchTemplate52F35056"
1390
+ }
1391
+ },
1392
+ "constructInfo": {
1393
+ "fqn": "aws-cdk-lib.aws_ec2.CfnLaunchTemplate",
1394
+ "version": "2.165.0"
1395
+ }
1396
+ }
1397
+ },
1398
+ "constructInfo": {
1399
+ "fqn": "aws-cdk-lib.aws_ec2.Instance",
1400
+ "version": "2.165.0"
1401
+ }
1402
+ },
1403
+ "cf-cache-policy": {
1404
+ "id": "cf-cache-policy",
1405
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-cache-policy",
1406
+ "children": {
1407
+ "Resource": {
1408
+ "id": "Resource",
1409
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-cache-policy/Resource",
1410
+ "attributes": {
1411
+ "aws:cdk:cloudformation:type": "AWS::CloudFront::CachePolicy",
1412
+ "aws:cdk:cloudformation:props": {
1413
+ "cachePolicyConfig": {
1414
+ "name": "cf-cache-policy-vscodeserver-IntegTestStackAl2023",
1415
+ "comment": "Cache policy for VSCodeServer",
1416
+ "minTtl": 1,
1417
+ "maxTtl": 31536000,
1418
+ "defaultTtl": 86400,
1419
+ "parametersInCacheKeyAndForwardedToOrigin": {
1420
+ "cookiesConfig": {
1421
+ "cookieBehavior": "all"
1422
+ },
1423
+ "headersConfig": {
1424
+ "headerBehavior": "whitelist",
1425
+ "headers": [
1426
+ "Accept-Charset",
1427
+ "Authorization",
1428
+ "Origin",
1429
+ "Accept",
1430
+ "Referer",
1431
+ "Host",
1432
+ "Accept-Language",
1433
+ "Accept-Encoding",
1434
+ "Accept-Datetime"
1435
+ ]
1436
+ },
1437
+ "enableAcceptEncodingGzip": false,
1438
+ "enableAcceptEncodingBrotli": false,
1439
+ "queryStringsConfig": {
1440
+ "queryStringBehavior": "all"
1441
+ }
1442
+ }
1443
+ }
1444
+ }
1445
+ },
1446
+ "constructInfo": {
1447
+ "fqn": "aws-cdk-lib.aws_cloudfront.CfnCachePolicy",
1448
+ "version": "2.165.0"
1449
+ }
1450
+ }
1451
+ },
1452
+ "constructInfo": {
1453
+ "fqn": "aws-cdk-lib.aws_cloudfront.CachePolicy",
1454
+ "version": "2.165.0"
1455
+ }
1456
+ },
1457
+ "cf-distribution": {
1458
+ "id": "cf-distribution",
1459
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-distribution",
1460
+ "children": {
1461
+ "Origin1": {
1462
+ "id": "Origin1",
1463
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-distribution/Origin1",
1464
+ "constructInfo": {
1465
+ "fqn": "constructs.Construct",
1466
+ "version": "10.0.5"
1467
+ }
1468
+ },
1469
+ "Resource": {
1470
+ "id": "Resource",
1471
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/cf-distribution/Resource",
1472
+ "attributes": {
1473
+ "aws:cdk:cloudformation:type": "AWS::CloudFront::Distribution",
1474
+ "aws:cdk:cloudformation:props": {
1475
+ "distributionConfig": {
1476
+ "enabled": true,
1477
+ "origins": [
1478
+ {
1479
+ "domainName": {
1480
+ "Fn::GetAtt": [
1481
+ "IntegVSCodeServerserverinstance0A3D62D7",
1482
+ "PublicDnsName"
1483
+ ]
1484
+ },
1485
+ "id": "Cloudfront-IntegTestStackAl2023-IntegTestStackAl2023",
1486
+ "customOriginConfig": {
1487
+ "originSslProtocols": [
1488
+ "TLSv1.2"
1489
+ ],
1490
+ "originProtocolPolicy": "http-only"
1491
+ }
1492
+ }
1493
+ ],
1494
+ "defaultCacheBehavior": {
1495
+ "pathPattern": "*",
1496
+ "targetOriginId": "Cloudfront-IntegTestStackAl2023-IntegTestStackAl2023",
1497
+ "allowedMethods": [
1498
+ "GET",
1499
+ "HEAD",
1500
+ "OPTIONS",
1501
+ "PUT",
1502
+ "PATCH",
1503
+ "POST",
1504
+ "DELETE"
1505
+ ],
1506
+ "cachePolicyId": {
1507
+ "Ref": "IntegVSCodeServercfcachepolicy8F5F1F69"
1508
+ },
1509
+ "compress": true,
1510
+ "originRequestPolicyId": "216adef6-5c7f-47e4-b989-5492eafa07d3",
1511
+ "viewerProtocolPolicy": "allow-all"
1512
+ },
1513
+ "cacheBehaviors": [
1514
+ {
1515
+ "pathPattern": "/proxy/*",
1516
+ "targetOriginId": "Cloudfront-IntegTestStackAl2023-IntegTestStackAl2023",
1517
+ "allowedMethods": [
1518
+ "GET",
1519
+ "HEAD",
1520
+ "OPTIONS",
1521
+ "PUT",
1522
+ "PATCH",
1523
+ "POST",
1524
+ "DELETE"
1525
+ ],
1526
+ "cachePolicyId": "4135ea2d-6df8-44a3-9df3-4b5a84be39ad",
1527
+ "compress": false,
1528
+ "originRequestPolicyId": "216adef6-5c7f-47e4-b989-5492eafa07d3",
1529
+ "viewerProtocolPolicy": "allow-all"
1530
+ }
1531
+ ],
1532
+ "comment": "Distribution for VSCodeServer",
1533
+ "httpVersion": "http2and3",
1534
+ "ipv6Enabled": true,
1535
+ "priceClass": "PriceClass_All"
1536
+ }
1537
+ }
1538
+ },
1539
+ "constructInfo": {
1540
+ "fqn": "aws-cdk-lib.aws_cloudfront.CfnDistribution",
1541
+ "version": "2.165.0"
1542
+ }
1543
+ }
1544
+ },
1545
+ "constructInfo": {
1546
+ "fqn": "aws-cdk-lib.aws_cloudfront.Distribution",
1547
+ "version": "2.165.0"
1548
+ }
1549
+ },
1550
+ "ssm-document-al2023": {
1551
+ "id": "ssm-document-al2023",
1552
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/ssm-document-al2023",
1553
+ "attributes": {
1554
+ "aws:cdk:cloudformation:type": "AWS::SSM::Document",
1555
+ "aws:cdk:cloudformation:props": {
1556
+ "content": {
1557
+ "schemaVersion": "2.2",
1558
+ "description": "Bootstrap VSCode code-server instance",
1559
+ "parameters": {
1560
+ "VSCodePassword": {
1561
+ "type": "String",
1562
+ "default": {
1563
+ "Ref": "AWS::StackId"
1564
+ }
1565
+ },
1566
+ "NodeVersion": {
1567
+ "type": "String",
1568
+ "default": "20",
1569
+ "allowedValues": [
1570
+ "22",
1571
+ "20",
1572
+ "18"
1573
+ ]
1574
+ },
1575
+ "DotNetVersion": {
1576
+ "type": "String",
1577
+ "default": "8.0",
1578
+ "allowedValues": [
1579
+ "8.0",
1580
+ "7.0"
1581
+ ]
1582
+ }
1583
+ },
1584
+ "mainSteps": [
1585
+ {
1586
+ "action": "aws:configurePackage",
1587
+ "name": "InstallCloudWatchAgent",
1588
+ "inputs": {
1589
+ "name": "AmazonCloudWatchAgent",
1590
+ "action": "Install"
1591
+ }
1592
+ },
1593
+ {
1594
+ "action": "aws:runDocument",
1595
+ "name": "ConfigureCloudWatchAgent",
1596
+ "inputs": {
1597
+ "documentType": "SSMDocument",
1598
+ "documentPath": "AmazonCloudWatch-ManageAgent",
1599
+ "documentParameters": {
1600
+ "action": "configure",
1601
+ "mode": "ec2",
1602
+ "optionalConfigurationSource": "default",
1603
+ "optionalRestart": "yes"
1604
+ }
1605
+ }
1606
+ },
1607
+ {
1608
+ "action": "aws:runShellScript",
1609
+ "name": "InstallBasePackagesDnf",
1610
+ "inputs": {
1611
+ "runCommand": [
1612
+ "#!/bin/bash",
1613
+ "dnf install -y --allowerasing whois argon2 unzip nginx curl gnupg openssl"
1614
+ ]
1615
+ }
1616
+ },
1617
+ {
1618
+ "action": "aws:runShellScript",
1619
+ "name": "AddUserDnf",
1620
+ "inputs": {
1621
+ "runCommand": [
1622
+ "#!/bin/bash",
1623
+ "echo 'Adding user: participant'",
1624
+ "adduser -c '' participant",
1625
+ "passwd -l participant",
1626
+ "echo \"participant:{{ VSCodePassword }}\" | chpasswd",
1627
+ "usermod -aG wheel participant",
1628
+ "echo \"User added. Checking configuration\"",
1629
+ "getent passwd participant"
1630
+ ]
1631
+ }
1632
+ },
1633
+ {
1634
+ "action": "aws:runShellScript",
1635
+ "name": "InstallNodeDnf",
1636
+ "inputs": {
1637
+ "runCommand": [
1638
+ "#!/bin/bash",
1639
+ "dnf install -y nodejs20 npm",
1640
+ "ln -s -f /usr/bin/node-20 /usr/bin/node",
1641
+ "npm install -g npm@latest",
1642
+ "echo \"Node and npm installed. Checking configuration\"",
1643
+ "node -v",
1644
+ "npm -v"
1645
+ ]
1646
+ }
1647
+ },
1648
+ {
1649
+ "action": "aws:runShellScript",
1650
+ "name": "InstallDockerDnf",
1651
+ "inputs": {
1652
+ "runCommand": [
1653
+ "#!/bin/bash",
1654
+ "dnf install -y docker",
1655
+ "usermod -aG docker participant",
1656
+ "systemctl restart code-server@participant.service",
1657
+ "systemctl start docker.service",
1658
+ "echo \"Docker installed. Checking configuration\"",
1659
+ "docker --version",
1660
+ "systemctl status docker.service"
1661
+ ]
1662
+ }
1663
+ },
1664
+ {
1665
+ "action": "aws:runShellScript",
1666
+ "name": "InstallGitDnf",
1667
+ "inputs": {
1668
+ "runCommand": [
1669
+ "#!/bin/bash",
1670
+ "dnf install -y git",
1671
+ "sudo -u participant git config --global user.email \"participant@example.com\"",
1672
+ "sudo -u participant git config --global user.name \"Workshop participant\"",
1673
+ "sudo -u participant git config --global init.defaultBranch \"main\"",
1674
+ "echo \"Git installed. Checking configuration\"",
1675
+ "git --version"
1676
+ ]
1677
+ }
1678
+ },
1679
+ {
1680
+ "action": "aws:runShellScript",
1681
+ "name": "InstallPythonDnf",
1682
+ "inputs": {
1683
+ "runCommand": [
1684
+ "#!/bin/bash",
1685
+ "dnf install -y python3.11 python3.11-pip python3-virtualenv python3-pytest python3-boto3",
1686
+ "echo 'alias pytest=pytest-3' >> /home/participant/.bashrc",
1687
+ "echo 'alias python3=python3.11' >> /home/participant/.bashrc",
1688
+ "echo 'alias pip3=pip3.11' >> /home/participant/.bashrc",
1689
+ "echo 'alias=python3=python3.11' >> ~/.bashrc",
1690
+ "echo 'alias pip3=pip3.11' >> ~/.bashrc",
1691
+ "python3.11 -m pip install --upgrade pip 2>&1",
1692
+ "echo \"Python and Pip installed. Checking configuration\"",
1693
+ "python3.11 --version",
1694
+ "python3.11 -m pip --version 2>&1"
1695
+ ]
1696
+ }
1697
+ },
1698
+ {
1699
+ "action": "aws:runShellScript",
1700
+ "name": "InstallAWSCLI",
1701
+ "inputs": {
1702
+ "runCommand": [
1703
+ "#!/bin/bash",
1704
+ "curl -fsSL https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip -o /tmp/aws-cli.zip",
1705
+ "unzip -q -d /tmp /tmp/aws-cli.zip",
1706
+ "sudo /tmp/aws/install",
1707
+ "rm -rf /tmp/aws",
1708
+ "echo \"AWS CLI installed. Checking configuration\"",
1709
+ "aws --version"
1710
+ ]
1711
+ }
1712
+ },
1713
+ {
1714
+ "action": "aws:runShellScript",
1715
+ "name": "ConfigureCodeServer",
1716
+ "inputs": {
1717
+ "runCommand": [
1718
+ "#!/bin/bash",
1719
+ "export HOME=/home/participant",
1720
+ "curl -fsSL https://code-server.dev/install.sh | bash -s -- 2>&1",
1721
+ "systemctl enable --now code-server@participant 2>&1",
1722
+ "tee /etc/nginx/conf.d/code-server.conf <<EOF\nserver {\n listen 80;\n listen [::]:80;\n # server_name distribution.distributionDomainName;\n server_name *.cloudfront.net;\n location / {\n proxy_pass http://localhost:8080/;\n proxy_set_header Host \\$host;\n proxy_set_header Upgrade \\$http_upgrade;\n proxy_set_header Connection upgrade;\n proxy_set_header Accept-Encoding gzip;\n }\n location /app {\n proxy_pass http://localhost:8081/app;\n proxy_set_header Host \\$host;\n proxy_set_header Upgrade \\$http_upgrade;\n proxy_set_header Connection upgrade;\n proxy_set_header Accept-Encoding gzip;\n }\n}\nEOF",
1723
+ "mkdir -p /home/participant/.config/code-server",
1724
+ "tee /home/participant/.config/code-server/config.yaml <<EOF\ncert: false\nauth: password\nhashed-password: \"$(echo -n {{ VSCodePassword }} | argon2 $(openssl rand -base64 12) -e)\"\nEOF",
1725
+ "mkdir -p /home/participant/.local/share/code-server/User/",
1726
+ "touch /home/participant/.hushlogin",
1727
+ "mkdir -p /Workshop && chown -R participant:participant /Workshop",
1728
+ "tee /home/participant/.local/share/code-server/User/settings.json <<EOF\n{\n \"extensions.autoUpdate\": false,\n \"extensions.autoCheckUpdates\": false,\n \"telemetry.telemetryLevel\": \"off\",\n \"security.workspace.trust.startupPrompt\": \"never\",\n \"security.workspace.trust.enabled\": false,\n \"security.workspace.trust.banner\": \"never\",\n \"security.workspace.trust.emptyWindow\": false,\n \"python.testing.pytestEnabled\": true,\n \"auto-run-command.rules\": [\n {\n \"command\": \"workbench.action.terminal.new\"\n }\n ]\n}\nEOF",
1729
+ "chown -R participant:participant /home/participant",
1730
+ "systemctl restart code-server@participant",
1731
+ "systemctl restart nginx",
1732
+ "sudo -u participant --login code-server --install-extension AmazonWebServices.aws-toolkit-vscode --force",
1733
+ "sudo -u participant --login code-server --install-extension AmazonWebServices.amazon-q-vscode --force",
1734
+ "sudo -u participant --login code-server --install-extension synedra.auto-run-command --force",
1735
+ "sudo -u participant --login code-server --install-extension vscjava.vscode-java-pack --force",
1736
+ "sudo -u participant --login code-server --install-extension ms-vscode.live-server --force",
1737
+ "chown -R participant:participant /home/participant",
1738
+ "echo \"Nginx installed. Checking configuration\"",
1739
+ "nginx -t 2>&1",
1740
+ "systemctl status nginx",
1741
+ "echo \"CodeServer installed. Checking configuration\"",
1742
+ "code-server -v",
1743
+ "systemctl status code-server@participant"
1744
+ ]
1745
+ }
1746
+ },
1747
+ {
1748
+ "action": "aws:runShellScript",
1749
+ "name": "UpdateProfile",
1750
+ "inputs": {
1751
+ "runCommand": [
1752
+ "#!/bin/bash",
1753
+ "echo LANG=en_US.utf-8 >> /etc/environment",
1754
+ "echo LC_ALL=en_US.UTF-8 >> /etc/environment",
1755
+ "echo 'PATH=$PATH:/home/participant/.local/bin' >> /home/participant/.bashrc",
1756
+ "echo 'export PATH' >> /home/participant/.bashrc",
1757
+ {
1758
+ "Fn::Join": [
1759
+ "",
1760
+ [
1761
+ "echo 'export AWS_REGION=",
1762
+ {
1763
+ "Ref": "AWS::Region"
1764
+ },
1765
+ "' >> /home/participant/.bashrc"
1766
+ ]
1767
+ ]
1768
+ },
1769
+ {
1770
+ "Fn::Join": [
1771
+ "",
1772
+ [
1773
+ "echo 'export AWS_ACCOUNTID=",
1774
+ {
1775
+ "Ref": "AWS::AccountId"
1776
+ },
1777
+ "' >> /home/participant/.bashrc"
1778
+ ]
1779
+ ]
1780
+ },
1781
+ "echo 'export NEXT_TELEMETRY_DISABLED=1' >> /home/participant/.bashrc",
1782
+ "echo \"export PS1='\\[\\033[01;32m\\]\\u:\\[\\033[01;34m\\]\\w\\[\\033[00m\\]\\$ '\" >> /home/participant/.bashrc",
1783
+ "chown -R participant:participant /home/participant"
1784
+ ]
1785
+ }
1786
+ },
1787
+ {
1788
+ "action": "aws:runShellScript",
1789
+ "name": "InstallCDK",
1790
+ "inputs": {
1791
+ "runCommand": [
1792
+ "#!/bin/bash",
1793
+ "npm install -g aws-cdk",
1794
+ "echo \"AWS CDK installed. Checking configuration\"",
1795
+ "cdk --version"
1796
+ ]
1797
+ }
1798
+ }
1799
+ ]
1800
+ },
1801
+ "documentType": "Command",
1802
+ "name": "vscode-server-al2023-IntegTestStackAl2023"
1803
+ }
1804
+ },
1805
+ "constructInfo": {
1806
+ "fqn": "aws-cdk-lib.aws_ssm.CfnDocument",
1807
+ "version": "2.165.0"
1808
+ }
1809
+ },
1810
+ "InstallerOnEventHandler": {
1811
+ "id": "InstallerOnEventHandler",
1812
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerOnEventHandler",
1813
+ "children": {
1814
+ "ServiceRole": {
1815
+ "id": "ServiceRole",
1816
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerOnEventHandler/ServiceRole",
1817
+ "children": {
1818
+ "ImportServiceRole": {
1819
+ "id": "ImportServiceRole",
1820
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerOnEventHandler/ServiceRole/ImportServiceRole",
1821
+ "constructInfo": {
1822
+ "fqn": "aws-cdk-lib.Resource",
1823
+ "version": "2.165.0"
1824
+ }
1825
+ },
1826
+ "Resource": {
1827
+ "id": "Resource",
1828
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerOnEventHandler/ServiceRole/Resource",
1829
+ "attributes": {
1830
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
1831
+ "aws:cdk:cloudformation:props": {
1832
+ "assumeRolePolicyDocument": {
1833
+ "Statement": [
1834
+ {
1835
+ "Action": "sts:AssumeRole",
1836
+ "Effect": "Allow",
1837
+ "Principal": {
1838
+ "Service": "lambda.amazonaws.com"
1839
+ }
1840
+ }
1841
+ ],
1842
+ "Version": "2012-10-17"
1843
+ },
1844
+ "managedPolicyArns": [
1845
+ {
1846
+ "Fn::Join": [
1847
+ "",
1848
+ [
1849
+ "arn:",
1850
+ {
1851
+ "Ref": "AWS::Partition"
1852
+ },
1853
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
1854
+ ]
1855
+ ]
1856
+ }
1857
+ ]
1858
+ }
1859
+ },
1860
+ "constructInfo": {
1861
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
1862
+ "version": "2.165.0"
1863
+ }
1864
+ },
1865
+ "DefaultPolicy": {
1866
+ "id": "DefaultPolicy",
1867
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerOnEventHandler/ServiceRole/DefaultPolicy",
1868
+ "children": {
1869
+ "Resource": {
1870
+ "id": "Resource",
1871
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerOnEventHandler/ServiceRole/DefaultPolicy/Resource",
1872
+ "attributes": {
1873
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
1874
+ "aws:cdk:cloudformation:props": {
1875
+ "policyDocument": {
1876
+ "Statement": [
1877
+ {
1878
+ "Action": "ssm:SendCommand",
1879
+ "Effect": "Allow",
1880
+ "Resource": [
1881
+ {
1882
+ "Fn::Join": [
1883
+ "",
1884
+ [
1885
+ "arn:",
1886
+ {
1887
+ "Ref": "AWS::Partition"
1888
+ },
1889
+ ":ec2:",
1890
+ {
1891
+ "Ref": "AWS::Region"
1892
+ },
1893
+ ":",
1894
+ {
1895
+ "Ref": "AWS::AccountId"
1896
+ },
1897
+ ":instance/",
1898
+ {
1899
+ "Ref": "IntegVSCodeServerserverinstance0A3D62D7"
1900
+ }
1901
+ ]
1902
+ ]
1903
+ },
1904
+ {
1905
+ "Fn::Join": [
1906
+ "",
1907
+ [
1908
+ "arn:",
1909
+ {
1910
+ "Ref": "AWS::Partition"
1911
+ },
1912
+ ":ssm:",
1913
+ {
1914
+ "Ref": "AWS::Region"
1915
+ },
1916
+ ":",
1917
+ {
1918
+ "Ref": "AWS::AccountId"
1919
+ },
1920
+ ":document/AmazonCloudWatch-ManageAgent"
1921
+ ]
1922
+ ]
1923
+ },
1924
+ {
1925
+ "Fn::Join": [
1926
+ "",
1927
+ [
1928
+ "arn:",
1929
+ {
1930
+ "Ref": "AWS::Partition"
1931
+ },
1932
+ ":ssm:",
1933
+ {
1934
+ "Ref": "AWS::Region"
1935
+ },
1936
+ ":",
1937
+ {
1938
+ "Ref": "AWS::AccountId"
1939
+ },
1940
+ ":document/vscode-server-al2023-IntegTestStackAl2023"
1941
+ ]
1942
+ ]
1943
+ }
1944
+ ]
1945
+ }
1946
+ ],
1947
+ "Version": "2012-10-17"
1948
+ },
1949
+ "policyName": "IntegVSCodeServerInstallerOnEventHandlerServiceRoleDefaultPolicy1CAD86C2",
1950
+ "roles": [
1951
+ {
1952
+ "Ref": "IntegVSCodeServerInstallerOnEventHandlerServiceRole59651FEF"
1953
+ }
1954
+ ]
1955
+ }
1956
+ },
1957
+ "constructInfo": {
1958
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
1959
+ "version": "2.165.0"
1960
+ }
1961
+ }
1962
+ },
1963
+ "constructInfo": {
1964
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
1965
+ "version": "2.165.0"
1966
+ }
1967
+ }
1968
+ },
1969
+ "constructInfo": {
1970
+ "fqn": "aws-cdk-lib.aws_iam.Role",
1971
+ "version": "2.165.0"
1972
+ }
1973
+ },
1974
+ "Code": {
1975
+ "id": "Code",
1976
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerOnEventHandler/Code",
1977
+ "children": {
1978
+ "Stage": {
1979
+ "id": "Stage",
1980
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerOnEventHandler/Code/Stage",
1981
+ "constructInfo": {
1982
+ "fqn": "aws-cdk-lib.AssetStaging",
1983
+ "version": "2.165.0"
1984
+ }
1985
+ },
1986
+ "AssetBucket": {
1987
+ "id": "AssetBucket",
1988
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerOnEventHandler/Code/AssetBucket",
1989
+ "constructInfo": {
1990
+ "fqn": "aws-cdk-lib.aws_s3.BucketBase",
1991
+ "version": "2.165.0"
1992
+ }
1993
+ }
1994
+ },
1995
+ "constructInfo": {
1996
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset",
1997
+ "version": "2.165.0"
1998
+ }
1999
+ },
2000
+ "Resource": {
2001
+ "id": "Resource",
2002
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerOnEventHandler/Resource",
2003
+ "attributes": {
2004
+ "aws:cdk:cloudformation:type": "AWS::Lambda::Function",
2005
+ "aws:cdk:cloudformation:props": {
2006
+ "code": {
2007
+ "s3Bucket": {
2008
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
2009
+ },
2010
+ "s3Key": "512cf155ada4793b37a885c1aa6d9bb8f534e88bac6f63c69672d4d73df2decf.zip"
2011
+ },
2012
+ "description": "src/installer/installer.lambda.ts",
2013
+ "environment": {
2014
+ "variables": {
2015
+ "AWS_NODEJS_CONNECTION_REUSE_ENABLED": "1"
2016
+ }
2017
+ },
2018
+ "handler": "index.handler",
2019
+ "memorySize": 512,
2020
+ "role": {
2021
+ "Fn::GetAtt": [
2022
+ "IntegVSCodeServerInstallerOnEventHandlerServiceRole59651FEF",
2023
+ "Arn"
2024
+ ]
2025
+ },
2026
+ "runtime": "nodejs18.x",
2027
+ "timeout": 300
2028
+ }
2029
+ },
2030
+ "constructInfo": {
2031
+ "fqn": "aws-cdk-lib.aws_lambda.CfnFunction",
2032
+ "version": "2.165.0"
2033
+ }
2034
+ }
2035
+ },
2036
+ "constructInfo": {
2037
+ "fqn": "aws-cdk-lib.aws_lambda.Function",
2038
+ "version": "2.165.0"
2039
+ }
2040
+ },
2041
+ "InstallerProvider": {
2042
+ "id": "InstallerProvider",
2043
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider",
2044
+ "children": {
2045
+ "framework-onEvent": {
2046
+ "id": "framework-onEvent",
2047
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider/framework-onEvent",
2048
+ "children": {
2049
+ "ServiceRole": {
2050
+ "id": "ServiceRole",
2051
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider/framework-onEvent/ServiceRole",
2052
+ "children": {
2053
+ "ImportServiceRole": {
2054
+ "id": "ImportServiceRole",
2055
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider/framework-onEvent/ServiceRole/ImportServiceRole",
2056
+ "constructInfo": {
2057
+ "fqn": "aws-cdk-lib.Resource",
2058
+ "version": "2.165.0"
2059
+ }
2060
+ },
2061
+ "Resource": {
2062
+ "id": "Resource",
2063
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider/framework-onEvent/ServiceRole/Resource",
2064
+ "attributes": {
2065
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
2066
+ "aws:cdk:cloudformation:props": {
2067
+ "assumeRolePolicyDocument": {
2068
+ "Statement": [
2069
+ {
2070
+ "Action": "sts:AssumeRole",
2071
+ "Effect": "Allow",
2072
+ "Principal": {
2073
+ "Service": "lambda.amazonaws.com"
2074
+ }
2075
+ }
2076
+ ],
2077
+ "Version": "2012-10-17"
2078
+ },
2079
+ "managedPolicyArns": [
2080
+ {
2081
+ "Fn::Join": [
2082
+ "",
2083
+ [
2084
+ "arn:",
2085
+ {
2086
+ "Ref": "AWS::Partition"
2087
+ },
2088
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
2089
+ ]
2090
+ ]
2091
+ }
2092
+ ]
2093
+ }
2094
+ },
2095
+ "constructInfo": {
2096
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
2097
+ "version": "2.165.0"
2098
+ }
2099
+ },
2100
+ "DefaultPolicy": {
2101
+ "id": "DefaultPolicy",
2102
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider/framework-onEvent/ServiceRole/DefaultPolicy",
2103
+ "children": {
2104
+ "Resource": {
2105
+ "id": "Resource",
2106
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider/framework-onEvent/ServiceRole/DefaultPolicy/Resource",
2107
+ "attributes": {
2108
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
2109
+ "aws:cdk:cloudformation:props": {
2110
+ "policyDocument": {
2111
+ "Statement": [
2112
+ {
2113
+ "Action": "lambda:InvokeFunction",
2114
+ "Effect": "Allow",
2115
+ "Resource": [
2116
+ {
2117
+ "Fn::GetAtt": [
2118
+ "IntegVSCodeServerInstallerOnEventHandler6FF91542",
2119
+ "Arn"
2120
+ ]
2121
+ },
2122
+ {
2123
+ "Fn::Join": [
2124
+ "",
2125
+ [
2126
+ {
2127
+ "Fn::GetAtt": [
2128
+ "IntegVSCodeServerInstallerOnEventHandler6FF91542",
2129
+ "Arn"
2130
+ ]
2131
+ },
2132
+ ":*"
2133
+ ]
2134
+ ]
2135
+ }
2136
+ ]
2137
+ }
2138
+ ],
2139
+ "Version": "2012-10-17"
2140
+ },
2141
+ "policyName": "IntegVSCodeServerInstallerProviderframeworkonEventServiceRoleDefaultPolicy3E54FC3A",
2142
+ "roles": [
2143
+ {
2144
+ "Ref": "IntegVSCodeServerInstallerProviderframeworkonEventServiceRoleA509851F"
2145
+ }
2146
+ ]
2147
+ }
2148
+ },
2149
+ "constructInfo": {
2150
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
2151
+ "version": "2.165.0"
2152
+ }
2153
+ }
2154
+ },
2155
+ "constructInfo": {
2156
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
2157
+ "version": "2.165.0"
2158
+ }
2159
+ }
2160
+ },
2161
+ "constructInfo": {
2162
+ "fqn": "aws-cdk-lib.aws_iam.Role",
2163
+ "version": "2.165.0"
2164
+ }
2165
+ },
2166
+ "Code": {
2167
+ "id": "Code",
2168
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider/framework-onEvent/Code",
2169
+ "children": {
2170
+ "Stage": {
2171
+ "id": "Stage",
2172
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider/framework-onEvent/Code/Stage",
2173
+ "constructInfo": {
2174
+ "fqn": "aws-cdk-lib.AssetStaging",
2175
+ "version": "2.165.0"
2176
+ }
2177
+ },
2178
+ "AssetBucket": {
2179
+ "id": "AssetBucket",
2180
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider/framework-onEvent/Code/AssetBucket",
2181
+ "constructInfo": {
2182
+ "fqn": "aws-cdk-lib.aws_s3.BucketBase",
2183
+ "version": "2.165.0"
2184
+ }
2185
+ }
2186
+ },
2187
+ "constructInfo": {
2188
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset",
2189
+ "version": "2.165.0"
2190
+ }
2191
+ },
2192
+ "Resource": {
2193
+ "id": "Resource",
2194
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider/framework-onEvent/Resource",
2195
+ "attributes": {
2196
+ "aws:cdk:cloudformation:type": "AWS::Lambda::Function",
2197
+ "aws:cdk:cloudformation:props": {
2198
+ "code": {
2199
+ "s3Bucket": {
2200
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
2201
+ },
2202
+ "s3Key": "4dc48ffba382f93077a1e6824599bbd4ceb6f91eb3d9442eca3b85bdb1a20b1e.zip"
2203
+ },
2204
+ "description": "AWS CDK resource provider framework - onEvent (IntegTestStackAl2023/IntegVSCodeServer/InstallerProvider)",
2205
+ "environment": {
2206
+ "variables": {
2207
+ "USER_ON_EVENT_FUNCTION_ARN": {
2208
+ "Fn::GetAtt": [
2209
+ "IntegVSCodeServerInstallerOnEventHandler6FF91542",
2210
+ "Arn"
2211
+ ]
2212
+ }
2213
+ }
2214
+ },
2215
+ "handler": "framework.onEvent",
2216
+ "role": {
2217
+ "Fn::GetAtt": [
2218
+ "IntegVSCodeServerInstallerProviderframeworkonEventServiceRoleA509851F",
2219
+ "Arn"
2220
+ ]
2221
+ },
2222
+ "runtime": {
2223
+ "Fn::FindInMap": [
2224
+ "LatestNodeRuntimeMap",
2225
+ {
2226
+ "Ref": "AWS::Region"
2227
+ },
2228
+ "value"
2229
+ ]
2230
+ },
2231
+ "timeout": 900
2232
+ }
2233
+ },
2234
+ "constructInfo": {
2235
+ "fqn": "aws-cdk-lib.aws_lambda.CfnFunction",
2236
+ "version": "2.165.0"
2237
+ }
2238
+ }
2239
+ },
2240
+ "constructInfo": {
2241
+ "fqn": "aws-cdk-lib.aws_lambda.Function",
2242
+ "version": "2.165.0"
2243
+ }
2244
+ }
2245
+ },
2246
+ "constructInfo": {
2247
+ "fqn": "aws-cdk-lib.custom_resources.Provider",
2248
+ "version": "2.165.0"
2249
+ }
2250
+ },
2251
+ "SSMInstallerCustomResource": {
2252
+ "id": "SSMInstallerCustomResource",
2253
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SSMInstallerCustomResource",
2254
+ "children": {
2255
+ "Default": {
2256
+ "id": "Default",
2257
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/SSMInstallerCustomResource/Default",
2258
+ "constructInfo": {
2259
+ "fqn": "aws-cdk-lib.CfnResource",
2260
+ "version": "2.165.0"
2261
+ }
2262
+ }
2263
+ },
2264
+ "constructInfo": {
2265
+ "fqn": "aws-cdk-lib.CustomResource",
2266
+ "version": "2.165.0"
2267
+ }
2268
+ },
2269
+ "domainName": {
2270
+ "id": "domainName",
2271
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/domainName",
2272
+ "constructInfo": {
2273
+ "fqn": "aws-cdk-lib.CfnOutput",
2274
+ "version": "2.165.0"
2275
+ }
2276
+ },
2277
+ "password": {
2278
+ "id": "password",
2279
+ "path": "IntegTestStackAl2023/IntegVSCodeServer/password",
2280
+ "constructInfo": {
2281
+ "fqn": "aws-cdk-lib.CfnOutput",
2282
+ "version": "2.165.0"
2283
+ }
2284
+ }
2285
+ },
2286
+ "constructInfo": {
2287
+ "fqn": "constructs.Construct",
2288
+ "version": "10.0.5"
2289
+ }
2290
+ },
2291
+ "LatestNodeRuntimeMap": {
2292
+ "id": "LatestNodeRuntimeMap",
2293
+ "path": "IntegTestStackAl2023/LatestNodeRuntimeMap",
2294
+ "constructInfo": {
2295
+ "fqn": "aws-cdk-lib.CfnMapping",
2296
+ "version": "2.165.0"
2297
+ }
2298
+ },
2299
+ "Custom::VpcRestrictDefaultSGCustomResourceProvider": {
2300
+ "id": "Custom::VpcRestrictDefaultSGCustomResourceProvider",
2301
+ "path": "IntegTestStackAl2023/Custom::VpcRestrictDefaultSGCustomResourceProvider",
2302
+ "children": {
2303
+ "Staging": {
2304
+ "id": "Staging",
2305
+ "path": "IntegTestStackAl2023/Custom::VpcRestrictDefaultSGCustomResourceProvider/Staging",
2306
+ "constructInfo": {
2307
+ "fqn": "aws-cdk-lib.AssetStaging",
2308
+ "version": "2.165.0"
2309
+ }
2310
+ },
2311
+ "Role": {
2312
+ "id": "Role",
2313
+ "path": "IntegTestStackAl2023/Custom::VpcRestrictDefaultSGCustomResourceProvider/Role",
2314
+ "constructInfo": {
2315
+ "fqn": "aws-cdk-lib.CfnResource",
2316
+ "version": "2.165.0"
2317
+ }
2318
+ },
2319
+ "Handler": {
2320
+ "id": "Handler",
2321
+ "path": "IntegTestStackAl2023/Custom::VpcRestrictDefaultSGCustomResourceProvider/Handler",
2322
+ "constructInfo": {
2323
+ "fqn": "aws-cdk-lib.CfnResource",
2324
+ "version": "2.165.0"
2325
+ }
2326
+ }
2327
+ },
2328
+ "constructInfo": {
2329
+ "fqn": "aws-cdk-lib.CustomResourceProviderBase",
2330
+ "version": "2.165.0"
2331
+ }
2332
+ },
2333
+ "AWS679f53fac002430cb0da5b7982bd2287": {
2334
+ "id": "AWS679f53fac002430cb0da5b7982bd2287",
2335
+ "path": "IntegTestStackAl2023/AWS679f53fac002430cb0da5b7982bd2287",
2336
+ "children": {
2337
+ "Code": {
2338
+ "id": "Code",
2339
+ "path": "IntegTestStackAl2023/AWS679f53fac002430cb0da5b7982bd2287/Code",
2340
+ "children": {
2341
+ "Stage": {
2342
+ "id": "Stage",
2343
+ "path": "IntegTestStackAl2023/AWS679f53fac002430cb0da5b7982bd2287/Code/Stage",
2344
+ "constructInfo": {
2345
+ "fqn": "aws-cdk-lib.AssetStaging",
2346
+ "version": "2.165.0"
2347
+ }
2348
+ },
2349
+ "AssetBucket": {
2350
+ "id": "AssetBucket",
2351
+ "path": "IntegTestStackAl2023/AWS679f53fac002430cb0da5b7982bd2287/Code/AssetBucket",
2352
+ "constructInfo": {
2353
+ "fqn": "aws-cdk-lib.aws_s3.BucketBase",
2354
+ "version": "2.165.0"
2355
+ }
2356
+ }
2357
+ },
2358
+ "constructInfo": {
2359
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset",
2360
+ "version": "2.165.0"
2361
+ }
2362
+ },
2363
+ "Resource": {
2364
+ "id": "Resource",
2365
+ "path": "IntegTestStackAl2023/AWS679f53fac002430cb0da5b7982bd2287/Resource",
2366
+ "attributes": {
2367
+ "aws:cdk:cloudformation:type": "AWS::Lambda::Function",
2368
+ "aws:cdk:cloudformation:props": {
2369
+ "code": {
2370
+ "s3Bucket": {
2371
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
2372
+ },
2373
+ "s3Key": "ce2f3595a340d6c519a65888ef97e3b9b64f053f83608e32cc28162e22d7d99a.zip"
2374
+ },
2375
+ "handler": "index.handler",
2376
+ "loggingConfig": {
2377
+ "logGroup": {
2378
+ "Ref": "IntegVSCodeServercfprefixlistIdGetPrefixListIdLogGroup171C2803"
2379
+ }
2380
+ },
2381
+ "role": {
2382
+ "Fn::GetAtt": [
2383
+ "IntegVSCodeServercfprefixlistIdGetPrefixListIdRole1302B3E1",
2384
+ "Arn"
2385
+ ]
2386
+ },
2387
+ "runtime": {
2388
+ "Fn::FindInMap": [
2389
+ "LatestNodeRuntimeMap",
2390
+ {
2391
+ "Ref": "AWS::Region"
2392
+ },
2393
+ "value"
2394
+ ]
2395
+ },
2396
+ "timeout": 120
2397
+ }
2398
+ },
2399
+ "constructInfo": {
2400
+ "fqn": "aws-cdk-lib.aws_lambda.CfnFunction",
2401
+ "version": "2.165.0"
2402
+ }
2403
+ }
2404
+ },
2405
+ "constructInfo": {
2406
+ "fqn": "aws-cdk-lib.aws_lambda.Function",
2407
+ "version": "2.165.0"
2408
+ }
2409
+ },
2410
+ "SsmParameterValue:--aws--service--ami-amazon-linux-latest--al2023-ami-kernel-default-arm64:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter": {
2411
+ "id": "SsmParameterValue:--aws--service--ami-amazon-linux-latest--al2023-ami-kernel-default-arm64:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter",
2412
+ "path": "IntegTestStackAl2023/SsmParameterValue:--aws--service--ami-amazon-linux-latest--al2023-ami-kernel-default-arm64:C96584B6-F00A-464E-AD19-53AFF4B05118.Parameter",
2413
+ "constructInfo": {
2414
+ "fqn": "aws-cdk-lib.CfnParameter",
2415
+ "version": "2.165.0"
2416
+ }
2417
+ },
2418
+ "SsmParameterValue:--aws--service--ami-amazon-linux-latest--al2023-ami-kernel-default-arm64:C96584B6-F00A-464E-AD19-53AFF4B05118": {
2419
+ "id": "SsmParameterValue:--aws--service--ami-amazon-linux-latest--al2023-ami-kernel-default-arm64:C96584B6-F00A-464E-AD19-53AFF4B05118",
2420
+ "path": "IntegTestStackAl2023/SsmParameterValue:--aws--service--ami-amazon-linux-latest--al2023-ami-kernel-default-arm64:C96584B6-F00A-464E-AD19-53AFF4B05118",
2421
+ "constructInfo": {
2422
+ "fqn": "aws-cdk-lib.Resource",
2423
+ "version": "2.165.0"
2424
+ }
2425
+ },
2426
+ "login-handler": {
2427
+ "id": "login-handler",
2428
+ "path": "IntegTestStackAl2023/login-handler",
2429
+ "children": {
2430
+ "ServiceRole": {
2431
+ "id": "ServiceRole",
2432
+ "path": "IntegTestStackAl2023/login-handler/ServiceRole",
2433
+ "children": {
2434
+ "ImportServiceRole": {
2435
+ "id": "ImportServiceRole",
2436
+ "path": "IntegTestStackAl2023/login-handler/ServiceRole/ImportServiceRole",
2437
+ "constructInfo": {
2438
+ "fqn": "aws-cdk-lib.Resource",
2439
+ "version": "2.165.0"
2440
+ }
2441
+ },
2442
+ "Resource": {
2443
+ "id": "Resource",
2444
+ "path": "IntegTestStackAl2023/login-handler/ServiceRole/Resource",
2445
+ "attributes": {
2446
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
2447
+ "aws:cdk:cloudformation:props": {
2448
+ "assumeRolePolicyDocument": {
2449
+ "Statement": [
2450
+ {
2451
+ "Action": "sts:AssumeRole",
2452
+ "Effect": "Allow",
2453
+ "Principal": {
2454
+ "Service": "lambda.amazonaws.com"
2455
+ }
2456
+ }
2457
+ ],
2458
+ "Version": "2012-10-17"
2459
+ },
2460
+ "managedPolicyArns": [
2461
+ {
2462
+ "Fn::Join": [
2463
+ "",
2464
+ [
2465
+ "arn:",
2466
+ {
2467
+ "Ref": "AWS::Partition"
2468
+ },
2469
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
2470
+ ]
2471
+ ]
2472
+ }
2473
+ ]
2474
+ }
2475
+ },
2476
+ "constructInfo": {
2477
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
2478
+ "version": "2.165.0"
2479
+ }
2480
+ }
2481
+ },
2482
+ "constructInfo": {
2483
+ "fqn": "aws-cdk-lib.aws_iam.Role",
2484
+ "version": "2.165.0"
2485
+ }
2486
+ },
2487
+ "Code": {
2488
+ "id": "Code",
2489
+ "path": "IntegTestStackAl2023/login-handler/Code",
2490
+ "children": {
2491
+ "Stage": {
2492
+ "id": "Stage",
2493
+ "path": "IntegTestStackAl2023/login-handler/Code/Stage",
2494
+ "constructInfo": {
2495
+ "fqn": "aws-cdk-lib.AssetStaging",
2496
+ "version": "2.165.0"
2497
+ }
2498
+ },
2499
+ "AssetBucket": {
2500
+ "id": "AssetBucket",
2501
+ "path": "IntegTestStackAl2023/login-handler/Code/AssetBucket",
2502
+ "constructInfo": {
2503
+ "fqn": "aws-cdk-lib.aws_s3.BucketBase",
2504
+ "version": "2.165.0"
2505
+ }
2506
+ }
2507
+ },
2508
+ "constructInfo": {
2509
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset",
2510
+ "version": "2.165.0"
2511
+ }
2512
+ },
2513
+ "Resource": {
2514
+ "id": "Resource",
2515
+ "path": "IntegTestStackAl2023/login-handler/Resource",
2516
+ "attributes": {
2517
+ "aws:cdk:cloudformation:type": "AWS::Lambda::Function",
2518
+ "aws:cdk:cloudformation:props": {
2519
+ "code": {
2520
+ "s3Bucket": {
2521
+ "Fn::Sub": "cdk-hnb659fds-assets-${AWS::AccountId}-${AWS::Region}"
2522
+ },
2523
+ "s3Key": "23732f3d1982f7fb0da3bd6638a8107337bb767fea165b45eae12000a1dd67ce.zip"
2524
+ },
2525
+ "handler": "index.handler",
2526
+ "role": {
2527
+ "Fn::GetAtt": [
2528
+ "loginhandlerServiceRole330B0B32",
2529
+ "Arn"
2530
+ ]
2531
+ },
2532
+ "runtime": "nodejs20.x",
2533
+ "timeout": 30
2534
+ }
2535
+ },
2536
+ "constructInfo": {
2537
+ "fqn": "aws-cdk-lib.aws_lambda.CfnFunction",
2538
+ "version": "2.165.0"
2539
+ }
2540
+ },
2541
+ "LogRetention": {
2542
+ "id": "LogRetention",
2543
+ "path": "IntegTestStackAl2023/login-handler/LogRetention",
2544
+ "children": {
2545
+ "Resource": {
2546
+ "id": "Resource",
2547
+ "path": "IntegTestStackAl2023/login-handler/LogRetention/Resource",
2548
+ "constructInfo": {
2549
+ "fqn": "aws-cdk-lib.CfnResource",
2550
+ "version": "2.165.0"
2551
+ }
2552
+ }
2553
+ },
2554
+ "constructInfo": {
2555
+ "fqn": "aws-cdk-lib.aws_logs.LogRetention",
2556
+ "version": "2.165.0"
2557
+ }
2558
+ },
2559
+ "LogGroup": {
2560
+ "id": "LogGroup",
2561
+ "path": "IntegTestStackAl2023/login-handler/LogGroup",
2562
+ "constructInfo": {
2563
+ "fqn": "aws-cdk-lib.Resource",
2564
+ "version": "2.165.0"
2565
+ }
2566
+ }
2567
+ },
2568
+ "constructInfo": {
2569
+ "fqn": "aws-cdk-lib.aws_lambda_nodejs.NodejsFunction",
2570
+ "version": "2.165.0"
2571
+ }
2572
+ },
2573
+ "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a": {
2574
+ "id": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a",
2575
+ "path": "IntegTestStackAl2023/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a",
2576
+ "children": {
2577
+ "Code": {
2578
+ "id": "Code",
2579
+ "path": "IntegTestStackAl2023/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code",
2580
+ "children": {
2581
+ "Stage": {
2582
+ "id": "Stage",
2583
+ "path": "IntegTestStackAl2023/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code/Stage",
2584
+ "constructInfo": {
2585
+ "fqn": "aws-cdk-lib.AssetStaging",
2586
+ "version": "2.165.0"
2587
+ }
2588
+ },
2589
+ "AssetBucket": {
2590
+ "id": "AssetBucket",
2591
+ "path": "IntegTestStackAl2023/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Code/AssetBucket",
2592
+ "constructInfo": {
2593
+ "fqn": "aws-cdk-lib.aws_s3.BucketBase",
2594
+ "version": "2.165.0"
2595
+ }
2596
+ }
2597
+ },
2598
+ "constructInfo": {
2599
+ "fqn": "aws-cdk-lib.aws_s3_assets.Asset",
2600
+ "version": "2.165.0"
2601
+ }
2602
+ },
2603
+ "ServiceRole": {
2604
+ "id": "ServiceRole",
2605
+ "path": "IntegTestStackAl2023/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole",
2606
+ "children": {
2607
+ "ImportServiceRole": {
2608
+ "id": "ImportServiceRole",
2609
+ "path": "IntegTestStackAl2023/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/ImportServiceRole",
2610
+ "constructInfo": {
2611
+ "fqn": "aws-cdk-lib.Resource",
2612
+ "version": "2.165.0"
2613
+ }
2614
+ },
2615
+ "Resource": {
2616
+ "id": "Resource",
2617
+ "path": "IntegTestStackAl2023/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/Resource",
2618
+ "attributes": {
2619
+ "aws:cdk:cloudformation:type": "AWS::IAM::Role",
2620
+ "aws:cdk:cloudformation:props": {
2621
+ "assumeRolePolicyDocument": {
2622
+ "Statement": [
2623
+ {
2624
+ "Action": "sts:AssumeRole",
2625
+ "Effect": "Allow",
2626
+ "Principal": {
2627
+ "Service": "lambda.amazonaws.com"
2628
+ }
2629
+ }
2630
+ ],
2631
+ "Version": "2012-10-17"
2632
+ },
2633
+ "managedPolicyArns": [
2634
+ {
2635
+ "Fn::Join": [
2636
+ "",
2637
+ [
2638
+ "arn:",
2639
+ {
2640
+ "Ref": "AWS::Partition"
2641
+ },
2642
+ ":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
2643
+ ]
2644
+ ]
2645
+ }
2646
+ ]
2647
+ }
2648
+ },
2649
+ "constructInfo": {
2650
+ "fqn": "aws-cdk-lib.aws_iam.CfnRole",
2651
+ "version": "2.165.0"
2652
+ }
2653
+ },
2654
+ "DefaultPolicy": {
2655
+ "id": "DefaultPolicy",
2656
+ "path": "IntegTestStackAl2023/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/DefaultPolicy",
2657
+ "children": {
2658
+ "Resource": {
2659
+ "id": "Resource",
2660
+ "path": "IntegTestStackAl2023/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/ServiceRole/DefaultPolicy/Resource",
2661
+ "attributes": {
2662
+ "aws:cdk:cloudformation:type": "AWS::IAM::Policy",
2663
+ "aws:cdk:cloudformation:props": {
2664
+ "policyDocument": {
2665
+ "Statement": [
2666
+ {
2667
+ "Action": [
2668
+ "logs:DeleteRetentionPolicy",
2669
+ "logs:PutRetentionPolicy"
2670
+ ],
2671
+ "Effect": "Allow",
2672
+ "Resource": "*"
2673
+ }
2674
+ ],
2675
+ "Version": "2012-10-17"
2676
+ },
2677
+ "policyName": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRoleDefaultPolicyADDA7DEB",
2678
+ "roles": [
2679
+ {
2680
+ "Ref": "LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8aServiceRole9741ECFB"
2681
+ }
2682
+ ]
2683
+ }
2684
+ },
2685
+ "constructInfo": {
2686
+ "fqn": "aws-cdk-lib.aws_iam.CfnPolicy",
2687
+ "version": "2.165.0"
2688
+ }
2689
+ }
2690
+ },
2691
+ "constructInfo": {
2692
+ "fqn": "aws-cdk-lib.aws_iam.Policy",
2693
+ "version": "2.165.0"
2694
+ }
2695
+ }
2696
+ },
2697
+ "constructInfo": {
2698
+ "fqn": "aws-cdk-lib.aws_iam.Role",
2699
+ "version": "2.165.0"
2700
+ }
2701
+ },
2702
+ "Resource": {
2703
+ "id": "Resource",
2704
+ "path": "IntegTestStackAl2023/LogRetentionaae0aa3c5b4d4f87b02d85b201efdd8a/Resource",
2705
+ "constructInfo": {
2706
+ "fqn": "aws-cdk-lib.CfnResource",
2707
+ "version": "2.165.0"
2708
+ }
2709
+ }
2710
+ },
2711
+ "constructInfo": {
2712
+ "fqn": "constructs.Construct",
2713
+ "version": "10.0.5"
2714
+ }
2715
+ },
2716
+ "Exports": {
2717
+ "id": "Exports",
2718
+ "path": "IntegTestStackAl2023/Exports",
2719
+ "children": {
2720
+ "Output{\"Ref\":\"loginhandler99CCCCFD\"}": {
2721
+ "id": "Output{\"Ref\":\"loginhandler99CCCCFD\"}",
2722
+ "path": "IntegTestStackAl2023/Exports/Output{\"Ref\":\"loginhandler99CCCCFD\"}",
2723
+ "constructInfo": {
2724
+ "fqn": "aws-cdk-lib.CfnOutput",
2725
+ "version": "2.165.0"
2726
+ }
2727
+ },
2728
+ "Output{\"Fn::GetAtt\":[\"IntegVSCodeServercfdistributionFDBE873F\",\"DomainName\"]}": {
2729
+ "id": "Output{\"Fn::GetAtt\":[\"IntegVSCodeServercfdistributionFDBE873F\",\"DomainName\"]}",
2730
+ "path": "IntegTestStackAl2023/Exports/Output{\"Fn::GetAtt\":[\"IntegVSCodeServercfdistributionFDBE873F\",\"DomainName\"]}",
2731
+ "constructInfo": {
2732
+ "fqn": "aws-cdk-lib.CfnOutput",
2733
+ "version": "2.165.0"
2734
+ }
2735
+ },
2736
+ "Output{\"Fn::GetAtt\":[\"IntegVSCodeServerSecretRetrieverCustomResource2F3DB8BD\",\"secretPasswordValue\"]}": {
2737
+ "id": "Output{\"Fn::GetAtt\":[\"IntegVSCodeServerSecretRetrieverCustomResource2F3DB8BD\",\"secretPasswordValue\"]}",
2738
+ "path": "IntegTestStackAl2023/Exports/Output{\"Fn::GetAtt\":[\"IntegVSCodeServerSecretRetrieverCustomResource2F3DB8BD\",\"secretPasswordValue\"]}",
2739
+ "constructInfo": {
2740
+ "fqn": "aws-cdk-lib.CfnOutput",
2741
+ "version": "2.165.0"
2742
+ }
2743
+ }
2744
+ },
2745
+ "constructInfo": {
2746
+ "fqn": "constructs.Construct",
2747
+ "version": "10.0.5"
2748
+ }
2749
+ },
2750
+ "BootstrapVersion": {
2751
+ "id": "BootstrapVersion",
2752
+ "path": "IntegTestStackAl2023/BootstrapVersion",
2753
+ "constructInfo": {
2754
+ "fqn": "aws-cdk-lib.CfnParameter",
2755
+ "version": "2.165.0"
2756
+ }
2757
+ },
2758
+ "CheckBootstrapVersion": {
2759
+ "id": "CheckBootstrapVersion",
2760
+ "path": "IntegTestStackAl2023/CheckBootstrapVersion",
2761
+ "constructInfo": {
2762
+ "fqn": "aws-cdk-lib.CfnRule",
2763
+ "version": "2.165.0"
2764
+ }
2765
+ }
2766
+ },
2767
+ "constructInfo": {
2768
+ "fqn": "aws-cdk-lib.Stack",
2769
+ "version": "2.165.0"
2770
+ }
2771
+ },
2772
+ "IntegSetupVSCodeOnAl2023": {
2773
+ "id": "IntegSetupVSCodeOnAl2023",
2774
+ "path": "IntegSetupVSCodeOnAl2023",
2775
+ "children": {
2776
+ "DefaultTest": {
2777
+ "id": "DefaultTest",
2778
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest",
2779
+ "children": {
2780
+ "Default": {
2781
+ "id": "Default",
2782
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/Default",
2783
+ "constructInfo": {
2784
+ "fqn": "constructs.Construct",
2785
+ "version": "10.0.5"
2786
+ }
2787
+ },
2788
+ "DeployAssert": {
2789
+ "id": "DeployAssert",
2790
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert",
2791
+ "children": {
2792
+ "LambdaInvoke493987f824f978002013a8ed7c9980f4": {
2793
+ "id": "LambdaInvoke493987f824f978002013a8ed7c9980f4",
2794
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/LambdaInvoke493987f824f978002013a8ed7c9980f4",
2795
+ "children": {
2796
+ "SdkProvider": {
2797
+ "id": "SdkProvider",
2798
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/LambdaInvoke493987f824f978002013a8ed7c9980f4/SdkProvider",
2799
+ "children": {
2800
+ "AssertionsProvider": {
2801
+ "id": "AssertionsProvider",
2802
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/LambdaInvoke493987f824f978002013a8ed7c9980f4/SdkProvider/AssertionsProvider",
2803
+ "constructInfo": {
2804
+ "fqn": "constructs.Construct",
2805
+ "version": "10.0.5"
2806
+ }
2807
+ }
2808
+ },
2809
+ "constructInfo": {
2810
+ "fqn": "@aws-cdk/integ-tests-alpha.AssertionsProvider",
2811
+ "version": "2.165.0-alpha.0"
2812
+ }
2813
+ },
2814
+ "Default": {
2815
+ "id": "Default",
2816
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/LambdaInvoke493987f824f978002013a8ed7c9980f4/Default",
2817
+ "children": {
2818
+ "Default": {
2819
+ "id": "Default",
2820
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/LambdaInvoke493987f824f978002013a8ed7c9980f4/Default/Default",
2821
+ "constructInfo": {
2822
+ "fqn": "aws-cdk-lib.CfnResource",
2823
+ "version": "2.165.0"
2824
+ }
2825
+ }
2826
+ },
2827
+ "constructInfo": {
2828
+ "fqn": "aws-cdk-lib.CustomResource",
2829
+ "version": "2.165.0"
2830
+ }
2831
+ },
2832
+ "Invoke": {
2833
+ "id": "Invoke",
2834
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/LambdaInvoke493987f824f978002013a8ed7c9980f4/Invoke",
2835
+ "constructInfo": {
2836
+ "fqn": "aws-cdk-lib.CfnResource",
2837
+ "version": "2.165.0"
2838
+ }
2839
+ },
2840
+ "AssertionResults": {
2841
+ "id": "AssertionResults",
2842
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/LambdaInvoke493987f824f978002013a8ed7c9980f4/AssertionResults",
2843
+ "constructInfo": {
2844
+ "fqn": "aws-cdk-lib.CfnOutput",
2845
+ "version": "2.165.0"
2846
+ }
2847
+ }
2848
+ },
2849
+ "constructInfo": {
2850
+ "fqn": "@aws-cdk/integ-tests-alpha.LambdaInvokeFunction",
2851
+ "version": "2.165.0-alpha.0"
2852
+ }
2853
+ },
2854
+ "SingletonFunction1488541a7b23466481b69b4408076b81": {
2855
+ "id": "SingletonFunction1488541a7b23466481b69b4408076b81",
2856
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81",
2857
+ "children": {
2858
+ "Staging": {
2859
+ "id": "Staging",
2860
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Staging",
2861
+ "constructInfo": {
2862
+ "fqn": "aws-cdk-lib.AssetStaging",
2863
+ "version": "2.165.0"
2864
+ }
2865
+ },
2866
+ "Role": {
2867
+ "id": "Role",
2868
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Role",
2869
+ "constructInfo": {
2870
+ "fqn": "aws-cdk-lib.CfnResource",
2871
+ "version": "2.165.0"
2872
+ }
2873
+ },
2874
+ "Handler": {
2875
+ "id": "Handler",
2876
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/SingletonFunction1488541a7b23466481b69b4408076b81/Handler",
2877
+ "constructInfo": {
2878
+ "fqn": "aws-cdk-lib.CfnResource",
2879
+ "version": "2.165.0"
2880
+ }
2881
+ }
2882
+ },
2883
+ "constructInfo": {
2884
+ "fqn": "constructs.Construct",
2885
+ "version": "10.0.5"
2886
+ }
2887
+ },
2888
+ "LatestNodeRuntimeMap": {
2889
+ "id": "LatestNodeRuntimeMap",
2890
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/LatestNodeRuntimeMap",
2891
+ "constructInfo": {
2892
+ "fqn": "aws-cdk-lib.CfnMapping",
2893
+ "version": "2.165.0"
2894
+ }
2895
+ },
2896
+ "BootstrapVersion": {
2897
+ "id": "BootstrapVersion",
2898
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/BootstrapVersion",
2899
+ "constructInfo": {
2900
+ "fqn": "aws-cdk-lib.CfnParameter",
2901
+ "version": "2.165.0"
2902
+ }
2903
+ },
2904
+ "CheckBootstrapVersion": {
2905
+ "id": "CheckBootstrapVersion",
2906
+ "path": "IntegSetupVSCodeOnAl2023/DefaultTest/DeployAssert/CheckBootstrapVersion",
2907
+ "constructInfo": {
2908
+ "fqn": "aws-cdk-lib.CfnRule",
2909
+ "version": "2.165.0"
2910
+ }
2911
+ }
2912
+ },
2913
+ "constructInfo": {
2914
+ "fqn": "aws-cdk-lib.Stack",
2915
+ "version": "2.165.0"
2916
+ }
2917
+ }
2918
+ },
2919
+ "constructInfo": {
2920
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTestCase",
2921
+ "version": "2.165.0-alpha.0"
2922
+ }
2923
+ }
2924
+ },
2925
+ "constructInfo": {
2926
+ "fqn": "@aws-cdk/integ-tests-alpha.IntegTest",
2927
+ "version": "2.165.0-alpha.0"
2928
+ }
2929
+ },
2930
+ "Tree": {
2931
+ "id": "Tree",
2932
+ "path": "Tree",
2933
+ "constructInfo": {
2934
+ "fqn": "constructs.Construct",
2935
+ "version": "10.0.5"
2936
+ }
2937
+ }
2938
+ },
2939
+ "constructInfo": {
2940
+ "fqn": "aws-cdk-lib.App",
2941
+ "version": "2.165.0"
2942
+ }
2943
+ }
2944
+ }