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,594 @@
1
+ import { Configuration } from './user-configuration';
2
+ import { SdkProvider } from '../api/aws-auth';
3
+ import { BootstrapEnvironmentOptions } from '../api/bootstrap';
4
+ import { CloudAssembly, StackSelector } from '../api/cxapp/cloud-assembly';
5
+ import { CloudExecutable } from '../api/cxapp/cloud-executable';
6
+ import { Deployments, DeploymentMethod } from '../api/deployments';
7
+ import { HotswapMode } from '../api/hotswap/common';
8
+ import { CloudWatchLogEventMonitor } from '../api/logs/logs-monitor';
9
+ import { type Tag } from '../api/tags';
10
+ import { StackActivityProgress } from '../api/util/cloudformation/stack-activity-monitor';
11
+ import { FromScan } from '../commands/migrate';
12
+ import { RequireApproval } from '../diff';
13
+ import { CliIoHost } from '../toolkit/cli-io-host';
14
+ export declare function markTesting(): void;
15
+ export interface CdkToolkitProps {
16
+ /**
17
+ * The Cloud Executable
18
+ */
19
+ cloudExecutable: CloudExecutable;
20
+ /**
21
+ * The provisioning engine used to apply changes to the cloud
22
+ */
23
+ deployments: Deployments;
24
+ /**
25
+ * The CliIoHost that's used for I/O operations
26
+ */
27
+ ioHost?: CliIoHost;
28
+ /**
29
+ * Whether to be verbose
30
+ *
31
+ * @default false
32
+ */
33
+ verbose?: boolean;
34
+ /**
35
+ * Don't stop on error metadata
36
+ *
37
+ * @default false
38
+ */
39
+ ignoreErrors?: boolean;
40
+ /**
41
+ * Treat warnings in metadata as errors
42
+ *
43
+ * @default false
44
+ */
45
+ strict?: boolean;
46
+ /**
47
+ * Application configuration (settings and context)
48
+ */
49
+ configuration: Configuration;
50
+ /**
51
+ * AWS object (used by synthesizer and contextprovider)
52
+ */
53
+ sdkProvider: SdkProvider;
54
+ }
55
+ /**
56
+ * When to build assets
57
+ */
58
+ export declare enum AssetBuildTime {
59
+ /**
60
+ * Build all assets before deploying the first stack
61
+ *
62
+ * This is intended for expensive Docker image builds; so that if the Docker image build
63
+ * fails, no stacks are unnecessarily deployed (with the attendant wait time).
64
+ */
65
+ ALL_BEFORE_DEPLOY = 0,
66
+ /**
67
+ * Build assets just-in-time, before publishing
68
+ */
69
+ JUST_IN_TIME = 1
70
+ }
71
+ /**
72
+ * Toolkit logic
73
+ *
74
+ * The toolkit runs the `cloudExecutable` to obtain a cloud assembly and
75
+ * deploys applies them to `cloudFormation`.
76
+ */
77
+ export declare class CdkToolkit {
78
+ private readonly props;
79
+ private ioHost;
80
+ constructor(props: CdkToolkitProps);
81
+ metadata(stackName: string, json: boolean): Promise<void>;
82
+ acknowledge(noticeId: string): Promise<void>;
83
+ diff(options: DiffOptions): Promise<number>;
84
+ deploy(options: DeployOptions): Promise<void>;
85
+ /**
86
+ * Roll back the given stack or stacks.
87
+ */
88
+ rollback(options: RollbackOptions): Promise<void>;
89
+ watch(options: WatchOptions): Promise<void>;
90
+ import(options: ImportOptions): Promise<void>;
91
+ destroy(options: DestroyOptions): Promise<void>;
92
+ list(selectors: string[], options?: {
93
+ long?: boolean;
94
+ json?: boolean;
95
+ showDeps?: boolean;
96
+ }): Promise<number>;
97
+ /**
98
+ * Synthesize the given set of stacks (called when the user runs 'cdk synth')
99
+ *
100
+ * INPUT: Stack names can be supplied using a glob filter. If no stacks are
101
+ * given, all stacks from the application are implicitly selected.
102
+ *
103
+ * OUTPUT: If more than one stack ends up being selected, an output directory
104
+ * should be supplied, where the templates will be written.
105
+ */
106
+ synth(stackNames: string[], exclusively: boolean, quiet: boolean, autoValidate?: boolean, json?: boolean): Promise<any>;
107
+ /**
108
+ * Bootstrap the CDK Toolkit stack in the accounts used by the specified stack(s).
109
+ *
110
+ * @param userEnvironmentSpecs environment names that need to have toolkit support
111
+ * provisioned, as a glob filter. If none is provided, all stacks are implicitly selected.
112
+ * @param options The name, role ARN, bootstrapping parameters, etc. to be used for the CDK Toolkit stack.
113
+ */
114
+ bootstrap(userEnvironmentSpecs: string[], options: BootstrapEnvironmentOptions): Promise<void>;
115
+ /**
116
+ * Garbage collects assets from a CDK app's environment
117
+ * @param options Options for Garbage Collection
118
+ */
119
+ garbageCollect(userEnvironmentSpecs: string[], options: GarbageCollectionOptions): Promise<void>;
120
+ private defineEnvironments;
121
+ /**
122
+ * Migrates a CloudFormation stack/template to a CDK app
123
+ * @param options Options for CDK app creation
124
+ */
125
+ migrate(options: MigrateOptions): Promise<void>;
126
+ private selectStacksForList;
127
+ private selectStacksForDeploy;
128
+ private selectStacksForDiff;
129
+ private selectStacksForDestroy;
130
+ /**
131
+ * Validate the stacks for errors and warnings according to the CLI's current settings
132
+ */
133
+ private validateStacks;
134
+ /**
135
+ * Validate that if a user specified a stack name there exists at least 1 stack selected
136
+ */
137
+ private validateStacksSelected;
138
+ /**
139
+ * Select a single stack by its name
140
+ */
141
+ private selectSingleStackByName;
142
+ assembly(cacheCloudAssembly?: boolean): Promise<CloudAssembly>;
143
+ private patternsArrayForWatch;
144
+ private invokeDeployFromWatch;
145
+ /**
146
+ * Remove the asset publishing and building from the work graph for assets that are already in place
147
+ */
148
+ private removePublishedAssets;
149
+ }
150
+ export interface DiffOptions {
151
+ /**
152
+ * Stack names to diff
153
+ */
154
+ stackNames: string[];
155
+ /**
156
+ * Name of the toolkit stack, if not the default name
157
+ *
158
+ * @default 'CDKToolkit'
159
+ */
160
+ readonly toolkitStackName?: string;
161
+ /**
162
+ * Only select the given stack
163
+ *
164
+ * @default false
165
+ */
166
+ exclusively?: boolean;
167
+ /**
168
+ * Used a template from disk instead of from the server
169
+ *
170
+ * @default Use from the server
171
+ */
172
+ templatePath?: string;
173
+ /**
174
+ * Strict diff mode
175
+ *
176
+ * @default false
177
+ */
178
+ strict?: boolean;
179
+ /**
180
+ * How many lines of context to show in the diff
181
+ *
182
+ * @default 3
183
+ */
184
+ contextLines?: number;
185
+ /**
186
+ * Where to write the default
187
+ *
188
+ * @default stderr
189
+ */
190
+ stream?: NodeJS.WritableStream;
191
+ /**
192
+ * Whether to fail with exit code 1 in case of diff
193
+ *
194
+ * @default false
195
+ */
196
+ fail?: boolean;
197
+ /**
198
+ * Only run diff on broadened security changes
199
+ *
200
+ * @default false
201
+ */
202
+ securityOnly?: boolean;
203
+ /**
204
+ * Whether to run the diff against the template after the CloudFormation Transforms inside it have been executed
205
+ * (as opposed to the original template, the default, which contains the unprocessed Transforms).
206
+ *
207
+ * @default false
208
+ */
209
+ compareAgainstProcessedTemplate?: boolean;
210
+ quiet?: boolean;
211
+ /**
212
+ * Additional parameters for CloudFormation at diff time, used to create a change set
213
+ * @default {}
214
+ */
215
+ parameters?: {
216
+ [name: string]: string | undefined;
217
+ };
218
+ /**
219
+ * Whether or not to create, analyze, and subsequently delete a changeset
220
+ *
221
+ * @default true
222
+ */
223
+ changeSet?: boolean;
224
+ }
225
+ interface CfnDeployOptions {
226
+ /**
227
+ * Criteria for selecting stacks to deploy
228
+ */
229
+ selector: StackSelector;
230
+ /**
231
+ * Name of the toolkit stack to use/deploy
232
+ *
233
+ * @default CDKToolkit
234
+ */
235
+ toolkitStackName?: string;
236
+ /**
237
+ * Role to pass to CloudFormation for deployment
238
+ */
239
+ roleArn?: string;
240
+ /**
241
+ * Optional name to use for the CloudFormation change set.
242
+ * If not provided, a name will be generated automatically.
243
+ *
244
+ * @deprecated Use 'deploymentMethod' instead
245
+ */
246
+ changeSetName?: string;
247
+ /**
248
+ * Whether to execute the ChangeSet
249
+ * Not providing `execute` parameter will result in execution of ChangeSet
250
+ *
251
+ * @default true
252
+ * @deprecated Use 'deploymentMethod' instead
253
+ */
254
+ execute?: boolean;
255
+ /**
256
+ * Deployment method
257
+ */
258
+ readonly deploymentMethod?: DeploymentMethod;
259
+ /**
260
+ * Display mode for stack deployment progress.
261
+ *
262
+ * @default - StackActivityProgress.Bar - stack events will be displayed for
263
+ * the resource currently being deployed.
264
+ */
265
+ progress?: StackActivityProgress;
266
+ /**
267
+ * Rollback failed deployments
268
+ *
269
+ * @default true
270
+ */
271
+ readonly rollback?: boolean;
272
+ }
273
+ interface WatchOptions extends Omit<CfnDeployOptions, 'execute'> {
274
+ /**
275
+ * Only select the given stack
276
+ *
277
+ * @default false
278
+ */
279
+ exclusively?: boolean;
280
+ /**
281
+ * Reuse the assets with the given asset IDs
282
+ */
283
+ reuseAssets?: string[];
284
+ /**
285
+ * Always deploy, even if templates are identical.
286
+ * @default false
287
+ */
288
+ force?: boolean;
289
+ /**
290
+ * Whether to perform a 'hotswap' deployment.
291
+ * A 'hotswap' deployment will attempt to short-circuit CloudFormation
292
+ * and update the affected resources like Lambda functions directly.
293
+ *
294
+ * @default - `HotswapMode.FALL_BACK` for regular deployments, `HotswapMode.HOTSWAP_ONLY` for 'watch' deployments
295
+ */
296
+ readonly hotswap: HotswapMode;
297
+ /**
298
+ * The extra string to append to the User-Agent header when performing AWS SDK calls.
299
+ *
300
+ * @default - nothing extra is appended to the User-Agent header
301
+ */
302
+ readonly extraUserAgent?: string;
303
+ /**
304
+ * Whether to show CloudWatch logs for hotswapped resources
305
+ * locally in the users terminal
306
+ *
307
+ * @default - false
308
+ */
309
+ readonly traceLogs?: boolean;
310
+ /**
311
+ * Maximum number of simultaneous deployments (dependency permitting) to execute.
312
+ * The default is '1', which executes all deployments serially.
313
+ *
314
+ * @default 1
315
+ */
316
+ readonly concurrency?: number;
317
+ }
318
+ export interface DeployOptions extends CfnDeployOptions, WatchOptions {
319
+ /**
320
+ * ARNs of SNS topics that CloudFormation will notify with stack related events
321
+ */
322
+ notificationArns?: string[];
323
+ /**
324
+ * What kind of security changes require approval
325
+ *
326
+ * @default RequireApproval.Broadening
327
+ */
328
+ requireApproval?: RequireApproval;
329
+ /**
330
+ * Tags to pass to CloudFormation for deployment
331
+ */
332
+ tags?: Tag[];
333
+ /**
334
+ * Additional parameters for CloudFormation at deploy time
335
+ * @default {}
336
+ */
337
+ parameters?: {
338
+ [name: string]: string | undefined;
339
+ };
340
+ /**
341
+ * Use previous values for unspecified parameters
342
+ *
343
+ * If not set, all parameters must be specified for every deployment.
344
+ *
345
+ * @default true
346
+ */
347
+ usePreviousParameters?: boolean;
348
+ /**
349
+ * Path to file where stack outputs will be written after a successful deploy as JSON
350
+ * @default - Outputs are not written to any file
351
+ */
352
+ outputsFile?: string;
353
+ /**
354
+ * Whether we are on a CI system
355
+ *
356
+ * @default false
357
+ */
358
+ readonly ci?: boolean;
359
+ /**
360
+ * Whether this 'deploy' command should actually delegate to the 'watch' command.
361
+ *
362
+ * @default false
363
+ */
364
+ readonly watch?: boolean;
365
+ /**
366
+ * Whether we should cache the Cloud Assembly after the first time it has been synthesized.
367
+ * The default is 'true', we only don't want to do it in case the deployment is triggered by
368
+ * 'cdk watch'.
369
+ *
370
+ * @default true
371
+ */
372
+ readonly cacheCloudAssembly?: boolean;
373
+ /**
374
+ * Allows adding CloudWatch log groups to the log monitor via
375
+ * cloudWatchLogMonitor.setLogGroups();
376
+ *
377
+ * @default - not monitoring CloudWatch logs
378
+ */
379
+ readonly cloudWatchLogMonitor?: CloudWatchLogEventMonitor;
380
+ /**
381
+ * Maximum number of simultaneous deployments (dependency permitting) to execute.
382
+ * The default is '1', which executes all deployments serially.
383
+ *
384
+ * @default 1
385
+ */
386
+ readonly concurrency?: number;
387
+ /**
388
+ * Build/publish assets for a single stack in parallel
389
+ *
390
+ * Independent of whether stacks are being done in parallel or no.
391
+ *
392
+ * @default true
393
+ */
394
+ readonly assetParallelism?: boolean;
395
+ /**
396
+ * When to build assets
397
+ *
398
+ * The default is the Docker-friendly default.
399
+ *
400
+ * @default AssetBuildTime.ALL_BEFORE_DEPLOY
401
+ */
402
+ readonly assetBuildTime?: AssetBuildTime;
403
+ /**
404
+ * Whether to deploy if the app contains no stacks.
405
+ *
406
+ * @default false
407
+ */
408
+ readonly ignoreNoStacks?: boolean;
409
+ }
410
+ export interface RollbackOptions {
411
+ /**
412
+ * Criteria for selecting stacks to deploy
413
+ */
414
+ readonly selector: StackSelector;
415
+ /**
416
+ * Name of the toolkit stack to use/deploy
417
+ *
418
+ * @default CDKToolkit
419
+ */
420
+ readonly toolkitStackName?: string;
421
+ /**
422
+ * Role to pass to CloudFormation for deployment
423
+ *
424
+ * @default - Default stack role
425
+ */
426
+ readonly roleArn?: string;
427
+ /**
428
+ * Whether to force the rollback or not
429
+ *
430
+ * @default false
431
+ */
432
+ readonly force?: boolean;
433
+ /**
434
+ * Logical IDs of resources to orphan
435
+ *
436
+ * @default - No orphaning
437
+ */
438
+ readonly orphanLogicalIds?: string[];
439
+ /**
440
+ * Whether to validate the version of the bootstrap stack permissions
441
+ *
442
+ * @default true
443
+ */
444
+ readonly validateBootstrapStackVersion?: boolean;
445
+ }
446
+ export interface ImportOptions extends CfnDeployOptions {
447
+ /**
448
+ * Build a physical resource mapping and write it to the given file, without performing the actual import operation
449
+ *
450
+ * @default - No file
451
+ */
452
+ readonly recordResourceMapping?: string;
453
+ /**
454
+ * Path to a file with the physical resource mapping to CDK constructs in JSON format
455
+ *
456
+ * @default - No mapping file
457
+ */
458
+ readonly resourceMappingFile?: string;
459
+ /**
460
+ * Allow non-addition changes to the template
461
+ *
462
+ * @default false
463
+ */
464
+ readonly force?: boolean;
465
+ }
466
+ export interface DestroyOptions {
467
+ /**
468
+ * Criteria for selecting stacks to deploy
469
+ */
470
+ selector: StackSelector;
471
+ /**
472
+ * Whether to exclude stacks that depend on the stacks to be deleted
473
+ */
474
+ exclusively: boolean;
475
+ /**
476
+ * Whether to skip prompting for confirmation
477
+ */
478
+ force: boolean;
479
+ /**
480
+ * The arn of the IAM role to use
481
+ */
482
+ roleArn?: string;
483
+ /**
484
+ * Whether the destroy request came from a deploy.
485
+ */
486
+ fromDeploy?: boolean;
487
+ /**
488
+ * Whether we are on a CI system
489
+ *
490
+ * @default false
491
+ */
492
+ readonly ci?: boolean;
493
+ }
494
+ /**
495
+ * Options for the garbage collection
496
+ */
497
+ export interface GarbageCollectionOptions {
498
+ /**
499
+ * The action to perform.
500
+ *
501
+ * @default 'full'
502
+ */
503
+ readonly action: 'print' | 'tag' | 'delete-tagged' | 'full';
504
+ /**
505
+ * The type of the assets to be garbage collected.
506
+ *
507
+ * @default 'all'
508
+ */
509
+ readonly type: 's3' | 'ecr' | 'all';
510
+ /**
511
+ * Elapsed time between an asset being marked as isolated and actually deleted.
512
+ *
513
+ * @default 0
514
+ */
515
+ readonly rollbackBufferDays: number;
516
+ /**
517
+ * Refuse deletion of any assets younger than this number of days.
518
+ */
519
+ readonly createdBufferDays: number;
520
+ /**
521
+ * The stack name of the bootstrap stack.
522
+ *
523
+ * @default DEFAULT_TOOLKIT_STACK_NAME
524
+ */
525
+ readonly bootstrapStackName?: string;
526
+ /**
527
+ * Skips the prompt before actual deletion begins
528
+ *
529
+ * @default false
530
+ */
531
+ readonly confirm?: boolean;
532
+ }
533
+ export interface MigrateOptions {
534
+ /**
535
+ * The name assigned to the generated stack. This is also used to get
536
+ * the stack from the user's account if `--from-stack` is used.
537
+ */
538
+ readonly stackName: string;
539
+ /**
540
+ * The target language for the generated the CDK app.
541
+ *
542
+ * @default typescript
543
+ */
544
+ readonly language?: string;
545
+ /**
546
+ * The local path of the template used to generate the CDK app.
547
+ *
548
+ * @default - Local path is not used for the template source.
549
+ */
550
+ readonly fromPath?: string;
551
+ /**
552
+ * Whether to get the template from an existing CloudFormation stack.
553
+ *
554
+ * @default false
555
+ */
556
+ readonly fromStack?: boolean;
557
+ /**
558
+ * The output path at which to create the CDK app.
559
+ *
560
+ * @default - The current directory
561
+ */
562
+ readonly outputPath?: string;
563
+ /**
564
+ * The account from which to retrieve the template of the CloudFormation stack.
565
+ *
566
+ * @default - Uses the account for the credentials in use by the user.
567
+ */
568
+ readonly account?: string;
569
+ /**
570
+ * The region from which to retrieve the template of the CloudFormation stack.
571
+ *
572
+ * @default - Uses the default region for the credentials in use by the user.
573
+ */
574
+ readonly region?: string;
575
+ /**
576
+ * Filtering criteria used to select the resources to be included in the generated CDK app.
577
+ *
578
+ * @default - Include all resources
579
+ */
580
+ readonly filter?: string[];
581
+ /**
582
+ * Whether to initiate a new account scan for generating the CDK app.
583
+ *
584
+ * @default false
585
+ */
586
+ readonly fromScan?: FromScan;
587
+ /**
588
+ * Whether to zip the generated cdk app folder.
589
+ *
590
+ * @default false
591
+ */
592
+ readonly compress?: boolean;
593
+ }
594
+ export {};