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
@@ -0,0 +1,55 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
3
+ xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
4
+ <modelVersion>4.0.0</modelVersion>
5
+ <groupId>com.myorg</groupId>
6
+ <artifactId>%name%</artifactId>
7
+ <version>0.1</version>
8
+ <properties>
9
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
10
+ <cdk.version>%cdk-version%</cdk.version>
11
+ <constructs.version>%constructs-version%</constructs.version>
12
+ <junit.version>5.7.1</junit.version>
13
+ </properties>
14
+ <build>
15
+ <plugins>
16
+ <plugin>
17
+ <groupId>org.apache.maven.plugins</groupId>
18
+ <artifactId>maven-compiler-plugin</artifactId>
19
+ <version>3.11.0</version>
20
+ <configuration>
21
+ <release>17</release>
22
+ </configuration>
23
+ </plugin>
24
+
25
+ <plugin>
26
+ <groupId>org.codehaus.mojo</groupId>
27
+ <artifactId>exec-maven-plugin</artifactId>
28
+ <version>3.1.0</version>
29
+ <configuration>
30
+ <mainClass>com.myorg.%name.PascalCased%App</mainClass>
31
+ </configuration>
32
+ </plugin>
33
+ </plugins>
34
+ </build>
35
+ <dependencies>
36
+ <!-- AWS Cloud Development Kit -->
37
+ <dependency>
38
+ <groupId>software.amazon.awscdk</groupId>
39
+ <artifactId>aws-cdk-lib</artifactId>
40
+ <version>${cdk.version}</version>
41
+ </dependency>
42
+ <dependency>
43
+ <groupId>software.constructs</groupId>
44
+ <artifactId>constructs</artifactId>
45
+ <version>${constructs.version}</version>
46
+ </dependency>
47
+
48
+ <dependency>
49
+ <groupId>org.junit.jupiter</groupId>
50
+ <artifactId>junit-jupiter</artifactId>
51
+ <version>${junit.version}</version>
52
+ <scope>test</scope>
53
+ </dependency>
54
+ </dependencies>
55
+ </project>
@@ -0,0 +1,13 @@
1
+ package com.myorg;
2
+
3
+ import software.amazon.awscdk.App;
4
+
5
+ public final class %name.PascalCased%App {
6
+ public static void main(final String[] args) {
7
+ App app = new App();
8
+
9
+ new %name.PascalCased%Stack(app, "%stackname%");
10
+
11
+ app.synth();
12
+ }
13
+ }
@@ -0,0 +1,29 @@
1
+ package com.myorg;
2
+
3
+ import software.constructs.Construct;
4
+ import software.amazon.awscdk.Duration;
5
+ import software.amazon.awscdk.Stack;
6
+ import software.amazon.awscdk.StackProps;
7
+ import software.amazon.awscdk.services.sns.Topic;
8
+ import software.amazon.awscdk.services.sns.subscriptions.SqsSubscription;
9
+ import software.amazon.awscdk.services.sqs.Queue;
10
+
11
+ public class %name.PascalCased%Stack extends Stack {
12
+ public %name.PascalCased%Stack(final Construct parent, final String id) {
13
+ this(parent, id, null);
14
+ }
15
+
16
+ public %name.PascalCased%Stack(final Construct parent, final String id, final StackProps props) {
17
+ super(parent, id, props);
18
+
19
+ final Queue queue = Queue.Builder.create(this, "%name.PascalCased%Queue")
20
+ .visibilityTimeout(Duration.seconds(300))
21
+ .build();
22
+
23
+ final Topic topic = Topic.Builder.create(this, "%name.PascalCased%Topic")
24
+ .displayName("My First Topic Yeah")
25
+ .build();
26
+
27
+ topic.addSubscription(new SqsSubscription(queue));
28
+ }
29
+ }
@@ -0,0 +1,27 @@
1
+ package com.myorg;
2
+
3
+ import software.amazon.awscdk.App;
4
+ import software.amazon.awscdk.assertions.Template;
5
+ import software.amazon.awscdk.assertions.Match;
6
+ import java.io.IOException;
7
+
8
+ import java.util.HashMap;
9
+
10
+ import org.junit.jupiter.api.Test;
11
+
12
+ public class %name.PascalCased%StackTest {
13
+
14
+ @Test
15
+ public void testStack() throws IOException {
16
+ App app = new App();
17
+ %name.PascalCased%Stack stack = new %name.PascalCased%Stack(app, "test");
18
+
19
+ Template template = Template.fromStack(stack);
20
+
21
+ template.hasResourceProperties("AWS::SQS::Queue", new HashMap<String, Number>() {{
22
+ put("VisibilityTimeout", 300);
23
+ }});
24
+
25
+ template.resourceCountIs("AWS::SNS::Topic", 1);
26
+ }
27
+ }
@@ -0,0 +1,5 @@
1
+ node_modules
2
+
3
+ # CDK asset staging directory
4
+ .cdk.staging
5
+ cdk.out
@@ -0,0 +1,3 @@
1
+ # CDK asset staging directory
2
+ .cdk.staging
3
+ cdk.out
@@ -0,0 +1,13 @@
1
+ # Welcome to your CDK JavaScript project
2
+
3
+ You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PascalCased%Stack`)
4
+ which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
5
+
6
+ The `cdk.json` file tells the CDK Toolkit how to execute your app. The build step is not required when using JavaScript.
7
+
8
+ ## Useful commands
9
+
10
+ * `npm run test` perform the jest unit tests
11
+ * `cdk deploy` deploy this stack to your default AWS account/region
12
+ * `cdk diff` compare deployed stack with current state
13
+ * `cdk synth` emits the synthesized CloudFormation template
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ const cdk = require('aws-cdk-lib');
3
+ const { %name.PascalCased%Stack } = require('../lib/%name%-stack');
4
+
5
+ const app = new cdk.App();
6
+ new %name.PascalCased%Stack(app, '%stackname%');
@@ -0,0 +1,15 @@
1
+ {
2
+ "app": "node bin/%name%.js",
3
+ "watch": {
4
+ "include": ["**"],
5
+ "exclude": [
6
+ "README.md",
7
+ "cdk*.json",
8
+ "jest.config.js",
9
+ "package*.json",
10
+ "yarn.lock",
11
+ "node_modules",
12
+ "test"
13
+ ]
14
+ }
15
+ }
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ testEnvironment: 'node'
3
+ }
@@ -0,0 +1,25 @@
1
+ const cdk = require('aws-cdk-lib');
2
+ const sns = require('aws-cdk-lib/aws-sns');
3
+ const subs = require('aws-cdk-lib/aws-sns-subscriptions');
4
+ const sqs = require('aws-cdk-lib/aws-sqs');
5
+
6
+ class %name.PascalCased%Stack extends cdk.Stack {
7
+ /**
8
+ * @param {cdk.App} scope
9
+ * @param {string} id
10
+ * @param {cdk.StackProps=} props
11
+ */
12
+ constructor(scope, id, props) {
13
+ super(scope, id, props);
14
+
15
+ const queue = new sqs.Queue(this, '%name.PascalCased%Queue', {
16
+ visibilityTimeout: cdk.Duration.seconds(300)
17
+ });
18
+
19
+ const topic = new sns.Topic(this, '%name.PascalCased%Topic');
20
+
21
+ topic.addSubscription(new subs.SqsSubscription(queue));
22
+ }
23
+ }
24
+
25
+ module.exports = { %name.PascalCased%Stack }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "%name%",
3
+ "version": "0.1.0",
4
+ "bin": {
5
+ "%name%": "bin/%name%.js"
6
+ },
7
+ "scripts": {
8
+ "build": "echo \"The build step is not required when using JavaScript!\" && exit 0",
9
+ "cdk": "cdk",
10
+ "test": "jest"
11
+ },
12
+ "devDependencies": {
13
+ "aws-cdk": "%cdk-version%",
14
+ "jest": "^29.7.0"
15
+ },
16
+ "dependencies": {
17
+ "aws-cdk-lib": "%cdk-version%",
18
+ "constructs": "%constructs-version%"
19
+ }
20
+ }
@@ -0,0 +1,16 @@
1
+ const cdk = require('aws-cdk-lib');
2
+ const { Match, Template } = require('aws-cdk-lib/assertions');
3
+ const %name.PascalCased% = require('../lib/%name%-stack');
4
+
5
+ test('SQS Queue and SNS Topic Created', () => {
6
+ const app = new cdk.App();
7
+ // WHEN
8
+ const stack = new %name.PascalCased%.%name.PascalCased%Stack(app, 'MyTestStack');
9
+ // THEN
10
+ const template = Template.fromStack(stack);
11
+ template.hasResourceProperties('AWS::SQS::Queue', {
12
+ VisibilityTimeout: 300,
13
+ });
14
+
15
+ template.resourceCountIs('AWS::SNS::Topic', 1);
16
+ });
@@ -0,0 +1,34 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "module": "commonjs",
5
+ "lib": [
6
+ "es2020",
7
+ "dom"
8
+ ],
9
+ "declaration": true,
10
+ "strict": true,
11
+ "noImplicitAny": true,
12
+ "strictNullChecks": true,
13
+ "noImplicitThis": true,
14
+ "alwaysStrict": true,
15
+ "noUnusedLocals": true,
16
+ "noUnusedParameters": true,
17
+ "noImplicitReturns": true,
18
+ "noFallthroughCasesInSwitch": false,
19
+ "inlineSourceMap": true,
20
+ "inlineSources": true,
21
+ "experimentalDecorators": true,
22
+ "strictPropertyInitialization": false,
23
+ "allowJs": true,
24
+ "checkJs": true,
25
+ "noEmit": true,
26
+ "typeRoots": [
27
+ "./node_modules/@types"
28
+ ]
29
+ },
30
+ "exclude": [
31
+ "node_modules",
32
+ "cdk.out"
33
+ ]
34
+ }
@@ -0,0 +1,26 @@
1
+ from constructs import Construct
2
+ from aws_cdk import (
3
+ Duration,
4
+ Stack,
5
+ aws_iam as iam,
6
+ aws_sqs as sqs,
7
+ aws_sns as sns,
8
+ aws_sns_subscriptions as subs,
9
+ )
10
+
11
+
12
+ class %name.PascalCased%Stack(Stack):
13
+
14
+ def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
15
+ super().__init__(scope, construct_id, **kwargs)
16
+
17
+ queue = sqs.Queue(
18
+ self, "%name.PascalCased%Queue",
19
+ visibility_timeout=Duration.seconds(300),
20
+ )
21
+
22
+ topic = sns.Topic(
23
+ self, "%name.PascalCased%Topic"
24
+ )
25
+
26
+ topic.add_subscription(subs.SqsSubscription(queue))
@@ -0,0 +1,22 @@
1
+ *.swp
2
+ package-lock.json
3
+ .pytest_cache
4
+ *.egg-info
5
+
6
+ # Byte-compiled / optimized / DLL files
7
+ __pycache__/
8
+ *.py[cod]
9
+ *$py.class
10
+
11
+ # Environments
12
+ .env
13
+ .venv
14
+ env/
15
+ venv/
16
+ ENV/
17
+ env.bak/
18
+ venv.bak/
19
+
20
+ # CDK Context & Staging files
21
+ .cdk.staging/
22
+ cdk.out/
@@ -0,0 +1,65 @@
1
+
2
+ # Welcome to your CDK Python project!
3
+
4
+ You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PythonModule%_stack`)
5
+ which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
6
+
7
+ The `cdk.json` file tells the CDK Toolkit how to execute your app.
8
+
9
+ This project is set up like a standard Python project. The initialization process also creates
10
+ a virtualenv within this project, stored under the .venv directory. To create the virtualenv
11
+ it assumes that there is a `python3` executable in your path with access to the `venv` package.
12
+ If for any reason the automatic creation of the virtualenv fails, you can create the virtualenv
13
+ manually once the init process completes.
14
+
15
+ To manually create a virtualenv on MacOS and Linux:
16
+
17
+ ```
18
+ $ %python-executable% -m venv .venv
19
+ ```
20
+
21
+ After the init process completes and the virtualenv is created, you can use the following
22
+ step to activate your virtualenv.
23
+
24
+ ```
25
+ $ source .venv/bin/activate
26
+ ```
27
+
28
+ If you are a Windows platform, you would activate the virtualenv like this:
29
+
30
+ ```
31
+ % .venv\Scripts\activate.bat
32
+ ```
33
+
34
+ Once the virtualenv is activated, you can install the required dependencies.
35
+
36
+ ```
37
+ $ pip install -r requirements.txt
38
+ ```
39
+
40
+ At this point you can now synthesize the CloudFormation template for this code.
41
+
42
+ ```
43
+ $ cdk synth
44
+ ```
45
+
46
+ You can now begin exploring the source code, contained in the hello directory.
47
+ There is also a very trivial test included that can be run like this:
48
+
49
+ ```
50
+ $ pytest
51
+ ```
52
+
53
+ To add additional dependencies, for example other CDK libraries, just add to
54
+ your requirements.txt file and rerun the `pip install -r requirements.txt`
55
+ command.
56
+
57
+ ## Useful commands
58
+
59
+ * `cdk ls` list all stacks in the app
60
+ * `cdk synth` emits the synthesized CloudFormation template
61
+ * `cdk deploy` deploy this stack to your default AWS account/region
62
+ * `cdk diff` compare deployed stack with current state
63
+ * `cdk docs` open CDK documentation
64
+
65
+ Enjoy!
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env python3
2
+
3
+ import aws_cdk as cdk
4
+
5
+ from %name.PythonModule%.%name.PythonModule%_stack import %name.PascalCased%Stack
6
+
7
+
8
+ app = cdk.App()
9
+ %name.PascalCased%Stack(app, "%stackname%")
10
+
11
+ app.synth()
@@ -0,0 +1,15 @@
1
+ {
2
+ "app": "%python-executable% app.py",
3
+ "watch": {
4
+ "include": ["**"],
5
+ "exclude": [
6
+ "README.md",
7
+ "cdk*.json",
8
+ "requirements*.txt",
9
+ "source.bat",
10
+ "**/__init__.py",
11
+ "python/__pycache__",
12
+ "tests"
13
+ ]
14
+ }
15
+ }
@@ -0,0 +1,2 @@
1
+ aws-cdk-lib==%cdk-version%
2
+ constructs%constructs-version%
@@ -0,0 +1,13 @@
1
+ @echo off
2
+
3
+ rem The sole purpose of this script is to make the command
4
+ rem
5
+ rem source .venv/bin/activate
6
+ rem
7
+ rem (which activates a Python virtualenv on Linux or Mac OS X) work on Windows.
8
+ rem On Windows, this command just runs this batch file (the argument is ignored).
9
+ rem
10
+ rem Now we don't need to document a Windows command for activating a virtualenv.
11
+
12
+ echo Executing .venv\Scripts\activate.bat for you
13
+ .venv\Scripts\activate.bat
@@ -0,0 +1,21 @@
1
+ import aws_cdk as core
2
+ import aws_cdk.assertions as assertions
3
+ from %name.PythonModule%.%name.PythonModule%_stack import %name.PascalCased%Stack
4
+
5
+
6
+ def test_sqs_queue_created():
7
+ app = core.App()
8
+ stack = %name.PascalCased%Stack(app, "%name.StackName%")
9
+ template = assertions.Template.from_stack(stack)
10
+
11
+ template.has_resource_properties("AWS::SQS::Queue", {
12
+ "VisibilityTimeout": 300
13
+ })
14
+
15
+
16
+ def test_sns_topic_created():
17
+ app = core.App()
18
+ stack = %name.PascalCased%Stack(app, "%name.StackName%")
19
+ template = assertions.Template.from_stack(stack)
20
+
21
+ template.resource_count_is("AWS::SNS::Topic", 1)
@@ -0,0 +1,8 @@
1
+ *.js
2
+ !jest.config.js
3
+ *.d.ts
4
+ node_modules
5
+
6
+ # CDK asset staging directory
7
+ .cdk.staging
8
+ cdk.out
@@ -0,0 +1,6 @@
1
+ *.ts
2
+ !*.d.ts
3
+
4
+ # CDK asset staging directory
5
+ .cdk.staging
6
+ cdk.out
@@ -0,0 +1,15 @@
1
+ # Welcome to your CDK TypeScript project
2
+
3
+ You should explore the contents of this project. It demonstrates a CDK app with an instance of a stack (`%name.PascalCased%Stack`)
4
+ which contains an Amazon SQS queue that is subscribed to an Amazon SNS topic.
5
+
6
+ The `cdk.json` file tells the CDK Toolkit how to execute your app.
7
+
8
+ ## Useful commands
9
+
10
+ * `npm run build` compile typescript to js
11
+ * `npm run watch` watch for changes and compile
12
+ * `npm run test` perform the jest unit tests
13
+ * `cdk deploy` deploy this stack to your default AWS account/region
14
+ * `cdk diff` compare deployed stack with current state
15
+ * `cdk synth` emits the synthesized CloudFormation template
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env node
2
+ import * as cdk from 'aws-cdk-lib';
3
+ import { %name.PascalCased%Stack } from '../lib/%name%-stack';
4
+
5
+ const app = new cdk.App();
6
+ new %name.PascalCased%Stack(app, '%stackname%');
@@ -0,0 +1,17 @@
1
+ {
2
+ "app": "npx ts-node --prefer-ts-exts bin/%name%.ts",
3
+ "watch": {
4
+ "include": ["**"],
5
+ "exclude": [
6
+ "README.md",
7
+ "cdk*.json",
8
+ "**/*.d.ts",
9
+ "**/*.js",
10
+ "tsconfig.json",
11
+ "package*.json",
12
+ "yarn.lock",
13
+ "node_modules",
14
+ "test"
15
+ ]
16
+ }
17
+ }
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ testEnvironment: 'node',
3
+ roots: ['<rootDir>/test'],
4
+ testMatch: ['**/*.test.ts'],
5
+ transform: {
6
+ '^.+\\.tsx?$': 'ts-jest'
7
+ }
8
+ };
@@ -0,0 +1,19 @@
1
+ import { Duration, Stack, StackProps } from 'aws-cdk-lib';
2
+ import * as sns from 'aws-cdk-lib/aws-sns';
3
+ import * as subs from 'aws-cdk-lib/aws-sns-subscriptions';
4
+ import * as sqs from 'aws-cdk-lib/aws-sqs';
5
+ import { Construct } from 'constructs';
6
+
7
+ export class %name.PascalCased%Stack extends Stack {
8
+ constructor(scope: Construct, id: string, props?: StackProps) {
9
+ super(scope, id, props);
10
+
11
+ const queue = new sqs.Queue(this, '%name.PascalCased%Queue', {
12
+ visibilityTimeout: Duration.seconds(300)
13
+ });
14
+
15
+ const topic = new sns.Topic(this, '%name.PascalCased%Topic');
16
+
17
+ topic.addSubscription(new subs.SqsSubscription(queue));
18
+ }
19
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "%name%",
3
+ "version": "0.1.0",
4
+ "bin": {
5
+ "%name%": "bin/%name%.js"
6
+ },
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "watch": "tsc -w",
10
+ "test": "jest",
11
+ "cdk": "cdk"
12
+ },
13
+ "devDependencies": {
14
+ "@types/jest": "^29.5.14",
15
+ "@types/node": "22.7.9",
16
+ "jest": "^29.7.0",
17
+ "ts-jest": "^29.2.5",
18
+ "aws-cdk": "%cdk-version%",
19
+ "ts-node": "^10.9.2",
20
+ "typescript": "~5.6.3"
21
+ },
22
+ "dependencies": {
23
+ "aws-cdk-lib": "%cdk-version%",
24
+ "constructs": "%constructs-version%"
25
+ }
26
+ }
@@ -0,0 +1,17 @@
1
+ import * as cdk from 'aws-cdk-lib';
2
+ import { Template, Match } from 'aws-cdk-lib/assertions';
3
+ import * as %name.PascalCased% from '../lib/%name%-stack';
4
+
5
+ test('SQS Queue and SNS Topic Created', () => {
6
+ const app = new cdk.App();
7
+ // WHEN
8
+ const stack = new %name.PascalCased%.%name.PascalCased%Stack(app, 'MyTestStack');
9
+ // THEN
10
+
11
+ const template = Template.fromStack(stack);
12
+
13
+ template.hasResourceProperties('AWS::SQS::Queue', {
14
+ VisibilityTimeout: 300
15
+ });
16
+ template.resourceCountIs('AWS::SNS::Topic', 1);
17
+ });
@@ -0,0 +1,31 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "module": "commonjs",
5
+ "lib": [
6
+ "es2020",
7
+ "dom"
8
+ ],
9
+ "declaration": true,
10
+ "strict": true,
11
+ "noImplicitAny": true,
12
+ "strictNullChecks": true,
13
+ "noImplicitThis": true,
14
+ "alwaysStrict": true,
15
+ "noUnusedLocals": false,
16
+ "noUnusedParameters": false,
17
+ "noImplicitReturns": true,
18
+ "noFallthroughCasesInSwitch": false,
19
+ "inlineSourceMap": true,
20
+ "inlineSources": true,
21
+ "experimentalDecorators": true,
22
+ "strictPropertyInitialization": false,
23
+ "typeRoots": [
24
+ "./node_modules/@types"
25
+ ]
26
+ },
27
+ "exclude": [
28
+ "node_modules",
29
+ "cdk.out"
30
+ ]
31
+ }