aws-cdk 0.0.0

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 (402) hide show
  1. package/CONTRIBUTING.md +276 -0
  2. package/LICENSE +202 -0
  3. package/NOTICE +16 -0
  4. package/README.md +1274 -0
  5. package/THIRD_PARTY_LICENSES +26821 -0
  6. package/bin/cdk +6 -0
  7. package/build-info.json +4 -0
  8. package/db.json.gz +0 -0
  9. package/generate.sh +25 -0
  10. package/images/garbage-collection.png +0 -0
  11. package/lib/api/aws-auth/account-cache.d.ts +39 -0
  12. package/lib/api/aws-auth/account-cache.js +102 -0
  13. package/lib/api/aws-auth/awscli-compatible.d.ts +42 -0
  14. package/lib/api/aws-auth/awscli-compatible.js +264 -0
  15. package/lib/api/aws-auth/cached.d.ts +11 -0
  16. package/lib/api/aws-auth/cached.js +26 -0
  17. package/lib/api/aws-auth/credential-plugins.d.ts +36 -0
  18. package/lib/api/aws-auth/credential-plugins.js +153 -0
  19. package/lib/api/aws-auth/index.d.ts +3 -0
  20. package/lib/api/aws-auth/index.js +20 -0
  21. package/lib/api/aws-auth/provider-caching.d.ts +13 -0
  22. package/lib/api/aws-auth/provider-caching.js +24 -0
  23. package/lib/api/aws-auth/sdk-logger.d.ts +69 -0
  24. package/lib/api/aws-auth/sdk-logger.js +130 -0
  25. package/lib/api/aws-auth/sdk-provider.d.ts +207 -0
  26. package/lib/api/aws-auth/sdk-provider.js +359 -0
  27. package/lib/api/aws-auth/sdk.d.ts +223 -0
  28. package/lib/api/aws-auth/sdk.js +366 -0
  29. package/lib/api/aws-auth/tracing.d.ts +11 -0
  30. package/lib/api/aws-auth/tracing.js +61 -0
  31. package/lib/api/aws-auth/user-agent.d.ts +7 -0
  32. package/lib/api/aws-auth/user-agent.js +21 -0
  33. package/lib/api/aws-auth/util.d.ts +6 -0
  34. package/lib/api/aws-auth/util.js +23 -0
  35. package/lib/api/bootstrap/bootstrap-environment.d.ts +33 -0
  36. package/lib/api/bootstrap/bootstrap-environment.js +322 -0
  37. package/lib/api/bootstrap/bootstrap-props.d.ts +130 -0
  38. package/lib/api/bootstrap/bootstrap-props.js +14 -0
  39. package/lib/api/bootstrap/bootstrap-template.yaml +692 -0
  40. package/lib/api/bootstrap/deploy-bootstrap.d.ts +37 -0
  41. package/lib/api/bootstrap/deploy-bootstrap.js +143 -0
  42. package/lib/api/bootstrap/index.d.ts +2 -0
  43. package/lib/api/bootstrap/index.js +19 -0
  44. package/lib/api/bootstrap/legacy-template.d.ts +2 -0
  45. package/lib/api/bootstrap/legacy-template.js +82 -0
  46. package/lib/api/context.d.ts +40 -0
  47. package/lib/api/context.js +82 -0
  48. package/lib/api/cxapp/cloud-assembly.d.ts +150 -0
  49. package/lib/api/cxapp/cloud-assembly.js +305 -0
  50. package/lib/api/cxapp/cloud-executable.d.ts +44 -0
  51. package/lib/api/cxapp/cloud-executable.js +90 -0
  52. package/lib/api/cxapp/environments.d.ts +9 -0
  53. package/lib/api/cxapp/environments.js +66 -0
  54. package/lib/api/cxapp/exec.d.ts +56 -0
  55. package/lib/api/cxapp/exec.js +275 -0
  56. package/lib/api/deployments/asset-manifest-builder.d.ts +8 -0
  57. package/lib/api/deployments/asset-manifest-builder.js +35 -0
  58. package/lib/api/deployments/asset-publishing.d.ts +77 -0
  59. package/lib/api/deployments/asset-publishing.js +163 -0
  60. package/lib/api/deployments/assets.d.ts +10 -0
  61. package/lib/api/deployments/assets.js +111 -0
  62. package/lib/api/deployments/checks.d.ts +8 -0
  63. package/lib/api/deployments/checks.js +73 -0
  64. package/lib/api/deployments/cloudformation.d.ts +235 -0
  65. package/lib/api/deployments/cloudformation.js +598 -0
  66. package/lib/api/deployments/deploy-stack.d.ts +177 -0
  67. package/lib/api/deployments/deploy-stack.js +484 -0
  68. package/lib/api/deployments/deployment-method.d.ts +24 -0
  69. package/lib/api/deployments/deployment-method.js +3 -0
  70. package/lib/api/deployments/deployment-result.d.ts +21 -0
  71. package/lib/api/deployments/deployment-result.js +10 -0
  72. package/lib/api/deployments/deployments.d.ts +340 -0
  73. package/lib/api/deployments/deployments.js +369 -0
  74. package/lib/api/deployments/hotswap-deployments.d.ts +14 -0
  75. package/lib/api/deployments/hotswap-deployments.js +357 -0
  76. package/lib/api/deployments/index.d.ts +6 -0
  77. package/lib/api/deployments/index.js +23 -0
  78. package/lib/api/deployments/nested-stack-helpers.d.ts +25 -0
  79. package/lib/api/deployments/nested-stack-helpers.js +88 -0
  80. package/lib/api/environment-access.d.ts +138 -0
  81. package/lib/api/environment-access.js +203 -0
  82. package/lib/api/environment-resources.d.ts +73 -0
  83. package/lib/api/environment-resources.js +208 -0
  84. package/lib/api/evaluate-cloudformation-template.d.ts +84 -0
  85. package/lib/api/evaluate-cloudformation-template.js +443 -0
  86. package/lib/api/garbage-collection/garbage-collector.d.ts +152 -0
  87. package/lib/api/garbage-collection/garbage-collector.js +607 -0
  88. package/lib/api/garbage-collection/progress-printer.d.ts +21 -0
  89. package/lib/api/garbage-collection/progress-printer.js +69 -0
  90. package/lib/api/garbage-collection/stack-refresh.d.ts +44 -0
  91. package/lib/api/garbage-collection/stack-refresh.js +154 -0
  92. package/lib/api/hotswap/appsync-mapping-templates.d.ts +3 -0
  93. package/lib/api/hotswap/appsync-mapping-templates.js +157 -0
  94. package/lib/api/hotswap/code-build-projects.d.ts +3 -0
  95. package/lib/api/hotswap/code-build-projects.js +55 -0
  96. package/lib/api/hotswap/common.d.ts +126 -0
  97. package/lib/api/hotswap/common.js +170 -0
  98. package/lib/api/hotswap/ecs-services.d.ts +3 -0
  99. package/lib/api/hotswap/ecs-services.js +140 -0
  100. package/lib/api/hotswap/lambda-functions.d.ts +3 -0
  101. package/lib/api/hotswap/lambda-functions.js +309 -0
  102. package/lib/api/hotswap/s3-bucket-deployments.d.ts +9 -0
  103. package/lib/api/hotswap/s3-bucket-deployments.js +112 -0
  104. package/lib/api/hotswap/stepfunctions-state-machines.d.ts +3 -0
  105. package/lib/api/hotswap/stepfunctions-state-machines.js +42 -0
  106. package/lib/api/index.d.ts +5 -0
  107. package/lib/api/index.js +22 -0
  108. package/lib/api/logs/find-cloudwatch-logs.d.ts +24 -0
  109. package/lib/api/logs/find-cloudwatch-logs.js +97 -0
  110. package/lib/api/logs/logs-monitor.d.ts +53 -0
  111. package/lib/api/logs/logs-monitor.js +169 -0
  112. package/lib/api/plugin/context-provider-plugin.d.ts +6 -0
  113. package/lib/api/plugin/context-provider-plugin.js +7 -0
  114. package/lib/api/plugin/index.d.ts +3 -0
  115. package/lib/api/plugin/index.js +20 -0
  116. package/lib/api/plugin/mode.d.ts +4 -0
  117. package/lib/api/plugin/mode.js +9 -0
  118. package/lib/api/plugin/plugin.d.ts +63 -0
  119. package/lib/api/plugin/plugin.js +106 -0
  120. package/lib/api/settings.d.ts +29 -0
  121. package/lib/api/settings.js +141 -0
  122. package/lib/api/tags.d.ts +9 -0
  123. package/lib/api/tags.js +10 -0
  124. package/lib/api/toolkit-info.d.ts +51 -0
  125. package/lib/api/toolkit-info.js +156 -0
  126. package/lib/api/util/cloudformation/stack-activity-monitor.d.ts +237 -0
  127. package/lib/api/util/cloudformation/stack-activity-monitor.js +550 -0
  128. package/lib/api/util/cloudformation/stack-event-poller.d.ts +63 -0
  129. package/lib/api/util/cloudformation/stack-event-poller.js +129 -0
  130. package/lib/api/util/cloudformation/stack-status.d.ts +42 -0
  131. package/lib/api/util/cloudformation/stack-status.js +88 -0
  132. package/lib/api/util/display.d.ts +13 -0
  133. package/lib/api/util/display.js +80 -0
  134. package/lib/api/util/placeholders.d.ts +10 -0
  135. package/lib/api/util/placeholders.js +24 -0
  136. package/lib/api/util/rwlock.d.ts +65 -0
  137. package/lib/api/util/rwlock.js +179 -0
  138. package/lib/api/util/string-manipulation.d.ts +10 -0
  139. package/lib/api/util/string-manipulation.js +33 -0
  140. package/lib/api/util/template-body-parameter.d.ts +21 -0
  141. package/lib/api/util/template-body-parameter.js +104 -0
  142. package/lib/cli/cdk-toolkit.d.ts +594 -0
  143. package/lib/cli/cdk-toolkit.js +1019 -0
  144. package/lib/cli/cli-config.d.ts +10 -0
  145. package/lib/cli/cli-config.js +406 -0
  146. package/lib/cli/cli.d.ts +4 -0
  147. package/lib/cli/cli.js +538 -0
  148. package/lib/cli/convert-to-user-input.d.ts +3 -0
  149. package/lib/cli/convert-to-user-input.js +434 -0
  150. package/lib/cli/parse-command-line-arguments.d.ts +1 -0
  151. package/lib/cli/parse-command-line-arguments.js +806 -0
  152. package/lib/cli/platform-warnings.d.ts +2 -0
  153. package/lib/cli/platform-warnings.js +45 -0
  154. package/lib/cli/user-configuration.d.ts +90 -0
  155. package/lib/cli/user-configuration.js +272 -0
  156. package/lib/cli/user-input.d.ts +1163 -0
  157. package/lib/cli/user-input.js +3 -0
  158. package/lib/cli/util/console-formatters.d.ts +18 -0
  159. package/lib/cli/util/console-formatters.js +42 -0
  160. package/lib/cli/util/npm.d.ts +1 -0
  161. package/lib/cli/util/npm.js +22 -0
  162. package/lib/cli/util/yargs-helpers.d.ts +22 -0
  163. package/lib/cli/util/yargs-helpers.js +49 -0
  164. package/lib/cli/version.d.ts +13 -0
  165. package/lib/cli/version.js +120 -0
  166. package/lib/commands/context.d.ts +35 -0
  167. package/lib/commands/context.js +156 -0
  168. package/lib/commands/docs.d.ts +13 -0
  169. package/lib/commands/docs.js +32 -0
  170. package/lib/commands/doctor.d.ts +1 -0
  171. package/lib/commands/doctor.js +69 -0
  172. package/lib/commands/migrate.d.ts +327 -0
  173. package/lib/commands/migrate.js +804 -0
  174. package/lib/context-providers/ami.d.ts +11 -0
  175. package/lib/context-providers/ami.js +50 -0
  176. package/lib/context-providers/availability-zones.d.ts +11 -0
  177. package/lib/context-providers/availability-zones.js +27 -0
  178. package/lib/context-providers/endpoint-service-availability-zones.d.ts +11 -0
  179. package/lib/context-providers/endpoint-service-availability-zones.js +33 -0
  180. package/lib/context-providers/hosted-zones.d.ts +10 -0
  181. package/lib/context-providers/hosted-zones.js +67 -0
  182. package/lib/context-providers/index.d.ts +30 -0
  183. package/lib/context-providers/index.js +109 -0
  184. package/lib/context-providers/keys.d.ts +11 -0
  185. package/lib/context-providers/keys.js +52 -0
  186. package/lib/context-providers/load-balancers.d.ts +20 -0
  187. package/lib/context-providers/load-balancers.js +159 -0
  188. package/lib/context-providers/security-groups.d.ts +9 -0
  189. package/lib/context-providers/security-groups.js +70 -0
  190. package/lib/context-providers/ssm-parameters.d.ts +23 -0
  191. package/lib/context-providers/ssm-parameters.js +59 -0
  192. package/lib/context-providers/vpcs.d.ts +11 -0
  193. package/lib/context-providers/vpcs.js +288 -0
  194. package/lib/diff.d.ts +28 -0
  195. package/lib/diff.js +165 -0
  196. package/lib/import.d.ts +182 -0
  197. package/lib/import.js +335 -0
  198. package/lib/index.d.ts +3 -0
  199. package/lib/index.js +348304 -0
  200. package/lib/index_bg.wasm +0 -0
  201. package/lib/init-hooks.d.ts +40 -0
  202. package/lib/init-hooks.js +64 -0
  203. package/lib/init-templates/.init-version.json +1 -0
  204. package/lib/init-templates/.no-packagejson-validator +0 -0
  205. package/lib/init-templates/.recommended-feature-flags.json +68 -0
  206. package/lib/init-templates/LICENSE +16 -0
  207. package/lib/init-templates/app/csharp/.template.gitignore +342 -0
  208. package/lib/init-templates/app/csharp/README.md +14 -0
  209. package/lib/init-templates/app/csharp/cdk.template.json +15 -0
  210. package/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj +20 -0
  211. package/lib/init-templates/app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs +13 -0
  212. package/lib/init-templates/app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs +1 -0
  213. package/lib/init-templates/app/csharp/src/%name.PascalCased%/Program.template.cs +44 -0
  214. package/lib/init-templates/app/csharp/src/%name.PascalCased%.template.sln +18 -0
  215. package/lib/init-templates/app/fsharp/.template.gitignore +342 -0
  216. package/lib/init-templates/app/fsharp/README.md +18 -0
  217. package/lib/init-templates/app/fsharp/cdk.template.json +14 -0
  218. package/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj +25 -0
  219. package/lib/init-templates/app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs +8 -0
  220. package/lib/init-templates/app/fsharp/src/%name.PascalCased%/Program.template.fs +11 -0
  221. package/lib/init-templates/app/fsharp/src/%name.PascalCased%.template.sln +18 -0
  222. package/lib/init-templates/app/go/%name%.template.go +70 -0
  223. package/lib/init-templates/app/go/%name%_test.template.go +26 -0
  224. package/lib/init-templates/app/go/.template.gitignore +19 -0
  225. package/lib/init-templates/app/go/README.md +12 -0
  226. package/lib/init-templates/app/go/cdk.template.json +13 -0
  227. package/lib/init-templates/app/go/go.template.mod +9 -0
  228. package/lib/init-templates/app/info.json +4 -0
  229. package/lib/init-templates/app/java/.template.gitignore +13 -0
  230. package/lib/init-templates/app/java/README.md +18 -0
  231. package/lib/init-templates/app/java/cdk.json +13 -0
  232. package/lib/init-templates/app/java/pom.xml +60 -0
  233. package/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java +42 -0
  234. package/lib/init-templates/app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java +24 -0
  235. package/lib/init-templates/app/java/src/test/java/com/myorg/%name.PascalCased%Test.template.java +26 -0
  236. package/lib/init-templates/app/javascript/.template.gitignore +5 -0
  237. package/lib/init-templates/app/javascript/.template.npmignore +3 -0
  238. package/lib/init-templates/app/javascript/README.md +12 -0
  239. package/lib/init-templates/app/javascript/bin/%name%.template.js +21 -0
  240. package/lib/init-templates/app/javascript/cdk.template.json +15 -0
  241. package/lib/init-templates/app/javascript/jest.config.js +3 -0
  242. package/lib/init-templates/app/javascript/lib/%name%-stack.template.js +23 -0
  243. package/lib/init-templates/app/javascript/package.json +20 -0
  244. package/lib/init-templates/app/javascript/test/%name%.test.template.js +17 -0
  245. package/lib/init-templates/app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py +19 -0
  246. package/lib/init-templates/app/python/%name.PythonModule%/__init__.py +0 -0
  247. package/lib/init-templates/app/python/.template.gitignore +10 -0
  248. package/lib/init-templates/app/python/README.template.md +58 -0
  249. package/lib/init-templates/app/python/app.template.py +28 -0
  250. package/lib/init-templates/app/python/cdk.template.json +15 -0
  251. package/lib/init-templates/app/python/requirements-dev.txt +1 -0
  252. package/lib/init-templates/app/python/requirements.txt +2 -0
  253. package/lib/init-templates/app/python/source.bat +13 -0
  254. package/lib/init-templates/app/python/tests/__init__.py +0 -0
  255. package/lib/init-templates/app/python/tests/unit/__init__.py +0 -0
  256. package/lib/init-templates/app/python/tests/unit/test_%name.PythonModule%_stack.template.py +15 -0
  257. package/lib/init-templates/app/typescript/.template.gitignore +8 -0
  258. package/lib/init-templates/app/typescript/.template.npmignore +6 -0
  259. package/lib/init-templates/app/typescript/README.md +14 -0
  260. package/lib/init-templates/app/typescript/bin/%name%.template.ts +20 -0
  261. package/lib/init-templates/app/typescript/cdk.template.json +17 -0
  262. package/lib/init-templates/app/typescript/jest.config.js +8 -0
  263. package/lib/init-templates/app/typescript/lib/%name%-stack.template.ts +16 -0
  264. package/lib/init-templates/app/typescript/package.json +26 -0
  265. package/lib/init-templates/app/typescript/test/%name%.test.template.ts +17 -0
  266. package/lib/init-templates/app/typescript/tsconfig.json +31 -0
  267. package/lib/init-templates/lib/info.json +4 -0
  268. package/lib/init-templates/lib/typescript/.template.gitignore +8 -0
  269. package/lib/init-templates/lib/typescript/.template.npmignore +6 -0
  270. package/lib/init-templates/lib/typescript/README.template.md +12 -0
  271. package/lib/init-templates/lib/typescript/jest.config.js +8 -0
  272. package/lib/init-templates/lib/typescript/lib/index.template.ts +21 -0
  273. package/lib/init-templates/lib/typescript/package.json +24 -0
  274. package/lib/init-templates/lib/typescript/test/%name%.test.template.ts +18 -0
  275. package/lib/init-templates/lib/typescript/tsconfig.json +31 -0
  276. package/lib/init-templates/sample-app/csharp/.template.gitignore +342 -0
  277. package/lib/init-templates/sample-app/csharp/README.template.md +19 -0
  278. package/lib/init-templates/sample-app/csharp/cdk.template.json +15 -0
  279. package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%.template.csproj +20 -0
  280. package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.cs +24 -0
  281. package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/GlobalSuppressions.cs +1 -0
  282. package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%/Program.template.cs +15 -0
  283. package/lib/init-templates/sample-app/csharp/src/%name.PascalCased%.template.sln +18 -0
  284. package/lib/init-templates/sample-app/fsharp/.template.gitignore +342 -0
  285. package/lib/init-templates/sample-app/fsharp/README.template.md +20 -0
  286. package/lib/init-templates/sample-app/fsharp/cdk.template.json +14 -0
  287. package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%.template.fsproj +25 -0
  288. package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/%name.PascalCased%Stack.template.fs +14 -0
  289. package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%/Program.template.fs +11 -0
  290. package/lib/init-templates/sample-app/fsharp/src/%name.PascalCased%.template.sln +18 -0
  291. package/lib/init-templates/sample-app/go/%name%.template.go +73 -0
  292. package/lib/init-templates/sample-app/go/%name%_test.template.go +25 -0
  293. package/lib/init-templates/sample-app/go/.template.gitignore +19 -0
  294. package/lib/init-templates/sample-app/go/README.md +12 -0
  295. package/lib/init-templates/sample-app/go/cdk.template.json +13 -0
  296. package/lib/init-templates/sample-app/go/go.template.mod +9 -0
  297. package/lib/init-templates/sample-app/info.json +4 -0
  298. package/lib/init-templates/sample-app/java/.template.gitignore +13 -0
  299. package/lib/init-templates/sample-app/java/README.template.md +19 -0
  300. package/lib/init-templates/sample-app/java/cdk.json +13 -0
  301. package/lib/init-templates/sample-app/java/pom.xml +55 -0
  302. package/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%App.template.java +13 -0
  303. package/lib/init-templates/sample-app/java/src/main/java/com/myorg/%name.PascalCased%Stack.template.java +29 -0
  304. package/lib/init-templates/sample-app/java/src/test/java/com/myorg/%name.PascalCased%StackTest.template.java +27 -0
  305. package/lib/init-templates/sample-app/javascript/.template.gitignore +5 -0
  306. package/lib/init-templates/sample-app/javascript/.template.npmignore +3 -0
  307. package/lib/init-templates/sample-app/javascript/README.template.md +13 -0
  308. package/lib/init-templates/sample-app/javascript/bin/%name%.template.js +6 -0
  309. package/lib/init-templates/sample-app/javascript/cdk.template.json +15 -0
  310. package/lib/init-templates/sample-app/javascript/jest.config.js +3 -0
  311. package/lib/init-templates/sample-app/javascript/lib/%name%-stack.template.js +25 -0
  312. package/lib/init-templates/sample-app/javascript/package.json +20 -0
  313. package/lib/init-templates/sample-app/javascript/test/%name%.test.template.js +16 -0
  314. package/lib/init-templates/sample-app/javascript/tsconfig.json +34 -0
  315. package/lib/init-templates/sample-app/python/%name.PythonModule%/%name.PythonModule%_stack.template.py +26 -0
  316. package/lib/init-templates/sample-app/python/%name.PythonModule%/__init__.py +0 -0
  317. package/lib/init-templates/sample-app/python/.template.gitignore +22 -0
  318. package/lib/init-templates/sample-app/python/README.template.md +65 -0
  319. package/lib/init-templates/sample-app/python/app.template.py +11 -0
  320. package/lib/init-templates/sample-app/python/cdk.template.json +15 -0
  321. package/lib/init-templates/sample-app/python/requirements-dev.txt +1 -0
  322. package/lib/init-templates/sample-app/python/requirements.txt +2 -0
  323. package/lib/init-templates/sample-app/python/source.bat +13 -0
  324. package/lib/init-templates/sample-app/python/tests/__init__.py +0 -0
  325. package/lib/init-templates/sample-app/python/tests/unit/__init__.py +0 -0
  326. package/lib/init-templates/sample-app/python/tests/unit/test_%name.PythonModule%_stack.template.py +21 -0
  327. package/lib/init-templates/sample-app/typescript/.template.gitignore +8 -0
  328. package/lib/init-templates/sample-app/typescript/.template.npmignore +6 -0
  329. package/lib/init-templates/sample-app/typescript/README.template.md +15 -0
  330. package/lib/init-templates/sample-app/typescript/bin/%name%.template.ts +6 -0
  331. package/lib/init-templates/sample-app/typescript/cdk.template.json +17 -0
  332. package/lib/init-templates/sample-app/typescript/jest.config.js +8 -0
  333. package/lib/init-templates/sample-app/typescript/lib/%name%-stack.template.ts +19 -0
  334. package/lib/init-templates/sample-app/typescript/package.json +26 -0
  335. package/lib/init-templates/sample-app/typescript/test/%name%.test.template.ts +17 -0
  336. package/lib/init-templates/sample-app/typescript/tsconfig.json +31 -0
  337. package/lib/init.d.ts +52 -0
  338. package/lib/init.js +430 -0
  339. package/lib/legacy-exports-source.d.ts +27 -0
  340. package/lib/legacy-exports-source.js +88 -0
  341. package/lib/legacy-exports.d.ts +10 -0
  342. package/lib/legacy-exports.js +28 -0
  343. package/lib/legacy-logging-source.d.ts +32 -0
  344. package/lib/legacy-logging-source.js +107 -0
  345. package/lib/list-stacks.d.ts +22 -0
  346. package/lib/list-stacks.js +23 -0
  347. package/lib/logging.d.ts +109 -0
  348. package/lib/logging.js +159 -0
  349. package/lib/migrator.d.ts +25 -0
  350. package/lib/migrator.js +67 -0
  351. package/lib/notices.d.ts +156 -0
  352. package/lib/notices.js +373 -0
  353. package/lib/os.d.ts +7 -0
  354. package/lib/os.js +92 -0
  355. package/lib/serialize.d.ts +27 -0
  356. package/lib/serialize.js +86 -0
  357. package/lib/toolkit/cli-io-host.d.ts +208 -0
  358. package/lib/toolkit/cli-io-host.js +282 -0
  359. package/lib/toolkit/error.d.ts +44 -0
  360. package/lib/toolkit/error.js +78 -0
  361. package/lib/tree.d.ts +31 -0
  362. package/lib/tree.js +40 -0
  363. package/lib/util/archive.d.ts +1 -0
  364. package/lib/util/archive.js +86 -0
  365. package/lib/util/arrays.d.ts +14 -0
  366. package/lib/util/arrays.js +36 -0
  367. package/lib/util/bool.d.ts +7 -0
  368. package/lib/util/bool.js +13 -0
  369. package/lib/util/bytes.d.ts +8 -0
  370. package/lib/util/bytes.js +21 -0
  371. package/lib/util/content-hash.d.ts +5 -0
  372. package/lib/util/content-hash.js +43 -0
  373. package/lib/util/directories.d.ts +23 -0
  374. package/lib/util/directories.js +57 -0
  375. package/lib/util/error.d.ts +9 -0
  376. package/lib/util/error.js +22 -0
  377. package/lib/util/index.d.ts +5 -0
  378. package/lib/util/index.js +22 -0
  379. package/lib/util/objects.d.ts +52 -0
  380. package/lib/util/objects.js +183 -0
  381. package/lib/util/parallel.d.ts +6 -0
  382. package/lib/util/parallel.js +44 -0
  383. package/lib/util/tables.d.ts +1 -0
  384. package/lib/util/tables.js +10 -0
  385. package/lib/util/type-brands.d.ts +39 -0
  386. package/lib/util/type-brands.js +38 -0
  387. package/lib/util/types.d.ts +27 -0
  388. package/lib/util/types.js +25 -0
  389. package/lib/util/validate-notification-arn.d.ts +4 -0
  390. package/lib/util/validate-notification-arn.js +10 -0
  391. package/lib/util/version-range.d.ts +2 -0
  392. package/lib/util/version-range.js +36 -0
  393. package/lib/util/work-graph-builder.d.ts +32 -0
  394. package/lib/util/work-graph-builder.js +167 -0
  395. package/lib/util/work-graph-types.d.ts +50 -0
  396. package/lib/util/work-graph-types.js +14 -0
  397. package/lib/util/work-graph.d.ts +70 -0
  398. package/lib/util/work-graph.js +344 -0
  399. package/lib/util/yaml-cfn.d.ts +15 -0
  400. package/lib/util/yaml-cfn.js +56 -0
  401. package/package.json +197 -0
  402. package/scripts/user-input-gen +2 -0
Binary file
@@ -0,0 +1,40 @@
1
+ export type SubstitutePlaceholders = (...fileNames: string[]) => Promise<void>;
2
+ /**
3
+ * Helpers passed to hook functions
4
+ */
5
+ export interface HookContext {
6
+ /**
7
+ * Callback function to replace placeholders on arbitrary files
8
+ *
9
+ * This makes token substitution available to non-`.template` files.
10
+ */
11
+ readonly substitutePlaceholdersIn: SubstitutePlaceholders;
12
+ /**
13
+ * Return a single placeholder
14
+ */
15
+ placeholder(name: string): string;
16
+ }
17
+ export type InvokeHook = (targetDirectory: string, context: HookContext) => Promise<void>;
18
+ export interface HookTarget {
19
+ readonly targetDirectory: string;
20
+ readonly templateName: string;
21
+ readonly language: string;
22
+ }
23
+ /**
24
+ * Invoke hooks for the given init template
25
+ *
26
+ * Sometimes templates need more complex logic than just replacing tokens. A 'hook' can be
27
+ * used to do additional processing other than copying files.
28
+ *
29
+ * Hooks used to be defined externally to the CLI, by running arbitrarily
30
+ * substituted shell scripts in the target directory.
31
+ *
32
+ * In practice, they're all TypeScript files and all the same, and the dynamism
33
+ * that the original solution allowed wasn't used at all. Worse, since the CLI
34
+ * is now bundled the hooks can't even reuse code from the CLI libraries at all
35
+ * anymore, so all shared code would have to be copy/pasted.
36
+ *
37
+ * Bundle hooks as built-ins into the CLI, so they get bundled and can take advantage
38
+ * of all shared code.
39
+ */
40
+ export declare function invokeBuiltinHooks(target: HookTarget, context: HookContext): Promise<void>;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.invokeBuiltinHooks = invokeBuiltinHooks;
4
+ const path = require("path");
5
+ const os_1 = require("./os");
6
+ const error_1 = require("./toolkit/error");
7
+ const error_2 = require("./util/error");
8
+ /**
9
+ * Invoke hooks for the given init template
10
+ *
11
+ * Sometimes templates need more complex logic than just replacing tokens. A 'hook' can be
12
+ * used to do additional processing other than copying files.
13
+ *
14
+ * Hooks used to be defined externally to the CLI, by running arbitrarily
15
+ * substituted shell scripts in the target directory.
16
+ *
17
+ * In practice, they're all TypeScript files and all the same, and the dynamism
18
+ * that the original solution allowed wasn't used at all. Worse, since the CLI
19
+ * is now bundled the hooks can't even reuse code from the CLI libraries at all
20
+ * anymore, so all shared code would have to be copy/pasted.
21
+ *
22
+ * Bundle hooks as built-ins into the CLI, so they get bundled and can take advantage
23
+ * of all shared code.
24
+ */
25
+ async function invokeBuiltinHooks(target, context) {
26
+ switch (target.language) {
27
+ case 'csharp':
28
+ if (['app', 'sample-app'].includes(target.templateName)) {
29
+ return dotnetAddProject(target.targetDirectory, context);
30
+ }
31
+ break;
32
+ case 'fsharp':
33
+ if (['app', 'sample-app'].includes(target.templateName)) {
34
+ return dotnetAddProject(target.targetDirectory, context, 'fsproj');
35
+ }
36
+ break;
37
+ case 'python':
38
+ // We can't call this file 'requirements.template.txt' because Dependabot needs to be able to find it.
39
+ // Therefore, keep the in-repo name but still substitute placeholders.
40
+ await context.substitutePlaceholdersIn('requirements.txt');
41
+ break;
42
+ case 'java':
43
+ // We can't call this file 'pom.template.xml'... for the same reason as Python above.
44
+ await context.substitutePlaceholdersIn('pom.xml');
45
+ break;
46
+ case 'javascript':
47
+ case 'typescript':
48
+ // See above, but for 'package.json'.
49
+ await context.substitutePlaceholdersIn('package.json');
50
+ }
51
+ }
52
+ async function dotnetAddProject(targetDirectory, context, ext = 'csproj') {
53
+ const pname = context.placeholder('name.PascalCased');
54
+ const slnPath = path.join(targetDirectory, 'src', `${pname}.sln`);
55
+ const csprojPath = path.join(targetDirectory, 'src', pname, `${pname}.${ext}`);
56
+ try {
57
+ await (0, os_1.shell)(['dotnet', 'sln', slnPath, 'add', csprojPath]);
58
+ }
59
+ catch (e) {
60
+ throw new error_1.ToolkitError(`Could not add project ${pname}.${ext} to solution ${pname}.sln. ${(0, error_2.formatErrorMessage)(e)}`);
61
+ }
62
+ }
63
+ ;
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdC1ob29rcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImluaXQtaG9va3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpREEsZ0RBK0JDO0FBaEZELDZCQUE2QjtBQUM3Qiw2QkFBNkI7QUFDN0IsMkNBQStDO0FBQy9DLHdDQUFrRDtBQTZCbEQ7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSSxLQUFLLFVBQVUsa0JBQWtCLENBQUMsTUFBa0IsRUFBRSxPQUFvQjtJQUMvRSxRQUFRLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixLQUFLLFFBQVE7WUFDWCxJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFDeEQsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzNELENBQUM7WUFDRCxNQUFNO1FBRVIsS0FBSyxRQUFRO1lBQ1gsSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDckUsQ0FBQztZQUNELE1BQU07UUFFUixLQUFLLFFBQVE7WUFDWCxzR0FBc0c7WUFDdEcsc0VBQXNFO1lBQ3RFLE1BQU0sT0FBTyxDQUFDLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDM0QsTUFBTTtRQUVSLEtBQUssTUFBTTtZQUNULHFGQUFxRjtZQUNyRixNQUFNLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsRCxNQUFNO1FBRVIsS0FBSyxZQUFZLENBQUM7UUFDbEIsS0FBSyxZQUFZO1lBQ2YscUNBQXFDO1lBQ3JDLE1BQU0sT0FBTyxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRTNELENBQUM7QUFDSCxDQUFDO0FBRUQsS0FBSyxVQUFVLGdCQUFnQixDQUFDLGVBQXVCLEVBQUUsT0FBb0IsRUFBRSxHQUFHLEdBQUcsUUFBUTtJQUMzRixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDdEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQztJQUNsRSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDL0UsSUFBSSxDQUFDO1FBQ0gsTUFBTSxJQUFBLFVBQUssRUFBQyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO1FBQ2hCLE1BQU0sSUFBSSxvQkFBWSxDQUFDLHlCQUF5QixLQUFLLElBQUksR0FBRyxnQkFBZ0IsS0FBSyxTQUFTLElBQUEsMEJBQWtCLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3JILENBQUM7QUFDSCxDQUFDO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBzaGVsbCB9IGZyb20gJy4vb3MnO1xuaW1wb3J0IHsgVG9vbGtpdEVycm9yIH0gZnJvbSAnLi90b29sa2l0L2Vycm9yJztcbmltcG9ydCB7IGZvcm1hdEVycm9yTWVzc2FnZSB9IGZyb20gJy4vdXRpbC9lcnJvcic7XG5cbmV4cG9ydCB0eXBlIFN1YnN0aXR1dGVQbGFjZWhvbGRlcnMgPSAoLi4uZmlsZU5hbWVzOiBzdHJpbmdbXSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuLyoqXG4gKiBIZWxwZXJzIHBhc3NlZCB0byBob29rIGZ1bmN0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEhvb2tDb250ZXh0IHtcbiAgLyoqXG4gICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIHJlcGxhY2UgcGxhY2Vob2xkZXJzIG9uIGFyYml0cmFyeSBmaWxlc1xuICAgKlxuICAgKiBUaGlzIG1ha2VzIHRva2VuIHN1YnN0aXR1dGlvbiBhdmFpbGFibGUgdG8gbm9uLWAudGVtcGxhdGVgIGZpbGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3Vic3RpdHV0ZVBsYWNlaG9sZGVyc0luOiBTdWJzdGl0dXRlUGxhY2Vob2xkZXJzO1xuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBzaW5nbGUgcGxhY2Vob2xkZXJcbiAgICovXG4gIHBsYWNlaG9sZGVyKG5hbWU6IHN0cmluZyk6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgSW52b2tlSG9vayA9ICh0YXJnZXREaXJlY3Rvcnk6IHN0cmluZywgY29udGV4dDogSG9va0NvbnRleHQpID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgSG9va1RhcmdldCB7XG4gIHJlYWRvbmx5IHRhcmdldERpcmVjdG9yeTogc3RyaW5nO1xuICByZWFkb25seSB0ZW1wbGF0ZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFuZ3VhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbnZva2UgaG9va3MgZm9yIHRoZSBnaXZlbiBpbml0IHRlbXBsYXRlXG4gKlxuICogU29tZXRpbWVzIHRlbXBsYXRlcyBuZWVkIG1vcmUgY29tcGxleCBsb2dpYyB0aGFuIGp1c3QgcmVwbGFjaW5nIHRva2Vucy4gQSAnaG9vaycgY2FuIGJlXG4gKiB1c2VkIHRvIGRvIGFkZGl0aW9uYWwgcHJvY2Vzc2luZyBvdGhlciB0aGFuIGNvcHlpbmcgZmlsZXMuXG4gKlxuICogSG9va3MgdXNlZCB0byBiZSBkZWZpbmVkIGV4dGVybmFsbHkgdG8gdGhlIENMSSwgYnkgcnVubmluZyBhcmJpdHJhcmlseVxuICogc3Vic3RpdHV0ZWQgc2hlbGwgc2NyaXB0cyBpbiB0aGUgdGFyZ2V0IGRpcmVjdG9yeS5cbiAqXG4gKiBJbiBwcmFjdGljZSwgdGhleSdyZSBhbGwgVHlwZVNjcmlwdCBmaWxlcyBhbmQgYWxsIHRoZSBzYW1lLCBhbmQgdGhlIGR5bmFtaXNtXG4gKiB0aGF0IHRoZSBvcmlnaW5hbCBzb2x1dGlvbiBhbGxvd2VkIHdhc24ndCB1c2VkIGF0IGFsbC4gV29yc2UsIHNpbmNlIHRoZSBDTElcbiAqIGlzIG5vdyBidW5kbGVkIHRoZSBob29rcyBjYW4ndCBldmVuIHJldXNlIGNvZGUgZnJvbSB0aGUgQ0xJIGxpYnJhcmllcyBhdCBhbGxcbiAqIGFueW1vcmUsIHNvIGFsbCBzaGFyZWQgY29kZSB3b3VsZCBoYXZlIHRvIGJlIGNvcHkvcGFzdGVkLlxuICpcbiAqIEJ1bmRsZSBob29rcyBhcyBidWlsdC1pbnMgaW50byB0aGUgQ0xJLCBzbyB0aGV5IGdldCBidW5kbGVkIGFuZCBjYW4gdGFrZSBhZHZhbnRhZ2VcbiAqIG9mIGFsbCBzaGFyZWQgY29kZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGludm9rZUJ1aWx0aW5Ib29rcyh0YXJnZXQ6IEhvb2tUYXJnZXQsIGNvbnRleHQ6IEhvb2tDb250ZXh0KSB7XG4gIHN3aXRjaCAodGFyZ2V0Lmxhbmd1YWdlKSB7XG4gICAgY2FzZSAnY3NoYXJwJzpcbiAgICAgIGlmIChbJ2FwcCcsICdzYW1wbGUtYXBwJ10uaW5jbHVkZXModGFyZ2V0LnRlbXBsYXRlTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGRvdG5ldEFkZFByb2plY3QodGFyZ2V0LnRhcmdldERpcmVjdG9yeSwgY29udGV4dCk7XG4gICAgICB9XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2ZzaGFycCc6XG4gICAgICBpZiAoWydhcHAnLCAnc2FtcGxlLWFwcCddLmluY2x1ZGVzKHRhcmdldC50ZW1wbGF0ZU5hbWUpKSB7XG4gICAgICAgIHJldHVybiBkb3RuZXRBZGRQcm9qZWN0KHRhcmdldC50YXJnZXREaXJlY3RvcnksIGNvbnRleHQsICdmc3Byb2onKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAncHl0aG9uJzpcbiAgICAgIC8vIFdlIGNhbid0IGNhbGwgdGhpcyBmaWxlICdyZXF1aXJlbWVudHMudGVtcGxhdGUudHh0JyBiZWNhdXNlIERlcGVuZGFib3QgbmVlZHMgdG8gYmUgYWJsZSB0byBmaW5kIGl0LlxuICAgICAgLy8gVGhlcmVmb3JlLCBrZWVwIHRoZSBpbi1yZXBvIG5hbWUgYnV0IHN0aWxsIHN1YnN0aXR1dGUgcGxhY2Vob2xkZXJzLlxuICAgICAgYXdhaXQgY29udGV4dC5zdWJzdGl0dXRlUGxhY2Vob2xkZXJzSW4oJ3JlcXVpcmVtZW50cy50eHQnKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnamF2YSc6XG4gICAgICAvLyBXZSBjYW4ndCBjYWxsIHRoaXMgZmlsZSAncG9tLnRlbXBsYXRlLnhtbCcuLi4gZm9yIHRoZSBzYW1lIHJlYXNvbiBhcyBQeXRob24gYWJvdmUuXG4gICAgICBhd2FpdCBjb250ZXh0LnN1YnN0aXR1dGVQbGFjZWhvbGRlcnNJbigncG9tLnhtbCcpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdqYXZhc2NyaXB0JzpcbiAgICBjYXNlICd0eXBlc2NyaXB0JzpcbiAgICAgIC8vIFNlZSBhYm92ZSwgYnV0IGZvciAncGFja2FnZS5qc29uJy5cbiAgICAgIGF3YWl0IGNvbnRleHQuc3Vic3RpdHV0ZVBsYWNlaG9sZGVyc0luKCdwYWNrYWdlLmpzb24nKTtcblxuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGRvdG5ldEFkZFByb2plY3QodGFyZ2V0RGlyZWN0b3J5OiBzdHJpbmcsIGNvbnRleHQ6IEhvb2tDb250ZXh0LCBleHQgPSAnY3Nwcm9qJykge1xuICBjb25zdCBwbmFtZSA9IGNvbnRleHQucGxhY2Vob2xkZXIoJ25hbWUuUGFzY2FsQ2FzZWQnKTtcbiAgY29uc3Qgc2xuUGF0aCA9IHBhdGguam9pbih0YXJnZXREaXJlY3RvcnksICdzcmMnLCBgJHtwbmFtZX0uc2xuYCk7XG4gIGNvbnN0IGNzcHJvalBhdGggPSBwYXRoLmpvaW4odGFyZ2V0RGlyZWN0b3J5LCAnc3JjJywgcG5hbWUsIGAke3BuYW1lfS4ke2V4dH1gKTtcbiAgdHJ5IHtcbiAgICBhd2FpdCBzaGVsbChbJ2RvdG5ldCcsICdzbG4nLCBzbG5QYXRoLCAnYWRkJywgY3Nwcm9qUGF0aF0pO1xuICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICB0aHJvdyBuZXcgVG9vbGtpdEVycm9yKGBDb3VsZCBub3QgYWRkIHByb2plY3QgJHtwbmFtZX0uJHtleHR9IHRvIHNvbHV0aW9uICR7cG5hbWV9LnNsbi4gJHtmb3JtYXRFcnJvck1lc3NhZ2UoZSl9YCk7XG4gIH1cbn07XG4iXX0=
@@ -0,0 +1 @@
1
+ {"aws-cdk-lib": "2.178.2", "constructs": "^10.0.0"}
File without changes
@@ -0,0 +1,68 @@
1
+ {
2
+ "@aws-cdk/aws-lambda:recognizeLayerVersion": true,
3
+ "@aws-cdk/core:checkSecretUsage": true,
4
+ "@aws-cdk/core:target-partitions": [
5
+ "aws",
6
+ "aws-cn"
7
+ ],
8
+ "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true,
9
+ "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true,
10
+ "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true,
11
+ "@aws-cdk/aws-iam:minimizePolicies": true,
12
+ "@aws-cdk/core:validateSnapshotRemovalPolicy": true,
13
+ "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true,
14
+ "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true,
15
+ "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true,
16
+ "@aws-cdk/aws-apigateway:disableCloudWatchRole": true,
17
+ "@aws-cdk/core:enablePartitionLiterals": true,
18
+ "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
19
+ "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
20
+ "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
21
+ "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
22
+ "@aws-cdk/aws-route53-patters:useCertificate": true,
23
+ "@aws-cdk/customresources:installLatestAwsSdkDefault": false,
24
+ "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true,
25
+ "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true,
26
+ "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true,
27
+ "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true,
28
+ "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true,
29
+ "@aws-cdk/aws-redshift:columnId": true,
30
+ "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true,
31
+ "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true,
32
+ "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true,
33
+ "@aws-cdk/aws-kms:aliasNameRef": true,
34
+ "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true,
35
+ "@aws-cdk/core:includePrefixInUniqueNameGeneration": true,
36
+ "@aws-cdk/aws-efs:denyAnonymousAccess": true,
37
+ "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true,
38
+ "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true,
39
+ "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true,
40
+ "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
41
+ "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
42
+ "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
43
+ "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
44
+ "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
45
+ "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
46
+ "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
47
+ "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
48
+ "@aws-cdk/aws-eks:nodegroupNameAttribute": true,
49
+ "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
50
+ "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
51
+ "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
52
+ "@aws-cdk/aws-s3:keepNotificationInImportedBucket": false,
53
+ "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false,
54
+ "@aws-cdk/aws-ecs:disableEcsImdsBlocking": true,
55
+ "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": true,
56
+ "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": true,
57
+ "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true,
58
+ "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": true,
59
+ "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": true,
60
+ "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": true,
61
+ "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": true,
62
+ "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": true,
63
+ "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": true,
64
+ "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": true,
65
+ "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": true,
66
+ "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": true,
67
+ "@aws-cdk/core:enableAdditionalMetadataCollection": true
68
+ }
@@ -0,0 +1,16 @@
1
+ MIT No Attribution
2
+
3
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this
6
+ software and associated documentation files (the "Software"), to deal in the Software
7
+ without restriction, including without limitation the rights to use, copy, modify,
8
+ merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
9
+ permit persons to whom the Software is furnished to do so.
10
+
11
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
12
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
13
+ PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
14
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
15
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
16
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,342 @@
1
+ # CDK asset staging directory
2
+ .cdk.staging
3
+ cdk.out
4
+
5
+ # Created by https://www.gitignore.io/api/csharp
6
+
7
+ ### Csharp ###
8
+ ## Ignore Visual Studio temporary files, build results, and
9
+ ## files generated by popular Visual Studio add-ons.
10
+ ##
11
+ ## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
12
+
13
+ # User-specific files
14
+ *.suo
15
+ *.user
16
+ *.userosscache
17
+ *.sln.docstates
18
+
19
+ # User-specific files (MonoDevelop/Xamarin Studio)
20
+ *.userprefs
21
+
22
+ # Build results
23
+ [Dd]ebug/
24
+ [Dd]ebugPublic/
25
+ [Rr]elease/
26
+ [Rr]eleases/
27
+ x64/
28
+ x86/
29
+ bld/
30
+ [Bb]in/
31
+ [Oo]bj/
32
+ [Ll]og/
33
+
34
+ # Visual Studio 2015/2017 cache/options directory
35
+ .vs/
36
+ # Uncomment if you have tasks that create the project's static files in wwwroot
37
+ #wwwroot/
38
+
39
+ # Visual Studio 2017 auto generated files
40
+ Generated\ Files/
41
+
42
+ # MSTest test Results
43
+ [Tt]est[Rr]esult*/
44
+ [Bb]uild[Ll]og.*
45
+
46
+ # NUNIT
47
+ *.VisualState.xml
48
+ TestResult.xml
49
+
50
+ # Build Results of an ATL Project
51
+ [Dd]ebugPS/
52
+ [Rr]eleasePS/
53
+ dlldata.c
54
+
55
+ # Benchmark Results
56
+ BenchmarkDotNet.Artifacts/
57
+
58
+ # .NET Core
59
+ project.lock.json
60
+ project.fragment.lock.json
61
+ artifacts/
62
+
63
+ # StyleCop
64
+ StyleCopReport.xml
65
+
66
+ # Files built by Visual Studio
67
+ *_i.c
68
+ *_p.c
69
+ *_i.h
70
+ *.ilk
71
+ *.meta
72
+ *.obj
73
+ *.iobj
74
+ *.pch
75
+ *.pdb
76
+ *.ipdb
77
+ *.pgc
78
+ *.pgd
79
+ *.rsp
80
+ *.sbr
81
+ *.tlb
82
+ *.tli
83
+ *.tlh
84
+ *.tmp
85
+ *.tmp_proj
86
+ *.log
87
+ *.vspscc
88
+ *.vssscc
89
+ .builds
90
+ *.pidb
91
+ *.svclog
92
+ *.scc
93
+
94
+ # Chutzpah Test files
95
+ _Chutzpah*
96
+
97
+ # Visual C++ cache files
98
+ ipch/
99
+ *.aps
100
+ *.ncb
101
+ *.opendb
102
+ *.opensdf
103
+ *.sdf
104
+ *.cachefile
105
+ *.VC.db
106
+ *.VC.VC.opendb
107
+
108
+ # Visual Studio profiler
109
+ *.psess
110
+ *.vsp
111
+ *.vspx
112
+ *.sap
113
+
114
+ # Visual Studio Trace Files
115
+ *.e2e
116
+
117
+ # TFS 2012 Local Workspace
118
+ $tf/
119
+
120
+ # Guidance Automation Toolkit
121
+ *.gpState
122
+
123
+ # ReSharper is a .NET coding add-in
124
+ _ReSharper*/
125
+ *.[Rr]e[Ss]harper
126
+ *.DotSettings.user
127
+
128
+ # JustCode is a .NET coding add-in
129
+ .JustCode
130
+
131
+ # TeamCity is a build add-in
132
+ _TeamCity*
133
+
134
+ # DotCover is a Code Coverage Tool
135
+ *.dotCover
136
+
137
+ # AxoCover is a Code Coverage Tool
138
+ .axoCover/*
139
+ !.axoCover/settings.json
140
+
141
+ # Visual Studio code coverage results
142
+ *.coverage
143
+ *.coveragexml
144
+
145
+ # NCrunch
146
+ _NCrunch_*
147
+ .*crunch*.local.xml
148
+ nCrunchTemp_*
149
+
150
+ # MightyMoose
151
+ *.mm.*
152
+ AutoTest.Net/
153
+
154
+ # Web workbench (sass)
155
+ .sass-cache/
156
+
157
+ # Installshield output folder
158
+ [Ee]xpress/
159
+
160
+ # DocProject is a documentation generator add-in
161
+ DocProject/buildhelp/
162
+ DocProject/Help/*.HxT
163
+ DocProject/Help/*.HxC
164
+ DocProject/Help/*.hhc
165
+ DocProject/Help/*.hhk
166
+ DocProject/Help/*.hhp
167
+ DocProject/Help/Html2
168
+ DocProject/Help/html
169
+
170
+ # Click-Once directory
171
+ publish/
172
+
173
+ # Publish Web Output
174
+ *.[Pp]ublish.xml
175
+ *.azurePubxml
176
+ # Note: Comment the next line if you want to checkin your web deploy settings,
177
+ # but database connection strings (with potential passwords) will be unencrypted
178
+ *.pubxml
179
+ *.publishproj
180
+
181
+ # Microsoft Azure Web App publish settings. Comment the next line if you want to
182
+ # checkin your Azure Web App publish settings, but sensitive information contained
183
+ # in these scripts will be unencrypted
184
+ PublishScripts/
185
+
186
+ # NuGet Packages
187
+ *.nupkg
188
+ # The packages folder can be ignored because of Package Restore
189
+ **/[Pp]ackages/*
190
+ # except build/, which is used as an MSBuild target.
191
+ !**/[Pp]ackages/build/
192
+ # Uncomment if necessary however generally it will be regenerated when needed
193
+ #!**/[Pp]ackages/repositories.config
194
+ # NuGet v3's project.json files produces more ignorable files
195
+ *.nuget.props
196
+ *.nuget.targets
197
+
198
+ # Microsoft Azure Build Output
199
+ csx/
200
+ *.build.csdef
201
+
202
+ # Microsoft Azure Emulator
203
+ ecf/
204
+ rcf/
205
+
206
+ # Windows Store app package directories and files
207
+ AppPackages/
208
+ BundleArtifacts/
209
+ Package.StoreAssociation.xml
210
+ _pkginfo.txt
211
+ *.appx
212
+
213
+ # Visual Studio cache files
214
+ # files ending in .cache can be ignored
215
+ *.[Cc]ache
216
+ # but keep track of directories ending in .cache
217
+ !*.[Cc]ache/
218
+
219
+ # Others
220
+ ClientBin/
221
+ ~$*
222
+ *~
223
+ *.dbmdl
224
+ *.dbproj.schemaview
225
+ *.jfm
226
+ *.pfx
227
+ *.publishsettings
228
+ orleans.codegen.cs
229
+
230
+ # Including strong name files can present a security risk
231
+ # (https://github.com/github/gitignore/pull/2483#issue-259490424)
232
+ #*.snk
233
+
234
+ # Since there are multiple workflows, uncomment next line to ignore bower_components
235
+ # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
236
+ #bower_components/
237
+
238
+ # RIA/Silverlight projects
239
+ Generated_Code/
240
+
241
+ # Backup & report files from converting an old project file
242
+ # to a newer Visual Studio version. Backup files are not needed,
243
+ # because we have git ;-)
244
+ _UpgradeReport_Files/
245
+ Backup*/
246
+ UpgradeLog*.XML
247
+ UpgradeLog*.htm
248
+ ServiceFabricBackup/
249
+ *.rptproj.bak
250
+
251
+ # SQL Server files
252
+ *.mdf
253
+ *.ldf
254
+ *.ndf
255
+
256
+ # Business Intelligence projects
257
+ *.rdl.data
258
+ *.bim.layout
259
+ *.bim_*.settings
260
+ *.rptproj.rsuser
261
+
262
+ # Microsoft Fakes
263
+ FakesAssemblies/
264
+
265
+ # GhostDoc plugin setting file
266
+ *.GhostDoc.xml
267
+
268
+ # Node.js Tools for Visual Studio
269
+ .ntvs_analysis.dat
270
+ node_modules/
271
+
272
+ # Visual Studio 6 build log
273
+ *.plg
274
+
275
+ # Visual Studio 6 workspace options file
276
+ *.opt
277
+
278
+ # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
279
+ *.vbw
280
+
281
+ # Visual Studio LightSwitch build output
282
+ **/*.HTMLClient/GeneratedArtifacts
283
+ **/*.DesktopClient/GeneratedArtifacts
284
+ **/*.DesktopClient/ModelManifest.xml
285
+ **/*.Server/GeneratedArtifacts
286
+ **/*.Server/ModelManifest.xml
287
+ _Pvt_Extensions
288
+
289
+ # Paket dependency manager
290
+ .paket/paket.exe
291
+ paket-files/
292
+
293
+ # FAKE - F# Make
294
+ .fake/
295
+
296
+ # JetBrains Rider
297
+ .idea/
298
+ *.sln.iml
299
+
300
+ # CodeRush
301
+ .cr/
302
+
303
+ # Python Tools for Visual Studio (PTVS)
304
+ __pycache__/
305
+ *.pyc
306
+
307
+ # Cake - Uncomment if you are using it
308
+ # tools/**
309
+ # !tools/packages.config
310
+
311
+ # Tabs Studio
312
+ *.tss
313
+
314
+ # Telerik's JustMock configuration file
315
+ *.jmconfig
316
+
317
+ # BizTalk build output
318
+ *.btp.cs
319
+ *.btm.cs
320
+ *.odx.cs
321
+ *.xsd.cs
322
+
323
+ # OpenCover UI analysis results
324
+ OpenCover/
325
+
326
+ # Azure Stream Analytics local run output
327
+ ASALocalRun/
328
+
329
+ # MSBuild Binary and Structured Log
330
+ *.binlog
331
+
332
+ # NVidia Nsight GPU debugger configuration file
333
+ *.nvuser
334
+
335
+ # MFractors (Xamarin productivity tool) working folder
336
+ .mfractor/
337
+
338
+ # Local History for Visual Studio
339
+ .localhistory/
340
+
341
+
342
+ # End of https://www.gitignore.io/api/csharp
@@ -0,0 +1,14 @@
1
+ # Welcome to your CDK C# project!
2
+
3
+ This is a blank project for CDK development with C#.
4
+
5
+ The `cdk.json` file tells the CDK Toolkit how to execute your app.
6
+
7
+ It uses the [.NET CLI](https://docs.microsoft.com/dotnet/articles/core/) to compile and execute your project.
8
+
9
+ ## Useful commands
10
+
11
+ * `dotnet build src` compile this app
12
+ * `cdk deploy` deploy this stack to your default AWS account/region
13
+ * `cdk diff` compare deployed stack with current state
14
+ * `cdk synth` emits the synthesized CloudFormation template
@@ -0,0 +1,15 @@
1
+ {
2
+ "app": "dotnet run --project src/%name.PascalCased%/%name.PascalCased%.csproj",
3
+ "watch": {
4
+ "include": ["**"],
5
+ "exclude": [
6
+ "README.md",
7
+ "cdk*.json",
8
+ "src/*/obj",
9
+ "src/*/bin",
10
+ "src/*.sln",
11
+ "src/*/GlobalSuppressions.cs",
12
+ "src/*/*.csproj"
13
+ ]
14
+ }
15
+ }
@@ -0,0 +1,20 @@
1
+ <Project Sdk="Microsoft.NET.Sdk">
2
+
3
+ <PropertyGroup>
4
+ <OutputType>Exe</OutputType>
5
+ <TargetFramework>net8.0</TargetFramework>
6
+ <!-- Roll forward to future major versions of the netcoreapp as needed -->
7
+ <RollForward>Major</RollForward>
8
+ </PropertyGroup>
9
+
10
+ <ItemGroup>
11
+ <!-- CDK Construct Library dependencies -->
12
+ <PackageReference Include="Amazon.CDK.Lib" Version="%cdk-version%" />
13
+ <PackageReference Include="Constructs" Version="%constructs-version%" />
14
+
15
+ <!-- jsii Roslyn analyzers (un-comment to obtain compile-time checks for missing required props
16
+ <PackageReference Include="Amazon.Jsii.Analyzers" Version="*" PrivateAssets="all" />
17
+ -->
18
+ </ItemGroup>
19
+
20
+ </Project>
@@ -0,0 +1,13 @@
1
+ using Amazon.CDK;
2
+ using Constructs;
3
+
4
+ namespace %name.PascalCased%
5
+ {
6
+ public class %name.PascalCased%Stack : Stack
7
+ {
8
+ internal %name.PascalCased%Stack(Construct scope, string id, IStackProps props = null) : base(scope, id, props)
9
+ {
10
+ // The code that defines your stack goes here
11
+ }
12
+ }
13
+ }
@@ -0,0 +1 @@
1
+ [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Potential Code Quality Issues", "RECS0026:Possible unassigned object created by 'new'", Justification = "Constructs add themselves to the scope in which they are created")]
@@ -0,0 +1,44 @@
1
+ using Amazon.CDK;
2
+ using System;
3
+ using System.Collections.Generic;
4
+ using System.Linq;
5
+
6
+ namespace %PascalNameSpace%
7
+ {
8
+ sealed class Program
9
+ {
10
+ public static void Main(string[] args)
11
+ {
12
+ var app = new App();
13
+ new %name.PascalCased%Stack(app, "%stackname%", new %PascalStackProps%
14
+ {
15
+ // If you don't specify 'env', this stack will be environment-agnostic.
16
+ // Account/Region-dependent features and context lookups will not work,
17
+ // but a single synthesized template can be deployed anywhere.
18
+
19
+ // Uncomment the next block to specialize this stack for the AWS Account
20
+ // and Region that are implied by the current CLI configuration.
21
+ /*
22
+ Env = new Amazon.CDK.Environment
23
+ {
24
+ Account = System.Environment.GetEnvironmentVariable("CDK_DEFAULT_ACCOUNT"),
25
+ Region = System.Environment.GetEnvironmentVariable("CDK_DEFAULT_REGION"),
26
+ }
27
+ */
28
+
29
+ // Uncomment the next block if you know exactly what Account and Region you
30
+ // want to deploy the stack to.
31
+ /*
32
+ Env = new Amazon.CDK.Environment
33
+ {
34
+ Account = "123456789012",
35
+ Region = "us-east-1",
36
+ }
37
+ */
38
+
39
+ // For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html
40
+ });
41
+ app.Synth();
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,18 @@
1
+ 
2
+ Microsoft Visual Studio Solution File, Format Version 12.00
3
+ # Visual Studio 15
4
+ VisualStudioVersion = 15.0.26124.0
5
+ MinimumVisualStudioVersion = 15.0.26124.0
6
+ Global
7
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
8
+ Debug|Any CPU = Debug|Any CPU
9
+ Debug|x64 = Debug|x64
10
+ Debug|x86 = Debug|x86
11
+ Release|Any CPU = Release|Any CPU
12
+ Release|x64 = Release|x64
13
+ Release|x86 = Release|x86
14
+ EndGlobalSection
15
+ GlobalSection(SolutionProperties) = preSolution
16
+ HideSolutionNode = FALSE
17
+ EndGlobalSection
18
+ EndGlobal