@kensio/yulin 1.21.3 → 1.21.5

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 (650) hide show
  1. package/dist/service/athena/engine/sim-athena-column-types.d.ts +2 -0
  2. package/dist/service/athena/engine/sim-athena-column-types.js +4 -0
  3. package/dist/service/athena/engine/sim-athena-delimited-format.d.ts +7 -0
  4. package/dist/service/athena/engine/sim-athena-delimited-format.js +51 -0
  5. package/dist/service/athena/engine/sim-athena-engine-result.js +5 -0
  6. package/dist/service/athena/engine/sim-athena-engine-run.d.ts +22 -2
  7. package/dist/service/athena/engine/sim-athena-engine-run.js +21 -31
  8. package/dist/service/athena/engine/sim-athena-loaded-tables.d.ts +10 -0
  9. package/dist/service/athena/engine/sim-athena-loaded-tables.js +35 -0
  10. package/dist/service/athena/engine/sim-athena-parquet-module.d.ts +25 -0
  11. package/dist/service/athena/engine/sim-athena-parquet-module.js +39 -0
  12. package/dist/service/athena/engine/sim-athena-parquet-records.d.ts +13 -0
  13. package/dist/service/athena/engine/sim-athena-parquet-records.js +57 -0
  14. package/dist/service/athena/engine/sim-athena-query-engine.d.ts +23 -5
  15. package/dist/service/athena/engine/sim-athena-query-engine.js +31 -10
  16. package/dist/service/athena/engine/sim-athena-record-reader.d.ts +12 -6
  17. package/dist/service/athena/engine/sim-athena-record-reader.js +28 -53
  18. package/dist/service/athena/engine/sim-athena-sql-translation.d.ts +15 -9
  19. package/dist/service/athena/engine/sim-athena-sql-translation.js +25 -13
  20. package/dist/service/athena/engine/sim-athena-sqlite-values.d.ts +5 -0
  21. package/dist/service/athena/engine/sim-athena-sqlite-values.js +24 -1
  22. package/dist/service/athena/engine/sim-athena-table-objects.d.ts +7 -2
  23. package/dist/service/athena/engine/sim-athena-table-objects.js +8 -4
  24. package/dist/service/athena/engine/sim-athena-table-rows.js +4 -3
  25. package/dist/service/athena/engine/sim-athena-turn-down.d.ts +26 -0
  26. package/dist/service/athena/engine/sim-athena-turn-down.js +43 -0
  27. package/dist/service/athena/execution/sim-athena-query-completion.d.ts +3 -1
  28. package/dist/service/athena/execution/sim-athena-query-completion.js +7 -1
  29. package/dist/service/athena/index.d.ts +1 -1
  30. package/dist/service/athena/index.js +1 -1
  31. package/dist/service/athena/result/sim-athena-query-answer.d.ts +12 -0
  32. package/dist/service/athena/result/sim-athena-query-answer.js +26 -4
  33. package/dist/service/athena/sim-athena-answered-query.fixture.d.ts +2 -0
  34. package/dist/service/athena/sim-athena-answered-query.fixture.js +1 -0
  35. package/dist/service/athena/sim-athena-engine.fixture.d.ts +20 -0
  36. package/dist/service/athena/sim-athena-engine.fixture.js +34 -0
  37. package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.d.ts +23 -0
  38. package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.js +37 -0
  39. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +18 -13
  40. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +16 -24
  41. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +2 -0
  42. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +1 -0
  43. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +7 -0
  44. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +13 -1
  45. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +6 -0
  46. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +7 -1
  47. package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.d.ts +50 -0
  48. package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.js +71 -0
  49. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +6 -1
  50. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts +5 -0
  51. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +7 -0
  52. package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.d.ts +12 -0
  53. package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.js +16 -7
  54. package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.d.ts +9 -0
  55. package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.js +12 -0
  56. package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.d.ts +42 -0
  57. package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.js +69 -0
  58. package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.d.ts +62 -0
  59. package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.js +89 -0
  60. package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.d.ts +31 -0
  61. package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.js +59 -0
  62. package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.d.ts +21 -0
  63. package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.js +19 -0
  64. package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.d.ts +17 -0
  65. package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.js +18 -0
  66. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.d.ts +18 -0
  67. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.js +13 -0
  68. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.d.ts +45 -0
  69. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.js +52 -0
  70. package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.d.ts +12 -0
  71. package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.js +21 -0
  72. package/dist/service/cloudformation/changeset/sim-cfn-change-set.d.ts +54 -0
  73. package/dist/service/cloudformation/changeset/sim-cfn-change-set.js +49 -0
  74. package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.d.ts +35 -0
  75. package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.js +1 -0
  76. package/dist/service/cloudformation/changeset/sim-cfn-change-sets.d.ts +53 -0
  77. package/dist/service/cloudformation/changeset/sim-cfn-change-sets.js +83 -0
  78. package/dist/service/cloudformation/command/create-change-set/create-change-set.command.d.ts +32 -0
  79. package/dist/service/cloudformation/command/create-change-set/create-change-set.command.js +1 -0
  80. package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.d.ts +38 -0
  81. package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.js +80 -0
  82. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +3 -0
  83. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +16 -13
  84. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.d.ts +22 -0
  85. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.js +1 -0
  86. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.d.ts +27 -0
  87. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.js +35 -0
  88. package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +6 -0
  89. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +11 -0
  90. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +15 -1
  91. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.d.ts +48 -0
  92. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.js +1 -0
  93. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.d.ts +23 -0
  94. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.js +52 -0
  95. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts +3 -0
  96. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +8 -4
  97. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +18 -6
  98. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +22 -7
  99. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +1 -1
  100. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.d.ts +25 -0
  101. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.js +1 -0
  102. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.d.ts +31 -0
  103. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.js +37 -0
  104. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.d.ts +36 -0
  105. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.js +1 -0
  106. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.d.ts +26 -0
  107. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.js +39 -0
  108. package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.d.ts +31 -0
  109. package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.js +52 -0
  110. package/dist/service/cloudformation/command/update-stack/update-stack-template.d.ts +22 -0
  111. package/dist/service/cloudformation/command/update-stack/update-stack-template.js +34 -0
  112. package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +17 -1
  113. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +6 -0
  114. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +15 -16
  115. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
  116. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-options-deployed.d.ts +10 -0
  117. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-options-deployed.js +14 -0
  118. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +11 -1
  119. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +3 -2
  120. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +5 -8
  121. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +0 -14
  122. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +9 -0
  123. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +2 -0
  124. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +10 -0
  125. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
  126. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
  127. package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts +21 -0
  128. package/dist/service/cloudformation/error/sim-cloudformation.error.js +25 -0
  129. package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.d.ts +7 -0
  130. package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.js +3 -1
  131. package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +9 -0
  132. package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +12 -0
  133. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +4 -0
  134. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +10 -0
  135. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.d.ts +44 -0
  136. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.js +33 -0
  137. package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +15 -0
  138. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +21 -1
  139. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +9 -7
  140. package/dist/service/cloudformation/resource/sim-cfn-resource.js +11 -11
  141. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +8 -0
  142. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +3 -3
  143. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +3 -3
  144. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
  145. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +9 -0
  146. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.d.ts +37 -0
  147. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.js +77 -0
  148. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.d.ts +51 -0
  149. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.js +10 -0
  150. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.d.ts +11 -0
  151. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.js +34 -0
  152. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.d.ts +21 -0
  153. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.js +31 -0
  154. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.d.ts +14 -0
  155. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.js +1 -0
  156. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.d.ts +26 -0
  157. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.js +58 -0
  158. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.d.ts +18 -0
  159. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.js +89 -0
  160. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.d.ts +15 -0
  161. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.js +65 -0
  162. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.d.ts +13 -0
  163. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.js +60 -0
  164. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.d.ts +13 -0
  165. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.js +50 -0
  166. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.d.ts +13 -0
  167. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.js +30 -0
  168. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.d.ts +26 -0
  169. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.js +44 -0
  170. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.d.ts +15 -0
  171. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.js +59 -0
  172. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.d.ts +11 -0
  173. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.js +43 -0
  174. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.d.ts +15 -0
  175. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.js +67 -0
  176. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.d.ts +26 -0
  177. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.js +61 -0
  178. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.d.ts +18 -0
  179. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.js +59 -0
  180. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +1 -1
  181. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +4 -0
  182. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +12 -5
  183. package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api-template.factory.js +1 -1
  184. package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api.js +7 -3
  185. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-api-event.js +7 -3
  186. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.d.ts +26 -0
  187. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.js +88 -0
  188. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +12 -0
  189. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +1 -0
  190. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +8 -5
  191. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +23 -1
  192. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +9 -2
  193. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +5 -3
  194. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +6 -1
  195. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +7 -1
  196. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.d.ts +19 -0
  197. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.js +69 -0
  198. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +5 -0
  199. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +3 -1
  200. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.d.ts +8 -0
  201. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.js +8 -0
  202. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +1 -4
  203. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +6 -4
  204. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +2 -4
  205. package/dist/service/cloudformation/sam/sim-cfn-sam-error.d.ts +31 -0
  206. package/dist/service/cloudformation/sam/sim-cfn-sam-error.js +17 -0
  207. package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +11 -6
  208. package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +20 -0
  209. package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +4 -3
  210. package/dist/service/cloudformation/serve/sim-cloudformation-api.js +6 -3
  211. package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.d.ts +10 -0
  212. package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.js +94 -0
  213. package/dist/service/cloudformation/sim-cloudformation.d.ts +31 -0
  214. package/dist/service/cloudformation/sim-cloudformation.js +56 -9
  215. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
  216. package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.d.ts +20 -0
  217. package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.js +23 -0
  218. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +6 -0
  219. package/dist/service/cloudformation/stack/sim-cfn-stack-deploy-context.d.ts +47 -0
  220. package/dist/service/cloudformation/stack/sim-cfn-stack-deploy-context.js +46 -0
  221. package/dist/service/cloudformation/stack/sim-cfn-stack-id.d.ts +30 -0
  222. package/dist/service/cloudformation/stack/sim-cfn-stack-id.js +24 -0
  223. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +53 -20
  224. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +79 -32
  225. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
  226. package/dist/service/cloudformation/stack/sim-cfn-stack.js +60 -32
  227. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +21 -1
  228. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +7 -1
  229. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +3 -1
  230. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
  231. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
  232. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +3 -0
  233. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
  234. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.d.ts +18 -0
  235. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.js +30 -0
  236. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.d.ts +9 -0
  237. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.js +14 -0
  238. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +25 -14
  239. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +41 -24
  240. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +9 -0
  241. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +14 -0
  242. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +6 -1
  243. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +12 -3
  244. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +29 -3
  245. package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.d.ts +28 -0
  246. package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.js +39 -0
  247. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +25 -1
  248. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +43 -11
  249. package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.d.ts +7 -0
  250. package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.js +29 -3
  251. package/dist/service/cloudformation/template/sim-cfn-command-template.d.ts +40 -0
  252. package/dist/service/cloudformation/template/sim-cfn-command-template.js +45 -0
  253. package/dist/service/cloudformation/template/sim-cfn-template.d.ts +7 -0
  254. package/dist/service/cloudformation/template/sim-cfn-template.js +15 -1
  255. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +2 -0
  256. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +49 -0
  257. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +1 -0
  258. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +1 -0
  259. package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +1 -1
  260. package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.d.ts +5 -0
  261. package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.js +17 -0
  262. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +5 -5
  263. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +24 -8
  264. package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.d.ts +11 -8
  265. package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.js +20 -8
  266. package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +2 -0
  267. package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
  268. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +14 -4
  269. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +16 -4
  270. package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.d.ts +17 -0
  271. package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.js +39 -0
  272. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.d.ts +28 -0
  273. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.js +50 -0
  274. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +12 -5
  275. package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts +3 -3
  276. package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +3 -4
  277. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.d.ts +5 -16
  278. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.js +4 -21
  279. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.d.ts +15 -0
  280. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.js +18 -1
  281. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.d.ts +13 -0
  282. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.js +15 -0
  283. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +2 -0
  284. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +5 -3
  285. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.d.ts +21 -0
  286. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.js +37 -0
  287. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +6 -0
  288. package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
  289. package/dist/service/lambda/command/create-function/create-function.handler.js +5 -1
  290. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +2 -3
  291. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +1 -0
  292. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +6 -0
  293. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +10 -0
  294. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +2 -6
  295. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +1 -0
  296. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
  297. package/dist/service/lambda/command/function-url/function-url-cors-constraints.d.ts +25 -0
  298. package/dist/service/lambda/command/function-url/function-url-cors-constraints.js +49 -0
  299. package/dist/service/lambda/command/function-url/function-url-cors-input.d.ts +25 -0
  300. package/dist/service/lambda/command/function-url/function-url-cors-input.js +57 -0
  301. package/dist/service/lambda/command/function-url/function-url-input.d.ts +7 -0
  302. package/dist/service/lambda/command/function-url/function-url-input.js +9 -0
  303. package/dist/service/lambda/command/invoke/async/sim-lambda-async-invocation.js +10 -13
  304. package/dist/service/lambda/command/invoke/async/sim-lambda-async-outcome.js +2 -0
  305. package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.d.ts +13 -0
  306. package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.js +12 -0
  307. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +2 -0
  308. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +1 -0
  309. package/dist/service/lambda/destination/deliver/sim-lambda-destination-bus.js +1 -1
  310. package/dist/service/lambda/destination/deliver/sim-lambda-destination-function.js +8 -12
  311. package/dist/service/lambda/destination/deliver/sim-lambda-destination-queue.js +4 -3
  312. package/dist/service/lambda/destination/deliver/sim-lambda-destination-send.d.ts +2 -0
  313. package/dist/service/lambda/destination/deliver/sim-lambda-destination-topic.js +4 -3
  314. package/dist/service/lambda/destination/sim-aws-lambda-destinations.d.ts +4 -6
  315. package/dist/service/lambda/destination/sim-aws-lambda-destinations.js +6 -6
  316. package/dist/service/lambda/destination/sim-lambda-destination-targets.d.ts +3 -0
  317. package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +4 -9
  318. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +4 -9
  319. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +22 -3
  320. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +39 -9
  321. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +7 -6
  322. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +14 -12
  323. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +9 -15
  324. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +9 -16
  325. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +10 -6
  326. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +22 -12
  327. package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.d.ts +23 -0
  328. package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.js +18 -0
  329. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +12 -13
  330. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +24 -17
  331. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.d.ts +64 -0
  332. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.js +86 -0
  333. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +6 -0
  334. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +8 -1
  335. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +6 -0
  336. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +7 -0
  337. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +11 -1
  338. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +13 -0
  339. package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.d.ts +39 -0
  340. package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.js +46 -0
  341. package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.d.ts +56 -0
  342. package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.js +110 -0
  343. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts +5 -0
  344. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js +7 -1
  345. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts +6 -0
  346. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js +6 -0
  347. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +6 -1
  348. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +8 -6
  349. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +10 -8
  350. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +18 -1
  351. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +8 -2
  352. package/dist/service/lambda/function/code/sim-lambda-executable-code.js +2 -1
  353. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +2 -11
  354. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +13 -39
  355. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +7 -0
  356. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +13 -7
  357. package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.d.ts +23 -0
  358. package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.js +42 -0
  359. package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.d.ts +12 -4
  360. package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.js +15 -5
  361. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +7 -0
  362. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +6 -2
  363. package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.d.ts +26 -0
  364. package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.js +84 -0
  365. package/dist/service/lambda/function/invoke/sim-lambda-invocation.d.ts +44 -0
  366. package/dist/service/lambda/function/invoke/sim-lambda-invocation.js +44 -0
  367. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +6 -0
  368. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +1 -2
  369. package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +6 -1
  370. package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +19 -6
  371. package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.d.ts +15 -0
  372. package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.js +18 -0
  373. package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.d.ts +12 -0
  374. package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.js +28 -0
  375. package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.d.ts +46 -0
  376. package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.js +104 -0
  377. package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.d.ts +24 -0
  378. package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.js +27 -0
  379. package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.d.ts +43 -0
  380. package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.js +112 -0
  381. package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.d.ts +57 -0
  382. package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.js +79 -0
  383. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.d.ts +10 -0
  384. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.js +15 -0
  385. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.d.ts +11 -0
  386. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.js +24 -0
  387. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.d.ts +50 -0
  388. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.js +43 -0
  389. package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +17 -0
  390. package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +12 -1
  391. package/dist/service/lambda/function/logging/sim-lambda-output.d.ts +56 -0
  392. package/dist/service/lambda/function/logging/sim-lambda-output.js +62 -0
  393. package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.d.ts +8 -0
  394. package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.js +27 -1
  395. package/dist/service/lambda/function/sim-lambda-function.d.ts +1 -1
  396. package/dist/service/lambda/function/sim-lambda-function.js +11 -9
  397. package/dist/service/lambda/function/sim-lambda-function.type.d.ts +15 -0
  398. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.d.ts +16 -0
  399. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.d.ts +22 -0
  400. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.js +17 -0
  401. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.js +1 -0
  402. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +2 -0
  403. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +2 -1
  404. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +2 -0
  405. package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +16 -0
  406. package/dist/service/lambda/function/url/sim-lambda-function-url.js +16 -1
  407. package/dist/service/lambda/index.d.ts +1 -0
  408. package/dist/service/lambda/index.js +1 -0
  409. package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.d.ts +50 -0
  410. package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.js +96 -0
  411. package/dist/service/lambda/serve/sim-lambda-controller.d.ts +14 -0
  412. package/dist/service/lambda/serve/sim-lambda-controller.js +27 -0
  413. package/dist/service/lambda/sim-lambda-commands.d.ts +10 -0
  414. package/dist/service/lambda/sim-lambda-commands.js +11 -0
  415. package/dist/service/lambda/sim-lambda.d.ts +12 -0
  416. package/dist/service/lambda/sim-lambda.js +13 -0
  417. package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.d.ts +67 -0
  418. package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.js +69 -0
  419. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +4 -31
  420. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +7 -6
  421. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +5 -0
  422. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +8 -4
  423. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +1 -14
  424. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +16 -8
  425. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.d.ts +41 -0
  426. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.js +1 -0
  427. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +14 -0
  428. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +32 -2
  429. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.d.ts +33 -0
  430. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.js +48 -0
  431. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.d.ts +16 -0
  432. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.js +44 -0
  433. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +8 -0
  434. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +27 -0
  435. package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
  436. package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +5 -0
  437. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -3
  438. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +3 -0
  439. package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -2
  440. package/dist/service/s3/bucket/sim-s3-bucket-configuration.d.ts +84 -0
  441. package/dist/service/s3/bucket/sim-s3-bucket-configuration.js +115 -0
  442. package/dist/service/s3/bucket/sim-s3-bucket-maker.d.ts +31 -0
  443. package/dist/service/s3/bucket/sim-s3-bucket-maker.js +41 -0
  444. package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +10 -0
  445. package/dist/service/s3/bucket/sim-s3-bucket-objects.js +18 -0
  446. package/dist/service/s3/bucket/sim-s3-bucket-properties.d.ts +41 -0
  447. package/dist/service/s3/bucket/sim-s3-bucket-properties.js +1 -0
  448. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -83
  449. package/dist/service/s3/bucket/sim-s3-bucket.js +14 -83
  450. package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +6 -0
  451. package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +20 -6
  452. package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.d.ts +58 -0
  453. package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.js +73 -0
  454. package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +19 -1
  455. package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +20 -0
  456. package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.d.ts +21 -0
  457. package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.js +44 -0
  458. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +6 -0
  459. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +5 -4
  460. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +12 -5
  461. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.d.ts +21 -0
  462. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.js +30 -0
  463. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +1 -0
  464. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +14 -1
  465. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +41 -16
  466. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +3 -5
  467. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +7 -10
  468. package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +6 -1
  469. package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +5 -0
  470. package/dist/service/s3/command/copy-object/copy-object-builder.d.ts +10 -1
  471. package/dist/service/s3/command/copy-object/copy-object-builder.js +17 -1
  472. package/dist/service/s3/command/copy-object/copy-object.command.d.ts +11 -1
  473. package/dist/service/s3/command/copy-object/copy-object.handler.js +2 -1
  474. package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +2 -2
  475. package/dist/service/s3/command/create-bucket/create-bucket.handler.js +4 -12
  476. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +5 -1
  477. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +7 -0
  478. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.d.ts +19 -0
  479. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.js +1 -0
  480. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.d.ts +30 -0
  481. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.js +38 -0
  482. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.d.ts +23 -0
  483. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.js +1 -0
  484. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.d.ts +22 -0
  485. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.js +42 -0
  486. package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.d.ts +29 -0
  487. package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.js +49 -0
  488. package/dist/service/s3/command/encryption/sim-s3-encryption-commands.d.ts +22 -0
  489. package/dist/service/s3/command/encryption/sim-s3-encryption-commands.js +30 -0
  490. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.d.ts +24 -0
  491. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.js +1 -0
  492. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.d.ts +31 -0
  493. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.js +39 -0
  494. package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +11 -8
  495. package/dist/service/s3/command/get-object/get-object-authorizer.js +26 -34
  496. package/dist/service/s3/command/get-object/get-object-loader.d.ts +7 -3
  497. package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
  498. package/dist/service/s3/command/get-object/get-object.command.d.ts +2 -1
  499. package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -0
  500. package/dist/service/s3/command/get-object/get-object.handler.js +13 -7
  501. package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.d.ts +29 -0
  502. package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.js +1 -0
  503. package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.d.ts +21 -0
  504. package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.js +33 -0
  505. package/dist/service/s3/command/head-object/head-object-loader.js +2 -0
  506. package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
  507. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +18 -0
  508. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +1 -2
  509. package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +1 -2
  510. package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +5 -0
  511. package/dist/service/s3/command/list-objects/list-objects-page-builder.js +11 -6
  512. package/dist/service/s3/command/list-objects/list-objects.command.d.ts +5 -1
  513. package/dist/service/s3/command/list-objects/list-objects.handler.js +5 -0
  514. package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +6 -0
  515. package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +11 -5
  516. package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +5 -1
  517. package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +5 -0
  518. package/dist/service/s3/command/list-parts/list-parts.handler.js +3 -3
  519. package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +1 -1
  520. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.d.ts +21 -0
  521. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.js +1 -0
  522. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.d.ts +31 -0
  523. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.js +41 -0
  524. package/dist/service/s3/command/put-object/put-object-builder.d.ts +5 -1
  525. package/dist/service/s3/command/put-object/put-object-builder.js +10 -1
  526. package/dist/service/s3/command/put-object/put-object.command.d.ts +5 -1
  527. package/dist/service/s3/command/put-object/put-object.handler.js +2 -1
  528. package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.d.ts +37 -0
  529. package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.js +1 -0
  530. package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.d.ts +22 -0
  531. package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.js +46 -0
  532. package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
  533. package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.d.ts +61 -0
  534. package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.js +49 -0
  535. package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.d.ts +30 -0
  536. package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.js +27 -0
  537. package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.d.ts +26 -0
  538. package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.js +34 -0
  539. package/dist/service/s3/error/sim-s3-upload.error.d.ts +41 -0
  540. package/dist/service/s3/error/sim-s3-upload.error.js +47 -0
  541. package/dist/service/s3/error/sim-s3.error.d.ts +22 -34
  542. package/dist/service/s3/error/sim-s3.error.js +26 -40
  543. package/dist/service/s3/mount/sim-s3-mount.type.d.ts +10 -0
  544. package/dist/service/s3/notification/event/sim-s3-event-records.d.ts +3 -2
  545. package/dist/service/s3/notification/event/sim-s3-event-records.js +5 -3
  546. package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +33 -8
  547. package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +23 -9
  548. package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +5 -1
  549. package/dist/service/s3/notification/sim-s3-object-notifier.js +6 -0
  550. package/dist/service/s3/object/s3-key-encoding.d.ts +12 -0
  551. package/dist/service/s3/object/s3-key-encoding.js +14 -0
  552. package/dist/service/s3/object/s3-listing-encoding.d.ts +42 -0
  553. package/dist/service/s3/object/s3-listing-encoding.js +75 -0
  554. package/dist/service/s3/object/s3-object-response-headers.d.ts +40 -0
  555. package/dist/service/s3/object/s3-object-response-headers.js +49 -2
  556. package/dist/service/s3/object/s3-object-storage-report.d.ts +19 -0
  557. package/dist/service/s3/object/s3-object-storage-report.js +18 -0
  558. package/dist/service/s3/object/s3-object-summary.d.ts +2 -10
  559. package/dist/service/s3/object/s3-object-summary.js +1 -10
  560. package/dist/service/s3/object/s3-object-tags.d.ts +61 -0
  561. package/dist/service/s3/object/s3-object-tags.js +77 -0
  562. package/dist/service/s3/object/s3-object.d.ts +49 -0
  563. package/dist/service/s3/object/s3-object.js +52 -1
  564. package/dist/service/s3/object/s3-server-side-encryption.d.ts +30 -0
  565. package/dist/service/s3/object/s3-server-side-encryption.js +42 -0
  566. package/dist/service/s3/object/s3-storage-class.d.ts +45 -0
  567. package/dist/service/s3/object/s3-storage-class.js +67 -0
  568. package/dist/service/s3/object/s3-write-metadata.d.ts +17 -3
  569. package/dist/service/s3/object/s3-write-metadata.js +43 -0
  570. package/dist/service/s3/object/s3-write-storage.d.ts +27 -0
  571. package/dist/service/s3/object/s3-write-storage.js +21 -0
  572. package/dist/service/s3/object/s3-write-tagging.d.ts +24 -0
  573. package/dist/service/s3/object/s3-write-tagging.js +19 -0
  574. package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +12 -0
  575. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +2 -0
  576. package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.d.ts +9 -0
  577. package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.js +23 -0
  578. package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +22 -0
  579. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +4 -0
  580. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +10 -0
  581. package/dist/service/s3/serve/api/sim-s3-api-encryption-read.d.ts +7 -0
  582. package/dist/service/s3/serve/api/sim-s3-api-encryption-read.js +30 -0
  583. package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +4 -2
  584. package/dist/service/s3/serve/api/sim-s3-api-head-output.js +8 -2
  585. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -6
  586. package/dist/service/s3/serve/api/sim-s3-api-input.js +2 -13
  587. package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +5 -0
  588. package/dist/service/s3/serve/api/sim-s3-api-listing.js +5 -0
  589. package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +16 -0
  590. package/dist/service/s3/serve/api/sim-s3-api-object-input.js +34 -7
  591. package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +18 -1
  592. package/dist/service/s3/serve/api/sim-s3-api-object-output.js +21 -2
  593. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +22 -1
  594. package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +5 -1
  595. package/dist/service/s3/serve/api/sim-s3-api-output.js +16 -5
  596. package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +6 -5
  597. package/dist/service/s3/serve/api/sim-s3-api-request.js +55 -11
  598. package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -2
  599. package/dist/service/s3/serve/api/sim-s3-api-tagging-read.d.ts +9 -0
  600. package/dist/service/s3/serve/api/sim-s3-api-tagging-read.js +14 -0
  601. package/dist/service/s3/serve/api/sim-s3-api.d.ts +7 -1
  602. package/dist/service/s3/serve/api/sim-s3-api.js +7 -1
  603. package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +1 -5
  604. package/dist/service/s3/serve/sim-s3-rest-controller.js +3 -17
  605. package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +3 -0
  606. package/dist/service/s3/serve/sim-s3-rest-object-reader.js +8 -1
  607. package/dist/service/s3/serve/sim-s3-rest-upload.d.ts +20 -0
  608. package/dist/service/s3/serve/sim-s3-rest-upload.js +30 -0
  609. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -0
  610. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +2 -0
  611. package/dist/service/s3/serve/website/sim-s3-website-object.js +3 -0
  612. package/dist/service/s3/sim-s3-commands.d.ts +10 -0
  613. package/dist/service/s3/sim-s3-commands.js +13 -0
  614. package/dist/service/s3/sim-s3-operations.d.ts +11 -4
  615. package/dist/service/s3/sim-s3-operations.js +17 -4
  616. package/dist/service/s3/sim-s3-tagging-operations.d.ts +21 -0
  617. package/dist/service/s3/sim-s3-tagging-operations.js +25 -0
  618. package/dist/service/s3/sim-s3.d.ts +28 -0
  619. package/dist/service/s3/sim-s3.js +38 -0
  620. package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.d.ts +34 -0
  621. package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.js +34 -0
  622. package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.d.ts +9 -0
  623. package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.js +24 -0
  624. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +5 -4
  625. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -3
  626. package/dist/service/s3/upload/sim-s3-completed-upload.js +5 -1
  627. package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +18 -0
  628. package/dist/service/s3/upload/sim-s3-multipart-upload.js +8 -0
  629. package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +6 -0
  630. package/dist/service/s3/upload/sim-s3-multipart-uploads.js +5 -0
  631. package/dist/util/background/background-clock-waits.d.ts +52 -0
  632. package/dist/util/background/background-clock-waits.js +76 -0
  633. package/dist/util/background/background-jitter.js +1 -0
  634. package/dist/util/background/background-pending-tasks.d.ts +55 -0
  635. package/dist/util/background/background-pending-tasks.js +117 -0
  636. package/dist/util/background/background-settled-tasks.d.ts +4 -1
  637. package/dist/util/background/background-settled-tasks.js +4 -1
  638. package/dist/util/background/background.d.ts +43 -0
  639. package/dist/util/background/background.js +27 -19
  640. package/dist/util/background/non-deterministic-background.d.ts +12 -0
  641. package/dist/util/background/non-deterministic-background.js +24 -20
  642. package/dist/util/clock/sim-clock-control.js +23 -2
  643. package/docs/services/apigateway/README.md +3 -1
  644. package/docs/services/athena/README.md +126 -3
  645. package/docs/services/cloudformation/README.md +831 -67
  646. package/docs/services/cognito/README.md +5 -0
  647. package/docs/services/dynamodb/README.md +86 -11
  648. package/docs/services/lambda/README.md +603 -39
  649. package/docs/services/s3/README.md +688 -57
  650. package/package.json +8 -2
@@ -1,9 +1,12 @@
1
1
  import type { CommandHandler } from "../../../../command/command-handler.js";
2
2
  import type { BackgroundCompleter, BackgroundScheduler } from "../../../../util/background/background.js";
3
3
  import type { SimCfnStack, SimCloudFormationStackName } from "../../stack/sim-cfn-stack.js";
4
+ import type { SimCfnDeletedStacks } from "../../stack/sim-cfn-deleted-stacks.js";
4
5
  import type { SimDeleteStackCommand, SimDeleteStackCommandOutput } from "./delete-stack.command.js";
5
6
  interface DeleteStackCommandHandlerProperties {
6
7
  readonly stacks: Map<SimCloudFormationStackName, SimCfnStack>;
8
+ /** Where a Stack that has finished deleting is kept, to stay describable. */
9
+ readonly deleted: SimCfnDeletedStacks;
7
10
  readonly background: BackgroundScheduler & BackgroundCompleter;
8
11
  }
9
12
  /**
@@ -13,6 +16,7 @@ interface DeleteStackCommandHandlerProperties {
13
16
  */
14
17
  export declare class DeleteStackCommandHandler implements CommandHandler<SimDeleteStackCommand, SimDeleteStackCommandOutput> {
15
18
  private readonly stacks;
19
+ private readonly deleted;
16
20
  private readonly background;
17
21
  constructor(properties: DeleteStackCommandHandlerProperties);
18
22
  /**
@@ -27,6 +31,13 @@ export declare class DeleteStackCommandHandler implements CommandHandler<SimDele
27
31
  * the background, and the Stack name is only released when that finishes, so
28
32
  * a CreateStack that reuses the name should follow a wait for deletion to
29
33
  * complete.
34
+ *
35
+ * The Stack itself is kept once its name has gone, so DescribeStacks can
36
+ * still answer for it by Stack ID, as CloudFormation does for 90 days.
37
+ *
38
+ * RetainResources names Resources to leave behind. They stay in simulated AWS
39
+ * and are reported as retained on the deleted Stack, and the Stack still
40
+ * reaches DELETE_COMPLETE around them.
30
41
  */
31
42
  handle(command: SimDeleteStackCommand): Promise<SimDeleteStackCommandOutput>;
32
43
  }
@@ -6,9 +6,11 @@ import { assertDefined } from "../../../../util/type-guard/defined.js";
6
6
  */
7
7
  export class DeleteStackCommandHandler {
8
8
  stacks;
9
+ deleted;
9
10
  background;
10
11
  constructor(properties) {
11
12
  this.stacks = properties.stacks;
13
+ this.deleted = properties.deleted;
12
14
  this.background = properties.background;
13
15
  }
14
16
  /**
@@ -23,6 +25,13 @@ export class DeleteStackCommandHandler {
23
25
  * the background, and the Stack name is only released when that finishes, so
24
26
  * a CreateStack that reuses the name should follow a wait for deletion to
25
27
  * complete.
28
+ *
29
+ * The Stack itself is kept once its name has gone, so DescribeStacks can
30
+ * still answer for it by Stack ID, as CloudFormation does for 90 days.
31
+ *
32
+ * RetainResources names Resources to leave behind. They stay in simulated AWS
33
+ * and are reported as retained on the deleted Stack, and the Stack still
34
+ * reaches DELETE_COMPLETE around them.
26
35
  */
27
36
  async handle(command) {
28
37
  assertDefined(command.input.StackName, "DeleteStackCommand.input.StackName");
@@ -30,9 +39,14 @@ export class DeleteStackCommandHandler {
30
39
  await this.background.sequence();
31
40
  const stackName = command.input.StackName;
32
41
  const stack = this.stacks.get(stackName);
33
- await stack?.delete({
42
+ if (stack === undefined) {
43
+ return { $metadata: {} };
44
+ }
45
+ await stack.delete({
46
+ retainResources: command.input.RetainResources,
34
47
  onDeleteComplete: () => {
35
48
  this.stacks.delete(stackName);
49
+ this.deleted.record(stack);
36
50
  },
37
51
  });
38
52
  return { $metadata: {} };
@@ -0,0 +1,48 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ import type { SimCfnChangeSetExecutionStatus, SimCfnChangeSetStatus, SimCfnResourceChangeAction } from "../../changeset/sim-cfn-change-set.type.js";
3
+ /**
4
+ * Minimal structural sim CloudFormation DescribeChangeSet command.
5
+ */
6
+ export interface SimDescribeChangeSetCommand {
7
+ readonly input: SimDescribeChangeSetCommandInput;
8
+ }
9
+ /**
10
+ * Minimal structural sim CloudFormation DescribeChangeSet input.
11
+ *
12
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudformation/command/DescribeChangeSetCommand/
13
+ */
14
+ export interface SimDescribeChangeSetCommandInput {
15
+ readonly ChangeSetName?: string | undefined;
16
+ readonly StackName?: string | undefined;
17
+ }
18
+ /**
19
+ * Minimal structural sim CloudFormation DescribeChangeSet output.
20
+ */
21
+ export interface SimDescribeChangeSetCommandOutput {
22
+ readonly ChangeSetId?: string | undefined;
23
+ readonly ChangeSetName?: string | undefined;
24
+ readonly StackId?: string | undefined;
25
+ readonly StackName?: string | undefined;
26
+ readonly Description?: string | undefined;
27
+ readonly Status?: SimCfnChangeSetStatus | undefined;
28
+ readonly StatusReason?: string | undefined;
29
+ readonly ExecutionStatus?: SimCfnChangeSetExecutionStatus | undefined;
30
+ readonly Changes?: SimCfnChangeDescription[] | undefined;
31
+ readonly $metadata: SimResponseMetadata;
32
+ }
33
+ /**
34
+ * Minimal structural sim CloudFormation Change description.
35
+ */
36
+ export interface SimCfnChangeDescription {
37
+ readonly Type: "Resource";
38
+ readonly ResourceChange: SimCfnResourceChangeDescription;
39
+ }
40
+ /**
41
+ * Minimal structural sim CloudFormation ResourceChange description.
42
+ */
43
+ export interface SimCfnResourceChangeDescription {
44
+ readonly Action?: SimCfnResourceChangeAction | undefined;
45
+ readonly LogicalResourceId?: string | undefined;
46
+ readonly ResourceType?: string | undefined;
47
+ readonly Replacement?: string | undefined;
48
+ }
@@ -0,0 +1,23 @@
1
+ import type { CommandHandler } from "../../../../command/command-handler.js";
2
+ import type { BackgroundScheduler } from "../../../../util/background/background.js";
3
+ import type { SimCfnChangeSets } from "../../changeset/sim-cfn-change-sets.js";
4
+ import type { SimDescribeChangeSetCommand, SimDescribeChangeSetCommandOutput } from "./describe-change-set.command.js";
5
+ interface DescribeChangeSetCommandHandlerProperties {
6
+ readonly changeSets: SimCfnChangeSets;
7
+ readonly background: BackgroundScheduler;
8
+ }
9
+ /**
10
+ * Simulated CloudFormation DescribeChangeSetCommand handler.
11
+ *
12
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudformation/command/DescribeChangeSetCommand/
13
+ */
14
+ export declare class DescribeChangeSetCommandHandler implements CommandHandler<SimDescribeChangeSetCommand, SimDescribeChangeSetCommandOutput> {
15
+ private readonly changeSets;
16
+ private readonly background;
17
+ constructor(properties: DescribeChangeSetCommandHandlerProperties);
18
+ /**
19
+ * Report what a change set would do to its Stack.
20
+ */
21
+ handle(command: SimDescribeChangeSetCommand): Promise<SimDescribeChangeSetCommandOutput>;
22
+ }
23
+ export {};
@@ -0,0 +1,52 @@
1
+ import { assertDefined } from "../../../../util/type-guard/defined.js";
2
+ /**
3
+ * Simulated CloudFormation DescribeChangeSetCommand handler.
4
+ *
5
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudformation/command/DescribeChangeSetCommand/
6
+ */
7
+ export class DescribeChangeSetCommandHandler {
8
+ changeSets;
9
+ background;
10
+ constructor(properties) {
11
+ this.changeSets = properties.changeSets;
12
+ this.background = properties.background;
13
+ }
14
+ /**
15
+ * Report what a change set would do to its Stack.
16
+ */
17
+ async handle(command) {
18
+ assertDefined(command.input.ChangeSetName, "DescribeChangeSetCommand.input.ChangeSetName");
19
+ // Allow for potential non-deterministic sequencing of async events.
20
+ await this.background.sequence();
21
+ const changeSet = this.changeSets.require({
22
+ changeSetName: command.input.ChangeSetName,
23
+ stackName: command.input.StackName,
24
+ });
25
+ return {
26
+ ChangeSetId: changeSet.changeSetId,
27
+ ChangeSetName: changeSet.changeSetName,
28
+ StackId: changeSet.stackId,
29
+ StackName: changeSet.stackName,
30
+ Description: changeSet.description,
31
+ Status: changeSet.status,
32
+ StatusReason: changeSet.statusReason,
33
+ ExecutionStatus: changeSet.executionStatus,
34
+ Changes: describedChanges(changeSet),
35
+ $metadata: {},
36
+ };
37
+ }
38
+ }
39
+ /**
40
+ * The Resource changes in the shape DescribeChangeSet answers with.
41
+ */
42
+ function describedChanges(changeSet) {
43
+ return changeSet.changes.map((change) => ({
44
+ Type: "Resource",
45
+ ResourceChange: {
46
+ Action: change.action,
47
+ LogicalResourceId: change.logicalResourceId,
48
+ ResourceType: change.resourceType,
49
+ Replacement: change.replacement,
50
+ },
51
+ }));
52
+ }
@@ -2,9 +2,11 @@ import type { CommandHandler } from "../../../../command/command-handler.js";
2
2
  import { type BackgroundScheduler } from "../../../../util/background/background.js";
3
3
  import type { SimCfnStack, SimCloudFormationStackName } from "../../stack/sim-cfn-stack.js";
4
4
  import type { SimDescribeStacksCommand, SimDescribeStacksCommandOutput } from "./describe-stacks.command.js";
5
+ import type { SimCfnDeletedStacks } from "../../stack/sim-cfn-deleted-stacks.js";
5
6
  import { SimCfnStackDescriber } from "./sim-cfn-stack-describer.js";
6
7
  interface DescribeStacksCommandHandlerProperties {
7
8
  readonly stacks: Map<SimCloudFormationStackName, SimCfnStack>;
9
+ readonly deleted: SimCfnDeletedStacks;
8
10
  readonly background?: BackgroundScheduler;
9
11
  readonly describer?: SimCfnStackDescriber;
10
12
  }
@@ -15,6 +17,7 @@ interface DescribeStacksCommandHandlerProperties {
15
17
  */
16
18
  export declare class DescribeStacksCommandHandler implements CommandHandler<SimDescribeStacksCommand, SimDescribeStacksCommandOutput> {
17
19
  private readonly stacks;
20
+ private readonly deleted;
18
21
  private readonly background;
19
22
  private readonly describer;
20
23
  constructor(properties: DescribeStacksCommandHandlerProperties);
@@ -8,11 +8,13 @@ import { SimCfnDescribedStacks } from "./sim-cfn-described-stacks.js";
8
8
  */
9
9
  export class DescribeStacksCommandHandler {
10
10
  stacks;
11
+ deleted;
11
12
  background;
12
13
  describer;
13
14
  constructor(properties) {
14
- const { stacks, background = new BackgroundTasks(), describer = new SimCfnStackDescriber(), } = properties;
15
+ const { stacks, deleted, background = new BackgroundTasks(), describer = new SimCfnStackDescriber(), } = properties;
15
16
  this.stacks = stacks;
17
+ this.deleted = deleted;
16
18
  this.background = background;
17
19
  this.describer = describer;
18
20
  }
@@ -22,10 +24,12 @@ export class DescribeStacksCommandHandler {
22
24
  async handle(command) {
23
25
  // Allow for potential non-deterministic sequencing of async events.
24
26
  await this.background.sequence();
25
- const stackName = command.input.StackName;
26
27
  return {
27
- Stacks: new SimCfnDescribedStacks(this.stacks)
28
- .matching(stackName)
28
+ Stacks: new SimCfnDescribedStacks({
29
+ stacks: this.stacks,
30
+ deleted: this.deleted,
31
+ })
32
+ .matching(command.input.StackName)
29
33
  .map((stack) => this.describer.describe(stack)),
30
34
  $metadata: {},
31
35
  };
@@ -1,4 +1,9 @@
1
1
  import type { SimCfnStack, SimCloudFormationStackName } from "../../stack/sim-cfn-stack.js";
2
+ import type { SimCfnDeletedStacks } from "../../stack/sim-cfn-deleted-stacks.js";
3
+ interface SimCfnDescribedStacksProperties {
4
+ readonly stacks: ReadonlyMap<SimCloudFormationStackName, SimCfnStack>;
5
+ readonly deleted: SimCfnDeletedStacks;
6
+ }
2
7
  /**
3
8
  * Chooses which Stacks a DescribeStacks request is about.
4
9
  *
@@ -11,15 +16,22 @@ import type { SimCfnStack, SimCloudFormationStackName } from "../../stack/sim-cf
11
16
  */
12
17
  export declare class SimCfnDescribedStacks {
13
18
  private readonly stacks;
14
- constructor(stacks: ReadonlyMap<SimCloudFormationStackName, SimCfnStack>);
19
+ private readonly deleted;
20
+ constructor(properties: SimCfnDescribedStacksProperties);
15
21
  /**
16
22
  * The Stacks to describe for a request naming this Stack, or all of them if
17
23
  * it names none.
18
24
  *
19
- * A named Stack that is not there is refused with the ValidationError
20
- * CloudFormation answers with. A deleted Stack name reaches this too:
21
- * CloudFormation only describes a deleted Stack by its unique Stack ID, and
22
- * answers its name the same way as a name that never existed.
25
+ * `StackName` carries either a Stack name or a Stack ID, as it does in
26
+ * CloudFormation, and a Stack ID reaches a deleted Stack as well as a live
27
+ * one. A deleted Stack's name does not: the name is back in circulation, and
28
+ * is refused the same way as a name that never existed.
29
+ *
30
+ * An unnamed request answers with the live Stacks alone. CloudFormation
31
+ * leaves deleted Stacks out of it too.
23
32
  */
24
- matching(stackName: SimCloudFormationStackName | undefined): SimCfnStack[];
33
+ matching(stackName: string | undefined): SimCfnStack[];
34
+ private find;
35
+ private withStackId;
25
36
  }
37
+ export {};
@@ -1,3 +1,4 @@
1
+ import { isSimCfnStackId } from "../../stack/sim-cfn-stack-id.js";
1
2
  import { SimCloudFormationValidationError } from "../../error/sim-cloudformation.error.js";
2
3
  /**
3
4
  * Chooses which Stacks a DescribeStacks request is about.
@@ -11,26 +12,40 @@ import { SimCloudFormationValidationError } from "../../error/sim-cloudformation
11
12
  */
12
13
  export class SimCfnDescribedStacks {
13
14
  stacks;
14
- constructor(stacks) {
15
- this.stacks = stacks;
15
+ deleted;
16
+ constructor(properties) {
17
+ this.stacks = properties.stacks;
18
+ this.deleted = properties.deleted;
16
19
  }
17
20
  /**
18
21
  * The Stacks to describe for a request naming this Stack, or all of them if
19
22
  * it names none.
20
23
  *
21
- * A named Stack that is not there is refused with the ValidationError
22
- * CloudFormation answers with. A deleted Stack name reaches this too:
23
- * CloudFormation only describes a deleted Stack by its unique Stack ID, and
24
- * answers its name the same way as a name that never existed.
24
+ * `StackName` carries either a Stack name or a Stack ID, as it does in
25
+ * CloudFormation, and a Stack ID reaches a deleted Stack as well as a live
26
+ * one. A deleted Stack's name does not: the name is back in circulation, and
27
+ * is refused the same way as a name that never existed.
28
+ *
29
+ * An unnamed request answers with the live Stacks alone. CloudFormation
30
+ * leaves deleted Stacks out of it too.
25
31
  */
26
32
  matching(stackName) {
27
33
  if (stackName === undefined) {
28
34
  return this.stacks.values().toArray();
29
35
  }
30
- const stack = this.stacks.get(stackName);
36
+ const stack = this.find(stackName);
31
37
  if (stack === undefined) {
32
38
  throw new SimCloudFormationValidationError(`Stack with id ${stackName} does not exist`);
33
39
  }
34
40
  return [stack];
35
41
  }
42
+ find(stackName) {
43
+ if (isSimCfnStackId(stackName)) {
44
+ return this.withStackId(stackName) ?? this.deleted.get(stackName);
45
+ }
46
+ return this.stacks.get(stackName);
47
+ }
48
+ withStackId(stackId) {
49
+ return this.stacks.values().find((stack) => stack.stackId === stackId);
50
+ }
36
51
  }
@@ -18,7 +18,7 @@ export class SimCfnStackDescriber {
18
18
  */
19
19
  describe(stack) {
20
20
  return {
21
- StackId: stack.stackName,
21
+ StackId: stack.stackId,
22
22
  StackName: stack.stackName,
23
23
  StackStatus: stack.status,
24
24
  StackStatusReason: stack.error?.message,
@@ -0,0 +1,25 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ /**
3
+ * Minimal structural sim CloudFormation ExecuteChangeSet command.
4
+ */
5
+ export interface SimExecuteChangeSetCommand {
6
+ readonly input: SimExecuteChangeSetCommandInput;
7
+ }
8
+ /**
9
+ * Minimal structural sim CloudFormation ExecuteChangeSet input.
10
+ *
11
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudformation/command/ExecuteChangeSetCommand/
12
+ */
13
+ export interface SimExecuteChangeSetCommandInput {
14
+ readonly ChangeSetName?: string | undefined;
15
+ readonly StackName?: string | undefined;
16
+ }
17
+ /**
18
+ * Minimal structural sim CloudFormation ExecuteChangeSet output.
19
+ *
20
+ * CloudFormation returns nothing beyond response metadata. The Stack is only
21
+ * starting to change when the call returns.
22
+ */
23
+ export interface SimExecuteChangeSetCommandOutput {
24
+ readonly $metadata: SimResponseMetadata;
25
+ }
@@ -0,0 +1,31 @@
1
+ import type { CommandHandler } from "../../../../command/command-handler.js";
2
+ import type { BackgroundCompleter, BackgroundScheduler } from "../../../../util/background/background.js";
3
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
4
+ import type { SimCfnStack } from "../../stack/sim-cfn-stack.js";
5
+ import type { SimCloudFormationStackName } from "../../stack/sim-cfn-stack.type.js";
6
+ import type { SimCfnChangeSets } from "../../changeset/sim-cfn-change-sets.js";
7
+ import type { SimExecuteChangeSetCommand, SimExecuteChangeSetCommandOutput } from "./execute-change-set.command.js";
8
+ interface ExecuteChangeSetCommandHandlerProperties {
9
+ readonly stacks: Map<SimCloudFormationStackName, SimCfnStack>;
10
+ readonly changeSets: SimCfnChangeSets;
11
+ readonly background: BackgroundScheduler & BackgroundCompleter;
12
+ readonly caller?: SimAwsCaller | undefined;
13
+ }
14
+ /**
15
+ * Simulated CloudFormation ExecuteChangeSetCommand handler.
16
+ *
17
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudformation/command/ExecuteChangeSetCommand/
18
+ */
19
+ export declare class ExecuteChangeSetCommandHandler implements CommandHandler<SimExecuteChangeSetCommand, SimExecuteChangeSetCommandOutput> {
20
+ private readonly properties;
21
+ constructor(properties: ExecuteChangeSetCommandHandlerProperties);
22
+ /**
23
+ * Apply what a change set describes to its Stack.
24
+ *
25
+ * The call returns once the Stack operation has started, as CreateStack and
26
+ * UpdateStack do. A caller that needs the result should follow this with
27
+ * waitForStackDeployComplete(...) or waitForStackUpdateComplete(...).
28
+ */
29
+ handle(command: SimExecuteChangeSetCommand): Promise<SimExecuteChangeSetCommandOutput>;
30
+ }
31
+ export {};
@@ -0,0 +1,37 @@
1
+ import { assertDefined } from "../../../../util/type-guard/defined.js";
2
+ import { simCfnChangeSetDeployedStack } from "../../changeset/sim-cfn-change-set-stack.js";
3
+ import { runSimCfnChangeSet } from "../../changeset/sim-cfn-change-set-execution.js";
4
+ /**
5
+ * Simulated CloudFormation ExecuteChangeSetCommand handler.
6
+ *
7
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudformation/command/ExecuteChangeSetCommand/
8
+ */
9
+ export class ExecuteChangeSetCommandHandler {
10
+ properties;
11
+ constructor(properties) {
12
+ this.properties = properties;
13
+ }
14
+ /**
15
+ * Apply what a change set describes to its Stack.
16
+ *
17
+ * The call returns once the Stack operation has started, as CreateStack and
18
+ * UpdateStack do. A caller that needs the result should follow this with
19
+ * waitForStackDeployComplete(...) or waitForStackUpdateComplete(...).
20
+ */
21
+ async handle(command) {
22
+ const { ChangeSetName, StackName } = command.input;
23
+ assertDefined(ChangeSetName, "ExecuteChangeSetCommand.input.ChangeSetName");
24
+ // Allow for potential non-deterministic sequencing of async events.
25
+ await this.properties.background.sequence();
26
+ const changeSet = this.properties.changeSets.requireExecutable({
27
+ changeSetName: ChangeSetName,
28
+ stackName: StackName,
29
+ });
30
+ await runSimCfnChangeSet({
31
+ ...this.properties,
32
+ changeSet,
33
+ stack: simCfnChangeSetDeployedStack(this.properties.stacks, changeSet),
34
+ });
35
+ return { $metadata: {} };
36
+ }
37
+ }
@@ -0,0 +1,36 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ import type { SimCfnChangeSetExecutionStatus, SimCfnChangeSetStatus } from "../../changeset/sim-cfn-change-set.type.js";
3
+ /**
4
+ * Minimal structural sim CloudFormation ListChangeSets command.
5
+ */
6
+ export interface SimListChangeSetsCommand {
7
+ readonly input: SimListChangeSetsCommandInput;
8
+ }
9
+ /**
10
+ * Minimal structural sim CloudFormation ListChangeSets input.
11
+ *
12
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudformation/command/ListChangeSetsCommand/
13
+ */
14
+ export interface SimListChangeSetsCommandInput {
15
+ readonly StackName?: string | undefined;
16
+ }
17
+ /**
18
+ * Minimal structural sim CloudFormation ListChangeSets output.
19
+ */
20
+ export interface SimListChangeSetsCommandOutput {
21
+ readonly Summaries?: SimCfnChangeSetSummary[] | undefined;
22
+ readonly $metadata: SimResponseMetadata;
23
+ }
24
+ /**
25
+ * Minimal structural sim CloudFormation ChangeSetSummary.
26
+ */
27
+ export interface SimCfnChangeSetSummary {
28
+ readonly ChangeSetId?: string | undefined;
29
+ readonly ChangeSetName?: string | undefined;
30
+ readonly StackId?: string | undefined;
31
+ readonly StackName?: string | undefined;
32
+ readonly Description?: string | undefined;
33
+ readonly Status?: SimCfnChangeSetStatus | undefined;
34
+ readonly StatusReason?: string | undefined;
35
+ readonly ExecutionStatus?: SimCfnChangeSetExecutionStatus | undefined;
36
+ }
@@ -0,0 +1,26 @@
1
+ import type { CommandHandler } from "../../../../command/command-handler.js";
2
+ import type { BackgroundScheduler } from "../../../../util/background/background.js";
3
+ import type { SimCfnChangeSets } from "../../changeset/sim-cfn-change-sets.js";
4
+ import type { SimListChangeSetsCommand, SimListChangeSetsCommandOutput } from "./list-change-sets.command.js";
5
+ interface ListChangeSetsCommandHandlerProperties {
6
+ readonly changeSets: SimCfnChangeSets;
7
+ readonly background: BackgroundScheduler;
8
+ }
9
+ /**
10
+ * Simulated CloudFormation ListChangeSetsCommand handler.
11
+ *
12
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudformation/command/ListChangeSetsCommand/
13
+ */
14
+ export declare class ListChangeSetsCommandHandler implements CommandHandler<SimListChangeSetsCommand, SimListChangeSetsCommandOutput> {
15
+ private readonly changeSets;
16
+ private readonly background;
17
+ constructor(properties: ListChangeSetsCommandHandlerProperties);
18
+ /**
19
+ * List the change sets held against one Stack.
20
+ *
21
+ * A change set DeleteChangeSet has taken away is gone from here, as it is in
22
+ * CloudFormation.
23
+ */
24
+ handle(command: SimListChangeSetsCommand): Promise<SimListChangeSetsCommandOutput>;
25
+ }
26
+ export {};
@@ -0,0 +1,39 @@
1
+ import { assertDefined } from "../../../../util/type-guard/defined.js";
2
+ /**
3
+ * Simulated CloudFormation ListChangeSetsCommand handler.
4
+ *
5
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudformation/command/ListChangeSetsCommand/
6
+ */
7
+ export class ListChangeSetsCommandHandler {
8
+ changeSets;
9
+ background;
10
+ constructor(properties) {
11
+ this.changeSets = properties.changeSets;
12
+ this.background = properties.background;
13
+ }
14
+ /**
15
+ * List the change sets held against one Stack.
16
+ *
17
+ * A change set DeleteChangeSet has taken away is gone from here, as it is in
18
+ * CloudFormation.
19
+ */
20
+ async handle(command) {
21
+ assertDefined(command.input.StackName, "ListChangeSetsCommand.input.StackName");
22
+ // Allow for potential non-deterministic sequencing of async events.
23
+ await this.background.sequence();
24
+ const stackName = command.input.StackName;
25
+ return {
26
+ Summaries: this.changeSets.forStack(stackName).map((changeSet) => ({
27
+ ChangeSetId: changeSet.changeSetId,
28
+ ChangeSetName: changeSet.changeSetName,
29
+ StackId: changeSet.stackId,
30
+ StackName: changeSet.stackName,
31
+ Description: changeSet.description,
32
+ Status: changeSet.status,
33
+ StatusReason: changeSet.statusReason,
34
+ ExecutionStatus: changeSet.executionStatus,
35
+ })),
36
+ $metadata: {},
37
+ };
38
+ }
39
+ }
@@ -0,0 +1,31 @@
1
+ import type { SimCfnParameters } from "../../parameters/sim-cfn-parameters.js";
2
+ import type { SimCreateStackParameter } from "../create-stack/create-stack.command.js";
3
+ import type { SimUpdateStackCommandInput } from "./update-stack.command.js";
4
+ interface SimCfnUpdateStackParametersProperties {
5
+ readonly input: SimUpdateStackCommandInput;
6
+ /** The Parameters of the template the Stack is deployed from. */
7
+ readonly deployed: SimCfnParameters;
8
+ }
9
+ /**
10
+ * Refuse an update that says where its template comes from twice.
11
+ *
12
+ * `UsePreviousTemplate` reads the template off the Stack, so a body alongside
13
+ * it leaves nothing to say which one is being applied. CloudFormation refuses
14
+ * the pair rather than choosing, and so does this.
15
+ */
16
+ export declare function assertSimCfnUpdateStackTemplateSource(input: SimUpdateStackCommandInput): void;
17
+ /**
18
+ * The Parameter values an update is applying, with the previous ones filled in.
19
+ *
20
+ * An update names every Parameter its template declares, so one whose value has
21
+ * not changed is carried as `UsePreviousValue: true` rather than written out
22
+ * again. Each of those takes the value the Stack was deployed with. A Parameter
23
+ * the Stack was deployed without is left out, which takes the template Default
24
+ * again as the deployment did.
25
+ *
26
+ * A Parameter carrying `UsePreviousValue: true` and a `ParameterValue` is
27
+ * refused, for the same reason the template pair is: it says two things about
28
+ * one value.
29
+ */
30
+ export declare function simCfnUpdateStackParameters(properties: SimCfnUpdateStackParametersProperties): readonly SimCreateStackParameter[] | undefined;
31
+ export {};
@@ -0,0 +1,52 @@
1
+ import { SimCloudFormationValidationError } from "../../error/sim-cloudformation.error.js";
2
+ /**
3
+ * Refuse an update that says where its template comes from twice.
4
+ *
5
+ * `UsePreviousTemplate` reads the template off the Stack, so a body alongside
6
+ * it leaves nothing to say which one is being applied. CloudFormation refuses
7
+ * the pair rather than choosing, and so does this.
8
+ */
9
+ export function assertSimCfnUpdateStackTemplateSource(input) {
10
+ if (input.UsePreviousTemplate === true && input.TemplateBody !== undefined) {
11
+ throw new SimCloudFormationValidationError("You cannot specify both TemplateBody and UsePreviousTemplate");
12
+ }
13
+ }
14
+ /**
15
+ * The Parameter values an update is applying, with the previous ones filled in.
16
+ *
17
+ * An update names every Parameter its template declares, so one whose value has
18
+ * not changed is carried as `UsePreviousValue: true` rather than written out
19
+ * again. Each of those takes the value the Stack was deployed with. A Parameter
20
+ * the Stack was deployed without is left out, which takes the template Default
21
+ * again as the deployment did.
22
+ *
23
+ * A Parameter carrying `UsePreviousValue: true` and a `ParameterValue` is
24
+ * refused, for the same reason the template pair is: it says two things about
25
+ * one value.
26
+ */
27
+ export function simCfnUpdateStackParameters(properties) {
28
+ const { input, deployed } = properties;
29
+ if (input.Parameters === undefined) {
30
+ return undefined;
31
+ }
32
+ return input.Parameters.flatMap((parameter) => {
33
+ const { ParameterKey: key, ParameterValue: value } = parameter;
34
+ if (parameter.UsePreviousValue !== true) {
35
+ return [{ ParameterKey: key, ParameterValue: value }];
36
+ }
37
+ assertNoValueAlongsidePrevious(parameter);
38
+ const previous = key === undefined ? undefined : deployed.suppliedValue(key);
39
+ return previous === undefined
40
+ ? []
41
+ : [{ ParameterKey: key, ParameterValue: previous }];
42
+ });
43
+ }
44
+ function assertNoValueAlongsidePrevious(parameter) {
45
+ // An empty string is no value, which is what an SDK writes for a Parameter
46
+ // carrying UsePreviousValue and nothing else.
47
+ if (parameter.ParameterValue === undefined ||
48
+ parameter.ParameterValue === "") {
49
+ return;
50
+ }
51
+ throw new SimCloudFormationValidationError(`Invalid input for parameter key ${parameter.ParameterKey ?? "unknown"}. Cannot specify usePreviousValue as true and non empty value for a parameter.`);
52
+ }