@kensio/yulin 1.21.3 → 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 (626) 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/sim-cfn-resource-record.d.ts +15 -0
  120. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +21 -1
  121. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +9 -7
  122. package/dist/service/cloudformation/resource/sim-cfn-resource.js +11 -11
  123. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +8 -0
  124. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +3 -3
  125. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +3 -3
  126. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
  127. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +9 -0
  128. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.d.ts +37 -0
  129. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.js +77 -0
  130. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.d.ts +51 -0
  131. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.js +10 -0
  132. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.d.ts +11 -0
  133. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.js +34 -0
  134. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.d.ts +21 -0
  135. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.js +31 -0
  136. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.d.ts +14 -0
  137. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.js +1 -0
  138. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.d.ts +26 -0
  139. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.js +58 -0
  140. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.d.ts +18 -0
  141. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.js +89 -0
  142. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.d.ts +15 -0
  143. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.js +65 -0
  144. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.d.ts +13 -0
  145. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.js +60 -0
  146. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.d.ts +13 -0
  147. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.js +50 -0
  148. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.d.ts +13 -0
  149. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.js +30 -0
  150. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.d.ts +26 -0
  151. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.js +44 -0
  152. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.d.ts +15 -0
  153. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.js +59 -0
  154. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.d.ts +11 -0
  155. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.js +43 -0
  156. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.d.ts +15 -0
  157. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.js +67 -0
  158. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.d.ts +26 -0
  159. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.js +61 -0
  160. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.d.ts +18 -0
  161. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.js +59 -0
  162. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +1 -1
  163. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +4 -0
  164. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +12 -5
  165. package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api-template.factory.js +1 -1
  166. package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api.js +7 -3
  167. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-api-event.js +7 -3
  168. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.d.ts +26 -0
  169. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.js +88 -0
  170. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +12 -0
  171. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +1 -0
  172. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +8 -5
  173. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +23 -1
  174. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +9 -2
  175. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +5 -3
  176. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +6 -1
  177. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +7 -1
  178. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.d.ts +19 -0
  179. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.js +69 -0
  180. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +5 -0
  181. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +3 -1
  182. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.d.ts +8 -0
  183. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.js +8 -0
  184. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +1 -4
  185. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +6 -4
  186. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +2 -4
  187. package/dist/service/cloudformation/sam/sim-cfn-sam-error.d.ts +31 -0
  188. package/dist/service/cloudformation/sam/sim-cfn-sam-error.js +17 -0
  189. package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +11 -6
  190. package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +20 -0
  191. package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +4 -3
  192. package/dist/service/cloudformation/serve/sim-cloudformation-api.js +6 -3
  193. package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.d.ts +10 -0
  194. package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.js +94 -0
  195. package/dist/service/cloudformation/sim-cloudformation.d.ts +31 -0
  196. package/dist/service/cloudformation/sim-cloudformation.js +56 -9
  197. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
  198. package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.d.ts +20 -0
  199. package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.js +23 -0
  200. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +6 -0
  201. package/dist/service/cloudformation/stack/sim-cfn-stack-id.d.ts +30 -0
  202. package/dist/service/cloudformation/stack/sim-cfn-stack-id.js +24 -0
  203. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +46 -3
  204. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +67 -6
  205. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
  206. package/dist/service/cloudformation/stack/sim-cfn-stack.js +59 -32
  207. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +7 -1
  208. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +7 -1
  209. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +3 -1
  210. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
  211. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
  212. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +3 -0
  213. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
  214. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.d.ts +18 -0
  215. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.js +30 -0
  216. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.d.ts +9 -0
  217. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.js +14 -0
  218. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +25 -14
  219. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +41 -24
  220. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +9 -0
  221. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +14 -0
  222. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +6 -1
  223. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +12 -3
  224. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +29 -3
  225. package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.d.ts +28 -0
  226. package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.js +39 -0
  227. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +25 -1
  228. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +43 -11
  229. package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.d.ts +7 -0
  230. package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.js +29 -3
  231. package/dist/service/cloudformation/template/sim-cfn-command-template.d.ts +40 -0
  232. package/dist/service/cloudformation/template/sim-cfn-command-template.js +45 -0
  233. package/dist/service/cloudformation/template/sim-cfn-template.d.ts +7 -0
  234. package/dist/service/cloudformation/template/sim-cfn-template.js +15 -1
  235. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +2 -0
  236. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +49 -0
  237. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +1 -0
  238. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +1 -0
  239. package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +1 -1
  240. package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.d.ts +5 -0
  241. package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.js +17 -0
  242. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +5 -5
  243. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +24 -8
  244. package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.d.ts +11 -8
  245. package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.js +20 -8
  246. package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +2 -0
  247. package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
  248. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +14 -4
  249. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +16 -4
  250. package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.d.ts +17 -0
  251. package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.js +39 -0
  252. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.d.ts +28 -0
  253. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.js +50 -0
  254. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +12 -5
  255. package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts +3 -3
  256. package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +3 -4
  257. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.d.ts +5 -16
  258. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.js +4 -21
  259. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.d.ts +15 -0
  260. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.js +18 -1
  261. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.d.ts +13 -0
  262. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.js +15 -0
  263. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +2 -0
  264. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +5 -3
  265. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.d.ts +21 -0
  266. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.js +37 -0
  267. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +6 -0
  268. package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
  269. package/dist/service/lambda/command/create-function/create-function.handler.js +5 -1
  270. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +2 -3
  271. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +1 -0
  272. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +6 -0
  273. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +10 -0
  274. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +2 -6
  275. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +1 -0
  276. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
  277. package/dist/service/lambda/command/function-url/function-url-cors-constraints.d.ts +25 -0
  278. package/dist/service/lambda/command/function-url/function-url-cors-constraints.js +49 -0
  279. package/dist/service/lambda/command/function-url/function-url-cors-input.d.ts +25 -0
  280. package/dist/service/lambda/command/function-url/function-url-cors-input.js +57 -0
  281. package/dist/service/lambda/command/function-url/function-url-input.d.ts +7 -0
  282. package/dist/service/lambda/command/function-url/function-url-input.js +9 -0
  283. package/dist/service/lambda/command/invoke/async/sim-lambda-async-invocation.js +10 -13
  284. package/dist/service/lambda/command/invoke/async/sim-lambda-async-outcome.js +2 -0
  285. package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.d.ts +13 -0
  286. package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.js +12 -0
  287. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +2 -0
  288. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +1 -0
  289. package/dist/service/lambda/destination/deliver/sim-lambda-destination-bus.js +1 -1
  290. package/dist/service/lambda/destination/deliver/sim-lambda-destination-function.js +8 -12
  291. package/dist/service/lambda/destination/deliver/sim-lambda-destination-queue.js +4 -3
  292. package/dist/service/lambda/destination/deliver/sim-lambda-destination-send.d.ts +2 -0
  293. package/dist/service/lambda/destination/deliver/sim-lambda-destination-topic.js +4 -3
  294. package/dist/service/lambda/destination/sim-aws-lambda-destinations.d.ts +4 -6
  295. package/dist/service/lambda/destination/sim-aws-lambda-destinations.js +6 -6
  296. package/dist/service/lambda/destination/sim-lambda-destination-targets.d.ts +3 -0
  297. package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +4 -9
  298. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +4 -9
  299. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +22 -3
  300. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +39 -9
  301. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +7 -6
  302. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +14 -12
  303. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +9 -15
  304. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +9 -16
  305. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +10 -6
  306. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +22 -12
  307. package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.d.ts +23 -0
  308. package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.js +18 -0
  309. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +12 -13
  310. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +24 -17
  311. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.d.ts +64 -0
  312. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.js +86 -0
  313. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +6 -0
  314. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +8 -1
  315. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +6 -0
  316. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +7 -0
  317. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +11 -1
  318. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +13 -0
  319. package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.d.ts +39 -0
  320. package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.js +46 -0
  321. package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.d.ts +56 -0
  322. package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.js +110 -0
  323. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts +5 -0
  324. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js +7 -1
  325. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts +6 -0
  326. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js +6 -0
  327. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +6 -1
  328. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +8 -6
  329. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +10 -8
  330. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +18 -1
  331. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +8 -2
  332. package/dist/service/lambda/function/code/sim-lambda-executable-code.js +2 -1
  333. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +2 -11
  334. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +13 -39
  335. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +7 -0
  336. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +13 -7
  337. package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.d.ts +23 -0
  338. package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.js +42 -0
  339. package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.d.ts +12 -4
  340. package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.js +15 -5
  341. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +7 -0
  342. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +6 -2
  343. package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.d.ts +26 -0
  344. package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.js +84 -0
  345. package/dist/service/lambda/function/invoke/sim-lambda-invocation.d.ts +44 -0
  346. package/dist/service/lambda/function/invoke/sim-lambda-invocation.js +44 -0
  347. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +6 -0
  348. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +1 -2
  349. package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +6 -1
  350. package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +19 -6
  351. package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.d.ts +15 -0
  352. package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.js +18 -0
  353. package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.d.ts +12 -0
  354. package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.js +28 -0
  355. package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.d.ts +46 -0
  356. package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.js +104 -0
  357. package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.d.ts +24 -0
  358. package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.js +27 -0
  359. package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.d.ts +43 -0
  360. package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.js +112 -0
  361. package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.d.ts +57 -0
  362. package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.js +79 -0
  363. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.d.ts +10 -0
  364. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.js +15 -0
  365. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.d.ts +11 -0
  366. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.js +24 -0
  367. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.d.ts +50 -0
  368. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.js +43 -0
  369. package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +17 -0
  370. package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +12 -1
  371. package/dist/service/lambda/function/logging/sim-lambda-output.d.ts +56 -0
  372. package/dist/service/lambda/function/logging/sim-lambda-output.js +62 -0
  373. package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.d.ts +8 -0
  374. package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.js +27 -1
  375. package/dist/service/lambda/function/sim-lambda-function.d.ts +1 -1
  376. package/dist/service/lambda/function/sim-lambda-function.js +11 -9
  377. package/dist/service/lambda/function/sim-lambda-function.type.d.ts +15 -0
  378. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.d.ts +16 -0
  379. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.d.ts +22 -0
  380. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.js +17 -0
  381. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.js +1 -0
  382. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +2 -0
  383. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +2 -1
  384. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +2 -0
  385. package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +16 -0
  386. package/dist/service/lambda/function/url/sim-lambda-function-url.js +16 -1
  387. package/dist/service/lambda/index.d.ts +1 -0
  388. package/dist/service/lambda/index.js +1 -0
  389. package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.d.ts +50 -0
  390. package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.js +96 -0
  391. package/dist/service/lambda/serve/sim-lambda-controller.d.ts +14 -0
  392. package/dist/service/lambda/serve/sim-lambda-controller.js +27 -0
  393. package/dist/service/lambda/sim-lambda-commands.d.ts +10 -0
  394. package/dist/service/lambda/sim-lambda-commands.js +11 -0
  395. package/dist/service/lambda/sim-lambda.d.ts +12 -0
  396. package/dist/service/lambda/sim-lambda.js +13 -0
  397. package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.d.ts +67 -0
  398. package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.js +69 -0
  399. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +4 -31
  400. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +7 -6
  401. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +5 -0
  402. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +8 -4
  403. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +1 -14
  404. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +16 -8
  405. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.d.ts +41 -0
  406. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.js +1 -0
  407. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +14 -0
  408. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +32 -2
  409. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.d.ts +33 -0
  410. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.js +48 -0
  411. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.d.ts +16 -0
  412. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.js +44 -0
  413. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +8 -0
  414. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +27 -0
  415. package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
  416. package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +5 -0
  417. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -3
  418. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +3 -0
  419. package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -2
  420. package/dist/service/s3/bucket/sim-s3-bucket-configuration.d.ts +84 -0
  421. package/dist/service/s3/bucket/sim-s3-bucket-configuration.js +115 -0
  422. package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +10 -0
  423. package/dist/service/s3/bucket/sim-s3-bucket-objects.js +18 -0
  424. package/dist/service/s3/bucket/sim-s3-bucket-properties.d.ts +41 -0
  425. package/dist/service/s3/bucket/sim-s3-bucket-properties.js +1 -0
  426. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -83
  427. package/dist/service/s3/bucket/sim-s3-bucket.js +14 -83
  428. package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +6 -0
  429. package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +20 -6
  430. package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.d.ts +58 -0
  431. package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.js +73 -0
  432. package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +19 -1
  433. package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +20 -0
  434. package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.d.ts +21 -0
  435. package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.js +44 -0
  436. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +6 -0
  437. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +5 -4
  438. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +12 -5
  439. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.d.ts +21 -0
  440. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.js +30 -0
  441. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +1 -0
  442. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +14 -1
  443. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +41 -16
  444. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +3 -5
  445. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +7 -10
  446. package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +6 -1
  447. package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +5 -0
  448. package/dist/service/s3/command/copy-object/copy-object-builder.d.ts +10 -1
  449. package/dist/service/s3/command/copy-object/copy-object-builder.js +17 -1
  450. package/dist/service/s3/command/copy-object/copy-object.command.d.ts +11 -1
  451. package/dist/service/s3/command/copy-object/copy-object.handler.js +2 -1
  452. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +5 -1
  453. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +7 -0
  454. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.d.ts +19 -0
  455. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.js +1 -0
  456. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.d.ts +30 -0
  457. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.js +38 -0
  458. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.d.ts +23 -0
  459. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.js +1 -0
  460. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.d.ts +22 -0
  461. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.js +42 -0
  462. package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.d.ts +29 -0
  463. package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.js +49 -0
  464. package/dist/service/s3/command/encryption/sim-s3-encryption-commands.d.ts +22 -0
  465. package/dist/service/s3/command/encryption/sim-s3-encryption-commands.js +30 -0
  466. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.d.ts +24 -0
  467. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.js +1 -0
  468. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.d.ts +31 -0
  469. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.js +39 -0
  470. package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +11 -8
  471. package/dist/service/s3/command/get-object/get-object-authorizer.js +26 -34
  472. package/dist/service/s3/command/get-object/get-object-loader.d.ts +7 -3
  473. package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
  474. package/dist/service/s3/command/get-object/get-object.command.d.ts +2 -1
  475. package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -0
  476. package/dist/service/s3/command/get-object/get-object.handler.js +13 -7
  477. package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.d.ts +29 -0
  478. package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.js +1 -0
  479. package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.d.ts +21 -0
  480. package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.js +33 -0
  481. package/dist/service/s3/command/head-object/head-object-loader.js +2 -0
  482. package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
  483. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +18 -0
  484. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +1 -2
  485. package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +1 -2
  486. package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +5 -0
  487. package/dist/service/s3/command/list-objects/list-objects-page-builder.js +11 -6
  488. package/dist/service/s3/command/list-objects/list-objects.command.d.ts +5 -1
  489. package/dist/service/s3/command/list-objects/list-objects.handler.js +5 -0
  490. package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +6 -0
  491. package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +11 -5
  492. package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +5 -1
  493. package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +5 -0
  494. package/dist/service/s3/command/list-parts/list-parts.handler.js +3 -3
  495. package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +1 -1
  496. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.d.ts +21 -0
  497. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.js +1 -0
  498. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.d.ts +31 -0
  499. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.js +41 -0
  500. package/dist/service/s3/command/put-object/put-object-builder.d.ts +5 -1
  501. package/dist/service/s3/command/put-object/put-object-builder.js +10 -1
  502. package/dist/service/s3/command/put-object/put-object.command.d.ts +5 -1
  503. package/dist/service/s3/command/put-object/put-object.handler.js +2 -1
  504. package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.d.ts +37 -0
  505. package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.js +1 -0
  506. package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.d.ts +22 -0
  507. package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.js +46 -0
  508. package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
  509. package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.d.ts +61 -0
  510. package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.js +49 -0
  511. package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.d.ts +30 -0
  512. package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.js +27 -0
  513. package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.d.ts +26 -0
  514. package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.js +34 -0
  515. package/dist/service/s3/error/sim-s3-upload.error.d.ts +41 -0
  516. package/dist/service/s3/error/sim-s3-upload.error.js +47 -0
  517. package/dist/service/s3/error/sim-s3.error.d.ts +22 -34
  518. package/dist/service/s3/error/sim-s3.error.js +26 -40
  519. package/dist/service/s3/mount/sim-s3-mount.type.d.ts +10 -0
  520. package/dist/service/s3/notification/event/sim-s3-event-records.d.ts +3 -2
  521. package/dist/service/s3/notification/event/sim-s3-event-records.js +5 -3
  522. package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +33 -8
  523. package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +23 -9
  524. package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +5 -1
  525. package/dist/service/s3/notification/sim-s3-object-notifier.js +6 -0
  526. package/dist/service/s3/object/s3-key-encoding.d.ts +12 -0
  527. package/dist/service/s3/object/s3-key-encoding.js +14 -0
  528. package/dist/service/s3/object/s3-listing-encoding.d.ts +42 -0
  529. package/dist/service/s3/object/s3-listing-encoding.js +75 -0
  530. package/dist/service/s3/object/s3-object-response-headers.d.ts +40 -0
  531. package/dist/service/s3/object/s3-object-response-headers.js +49 -2
  532. package/dist/service/s3/object/s3-object-storage-report.d.ts +19 -0
  533. package/dist/service/s3/object/s3-object-storage-report.js +18 -0
  534. package/dist/service/s3/object/s3-object-summary.d.ts +2 -10
  535. package/dist/service/s3/object/s3-object-summary.js +1 -10
  536. package/dist/service/s3/object/s3-object-tags.d.ts +61 -0
  537. package/dist/service/s3/object/s3-object-tags.js +77 -0
  538. package/dist/service/s3/object/s3-object.d.ts +49 -0
  539. package/dist/service/s3/object/s3-object.js +52 -1
  540. package/dist/service/s3/object/s3-server-side-encryption.d.ts +30 -0
  541. package/dist/service/s3/object/s3-server-side-encryption.js +42 -0
  542. package/dist/service/s3/object/s3-storage-class.d.ts +45 -0
  543. package/dist/service/s3/object/s3-storage-class.js +67 -0
  544. package/dist/service/s3/object/s3-write-metadata.d.ts +17 -3
  545. package/dist/service/s3/object/s3-write-metadata.js +43 -0
  546. package/dist/service/s3/object/s3-write-storage.d.ts +27 -0
  547. package/dist/service/s3/object/s3-write-storage.js +21 -0
  548. package/dist/service/s3/object/s3-write-tagging.d.ts +24 -0
  549. package/dist/service/s3/object/s3-write-tagging.js +19 -0
  550. package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +12 -0
  551. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +2 -0
  552. package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.d.ts +9 -0
  553. package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.js +23 -0
  554. package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +22 -0
  555. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +4 -0
  556. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +10 -0
  557. package/dist/service/s3/serve/api/sim-s3-api-encryption-read.d.ts +7 -0
  558. package/dist/service/s3/serve/api/sim-s3-api-encryption-read.js +30 -0
  559. package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +4 -2
  560. package/dist/service/s3/serve/api/sim-s3-api-head-output.js +8 -2
  561. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -6
  562. package/dist/service/s3/serve/api/sim-s3-api-input.js +2 -13
  563. package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +5 -0
  564. package/dist/service/s3/serve/api/sim-s3-api-listing.js +5 -0
  565. package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +16 -0
  566. package/dist/service/s3/serve/api/sim-s3-api-object-input.js +34 -7
  567. package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +18 -1
  568. package/dist/service/s3/serve/api/sim-s3-api-object-output.js +21 -2
  569. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +22 -1
  570. package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +5 -1
  571. package/dist/service/s3/serve/api/sim-s3-api-output.js +16 -5
  572. package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +6 -5
  573. package/dist/service/s3/serve/api/sim-s3-api-request.js +55 -11
  574. package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -2
  575. package/dist/service/s3/serve/api/sim-s3-api-tagging-read.d.ts +9 -0
  576. package/dist/service/s3/serve/api/sim-s3-api-tagging-read.js +14 -0
  577. package/dist/service/s3/serve/api/sim-s3-api.d.ts +7 -1
  578. package/dist/service/s3/serve/api/sim-s3-api.js +7 -1
  579. package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +1 -5
  580. package/dist/service/s3/serve/sim-s3-rest-controller.js +3 -17
  581. package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +3 -0
  582. package/dist/service/s3/serve/sim-s3-rest-object-reader.js +8 -1
  583. package/dist/service/s3/serve/sim-s3-rest-upload.d.ts +20 -0
  584. package/dist/service/s3/serve/sim-s3-rest-upload.js +30 -0
  585. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -0
  586. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +2 -0
  587. package/dist/service/s3/serve/website/sim-s3-website-object.js +3 -0
  588. package/dist/service/s3/sim-s3-commands.d.ts +4 -0
  589. package/dist/service/s3/sim-s3-commands.js +6 -0
  590. package/dist/service/s3/sim-s3-operations.d.ts +11 -4
  591. package/dist/service/s3/sim-s3-operations.js +17 -4
  592. package/dist/service/s3/sim-s3-tagging-operations.d.ts +21 -0
  593. package/dist/service/s3/sim-s3-tagging-operations.js +25 -0
  594. package/dist/service/s3/sim-s3.d.ts +12 -0
  595. package/dist/service/s3/sim-s3.js +13 -0
  596. package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.d.ts +34 -0
  597. package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.js +34 -0
  598. package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.d.ts +9 -0
  599. package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.js +24 -0
  600. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +5 -4
  601. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -3
  602. package/dist/service/s3/upload/sim-s3-completed-upload.js +5 -1
  603. package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +18 -0
  604. package/dist/service/s3/upload/sim-s3-multipart-upload.js +8 -0
  605. package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +6 -0
  606. package/dist/service/s3/upload/sim-s3-multipart-uploads.js +5 -0
  607. package/dist/util/background/background-clock-waits.d.ts +52 -0
  608. package/dist/util/background/background-clock-waits.js +76 -0
  609. package/dist/util/background/background-jitter.js +1 -0
  610. package/dist/util/background/background-pending-tasks.d.ts +55 -0
  611. package/dist/util/background/background-pending-tasks.js +117 -0
  612. package/dist/util/background/background-settled-tasks.d.ts +4 -1
  613. package/dist/util/background/background-settled-tasks.js +4 -1
  614. package/dist/util/background/background.d.ts +43 -0
  615. package/dist/util/background/background.js +27 -19
  616. package/dist/util/background/non-deterministic-background.d.ts +12 -0
  617. package/dist/util/background/non-deterministic-background.js +24 -20
  618. package/dist/util/clock/sim-clock-control.js +23 -2
  619. package/docs/services/apigateway/README.md +3 -1
  620. package/docs/services/athena/README.md +126 -3
  621. package/docs/services/cloudformation/README.md +775 -65
  622. package/docs/services/cognito/README.md +5 -0
  623. package/docs/services/dynamodb/README.md +86 -11
  624. package/docs/services/lambda/README.md +603 -39
  625. package/docs/services/s3/README.md +688 -57
  626. package/package.json +7 -1
@@ -20,14 +20,16 @@ import { samImplicitHttpApiLogicalId, samImplicitHttpApiResources, } from "./sim
20
20
  */
21
21
  export function samHttpApiEventResources(event) {
22
22
  const apiId = samHttpApiEventApiId(event.properties);
23
+ const apiLogicalId = samHttpApiEventApiLogicalId(event.properties);
23
24
  const prefix = `${event.functionLogicalId}${event.eventName}HttpApi`;
24
25
  const integrationLogicalId = `${prefix}Integration`;
25
26
  return {
26
27
  ...(event.properties["ApiId"] === undefined &&
27
- samImplicitHttpApiResources()),
28
+ samImplicitHttpApiResources(event.apiAuth.get(samImplicitHttpApiLogicalId))),
28
29
  [integrationLogicalId]: integrationResource(event, apiId),
29
30
  [`${prefix}Route`]: samHttpApiRouteResource({
30
31
  apiId,
32
+ apiLogicalId,
31
33
  integrationLogicalId,
32
34
  event,
33
35
  }),
@@ -54,6 +56,26 @@ function samHttpApiEventApiId(properties) {
54
56
  }
55
57
  return isSamTemplateRecord(apiId) ? apiId : { Ref: apiId };
56
58
  }
59
+ /**
60
+ * The logical ID of the API this event routes to, where that API is a Resource
61
+ * of this template.
62
+ *
63
+ * It is the name the event's `Auth` is read against, since an API's
64
+ * authorizers are declared on the API the template holds. An `ApiId` written
65
+ * as an intrinsic this cannot read names an API whose `Auth` block is out of
66
+ * reach, and the route it expands into takes no authorizer from it.
67
+ */
68
+ function samHttpApiEventApiLogicalId(properties) {
69
+ const apiId = properties["ApiId"];
70
+ if (apiId === undefined) {
71
+ return samImplicitHttpApiLogicalId;
72
+ }
73
+ if (typeof apiId === "string") {
74
+ return apiId;
75
+ }
76
+ const reference = isSamTemplateRecord(apiId) ? apiId["Ref"] : undefined;
77
+ return typeof reference === "string" ? reference : undefined;
78
+ }
57
79
  /**
58
80
  * The AWS::ApiGatewayV2::Integration the route sends its requests through.
59
81
  *
@@ -5,13 +5,20 @@ interface SamHttpApiRouteProperties {
5
5
  readonly apiId: SimCfnTemplateValue;
6
6
  /** The logical ID of the integration the route targets. */
7
7
  readonly integrationLogicalId: string;
8
+ /**
9
+ * The logical ID of the API the route belongs to, where the API is one this
10
+ * template declares. An event naming its API with an intrinsic this cannot
11
+ * read names no `Auth` block either.
12
+ */
13
+ readonly apiLogicalId: string | undefined;
8
14
  readonly event: SamFunctionEvent;
9
15
  }
10
16
  /**
11
17
  * The AWS::ApiGatewayV2::Route the event's path and method are served by.
12
18
  *
13
- * `Auth` on the event is not expanded. The route authorizes nothing, and every
14
- * request matching it reaches the function.
19
+ * `Auth` on the event names one of the API's authorizers, and an event naming
20
+ * none takes the API's `DefaultAuthorizer`. A route neither of them closes
21
+ * authorizes nothing, and every request matching it reaches the function.
15
22
  */
16
23
  export declare function samHttpApiRouteResource(route: SamHttpApiRouteProperties): SimCfnTemplateValueRecord;
17
24
  export {};
@@ -1,10 +1,12 @@
1
1
  import { simHttpApiDefaultRouteKey } from "../../../../apigatewayv2/api/route/key/sim-http-api-default-route-key.js";
2
2
  import { simHttpApiAnyMethod } from "../../../../apigatewayv2/api/route/key/sim-http-api-route-method.js";
3
+ import { samEventAuthorization } from "../../api/auth/sim-cfn-sam-event-authorization.js";
3
4
  /**
4
5
  * The AWS::ApiGatewayV2::Route the event's path and method are served by.
5
6
  *
6
- * `Auth` on the event is not expanded. The route authorizes nothing, and every
7
- * request matching it reaches the function.
7
+ * `Auth` on the event names one of the API's authorizers, and an event naming
8
+ * none takes the API's `DefaultAuthorizer`. A route neither of them closes
9
+ * authorizes nothing, and every request matching it reaches the function.
8
10
  */
9
11
  export function samHttpApiRouteResource(route) {
10
12
  return {
@@ -13,7 +15,7 @@ export function samHttpApiRouteResource(route) {
13
15
  Properties: {
14
16
  ApiId: route.apiId,
15
17
  ...samHttpApiRouteKey(route.event.properties),
16
- AuthorizationType: "NONE",
18
+ ...samEventAuthorization(route.event, route.apiLogicalId),
17
19
  Target: {
18
20
  "Fn::Join": [
19
21
  "",
@@ -1,4 +1,5 @@
1
1
  import type { SimCfnTemplateValue } from "../../../template/value/sim-cfn-template-value.js";
2
+ import type { SamApiAuth } from "../../api/auth/sim-cfn-sam-api-auth.types.js";
2
3
  /**
3
4
  * The logical ID SAM gives the API that every `HttpApi` event naming no
4
5
  * `ApiId` shares. It is the name a template reaches the implicit API by, in an
@@ -15,5 +16,9 @@ export declare const samImplicitHttpApiLogicalId = "ServerlessHttpApi";
15
16
  *
16
17
  * Every event naming no `ApiId` produces this same pair, and they are keyed by
17
18
  * logical ID, so the API is created once however many events share it.
19
+ *
20
+ * The `Auth` it takes is the one `Globals.HttpApi` states, which is where SAM
21
+ * says an implicit API's authorizers come from. Nothing else of that section
22
+ * reaches this API.
18
23
  */
19
- export declare function samImplicitHttpApiResources(): Record<string, SimCfnTemplateValue>;
24
+ export declare function samImplicitHttpApiResources(auth: SamApiAuth | undefined): Record<string, SimCfnTemplateValue>;
@@ -1,3 +1,4 @@
1
+ import { samApiAuthResources } from "../../api/auth/sim-cfn-sam-api-auth.js";
1
2
  /**
2
3
  * The logical ID SAM gives the API that every `HttpApi` event naming no
3
4
  * `ApiId` shares. It is the name a template reaches the implicit API by, in an
@@ -18,8 +19,12 @@ const implicitStageLogicalId = `${samImplicitHttpApiLogicalId}ApiGatewayDefaultS
18
19
  *
19
20
  * Every event naming no `ApiId` produces this same pair, and they are keyed by
20
21
  * logical ID, so the API is created once however many events share it.
22
+ *
23
+ * The `Auth` it takes is the one `Globals.HttpApi` states, which is where SAM
24
+ * says an implicit API's authorizers come from. Nothing else of that section
25
+ * reaches this API.
21
26
  */
22
- export function samImplicitHttpApiResources() {
27
+ export function samImplicitHttpApiResources(auth) {
23
28
  return {
24
29
  [samImplicitHttpApiLogicalId]: {
25
30
  Type: "AWS::ApiGatewayV2::Api",
@@ -36,5 +41,6 @@ export function samImplicitHttpApiResources() {
36
41
  AutoDeploy: true,
37
42
  },
38
43
  },
44
+ ...(auth !== undefined && samApiAuthResources(auth)),
39
45
  };
40
46
  }
@@ -0,0 +1,19 @@
1
+ import type { SimCfnTemplateValueRecord } from "../../../template/value/sim-cfn-template-value.js";
2
+ import type { SamFunctionEvent } from "./sim-cfn-sam-declared-event.js";
3
+ /**
4
+ * The user pool with an event's triggers on it.
5
+ *
6
+ * What the pool already declared is kept, so a template naming some of its
7
+ * triggers by hand keeps them and two events on one pool both arrive.
8
+ *
9
+ * A trigger the pool already names a function for is refused. The pool runs
10
+ * one function per trigger, so the alternative is a template whose two
11
+ * declarations disagree and whose deployment silently picks one.
12
+ *
13
+ * The trigger is unconditional even where the function is conditioned. A
14
+ * `Condition` covers a whole Resource, and there is no conditioning a fragment
15
+ * of somebody else's property. A template that conditions the function out and
16
+ * leaves the pool fails on the pool naming a function the Stack never created,
17
+ * the same answer an `S3` event on a conditioned function gets.
18
+ */
19
+ export declare function samTriggeredUserPool(event: SamFunctionEvent, triggers: readonly string[], resource: SimCfnTemplateValueRecord): SimCfnTemplateValueRecord;
@@ -0,0 +1,69 @@
1
+ import { samPropertyError } from "../../sim-cfn-sam-error.js";
2
+ import { isSamTemplateRecord, samRecordAt } from "../../sim-cfn-sam-record.js";
3
+ import { samFunctionType } from "../sim-cfn-sam-function-type.js";
4
+ /**
5
+ * The user pool with an event's triggers on it.
6
+ *
7
+ * What the pool already declared is kept, so a template naming some of its
8
+ * triggers by hand keeps them and two events on one pool both arrive.
9
+ *
10
+ * A trigger the pool already names a function for is refused. The pool runs
11
+ * one function per trigger, so the alternative is a template whose two
12
+ * declarations disagree and whose deployment silently picks one.
13
+ *
14
+ * The trigger is unconditional even where the function is conditioned. A
15
+ * `Condition` covers a whole Resource, and there is no conditioning a fragment
16
+ * of somebody else's property. A template that conditions the function out and
17
+ * leaves the pool fails on the pool naming a function the Stack never created,
18
+ * the same answer an `S3` event on a conditioned function gets.
19
+ */
20
+ export function samTriggeredUserPool(event, triggers, resource) {
21
+ const properties = samRecordAt(resource, "Properties");
22
+ const declared = declaredLambdaConfig(event, properties);
23
+ return {
24
+ ...resource,
25
+ Properties: {
26
+ ...properties,
27
+ LambdaConfig: {
28
+ ...declared,
29
+ ...Object.fromEntries(triggers.map((name) => [name, functionArn(event, declared, name)])),
30
+ },
31
+ },
32
+ };
33
+ }
34
+ /**
35
+ * The `LambdaConfig` the pool already carries.
36
+ *
37
+ * One written as anything but a block of triggers is refused rather than
38
+ * replaced, since adding to it would drop what it holds. A `LambdaConfig`
39
+ * written as an intrinsic is a block as far as this can tell, and the event's
40
+ * triggers go on beside it for the pool to refuse the unresolved key by name.
41
+ */
42
+ function declaredLambdaConfig(event, properties) {
43
+ const declared = properties["LambdaConfig"];
44
+ if (declared !== undefined && !isSamTemplateRecord(declared)) {
45
+ throw triggerError(event, "UserPool", "the pool's LambdaConfig is not a block of triggers by name, and a " +
46
+ "Cognito event has no way to add a trigger to one");
47
+ }
48
+ return samRecordAt(properties, "LambdaConfig");
49
+ }
50
+ /**
51
+ * The function the trigger runs, refusing a trigger the pool already names a
52
+ * function for.
53
+ */
54
+ function functionArn(event, declared, name) {
55
+ // oxlint-disable-next-line security/detect-object-injection -- a template record read by a trigger name the event stated.
56
+ if (declared[name] !== undefined) {
57
+ throw triggerError(event, "Trigger", `the pool already names a function for ${name}, and it runs one ` +
58
+ "function per trigger");
59
+ }
60
+ return { "Fn::GetAtt": [event.functionLogicalId, "Arn"] };
61
+ }
62
+ function triggerError(event, property, reason) {
63
+ return samPropertyError({
64
+ resourceType: samFunctionType,
65
+ logicalId: event.functionLogicalId,
66
+ property: `Events.${event.eventName}.${property}`,
67
+ reason,
68
+ });
69
+ }
@@ -20,6 +20,11 @@ export interface SimCfnSamFunctionTemplateInput {
20
20
  * `Api` event takes from them. A test stating none gets no section.
21
21
  */
22
22
  readonly apiGlobals: SimCfnTemplateValueRecord;
23
+ /**
24
+ * The `Globals.HttpApi` defaults the template states, for a test about what
25
+ * an `HttpApi` event takes from them. A test stating none gets no section.
26
+ */
27
+ readonly httpApiGlobals: SimCfnTemplateValueRecord;
23
28
  /**
24
29
  * Resources the template carries beside the function, such as the API an
25
30
  * event names or a second function sharing one.
@@ -1,6 +1,6 @@
1
1
  import { MappedFactory } from "@kensio/part-factory";
2
2
  import { samTransformName } from "../sim-cfn-sam-transform.js";
3
- import { samFunctionType } from "./sim-cfn-sam-function.js";
3
+ import { samFunctionType } from "./sim-cfn-sam-function-type.js";
4
4
  /**
5
5
  * The logical ID the function carries, and so the name the Lambda function and
6
6
  * its execution Role are expanded under.
@@ -31,6 +31,7 @@ export const simCfnSamFunctionTemplateFactory = new MappedFactory(() => ({
31
31
  functionProperties: {},
32
32
  globals: {},
33
33
  apiGlobals: {},
34
+ httpApiGlobals: {},
34
35
  resources: {},
35
36
  }), (input) => ({
36
37
  Transform: samTransformName,
@@ -50,6 +51,7 @@ function globalsSection(input) {
50
51
  const globals = {
51
52
  ...section("Function", input.globals),
52
53
  ...section("Api", input.apiGlobals),
54
+ ...section("HttpApi", input.httpApiGlobals),
53
55
  };
54
56
  return Object.keys(globals).length === 0 ? {} : { Globals: globals };
55
57
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The SAM Resource type a function is declared as.
3
+ *
4
+ * It sits on its own so that what a function's events expand into can name the
5
+ * Resource they were declared on without importing the expansion they are part
6
+ * of.
7
+ */
8
+ export declare const samFunctionType = "AWS::Serverless::Function";
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The SAM Resource type a function is declared as.
3
+ *
4
+ * It sits on its own so that what a function's events expand into can name the
5
+ * Resource they were declared on without importing the expansion they are part
6
+ * of.
7
+ */
8
+ export const samFunctionType = "AWS::Serverless::Function";
@@ -2,11 +2,8 @@ import { isSamTemplateRecord } from "../sim-cfn-sam-record.js";
2
2
  import { samConditionAttribute } from "./sim-cfn-sam-function-properties.js";
3
3
  /**
4
4
  * The `FunctionUrlConfig` properties the AWS::Lambda::Url carries over.
5
- *
6
- * `Cors` is left out. The simulated Function URL answers no preflight request,
7
- * and carrying the property over would say it did.
8
5
  */
9
- const carriedNames = new Set(["AuthType", "InvokeMode"]);
6
+ const carriedNames = new Set(["AuthType", "InvokeMode", "Cors"]);
10
7
  /**
11
8
  * The AWS::Lambda::Url a function's `FunctionUrlConfig` is expanded into.
12
9
  *
@@ -1,4 +1,5 @@
1
1
  import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../template/value/sim-cfn-template-value.js";
2
+ import type { SamTemplateApiAuth } from "../api/auth/sim-cfn-sam-template-api-auth.js";
2
3
  import type { SamTemplateGlobals } from "../sim-cfn-sam-globals.js";
3
4
  import type { SamResourceEdit } from "./event/sim-cfn-sam-resource-edit.js";
4
5
  interface SamFunctionExpansionProperties {
@@ -9,11 +10,12 @@ interface SamFunctionExpansionProperties {
9
10
  * `Function`, and its `Api` events take theirs from `Api`.
10
11
  */
11
12
  readonly globals: SamTemplateGlobals;
13
+ /**
14
+ * The `Auth` of every API of the template, for the function's `Api` and
15
+ * `HttpApi` events.
16
+ */
17
+ readonly apiAuth: SamTemplateApiAuth;
12
18
  }
13
- /**
14
- * The SAM Resource type this expansion covers.
15
- */
16
- export declare const samFunctionType = "AWS::Serverless::Function";
17
19
  /**
18
20
  * Expand one AWS::Serverless::Function into the Resources CloudFormation
19
21
  * deploys for it.
@@ -3,10 +3,6 @@ import { samFunctionEventEdits, samFunctionEventResources, } from "./event/sim-c
3
3
  import { samCarriedAttributes, samCarriedProperties, samResourceProperties, } from "./sim-cfn-sam-function-properties.js";
4
4
  import { samFunctionRoleResource } from "./sim-cfn-sam-function-role.js";
5
5
  import { samFunctionUrlResources } from "./sim-cfn-sam-function-url.js";
6
- /**
7
- * The SAM Resource type this expansion covers.
8
- */
9
- export const samFunctionType = "AWS::Serverless::Function";
10
6
  /**
11
7
  * Expand one AWS::Serverless::Function into the Resources CloudFormation
12
8
  * deploys for it.
@@ -56,6 +52,7 @@ export function samFunctionResources(properties) {
56
52
  functionProperties,
57
53
  condition,
58
54
  apiGlobals: globals.forApi,
55
+ apiAuth: properties.apiAuth,
59
56
  }),
60
57
  };
61
58
  }
@@ -75,5 +72,6 @@ export function samFunctionResourceEdits(properties) {
75
72
  functionProperties: samMergedFunctionProperties(globals.forFunction, samResourceProperties(resource)),
76
73
  condition: resource["Condition"],
77
74
  apiGlobals: globals.forApi,
75
+ apiAuth: properties.apiAuth,
78
76
  });
79
77
  }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * What a refusal names. The property comes first, then the SAM Resource that
3
+ * declared it.
4
+ */
5
+ export interface SamPropertyRefusal {
6
+ /** The SAM Resource type the property was declared on. */
7
+ readonly resourceType: string;
8
+ /**
9
+ * The logical ID of the SAM Resource. An implicit API carries the logical ID
10
+ * SAM gives it, since that is the name a template reaches it by.
11
+ */
12
+ readonly logicalId: string;
13
+ /** The property, written the way a template writes it. */
14
+ readonly property: string;
15
+ /** Why the expansion will not take it. */
16
+ readonly reason: string;
17
+ }
18
+ /**
19
+ * Build the error a property of a SAM Resource is refused with.
20
+ *
21
+ * The wording matters. Sim CloudFormation downgrades a failure whose message
22
+ * reads as an unsupported Resource type into a skip, and a skipped `Auth` is
23
+ * the dangerous case. The API is still deployed, the Stack looks right, and
24
+ * every request reaches the function. So this says `Invalid`, and never says
25
+ * `Unsupported sim`.
26
+ *
27
+ * The property is named separately from the Resource because an `Auth` block
28
+ * is read several levels deep, and a refusal saying only which API failed
29
+ * leaves the Stack owner hunting for the level that was wrong.
30
+ */
31
+ export declare function samPropertyError(refusal: SamPropertyRefusal): Error;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Build the error a property of a SAM Resource is refused with.
3
+ *
4
+ * The wording matters. Sim CloudFormation downgrades a failure whose message
5
+ * reads as an unsupported Resource type into a skip, and a skipped `Auth` is
6
+ * the dangerous case. The API is still deployed, the Stack looks right, and
7
+ * every request reaches the function. So this says `Invalid`, and never says
8
+ * `Unsupported sim`.
9
+ *
10
+ * The property is named separately from the Resource because an `Auth` block
11
+ * is read several levels deep, and a refusal saying only which API failed
12
+ * leaves the Stack owner hunting for the level that was wrong.
13
+ */
14
+ export function samPropertyError(refusal) {
15
+ return new Error(`Invalid ${refusal.property} on ${refusal.resourceType} Resource ` +
16
+ `${refusal.logicalId}: ${refusal.reason}`);
17
+ }
@@ -1,8 +1,10 @@
1
1
  import { isRecord } from "../../../util/type-guard/record.js";
2
2
  import { samHttpApiResources, samHttpApiType, } from "./api/sim-cfn-sam-http-api.js";
3
3
  import { samRestApiResources, samRestApiType, } from "./api/sim-cfn-sam-rest-api.js";
4
+ import { samTemplateApiAuth } from "./api/auth/sim-cfn-sam-template-api-auth.js";
4
5
  import { samEditedResources } from "./function/event/sim-cfn-sam-resource-edit.js";
5
- import { samFunctionResourceEdits, samFunctionResources, samFunctionType, } from "./function/sim-cfn-sam-function.js";
6
+ import { samFunctionResourceEdits, samFunctionResources, } from "./function/sim-cfn-sam-function.js";
7
+ import { samFunctionType } from "./function/sim-cfn-sam-function-type.js";
6
8
  import { samSimpleTableResources, samSimpleTableType, } from "./table/sim-cfn-sam-simple-table.js";
7
9
  import { samTemplateGlobals } from "./sim-cfn-sam-globals.js";
8
10
  import { isSamTemplateRecord } from "./sim-cfn-sam-record.js";
@@ -30,10 +32,11 @@ export function samExpandedTemplate(template) {
30
32
  return template;
31
33
  }
32
34
  const globals = samTemplateGlobals(template);
35
+ const apiAuth = samTemplateApiAuth(template, globals);
33
36
  const resources = Object.entries(template.Resources);
34
37
  return {
35
38
  ...withoutSamSections(template),
36
- Resources: samEditedResources(Object.fromEntries(resources.flatMap(([logicalId, resource]) => Object.entries(expandedResource(logicalId, resource, globals)))), resources.flatMap(([logicalId, resource]) => resourceEdits(logicalId, resource, globals))),
39
+ Resources: samEditedResources(Object.fromEntries(resources.flatMap(([logicalId, resource]) => Object.entries(expandedResource({ logicalId, resource, globals, apiAuth })))), resources.flatMap(([logicalId, resource]) => resourceEdits({ logicalId, resource, globals, apiAuth }))),
37
40
  };
38
41
  }
39
42
  /**
@@ -43,23 +46,25 @@ export function samExpandedTemplate(template) {
43
46
  * Resources afterwards, because a Resource being edited may be expanded from a
44
47
  * SAM Resource of its own and may not have been read yet.
45
48
  */
46
- function resourceEdits(logicalId, resource, globals) {
49
+ function resourceEdits(properties) {
50
+ const { logicalId, resource, globals, apiAuth } = properties;
47
51
  if (!isSamTemplateRecord(resource) || resource["Type"] !== samFunctionType) {
48
52
  return [];
49
53
  }
50
- return samFunctionResourceEdits({ logicalId, resource, globals });
54
+ return samFunctionResourceEdits({ logicalId, resource, globals, apiAuth });
51
55
  }
52
56
  /**
53
57
  * The Resources one template Resource is deployed as. Anything the expansion
54
58
  * does not cover is deployed as itself.
55
59
  */
56
- function expandedResource(logicalId, resource, globals) {
60
+ function expandedResource(properties) {
61
+ const { logicalId, resource, globals, apiAuth } = properties;
57
62
  if (!isSamTemplateRecord(resource)) {
58
63
  return { [logicalId]: resource };
59
64
  }
60
65
  const type = resource["Type"];
61
66
  if (type === samFunctionType) {
62
- return samFunctionResources({ logicalId, resource, globals });
67
+ return samFunctionResources({ logicalId, resource, globals, apiAuth });
63
68
  }
64
69
  if (type === samHttpApiType) {
65
70
  return samHttpApiResources({
@@ -19,6 +19,26 @@ export class SimCloudFormationSdkCommandRouter {
19
19
  "UpdateStackCommand",
20
20
  async (command, context) => await simCloudFormation.updateStack(command, simSdkCallerOptions(context)),
21
21
  ],
22
+ [
23
+ "CreateChangeSetCommand",
24
+ async (command, context) => await simCloudFormation.createChangeSet(command, simSdkCallerOptions(context)),
25
+ ],
26
+ [
27
+ "DescribeChangeSetCommand",
28
+ async (command, context) => await simCloudFormation.describeChangeSet(command, simSdkCallerOptions(context)),
29
+ ],
30
+ [
31
+ "ExecuteChangeSetCommand",
32
+ async (command, context) => await simCloudFormation.executeChangeSet(command, simSdkCallerOptions(context)),
33
+ ],
34
+ [
35
+ "DeleteChangeSetCommand",
36
+ async (command, context) => await simCloudFormation.deleteChangeSet(command, simSdkCallerOptions(context)),
37
+ ],
38
+ [
39
+ "ListChangeSetsCommand",
40
+ async (command, context) => await simCloudFormation.listChangeSets(command, simSdkCallerOptions(context)),
41
+ ],
22
42
  [
23
43
  "DescribeStacksCommand",
24
44
  async (command, context) => await simCloudFormation.describeStacks(command, simSdkCallerOptions(context)),
@@ -3,8 +3,9 @@ import { SimQueryApiEndpoint } from "../../../serve/http/api/query/sim-query-end
3
3
  /**
4
4
  * Serve the CloudFormation Query API to a client given an endpoint URL.
5
5
  *
6
- * The operations served are the four simulated CloudFormation implements:
7
- * `CreateStack`, `UpdateStack`, `DeleteStack` and `DescribeStacks`. Anything
8
- * else is refused as `NotImplemented`.
6
+ * The operations served are the Stack operations simulated CloudFormation
7
+ * implements, `CreateStack`, `UpdateStack`, `DeleteStack` and `DescribeStacks`,
8
+ * together with the five change set operations. Anything else is refused as
9
+ * `NotImplemented`.
9
10
  */
10
11
  export declare function simCloudFormationApiEndpoint(simAws: SimAws): SimQueryApiEndpoint;
@@ -1,5 +1,6 @@
1
1
  import { SimQueryApiEndpoint } from "../../../serve/http/api/query/sim-query-endpoint.js";
2
2
  import { queryList, queryMembers, } from "../../../serve/http/api/query/sim-query-result.js";
3
+ import { simCfnChangeSetQueryOperations } from "./sim-cloudformation-change-set-api.js";
3
4
  /**
4
5
  * The XML namespace real CloudFormation stamps on every response it sends.
5
6
  */
@@ -16,9 +17,10 @@ const stackOutputMembers = [
16
17
  /**
17
18
  * Serve the CloudFormation Query API to a client given an endpoint URL.
18
19
  *
19
- * The operations served are the four simulated CloudFormation implements:
20
- * `CreateStack`, `UpdateStack`, `DeleteStack` and `DescribeStacks`. Anything
21
- * else is refused as `NotImplemented`.
20
+ * The operations served are the Stack operations simulated CloudFormation
21
+ * implements, `CreateStack`, `UpdateStack`, `DeleteStack` and `DescribeStacks`,
22
+ * together with the five change set operations. Anything else is refused as
23
+ * `NotImplemented`.
22
24
  */
23
25
  export function simCloudFormationApiEndpoint(simAws) {
24
26
  return new SimQueryApiEndpoint({
@@ -30,6 +32,7 @@ export function simCloudFormationApiEndpoint(simAws) {
30
32
  }
31
33
  function simCloudFormationQueryOperations() {
32
34
  return new Map([
35
+ ...simCfnChangeSetQueryOperations(),
33
36
  [
34
37
  "CreateStack",
35
38
  {
@@ -0,0 +1,10 @@
1
+ import type { SimQueryOperations } from "../../../serve/http/api/query/sim-query-operation.js";
2
+ /**
3
+ * The change set half of the CloudFormation Query API.
4
+ *
5
+ * Held apart from the Stack operations because the two halves share nothing
6
+ * but the service they belong to. Every operation here reaches the same Command
7
+ * an SDK caller sends, so a CLI deployment runs the code an in-process caller
8
+ * runs.
9
+ */
10
+ export declare function simCfnChangeSetQueryOperations(): SimQueryOperations;
@@ -0,0 +1,94 @@
1
+ import { queryList, queryMembers, queryStructure, } from "../../../serve/http/api/query/sim-query-result.js";
2
+ /**
3
+ * The members CloudFormation describes one change set with.
4
+ */
5
+ const changeSetMembers = [
6
+ "ChangeSetId",
7
+ "ChangeSetName",
8
+ "StackId",
9
+ "StackName",
10
+ "Description",
11
+ "Status",
12
+ "StatusReason",
13
+ "ExecutionStatus",
14
+ ];
15
+ /**
16
+ * The members CloudFormation summarises one change set with in ListChangeSets.
17
+ */
18
+ const changeSetSummaryMembers = [
19
+ "ChangeSetId",
20
+ "ChangeSetName",
21
+ "StackId",
22
+ "StackName",
23
+ "Description",
24
+ "Status",
25
+ "StatusReason",
26
+ "ExecutionStatus",
27
+ ];
28
+ /**
29
+ * The members CloudFormation describes one Resource change with.
30
+ */
31
+ const resourceChangeMembers = [
32
+ "Action",
33
+ "LogicalResourceId",
34
+ "ResourceType",
35
+ "Replacement",
36
+ ];
37
+ /**
38
+ * The change set half of the CloudFormation Query API.
39
+ *
40
+ * Held apart from the Stack operations because the two halves share nothing
41
+ * but the service they belong to. Every operation here reaches the same Command
42
+ * an SDK caller sends, so a CLI deployment runs the code an in-process caller
43
+ * runs.
44
+ */
45
+ export function simCfnChangeSetQueryOperations() {
46
+ return new Map([
47
+ [
48
+ "CreateChangeSet",
49
+ {
50
+ input: (fields) => ({
51
+ StackName: fields.text("StackName"),
52
+ ChangeSetName: fields.text("ChangeSetName"),
53
+ ChangeSetType: fields.text("ChangeSetType"),
54
+ Description: fields.text("Description"),
55
+ TemplateBody: fields.text("TemplateBody"),
56
+ Parameters: fields.list("Parameters", (parameter) => ({
57
+ ParameterKey: parameter.text("ParameterKey"),
58
+ ParameterValue: parameter.text("ParameterValue"),
59
+ })),
60
+ }),
61
+ result: (output) => queryMembers(output, ["Id", "StackId"]),
62
+ },
63
+ ],
64
+ [
65
+ "DescribeChangeSet",
66
+ {
67
+ input: changeSetInput,
68
+ result: (output) => queryMembers(output, changeSetMembers) +
69
+ queryList(output, "Changes", (change) => queryMembers(change, ["Type"]) +
70
+ queryStructure(change, "ResourceChange", (resourceChange) => queryMembers(resourceChange, resourceChangeMembers))),
71
+ },
72
+ ],
73
+ ["ExecuteChangeSet", { input: changeSetInput, result: () => "" }],
74
+ ["DeleteChangeSet", { input: changeSetInput, result: () => "" }],
75
+ [
76
+ "ListChangeSets",
77
+ {
78
+ input: (fields) => ({
79
+ StackName: fields.text("StackName"),
80
+ }),
81
+ result: (output) => queryList(output, "Summaries", (summary) => queryMembers(summary, changeSetSummaryMembers)),
82
+ },
83
+ ],
84
+ ]);
85
+ }
86
+ /**
87
+ * The input every operation naming one change set sends.
88
+ */
89
+ function changeSetInput(fields) {
90
+ return {
91
+ StackName: fields.text("StackName"),
92
+ ChangeSetName: fields.text("ChangeSetName"),
93
+ };
94
+ }