@kensio/yulin 1.21.2 → 1.21.4

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 (634) 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/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +2 -0
  40. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +1 -0
  41. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +7 -0
  42. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +13 -1
  43. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +6 -0
  44. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +7 -1
  45. package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.d.ts +50 -0
  46. package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.js +71 -0
  47. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +6 -1
  48. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts +5 -0
  49. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +7 -0
  50. package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.d.ts +9 -0
  51. package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.js +12 -0
  52. package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.d.ts +42 -0
  53. package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.js +69 -0
  54. package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.d.ts +62 -0
  55. package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.js +89 -0
  56. package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.d.ts +31 -0
  57. package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.js +59 -0
  58. package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.d.ts +21 -0
  59. package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.js +19 -0
  60. package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.d.ts +17 -0
  61. package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.js +18 -0
  62. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.d.ts +18 -0
  63. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.js +13 -0
  64. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.d.ts +45 -0
  65. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.js +52 -0
  66. package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.d.ts +12 -0
  67. package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.js +21 -0
  68. package/dist/service/cloudformation/changeset/sim-cfn-change-set.d.ts +54 -0
  69. package/dist/service/cloudformation/changeset/sim-cfn-change-set.js +49 -0
  70. package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.d.ts +35 -0
  71. package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.js +1 -0
  72. package/dist/service/cloudformation/changeset/sim-cfn-change-sets.d.ts +53 -0
  73. package/dist/service/cloudformation/changeset/sim-cfn-change-sets.js +83 -0
  74. package/dist/service/cloudformation/command/create-change-set/create-change-set.command.d.ts +32 -0
  75. package/dist/service/cloudformation/command/create-change-set/create-change-set.command.js +1 -0
  76. package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.d.ts +38 -0
  77. package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.js +80 -0
  78. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +12 -12
  79. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.d.ts +22 -0
  80. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.js +1 -0
  81. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.d.ts +27 -0
  82. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.js +35 -0
  83. package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +6 -0
  84. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +11 -0
  85. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +15 -1
  86. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.d.ts +48 -0
  87. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.js +1 -0
  88. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.d.ts +23 -0
  89. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.js +52 -0
  90. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts +3 -0
  91. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +8 -4
  92. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +18 -6
  93. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +22 -7
  94. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +1 -1
  95. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.d.ts +25 -0
  96. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.js +1 -0
  97. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.d.ts +31 -0
  98. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.js +37 -0
  99. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.d.ts +36 -0
  100. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.js +1 -0
  101. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.d.ts +26 -0
  102. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.js +39 -0
  103. package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.d.ts +31 -0
  104. package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.js +52 -0
  105. package/dist/service/cloudformation/command/update-stack/update-stack-template.d.ts +22 -0
  106. package/dist/service/cloudformation/command/update-stack/update-stack-template.js +34 -0
  107. package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +17 -1
  108. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +8 -15
  109. package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts +21 -0
  110. package/dist/service/cloudformation/error/sim-cloudformation.error.js +25 -0
  111. package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.d.ts +7 -0
  112. package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.js +3 -1
  113. package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +9 -0
  114. package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +12 -0
  115. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +4 -0
  116. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +10 -0
  117. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.d.ts +44 -0
  118. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.js +33 -0
  119. package/dist/service/cloudformation/resource/factory/sim-cfn-resource-factory.type.d.ts +9 -0
  120. package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +15 -0
  121. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +21 -1
  122. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +9 -7
  123. package/dist/service/cloudformation/resource/sim-cfn-resource.js +11 -11
  124. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +19 -0
  125. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +3 -3
  126. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +3 -3
  127. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
  128. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +9 -0
  129. package/dist/service/cloudformation/resource/update/sim-cfn-resource-update-validator.d.ts +26 -0
  130. package/dist/service/cloudformation/resource/update/sim-cfn-resource-update-validator.js +55 -0
  131. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.d.ts +37 -0
  132. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.js +77 -0
  133. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.d.ts +51 -0
  134. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.js +10 -0
  135. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.d.ts +11 -0
  136. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.js +34 -0
  137. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.d.ts +21 -0
  138. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.js +31 -0
  139. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.d.ts +14 -0
  140. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.js +1 -0
  141. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.d.ts +26 -0
  142. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.js +58 -0
  143. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.d.ts +18 -0
  144. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.js +89 -0
  145. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.d.ts +15 -0
  146. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.js +65 -0
  147. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.d.ts +13 -0
  148. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.js +60 -0
  149. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.d.ts +13 -0
  150. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.js +50 -0
  151. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.d.ts +13 -0
  152. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.js +30 -0
  153. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.d.ts +26 -0
  154. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.js +44 -0
  155. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.d.ts +15 -0
  156. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.js +59 -0
  157. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.d.ts +11 -0
  158. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.js +43 -0
  159. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.d.ts +15 -0
  160. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.js +67 -0
  161. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.d.ts +26 -0
  162. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.js +61 -0
  163. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.d.ts +18 -0
  164. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.js +59 -0
  165. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +1 -1
  166. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +4 -0
  167. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +12 -5
  168. package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api-template.factory.js +1 -1
  169. package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api.js +7 -3
  170. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-api-event.js +7 -3
  171. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.d.ts +26 -0
  172. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.js +88 -0
  173. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +12 -0
  174. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +1 -0
  175. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +8 -5
  176. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +23 -1
  177. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +9 -2
  178. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +5 -3
  179. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +6 -1
  180. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +7 -1
  181. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.d.ts +19 -0
  182. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.js +69 -0
  183. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +5 -0
  184. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +3 -1
  185. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.d.ts +8 -0
  186. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.js +8 -0
  187. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +1 -4
  188. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +6 -4
  189. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +2 -4
  190. package/dist/service/cloudformation/sam/sim-cfn-sam-error.d.ts +31 -0
  191. package/dist/service/cloudformation/sam/sim-cfn-sam-error.js +17 -0
  192. package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +11 -6
  193. package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +20 -0
  194. package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +4 -3
  195. package/dist/service/cloudformation/serve/sim-cloudformation-api.js +6 -3
  196. package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.d.ts +10 -0
  197. package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.js +94 -0
  198. package/dist/service/cloudformation/sim-cloudformation.d.ts +31 -0
  199. package/dist/service/cloudformation/sim-cloudformation.js +56 -9
  200. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
  201. package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.d.ts +20 -0
  202. package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.js +23 -0
  203. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +6 -0
  204. package/dist/service/cloudformation/stack/sim-cfn-stack-id.d.ts +30 -0
  205. package/dist/service/cloudformation/stack/sim-cfn-stack-id.js +24 -0
  206. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +51 -3
  207. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +84 -6
  208. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
  209. package/dist/service/cloudformation/stack/sim-cfn-stack.js +59 -32
  210. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +7 -1
  211. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +7 -1
  212. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +3 -1
  213. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
  214. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
  215. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +3 -0
  216. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
  217. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.d.ts +18 -0
  218. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.js +30 -0
  219. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.d.ts +9 -0
  220. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.js +14 -0
  221. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +25 -14
  222. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +41 -24
  223. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +16 -1
  224. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +27 -0
  225. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +7 -1
  226. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +12 -3
  227. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +29 -3
  228. package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.d.ts +28 -0
  229. package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.js +39 -0
  230. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +25 -1
  231. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +43 -11
  232. package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.d.ts +7 -0
  233. package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.js +29 -3
  234. package/dist/service/cloudformation/template/sim-cfn-command-template.d.ts +40 -0
  235. package/dist/service/cloudformation/template/sim-cfn-command-template.js +45 -0
  236. package/dist/service/cloudformation/template/sim-cfn-template.d.ts +7 -0
  237. package/dist/service/cloudformation/template/sim-cfn-template.js +15 -1
  238. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +2 -0
  239. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +49 -0
  240. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +1 -0
  241. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +1 -0
  242. package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +1 -1
  243. package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.d.ts +5 -0
  244. package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.js +17 -0
  245. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +5 -5
  246. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +24 -8
  247. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +5 -0
  248. package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +15 -0
  249. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-update-validator.d.ts +24 -0
  250. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-update-validator.js +38 -0
  251. package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.d.ts +11 -8
  252. package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.js +20 -8
  253. package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +2 -0
  254. package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
  255. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +14 -4
  256. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +16 -4
  257. package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.d.ts +17 -0
  258. package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.js +39 -0
  259. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.d.ts +28 -0
  260. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.js +50 -0
  261. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +12 -5
  262. package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts +3 -3
  263. package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +3 -4
  264. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.d.ts +5 -16
  265. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.js +4 -21
  266. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.d.ts +15 -0
  267. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.js +18 -1
  268. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.d.ts +13 -0
  269. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.js +15 -0
  270. package/dist/service/dynamodb/table/sim-dynamodb-index-update.js +1 -2
  271. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +2 -0
  272. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +5 -3
  273. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.d.ts +21 -0
  274. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.js +37 -0
  275. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +6 -0
  276. package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
  277. package/dist/service/lambda/command/create-function/create-function.handler.js +5 -1
  278. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +2 -3
  279. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +1 -0
  280. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +6 -0
  281. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +10 -0
  282. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +2 -6
  283. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +1 -0
  284. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
  285. package/dist/service/lambda/command/function-url/function-url-cors-constraints.d.ts +25 -0
  286. package/dist/service/lambda/command/function-url/function-url-cors-constraints.js +49 -0
  287. package/dist/service/lambda/command/function-url/function-url-cors-input.d.ts +25 -0
  288. package/dist/service/lambda/command/function-url/function-url-cors-input.js +57 -0
  289. package/dist/service/lambda/command/function-url/function-url-input.d.ts +7 -0
  290. package/dist/service/lambda/command/function-url/function-url-input.js +9 -0
  291. package/dist/service/lambda/command/invoke/async/sim-lambda-async-invocation.js +10 -13
  292. package/dist/service/lambda/command/invoke/async/sim-lambda-async-outcome.js +2 -0
  293. package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.d.ts +13 -0
  294. package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.js +12 -0
  295. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +2 -0
  296. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +1 -0
  297. package/dist/service/lambda/destination/deliver/sim-lambda-destination-bus.js +1 -1
  298. package/dist/service/lambda/destination/deliver/sim-lambda-destination-function.js +8 -12
  299. package/dist/service/lambda/destination/deliver/sim-lambda-destination-queue.js +4 -3
  300. package/dist/service/lambda/destination/deliver/sim-lambda-destination-send.d.ts +2 -0
  301. package/dist/service/lambda/destination/deliver/sim-lambda-destination-topic.js +4 -3
  302. package/dist/service/lambda/destination/sim-aws-lambda-destinations.d.ts +4 -6
  303. package/dist/service/lambda/destination/sim-aws-lambda-destinations.js +6 -6
  304. package/dist/service/lambda/destination/sim-lambda-destination-targets.d.ts +3 -0
  305. package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +4 -9
  306. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +4 -9
  307. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +22 -3
  308. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +39 -9
  309. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +7 -6
  310. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +14 -12
  311. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +9 -15
  312. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +9 -16
  313. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +10 -6
  314. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +22 -12
  315. package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.d.ts +23 -0
  316. package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.js +18 -0
  317. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +12 -13
  318. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +24 -17
  319. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.d.ts +64 -0
  320. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.js +86 -0
  321. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +6 -0
  322. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +8 -1
  323. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +6 -0
  324. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +7 -0
  325. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +11 -1
  326. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +13 -0
  327. package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.d.ts +39 -0
  328. package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.js +46 -0
  329. package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.d.ts +56 -0
  330. package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.js +110 -0
  331. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts +5 -0
  332. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js +7 -1
  333. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts +6 -0
  334. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js +6 -0
  335. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +6 -1
  336. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +8 -6
  337. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +10 -8
  338. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +18 -1
  339. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +8 -2
  340. package/dist/service/lambda/function/code/sim-lambda-executable-code.js +2 -1
  341. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +2 -11
  342. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +13 -39
  343. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +7 -0
  344. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +13 -7
  345. package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.d.ts +23 -0
  346. package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.js +42 -0
  347. package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.d.ts +12 -4
  348. package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.js +15 -5
  349. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +7 -0
  350. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +6 -2
  351. package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.d.ts +26 -0
  352. package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.js +84 -0
  353. package/dist/service/lambda/function/invoke/sim-lambda-invocation.d.ts +44 -0
  354. package/dist/service/lambda/function/invoke/sim-lambda-invocation.js +44 -0
  355. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +6 -0
  356. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +1 -2
  357. package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +6 -1
  358. package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +19 -6
  359. package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.d.ts +15 -0
  360. package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.js +18 -0
  361. package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.d.ts +12 -0
  362. package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.js +28 -0
  363. package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.d.ts +46 -0
  364. package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.js +104 -0
  365. package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.d.ts +24 -0
  366. package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.js +27 -0
  367. package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.d.ts +43 -0
  368. package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.js +112 -0
  369. package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.d.ts +57 -0
  370. package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.js +79 -0
  371. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.d.ts +10 -0
  372. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.js +15 -0
  373. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.d.ts +11 -0
  374. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.js +24 -0
  375. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.d.ts +50 -0
  376. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.js +43 -0
  377. package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +17 -0
  378. package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +12 -1
  379. package/dist/service/lambda/function/logging/sim-lambda-output.d.ts +56 -0
  380. package/dist/service/lambda/function/logging/sim-lambda-output.js +62 -0
  381. package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.d.ts +8 -0
  382. package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.js +27 -1
  383. package/dist/service/lambda/function/sim-lambda-function.d.ts +1 -1
  384. package/dist/service/lambda/function/sim-lambda-function.js +11 -9
  385. package/dist/service/lambda/function/sim-lambda-function.type.d.ts +15 -0
  386. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.d.ts +16 -0
  387. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.d.ts +22 -0
  388. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.js +17 -0
  389. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.js +1 -0
  390. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +2 -0
  391. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +2 -1
  392. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +2 -0
  393. package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +16 -0
  394. package/dist/service/lambda/function/url/sim-lambda-function-url.js +16 -1
  395. package/dist/service/lambda/index.d.ts +1 -0
  396. package/dist/service/lambda/index.js +1 -0
  397. package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.d.ts +50 -0
  398. package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.js +96 -0
  399. package/dist/service/lambda/serve/sim-lambda-controller.d.ts +14 -0
  400. package/dist/service/lambda/serve/sim-lambda-controller.js +27 -0
  401. package/dist/service/lambda/sim-lambda-commands.d.ts +10 -0
  402. package/dist/service/lambda/sim-lambda-commands.js +11 -0
  403. package/dist/service/lambda/sim-lambda.d.ts +12 -0
  404. package/dist/service/lambda/sim-lambda.js +13 -0
  405. package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.d.ts +67 -0
  406. package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.js +69 -0
  407. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +4 -31
  408. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +7 -6
  409. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +5 -0
  410. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +8 -4
  411. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +1 -14
  412. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +16 -8
  413. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.d.ts +41 -0
  414. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.js +1 -0
  415. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +14 -0
  416. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +32 -2
  417. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.d.ts +33 -0
  418. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.js +48 -0
  419. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.d.ts +16 -0
  420. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.js +44 -0
  421. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +8 -0
  422. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +27 -0
  423. package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
  424. package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +5 -0
  425. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -3
  426. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +3 -0
  427. package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -2
  428. package/dist/service/s3/bucket/sim-s3-bucket-configuration.d.ts +84 -0
  429. package/dist/service/s3/bucket/sim-s3-bucket-configuration.js +115 -0
  430. package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +10 -0
  431. package/dist/service/s3/bucket/sim-s3-bucket-objects.js +18 -0
  432. package/dist/service/s3/bucket/sim-s3-bucket-properties.d.ts +41 -0
  433. package/dist/service/s3/bucket/sim-s3-bucket-properties.js +1 -0
  434. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -83
  435. package/dist/service/s3/bucket/sim-s3-bucket.js +14 -83
  436. package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +6 -0
  437. package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +20 -6
  438. package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.d.ts +58 -0
  439. package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.js +73 -0
  440. package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +19 -1
  441. package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +20 -0
  442. package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.d.ts +21 -0
  443. package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.js +44 -0
  444. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +6 -0
  445. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +5 -4
  446. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +12 -5
  447. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.d.ts +21 -0
  448. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.js +30 -0
  449. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +1 -0
  450. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +14 -1
  451. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +41 -16
  452. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +3 -5
  453. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +7 -10
  454. package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +6 -1
  455. package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +5 -0
  456. package/dist/service/s3/command/copy-object/copy-object-builder.d.ts +10 -1
  457. package/dist/service/s3/command/copy-object/copy-object-builder.js +17 -1
  458. package/dist/service/s3/command/copy-object/copy-object.command.d.ts +11 -1
  459. package/dist/service/s3/command/copy-object/copy-object.handler.js +2 -1
  460. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +5 -1
  461. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +7 -0
  462. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.d.ts +19 -0
  463. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.js +1 -0
  464. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.d.ts +30 -0
  465. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.js +38 -0
  466. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.d.ts +23 -0
  467. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.js +1 -0
  468. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.d.ts +22 -0
  469. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.js +42 -0
  470. package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.d.ts +29 -0
  471. package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.js +49 -0
  472. package/dist/service/s3/command/encryption/sim-s3-encryption-commands.d.ts +22 -0
  473. package/dist/service/s3/command/encryption/sim-s3-encryption-commands.js +30 -0
  474. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.d.ts +24 -0
  475. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.js +1 -0
  476. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.d.ts +31 -0
  477. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.js +39 -0
  478. package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +11 -8
  479. package/dist/service/s3/command/get-object/get-object-authorizer.js +26 -34
  480. package/dist/service/s3/command/get-object/get-object-loader.d.ts +7 -3
  481. package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
  482. package/dist/service/s3/command/get-object/get-object.command.d.ts +2 -1
  483. package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -0
  484. package/dist/service/s3/command/get-object/get-object.handler.js +13 -7
  485. package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.d.ts +29 -0
  486. package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.js +1 -0
  487. package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.d.ts +21 -0
  488. package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.js +33 -0
  489. package/dist/service/s3/command/head-object/head-object-loader.js +2 -0
  490. package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
  491. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +18 -0
  492. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +1 -2
  493. package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +1 -2
  494. package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +5 -0
  495. package/dist/service/s3/command/list-objects/list-objects-page-builder.js +11 -6
  496. package/dist/service/s3/command/list-objects/list-objects.command.d.ts +5 -1
  497. package/dist/service/s3/command/list-objects/list-objects.handler.js +5 -0
  498. package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +6 -0
  499. package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +11 -5
  500. package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +5 -1
  501. package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +5 -0
  502. package/dist/service/s3/command/list-parts/list-parts.handler.js +3 -3
  503. package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +1 -1
  504. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.d.ts +21 -0
  505. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.js +1 -0
  506. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.d.ts +31 -0
  507. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.js +41 -0
  508. package/dist/service/s3/command/put-object/put-object-builder.d.ts +5 -1
  509. package/dist/service/s3/command/put-object/put-object-builder.js +10 -1
  510. package/dist/service/s3/command/put-object/put-object.command.d.ts +5 -1
  511. package/dist/service/s3/command/put-object/put-object.handler.js +2 -1
  512. package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.d.ts +37 -0
  513. package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.js +1 -0
  514. package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.d.ts +22 -0
  515. package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.js +46 -0
  516. package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
  517. package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.d.ts +61 -0
  518. package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.js +49 -0
  519. package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.d.ts +30 -0
  520. package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.js +27 -0
  521. package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.d.ts +26 -0
  522. package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.js +34 -0
  523. package/dist/service/s3/error/sim-s3-upload.error.d.ts +41 -0
  524. package/dist/service/s3/error/sim-s3-upload.error.js +47 -0
  525. package/dist/service/s3/error/sim-s3.error.d.ts +22 -34
  526. package/dist/service/s3/error/sim-s3.error.js +26 -40
  527. package/dist/service/s3/mount/sim-s3-mount.type.d.ts +10 -0
  528. package/dist/service/s3/notification/event/sim-s3-event-records.d.ts +3 -2
  529. package/dist/service/s3/notification/event/sim-s3-event-records.js +5 -3
  530. package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +33 -8
  531. package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +23 -9
  532. package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +5 -1
  533. package/dist/service/s3/notification/sim-s3-object-notifier.js +6 -0
  534. package/dist/service/s3/object/s3-key-encoding.d.ts +12 -0
  535. package/dist/service/s3/object/s3-key-encoding.js +14 -0
  536. package/dist/service/s3/object/s3-listing-encoding.d.ts +42 -0
  537. package/dist/service/s3/object/s3-listing-encoding.js +75 -0
  538. package/dist/service/s3/object/s3-object-response-headers.d.ts +40 -0
  539. package/dist/service/s3/object/s3-object-response-headers.js +49 -2
  540. package/dist/service/s3/object/s3-object-storage-report.d.ts +19 -0
  541. package/dist/service/s3/object/s3-object-storage-report.js +18 -0
  542. package/dist/service/s3/object/s3-object-summary.d.ts +2 -10
  543. package/dist/service/s3/object/s3-object-summary.js +1 -10
  544. package/dist/service/s3/object/s3-object-tags.d.ts +61 -0
  545. package/dist/service/s3/object/s3-object-tags.js +77 -0
  546. package/dist/service/s3/object/s3-object.d.ts +49 -0
  547. package/dist/service/s3/object/s3-object.js +52 -1
  548. package/dist/service/s3/object/s3-server-side-encryption.d.ts +30 -0
  549. package/dist/service/s3/object/s3-server-side-encryption.js +42 -0
  550. package/dist/service/s3/object/s3-storage-class.d.ts +45 -0
  551. package/dist/service/s3/object/s3-storage-class.js +67 -0
  552. package/dist/service/s3/object/s3-write-metadata.d.ts +17 -3
  553. package/dist/service/s3/object/s3-write-metadata.js +43 -0
  554. package/dist/service/s3/object/s3-write-storage.d.ts +27 -0
  555. package/dist/service/s3/object/s3-write-storage.js +21 -0
  556. package/dist/service/s3/object/s3-write-tagging.d.ts +24 -0
  557. package/dist/service/s3/object/s3-write-tagging.js +19 -0
  558. package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +12 -0
  559. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +2 -0
  560. package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.d.ts +9 -0
  561. package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.js +23 -0
  562. package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +22 -0
  563. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +4 -0
  564. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +10 -0
  565. package/dist/service/s3/serve/api/sim-s3-api-encryption-read.d.ts +7 -0
  566. package/dist/service/s3/serve/api/sim-s3-api-encryption-read.js +30 -0
  567. package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +4 -2
  568. package/dist/service/s3/serve/api/sim-s3-api-head-output.js +8 -2
  569. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -6
  570. package/dist/service/s3/serve/api/sim-s3-api-input.js +2 -13
  571. package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +5 -0
  572. package/dist/service/s3/serve/api/sim-s3-api-listing.js +5 -0
  573. package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +16 -0
  574. package/dist/service/s3/serve/api/sim-s3-api-object-input.js +34 -7
  575. package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +18 -1
  576. package/dist/service/s3/serve/api/sim-s3-api-object-output.js +21 -2
  577. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +22 -1
  578. package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +5 -1
  579. package/dist/service/s3/serve/api/sim-s3-api-output.js +16 -5
  580. package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +6 -5
  581. package/dist/service/s3/serve/api/sim-s3-api-request.js +55 -11
  582. package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -2
  583. package/dist/service/s3/serve/api/sim-s3-api-tagging-read.d.ts +9 -0
  584. package/dist/service/s3/serve/api/sim-s3-api-tagging-read.js +14 -0
  585. package/dist/service/s3/serve/api/sim-s3-api.d.ts +7 -1
  586. package/dist/service/s3/serve/api/sim-s3-api.js +7 -1
  587. package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +1 -5
  588. package/dist/service/s3/serve/sim-s3-rest-controller.js +3 -17
  589. package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +3 -0
  590. package/dist/service/s3/serve/sim-s3-rest-object-reader.js +8 -1
  591. package/dist/service/s3/serve/sim-s3-rest-upload.d.ts +20 -0
  592. package/dist/service/s3/serve/sim-s3-rest-upload.js +30 -0
  593. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -0
  594. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +2 -0
  595. package/dist/service/s3/serve/website/sim-s3-website-object.js +3 -0
  596. package/dist/service/s3/sim-s3-commands.d.ts +4 -0
  597. package/dist/service/s3/sim-s3-commands.js +6 -0
  598. package/dist/service/s3/sim-s3-operations.d.ts +11 -4
  599. package/dist/service/s3/sim-s3-operations.js +17 -4
  600. package/dist/service/s3/sim-s3-tagging-operations.d.ts +21 -0
  601. package/dist/service/s3/sim-s3-tagging-operations.js +25 -0
  602. package/dist/service/s3/sim-s3.d.ts +12 -0
  603. package/dist/service/s3/sim-s3.js +13 -0
  604. package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.d.ts +34 -0
  605. package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.js +34 -0
  606. package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.d.ts +9 -0
  607. package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.js +24 -0
  608. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +5 -4
  609. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -3
  610. package/dist/service/s3/upload/sim-s3-completed-upload.js +5 -1
  611. package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +18 -0
  612. package/dist/service/s3/upload/sim-s3-multipart-upload.js +8 -0
  613. package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +6 -0
  614. package/dist/service/s3/upload/sim-s3-multipart-uploads.js +5 -0
  615. package/dist/util/background/background-clock-waits.d.ts +52 -0
  616. package/dist/util/background/background-clock-waits.js +76 -0
  617. package/dist/util/background/background-jitter.js +1 -0
  618. package/dist/util/background/background-pending-tasks.d.ts +55 -0
  619. package/dist/util/background/background-pending-tasks.js +117 -0
  620. package/dist/util/background/background-settled-tasks.d.ts +4 -1
  621. package/dist/util/background/background-settled-tasks.js +4 -1
  622. package/dist/util/background/background.d.ts +43 -0
  623. package/dist/util/background/background.js +27 -19
  624. package/dist/util/background/non-deterministic-background.d.ts +12 -0
  625. package/dist/util/background/non-deterministic-background.js +24 -20
  626. package/dist/util/clock/sim-clock-control.js +23 -2
  627. package/docs/services/apigateway/README.md +3 -1
  628. package/docs/services/athena/README.md +126 -3
  629. package/docs/services/cloudformation/README.md +775 -65
  630. package/docs/services/cognito/README.md +5 -0
  631. package/docs/services/dynamodb/README.md +86 -11
  632. package/docs/services/lambda/README.md +603 -39
  633. package/docs/services/s3/README.md +688 -57
  634. package/package.json +8 -2
@@ -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
+ }
@@ -0,0 +1,22 @@
1
+ import type { SimAws } from "../../../aws/sim-aws.js";
2
+ import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
3
+ import type { SimCfnExports } from "../../export/sim-cfn-exports.js";
4
+ import type { SimCfnStack } from "../../stack/sim-cfn-stack.js";
5
+ import type { SimCfnTemplate } from "../../template/sim-cfn-template.js";
6
+ import type { SimUpdateStackCommandInput } from "./update-stack.command.js";
7
+ interface SimCfnUpdateStackTemplateProperties {
8
+ readonly simAws: SimAws;
9
+ readonly accountRegionScope: SimAwsAccountRegionScope;
10
+ readonly stack: SimCfnStack;
11
+ readonly input: SimUpdateStackCommandInput;
12
+ readonly exports?: SimCfnExports | undefined;
13
+ }
14
+ /**
15
+ * The template an update applies, read against the Parameter values it carries.
16
+ *
17
+ * `UsePreviousTemplate` takes the template the Stack already holds, which is
18
+ * how an update changes nothing but a Parameter value. Every other update is
19
+ * given the body it is to apply.
20
+ */
21
+ export declare function simCfnUpdateStackTemplate(properties: SimCfnUpdateStackTemplateProperties): SimCfnTemplate;
22
+ export {};
@@ -0,0 +1,34 @@
1
+ import { assertDefined } from "../../../../util/type-guard/defined.js";
2
+ import { simCfnCommandTemplate, simCfnHeldTemplate, } from "../../template/sim-cfn-command-template.js";
3
+ import { simCfnUpdateStackParameters } from "./update-stack-previous-values.js";
4
+ /**
5
+ * The template an update applies, read against the Parameter values it carries.
6
+ *
7
+ * `UsePreviousTemplate` takes the template the Stack already holds, which is
8
+ * how an update changes nothing but a Parameter value. Every other update is
9
+ * given the body it is to apply.
10
+ */
11
+ export function simCfnUpdateStackTemplate(properties) {
12
+ const { simAws, accountRegionScope, stack, input, exports } = properties;
13
+ const context = {
14
+ simAws,
15
+ accountRegionScope,
16
+ stackName: stack.stackName,
17
+ stackId: stack.stackId,
18
+ input: {
19
+ Parameters: simCfnUpdateStackParameters({
20
+ input,
21
+ deployed: stack.currentTemplate.parameters,
22
+ }),
23
+ },
24
+ exports,
25
+ };
26
+ if (input.UsePreviousTemplate === true) {
27
+ return simCfnHeldTemplate({ ...context, template: stack.template });
28
+ }
29
+ assertDefined(input.TemplateBody, "UpdateStackCommand.input.TemplateBody");
30
+ return simCfnCommandTemplate({
31
+ ...context,
32
+ templateBody: input.TemplateBody,
33
+ });
34
+ }
@@ -6,6 +6,17 @@ import type { SimCreateStackParameter } from "../create-stack/create-stack.comma
6
6
  export interface SimUpdateStackCommand {
7
7
  readonly input: SimUpdateStackCommandInput;
8
8
  }
9
+ /**
10
+ * A Parameter value an update supplies, or asks the Stack for.
11
+ *
12
+ * An update names every Parameter the template declares, so one whose value has
13
+ * not changed is carried by `UsePreviousValue` rather than being written out
14
+ * again. Supplying both that and a `ParameterValue` says two things at once,
15
+ * and is refused.
16
+ */
17
+ export interface SimUpdateStackParameter extends SimCreateStackParameter {
18
+ readonly UsePreviousValue?: boolean | undefined;
19
+ }
9
20
  /**
10
21
  * Minimal structural sim CloudFormation UpdateStack input.
11
22
  *
@@ -14,7 +25,12 @@ export interface SimUpdateStackCommand {
14
25
  export interface SimUpdateStackCommandInput {
15
26
  readonly StackName?: string | undefined;
16
27
  readonly TemplateBody?: string | undefined;
17
- readonly Parameters?: readonly SimCreateStackParameter[] | undefined;
28
+ /**
29
+ * Update from the template the Stack already holds, which is how a Parameter
30
+ * value is changed on its own. Supplying a `TemplateBody` as well is refused.
31
+ */
32
+ readonly UsePreviousTemplate?: boolean | undefined;
33
+ readonly Parameters?: readonly SimUpdateStackParameter[] | undefined;
18
34
  }
19
35
  /**
20
36
  * Minimal structural sim CloudFormation UpdateStack output.
@@ -1,8 +1,7 @@
1
1
  import { assertDefined } from "../../../../util/type-guard/defined.js";
2
- import { SimCfnTemplate } from "../../template/sim-cfn-template.js";
3
- import { SimCfnParameters } from "../../parameters/sim-cfn-parameters.js";
4
- import { makeSimCfnParameterStore } from "../../parameters/store/sim-cfn-parameter-store.js";
5
2
  import { SimCloudFormationValidationError } from "../../error/sim-cloudformation.error.js";
3
+ import { assertSimCfnUpdateStackTemplateSource } from "./update-stack-previous-values.js";
4
+ import { simCfnUpdateStackTemplate } from "./update-stack-template.js";
6
5
  /**
7
6
  * Simulated CloudFormation UpdateStackCommand handler.
8
7
  *
@@ -38,7 +37,7 @@ export class UpdateStackCommandHandler {
38
37
  */
39
38
  async handle(command) {
40
39
  assertDefined(command.input.StackName, "UpdateStackCommand.input.StackName");
41
- assertDefined(command.input.TemplateBody, "UpdateStackCommand.input.TemplateBody");
40
+ assertSimCfnUpdateStackTemplateSource(command.input);
42
41
  // Allow for potential non-deterministic sequencing of async events.
43
42
  await this.background.sequence();
44
43
  const stackName = command.input.StackName;
@@ -46,21 +45,15 @@ export class UpdateStackCommandHandler {
46
45
  if (stack === undefined) {
47
46
  throw new SimCloudFormationValidationError(`Stack with id ${stackName} does not exist`);
48
47
  }
49
- const parameters = SimCfnParameters.fromInput(command.input, {
50
- stackName,
51
- parameterStore: makeSimCfnParameterStore({
52
- simAws: this.simAws,
53
- accountRegionScope: this.accountRegionScope,
54
- }),
55
- });
56
- await stack.update(SimCfnTemplate.fromTemplateBody(command.input.TemplateBody, {
57
- stackName,
58
- parameters,
48
+ await stack.update(simCfnUpdateStackTemplate({
49
+ simAws: this.simAws,
59
50
  accountRegionScope: this.accountRegionScope,
51
+ stack,
52
+ input: command.input,
60
53
  exports: this.exports,
61
54
  }), { cdkOutContext: this.cdkOutContext, caller: this.caller });
62
55
  return {
63
- StackId: stack.stackName,
56
+ StackId: stack.stackId,
64
57
  $metadata: {},
65
58
  };
66
59
  }
@@ -29,3 +29,24 @@ export declare class SimCloudFormationValidationError extends SimCloudFormationE
29
29
  readonly name = "ValidationError";
30
30
  constructor(message: string);
31
31
  }
32
+ /**
33
+ * Simulated CloudFormation InvalidChangeSetStatusException error.
34
+ *
35
+ * CloudFormation returns this for an ExecuteChangeSet naming a change set that
36
+ * cannot be executed, such as one that has already been executed or one another
37
+ * execution has made obsolete.
38
+ */
39
+ export declare class SimCloudFormationInvalidChangeSetStatusException extends SimCloudFormationError {
40
+ readonly name = "InvalidChangeSetStatusException";
41
+ constructor(message: string);
42
+ }
43
+ /**
44
+ * Simulated CloudFormation ChangeSetNotFoundException error.
45
+ *
46
+ * CloudFormation returns this for a command naming a change set it cannot
47
+ * find, which includes one DeleteChangeSet has taken away.
48
+ */
49
+ export declare class SimCloudFormationChangeSetNotFoundException extends SimCloudFormationError {
50
+ readonly name = "ChangeSetNotFoundException";
51
+ constructor(message: string);
52
+ }
@@ -30,3 +30,28 @@ export class SimCloudFormationValidationError extends SimCloudFormationError {
30
30
  super(message, { httpStatusCode: 400 });
31
31
  }
32
32
  }
33
+ /**
34
+ * Simulated CloudFormation InvalidChangeSetStatusException error.
35
+ *
36
+ * CloudFormation returns this for an ExecuteChangeSet naming a change set that
37
+ * cannot be executed, such as one that has already been executed or one another
38
+ * execution has made obsolete.
39
+ */
40
+ export class SimCloudFormationInvalidChangeSetStatusException extends SimCloudFormationError {
41
+ name = "InvalidChangeSetStatusException";
42
+ constructor(message) {
43
+ super(message, { httpStatusCode: 400 });
44
+ }
45
+ }
46
+ /**
47
+ * Simulated CloudFormation ChangeSetNotFoundException error.
48
+ *
49
+ * CloudFormation returns this for a command naming a change set it cannot
50
+ * find, which includes one DeleteChangeSet has taken away.
51
+ */
52
+ export class SimCloudFormationChangeSetNotFoundException extends SimCloudFormationError {
53
+ name = "ChangeSetNotFoundException";
54
+ constructor(message) {
55
+ super(message, { httpStatusCode: 404 });
56
+ }
57
+ }
@@ -3,6 +3,12 @@ import type { SimCfnTemplateValue } from "../../template/value/sim-cfn-template-
3
3
  interface SimCfnPseudoParametersProperties {
4
4
  readonly accountRegionScope?: SimAwsAccountRegionScope | undefined;
5
5
  readonly stackName?: string | undefined;
6
+ /**
7
+ * The Stack's unique ID, for a template being resolved for a Stack that has
8
+ * one. A template resolved outside a Stack has none, and reads `AWS::StackId`
9
+ * as the Stack name, which is the closest thing to an identity it has.
10
+ */
11
+ readonly stackId?: string | undefined;
6
12
  }
7
13
  /**
8
14
  * Resolves CloudFormation pseudo parameters for one simulated Stack scope.
@@ -10,6 +16,7 @@ interface SimCfnPseudoParametersProperties {
10
16
  export declare class SimCfnPseudoParameters {
11
17
  private readonly accountRegionScope;
12
18
  private readonly stackName;
19
+ private readonly stackId;
13
20
  constructor(properties: SimCfnPseudoParametersProperties);
14
21
  /**
15
22
  * Resolve a supported CloudFormation pseudo parameter.
@@ -7,9 +7,11 @@ import { DEFAULT_SIM_AWS_REGION_NAME } from "../../../aws/sim-aws-region.js";
7
7
  export class SimCfnPseudoParameters {
8
8
  accountRegionScope;
9
9
  stackName;
10
+ stackId;
10
11
  constructor(properties) {
11
12
  this.accountRegionScope = properties.accountRegionScope;
12
13
  this.stackName = properties.stackName;
14
+ this.stackId = properties.stackId;
13
15
  }
14
16
  /**
15
17
  * Resolve a supported CloudFormation pseudo parameter.
@@ -29,7 +31,7 @@ export class SimCfnPseudoParameters {
29
31
  return this.stackName;
30
32
  }
31
33
  case "AWS::StackId": {
32
- return this.stackName;
34
+ return this.stackId ?? this.stackName;
33
35
  }
34
36
  case "AWS::NotificationARNs": {
35
37
  return [];
@@ -14,6 +14,7 @@ import type { SimCfnParameterDefinition, SimCfnParametersContext, SimCfnParamete
14
14
  export declare class SimCfnParameters {
15
15
  private readonly definitions;
16
16
  private readonly values;
17
+ private readonly supplied;
17
18
  private readonly properties;
18
19
  constructor(properties?: SimCfnParametersProperties);
19
20
  /**
@@ -44,6 +45,14 @@ export declare class SimCfnParameters {
44
45
  * runtime value has been supplied or defaulted.
45
46
  */
46
47
  has(parameterName: string): boolean;
48
+ /**
49
+ * The value a command supplied for this Parameter, if it supplied one.
50
+ *
51
+ * What `UsePreviousValue` on an UpdateStack Parameter reads off the Stack.
52
+ * A Parameter the Stack was deployed without has nothing here, and takes the
53
+ * template Default again as it did the first time.
54
+ */
55
+ suppliedValue(parameterName: string): string | undefined;
47
56
  /**
48
57
  * Resolve the runtime value for a declared or referenced Parameter.
49
58
  *