@kensio/yulin 1.21.3 → 1.21.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (650) hide show
  1. package/dist/service/athena/engine/sim-athena-column-types.d.ts +2 -0
  2. package/dist/service/athena/engine/sim-athena-column-types.js +4 -0
  3. package/dist/service/athena/engine/sim-athena-delimited-format.d.ts +7 -0
  4. package/dist/service/athena/engine/sim-athena-delimited-format.js +51 -0
  5. package/dist/service/athena/engine/sim-athena-engine-result.js +5 -0
  6. package/dist/service/athena/engine/sim-athena-engine-run.d.ts +22 -2
  7. package/dist/service/athena/engine/sim-athena-engine-run.js +21 -31
  8. package/dist/service/athena/engine/sim-athena-loaded-tables.d.ts +10 -0
  9. package/dist/service/athena/engine/sim-athena-loaded-tables.js +35 -0
  10. package/dist/service/athena/engine/sim-athena-parquet-module.d.ts +25 -0
  11. package/dist/service/athena/engine/sim-athena-parquet-module.js +39 -0
  12. package/dist/service/athena/engine/sim-athena-parquet-records.d.ts +13 -0
  13. package/dist/service/athena/engine/sim-athena-parquet-records.js +57 -0
  14. package/dist/service/athena/engine/sim-athena-query-engine.d.ts +23 -5
  15. package/dist/service/athena/engine/sim-athena-query-engine.js +31 -10
  16. package/dist/service/athena/engine/sim-athena-record-reader.d.ts +12 -6
  17. package/dist/service/athena/engine/sim-athena-record-reader.js +28 -53
  18. package/dist/service/athena/engine/sim-athena-sql-translation.d.ts +15 -9
  19. package/dist/service/athena/engine/sim-athena-sql-translation.js +25 -13
  20. package/dist/service/athena/engine/sim-athena-sqlite-values.d.ts +5 -0
  21. package/dist/service/athena/engine/sim-athena-sqlite-values.js +24 -1
  22. package/dist/service/athena/engine/sim-athena-table-objects.d.ts +7 -2
  23. package/dist/service/athena/engine/sim-athena-table-objects.js +8 -4
  24. package/dist/service/athena/engine/sim-athena-table-rows.js +4 -3
  25. package/dist/service/athena/engine/sim-athena-turn-down.d.ts +26 -0
  26. package/dist/service/athena/engine/sim-athena-turn-down.js +43 -0
  27. package/dist/service/athena/execution/sim-athena-query-completion.d.ts +3 -1
  28. package/dist/service/athena/execution/sim-athena-query-completion.js +7 -1
  29. package/dist/service/athena/index.d.ts +1 -1
  30. package/dist/service/athena/index.js +1 -1
  31. package/dist/service/athena/result/sim-athena-query-answer.d.ts +12 -0
  32. package/dist/service/athena/result/sim-athena-query-answer.js +26 -4
  33. package/dist/service/athena/sim-athena-answered-query.fixture.d.ts +2 -0
  34. package/dist/service/athena/sim-athena-answered-query.fixture.js +1 -0
  35. package/dist/service/athena/sim-athena-engine.fixture.d.ts +20 -0
  36. package/dist/service/athena/sim-athena-engine.fixture.js +34 -0
  37. package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.d.ts +23 -0
  38. package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.js +37 -0
  39. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +18 -13
  40. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +16 -24
  41. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +2 -0
  42. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +1 -0
  43. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +7 -0
  44. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +13 -1
  45. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +6 -0
  46. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +7 -1
  47. package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.d.ts +50 -0
  48. package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.js +71 -0
  49. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +6 -1
  50. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts +5 -0
  51. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +7 -0
  52. package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.d.ts +12 -0
  53. package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.js +16 -7
  54. package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.d.ts +9 -0
  55. package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.js +12 -0
  56. package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.d.ts +42 -0
  57. package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.js +69 -0
  58. package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.d.ts +62 -0
  59. package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.js +89 -0
  60. package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.d.ts +31 -0
  61. package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.js +59 -0
  62. package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.d.ts +21 -0
  63. package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.js +19 -0
  64. package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.d.ts +17 -0
  65. package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.js +18 -0
  66. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.d.ts +18 -0
  67. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.js +13 -0
  68. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.d.ts +45 -0
  69. package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.js +52 -0
  70. package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.d.ts +12 -0
  71. package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.js +21 -0
  72. package/dist/service/cloudformation/changeset/sim-cfn-change-set.d.ts +54 -0
  73. package/dist/service/cloudformation/changeset/sim-cfn-change-set.js +49 -0
  74. package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.d.ts +35 -0
  75. package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.js +1 -0
  76. package/dist/service/cloudformation/changeset/sim-cfn-change-sets.d.ts +53 -0
  77. package/dist/service/cloudformation/changeset/sim-cfn-change-sets.js +83 -0
  78. package/dist/service/cloudformation/command/create-change-set/create-change-set.command.d.ts +32 -0
  79. package/dist/service/cloudformation/command/create-change-set/create-change-set.command.js +1 -0
  80. package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.d.ts +38 -0
  81. package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.js +80 -0
  82. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +3 -0
  83. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +16 -13
  84. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.d.ts +22 -0
  85. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.js +1 -0
  86. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.d.ts +27 -0
  87. package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.js +35 -0
  88. package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +6 -0
  89. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +11 -0
  90. package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +15 -1
  91. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.d.ts +48 -0
  92. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.js +1 -0
  93. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.d.ts +23 -0
  94. package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.js +52 -0
  95. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts +3 -0
  96. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +8 -4
  97. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +18 -6
  98. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +22 -7
  99. package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +1 -1
  100. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.d.ts +25 -0
  101. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.js +1 -0
  102. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.d.ts +31 -0
  103. package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.js +37 -0
  104. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.d.ts +36 -0
  105. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.js +1 -0
  106. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.d.ts +26 -0
  107. package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.js +39 -0
  108. package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.d.ts +31 -0
  109. package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.js +52 -0
  110. package/dist/service/cloudformation/command/update-stack/update-stack-template.d.ts +22 -0
  111. package/dist/service/cloudformation/command/update-stack/update-stack-template.js +34 -0
  112. package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +17 -1
  113. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +6 -0
  114. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +15 -16
  115. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
  116. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-options-deployed.d.ts +10 -0
  117. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-options-deployed.js +14 -0
  118. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +11 -1
  119. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +3 -2
  120. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +5 -8
  121. package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +0 -14
  122. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +9 -0
  123. package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +2 -0
  124. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +10 -0
  125. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
  126. package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
  127. package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts +21 -0
  128. package/dist/service/cloudformation/error/sim-cloudformation.error.js +25 -0
  129. package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.d.ts +7 -0
  130. package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.js +3 -1
  131. package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +9 -0
  132. package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +12 -0
  133. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +4 -0
  134. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +10 -0
  135. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.d.ts +44 -0
  136. package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.js +33 -0
  137. package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +15 -0
  138. package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +21 -1
  139. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +9 -7
  140. package/dist/service/cloudformation/resource/sim-cfn-resource.js +11 -11
  141. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +8 -0
  142. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +3 -3
  143. package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +3 -3
  144. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
  145. package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +9 -0
  146. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.d.ts +37 -0
  147. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.js +77 -0
  148. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.d.ts +51 -0
  149. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.js +10 -0
  150. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.d.ts +11 -0
  151. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.js +34 -0
  152. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.d.ts +21 -0
  153. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.js +31 -0
  154. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.d.ts +14 -0
  155. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.js +1 -0
  156. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.d.ts +26 -0
  157. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.js +58 -0
  158. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.d.ts +18 -0
  159. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.js +89 -0
  160. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.d.ts +15 -0
  161. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.js +65 -0
  162. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.d.ts +13 -0
  163. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.js +60 -0
  164. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.d.ts +13 -0
  165. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.js +50 -0
  166. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.d.ts +13 -0
  167. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.js +30 -0
  168. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.d.ts +26 -0
  169. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.js +44 -0
  170. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.d.ts +15 -0
  171. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.js +59 -0
  172. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.d.ts +11 -0
  173. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.js +43 -0
  174. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.d.ts +15 -0
  175. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.js +67 -0
  176. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.d.ts +26 -0
  177. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.js +61 -0
  178. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.d.ts +18 -0
  179. package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.js +59 -0
  180. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +1 -1
  181. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +4 -0
  182. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +12 -5
  183. package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api-template.factory.js +1 -1
  184. package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api.js +7 -3
  185. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-api-event.js +7 -3
  186. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.d.ts +26 -0
  187. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.js +88 -0
  188. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +12 -0
  189. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +1 -0
  190. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +8 -5
  191. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +23 -1
  192. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +9 -2
  193. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +5 -3
  194. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +6 -1
  195. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +7 -1
  196. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.d.ts +19 -0
  197. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.js +69 -0
  198. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +5 -0
  199. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +3 -1
  200. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.d.ts +8 -0
  201. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.js +8 -0
  202. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +1 -4
  203. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +6 -4
  204. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +2 -4
  205. package/dist/service/cloudformation/sam/sim-cfn-sam-error.d.ts +31 -0
  206. package/dist/service/cloudformation/sam/sim-cfn-sam-error.js +17 -0
  207. package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +11 -6
  208. package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +20 -0
  209. package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +4 -3
  210. package/dist/service/cloudformation/serve/sim-cloudformation-api.js +6 -3
  211. package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.d.ts +10 -0
  212. package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.js +94 -0
  213. package/dist/service/cloudformation/sim-cloudformation.d.ts +31 -0
  214. package/dist/service/cloudformation/sim-cloudformation.js +56 -9
  215. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
  216. package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.d.ts +20 -0
  217. package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.js +23 -0
  218. package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +6 -0
  219. package/dist/service/cloudformation/stack/sim-cfn-stack-deploy-context.d.ts +47 -0
  220. package/dist/service/cloudformation/stack/sim-cfn-stack-deploy-context.js +46 -0
  221. package/dist/service/cloudformation/stack/sim-cfn-stack-id.d.ts +30 -0
  222. package/dist/service/cloudformation/stack/sim-cfn-stack-id.js +24 -0
  223. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +53 -20
  224. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +79 -32
  225. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
  226. package/dist/service/cloudformation/stack/sim-cfn-stack.js +60 -32
  227. package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +21 -1
  228. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +7 -1
  229. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +3 -1
  230. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
  231. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
  232. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +3 -0
  233. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
  234. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.d.ts +18 -0
  235. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.js +30 -0
  236. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.d.ts +9 -0
  237. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.js +14 -0
  238. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +25 -14
  239. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +41 -24
  240. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +9 -0
  241. package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +14 -0
  242. package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +6 -1
  243. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +12 -3
  244. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +29 -3
  245. package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.d.ts +28 -0
  246. package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.js +39 -0
  247. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +25 -1
  248. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +43 -11
  249. package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.d.ts +7 -0
  250. package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.js +29 -3
  251. package/dist/service/cloudformation/template/sim-cfn-command-template.d.ts +40 -0
  252. package/dist/service/cloudformation/template/sim-cfn-command-template.js +45 -0
  253. package/dist/service/cloudformation/template/sim-cfn-template.d.ts +7 -0
  254. package/dist/service/cloudformation/template/sim-cfn-template.js +15 -1
  255. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +2 -0
  256. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +49 -0
  257. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +1 -0
  258. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +1 -0
  259. package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +1 -1
  260. package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.d.ts +5 -0
  261. package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.js +17 -0
  262. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +5 -5
  263. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +24 -8
  264. package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.d.ts +11 -8
  265. package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.js +20 -8
  266. package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +2 -0
  267. package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
  268. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +14 -4
  269. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +16 -4
  270. package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.d.ts +17 -0
  271. package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.js +39 -0
  272. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.d.ts +28 -0
  273. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.js +50 -0
  274. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +12 -5
  275. package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts +3 -3
  276. package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +3 -4
  277. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.d.ts +5 -16
  278. package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.js +4 -21
  279. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.d.ts +15 -0
  280. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.js +18 -1
  281. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.d.ts +13 -0
  282. package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.js +15 -0
  283. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +2 -0
  284. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +5 -3
  285. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.d.ts +21 -0
  286. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.js +37 -0
  287. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +6 -0
  288. package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
  289. package/dist/service/lambda/command/create-function/create-function.handler.js +5 -1
  290. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +2 -3
  291. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +1 -0
  292. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +6 -0
  293. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +10 -0
  294. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +2 -6
  295. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +1 -0
  296. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
  297. package/dist/service/lambda/command/function-url/function-url-cors-constraints.d.ts +25 -0
  298. package/dist/service/lambda/command/function-url/function-url-cors-constraints.js +49 -0
  299. package/dist/service/lambda/command/function-url/function-url-cors-input.d.ts +25 -0
  300. package/dist/service/lambda/command/function-url/function-url-cors-input.js +57 -0
  301. package/dist/service/lambda/command/function-url/function-url-input.d.ts +7 -0
  302. package/dist/service/lambda/command/function-url/function-url-input.js +9 -0
  303. package/dist/service/lambda/command/invoke/async/sim-lambda-async-invocation.js +10 -13
  304. package/dist/service/lambda/command/invoke/async/sim-lambda-async-outcome.js +2 -0
  305. package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.d.ts +13 -0
  306. package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.js +12 -0
  307. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +2 -0
  308. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +1 -0
  309. package/dist/service/lambda/destination/deliver/sim-lambda-destination-bus.js +1 -1
  310. package/dist/service/lambda/destination/deliver/sim-lambda-destination-function.js +8 -12
  311. package/dist/service/lambda/destination/deliver/sim-lambda-destination-queue.js +4 -3
  312. package/dist/service/lambda/destination/deliver/sim-lambda-destination-send.d.ts +2 -0
  313. package/dist/service/lambda/destination/deliver/sim-lambda-destination-topic.js +4 -3
  314. package/dist/service/lambda/destination/sim-aws-lambda-destinations.d.ts +4 -6
  315. package/dist/service/lambda/destination/sim-aws-lambda-destinations.js +6 -6
  316. package/dist/service/lambda/destination/sim-lambda-destination-targets.d.ts +3 -0
  317. package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +4 -9
  318. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +4 -9
  319. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +22 -3
  320. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +39 -9
  321. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +7 -6
  322. package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +14 -12
  323. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +9 -15
  324. package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +9 -16
  325. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +10 -6
  326. package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +22 -12
  327. package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.d.ts +23 -0
  328. package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.js +18 -0
  329. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +12 -13
  330. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +24 -17
  331. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.d.ts +64 -0
  332. package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.js +86 -0
  333. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +6 -0
  334. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +8 -1
  335. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +6 -0
  336. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +7 -0
  337. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +11 -1
  338. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +13 -0
  339. package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.d.ts +39 -0
  340. package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.js +46 -0
  341. package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.d.ts +56 -0
  342. package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.js +110 -0
  343. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts +5 -0
  344. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js +7 -1
  345. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts +6 -0
  346. package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js +6 -0
  347. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +6 -1
  348. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +8 -6
  349. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +10 -8
  350. package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +18 -1
  351. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +8 -2
  352. package/dist/service/lambda/function/code/sim-lambda-executable-code.js +2 -1
  353. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +2 -11
  354. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +13 -39
  355. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +7 -0
  356. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +13 -7
  357. package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.d.ts +23 -0
  358. package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.js +42 -0
  359. package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.d.ts +12 -4
  360. package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.js +15 -5
  361. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +7 -0
  362. package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +6 -2
  363. package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.d.ts +26 -0
  364. package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.js +84 -0
  365. package/dist/service/lambda/function/invoke/sim-lambda-invocation.d.ts +44 -0
  366. package/dist/service/lambda/function/invoke/sim-lambda-invocation.js +44 -0
  367. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +6 -0
  368. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +1 -2
  369. package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +6 -1
  370. package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +19 -6
  371. package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.d.ts +15 -0
  372. package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.js +18 -0
  373. package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.d.ts +12 -0
  374. package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.js +28 -0
  375. package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.d.ts +46 -0
  376. package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.js +104 -0
  377. package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.d.ts +24 -0
  378. package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.js +27 -0
  379. package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.d.ts +43 -0
  380. package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.js +112 -0
  381. package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.d.ts +57 -0
  382. package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.js +79 -0
  383. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.d.ts +10 -0
  384. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.js +15 -0
  385. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.d.ts +11 -0
  386. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.js +24 -0
  387. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.d.ts +50 -0
  388. package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.js +43 -0
  389. package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +17 -0
  390. package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +12 -1
  391. package/dist/service/lambda/function/logging/sim-lambda-output.d.ts +56 -0
  392. package/dist/service/lambda/function/logging/sim-lambda-output.js +62 -0
  393. package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.d.ts +8 -0
  394. package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.js +27 -1
  395. package/dist/service/lambda/function/sim-lambda-function.d.ts +1 -1
  396. package/dist/service/lambda/function/sim-lambda-function.js +11 -9
  397. package/dist/service/lambda/function/sim-lambda-function.type.d.ts +15 -0
  398. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.d.ts +16 -0
  399. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.d.ts +22 -0
  400. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.js +17 -0
  401. package/dist/service/lambda/function/url/sim-lambda-function-url-cors.js +1 -0
  402. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +2 -0
  403. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +2 -1
  404. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +2 -0
  405. package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +16 -0
  406. package/dist/service/lambda/function/url/sim-lambda-function-url.js +16 -1
  407. package/dist/service/lambda/index.d.ts +1 -0
  408. package/dist/service/lambda/index.js +1 -0
  409. package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.d.ts +50 -0
  410. package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.js +96 -0
  411. package/dist/service/lambda/serve/sim-lambda-controller.d.ts +14 -0
  412. package/dist/service/lambda/serve/sim-lambda-controller.js +27 -0
  413. package/dist/service/lambda/sim-lambda-commands.d.ts +10 -0
  414. package/dist/service/lambda/sim-lambda-commands.js +11 -0
  415. package/dist/service/lambda/sim-lambda.d.ts +12 -0
  416. package/dist/service/lambda/sim-lambda.js +13 -0
  417. package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.d.ts +67 -0
  418. package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.js +69 -0
  419. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +4 -31
  420. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +7 -6
  421. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +5 -0
  422. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +8 -4
  423. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +1 -14
  424. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +16 -8
  425. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.d.ts +41 -0
  426. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.js +1 -0
  427. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +14 -0
  428. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +32 -2
  429. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.d.ts +33 -0
  430. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.js +48 -0
  431. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.d.ts +16 -0
  432. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.js +44 -0
  433. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +8 -0
  434. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +27 -0
  435. package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
  436. package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +5 -0
  437. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -3
  438. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +3 -0
  439. package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -2
  440. package/dist/service/s3/bucket/sim-s3-bucket-configuration.d.ts +84 -0
  441. package/dist/service/s3/bucket/sim-s3-bucket-configuration.js +115 -0
  442. package/dist/service/s3/bucket/sim-s3-bucket-maker.d.ts +31 -0
  443. package/dist/service/s3/bucket/sim-s3-bucket-maker.js +41 -0
  444. package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +10 -0
  445. package/dist/service/s3/bucket/sim-s3-bucket-objects.js +18 -0
  446. package/dist/service/s3/bucket/sim-s3-bucket-properties.d.ts +41 -0
  447. package/dist/service/s3/bucket/sim-s3-bucket-properties.js +1 -0
  448. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -83
  449. package/dist/service/s3/bucket/sim-s3-bucket.js +14 -83
  450. package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +6 -0
  451. package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +20 -6
  452. package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.d.ts +58 -0
  453. package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.js +73 -0
  454. package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +19 -1
  455. package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +20 -0
  456. package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.d.ts +21 -0
  457. package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.js +44 -0
  458. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +6 -0
  459. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +5 -4
  460. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +12 -5
  461. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.d.ts +21 -0
  462. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.js +30 -0
  463. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +1 -0
  464. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +14 -1
  465. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +41 -16
  466. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +3 -5
  467. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +7 -10
  468. package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +6 -1
  469. package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +5 -0
  470. package/dist/service/s3/command/copy-object/copy-object-builder.d.ts +10 -1
  471. package/dist/service/s3/command/copy-object/copy-object-builder.js +17 -1
  472. package/dist/service/s3/command/copy-object/copy-object.command.d.ts +11 -1
  473. package/dist/service/s3/command/copy-object/copy-object.handler.js +2 -1
  474. package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +2 -2
  475. package/dist/service/s3/command/create-bucket/create-bucket.handler.js +4 -12
  476. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +5 -1
  477. package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +7 -0
  478. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.d.ts +19 -0
  479. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.js +1 -0
  480. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.d.ts +30 -0
  481. package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.js +38 -0
  482. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.d.ts +23 -0
  483. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.js +1 -0
  484. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.d.ts +22 -0
  485. package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.js +42 -0
  486. package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.d.ts +29 -0
  487. package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.js +49 -0
  488. package/dist/service/s3/command/encryption/sim-s3-encryption-commands.d.ts +22 -0
  489. package/dist/service/s3/command/encryption/sim-s3-encryption-commands.js +30 -0
  490. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.d.ts +24 -0
  491. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.js +1 -0
  492. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.d.ts +31 -0
  493. package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.js +39 -0
  494. package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +11 -8
  495. package/dist/service/s3/command/get-object/get-object-authorizer.js +26 -34
  496. package/dist/service/s3/command/get-object/get-object-loader.d.ts +7 -3
  497. package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
  498. package/dist/service/s3/command/get-object/get-object.command.d.ts +2 -1
  499. package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -0
  500. package/dist/service/s3/command/get-object/get-object.handler.js +13 -7
  501. package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.d.ts +29 -0
  502. package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.js +1 -0
  503. package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.d.ts +21 -0
  504. package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.js +33 -0
  505. package/dist/service/s3/command/head-object/head-object-loader.js +2 -0
  506. package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
  507. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +18 -0
  508. package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +1 -2
  509. package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +1 -2
  510. package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +5 -0
  511. package/dist/service/s3/command/list-objects/list-objects-page-builder.js +11 -6
  512. package/dist/service/s3/command/list-objects/list-objects.command.d.ts +5 -1
  513. package/dist/service/s3/command/list-objects/list-objects.handler.js +5 -0
  514. package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +6 -0
  515. package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +11 -5
  516. package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +5 -1
  517. package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +5 -0
  518. package/dist/service/s3/command/list-parts/list-parts.handler.js +3 -3
  519. package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +1 -1
  520. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.d.ts +21 -0
  521. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.js +1 -0
  522. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.d.ts +31 -0
  523. package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.js +41 -0
  524. package/dist/service/s3/command/put-object/put-object-builder.d.ts +5 -1
  525. package/dist/service/s3/command/put-object/put-object-builder.js +10 -1
  526. package/dist/service/s3/command/put-object/put-object.command.d.ts +5 -1
  527. package/dist/service/s3/command/put-object/put-object.handler.js +2 -1
  528. package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.d.ts +37 -0
  529. package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.js +1 -0
  530. package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.d.ts +22 -0
  531. package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.js +46 -0
  532. package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
  533. package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.d.ts +61 -0
  534. package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.js +49 -0
  535. package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.d.ts +30 -0
  536. package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.js +27 -0
  537. package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.d.ts +26 -0
  538. package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.js +34 -0
  539. package/dist/service/s3/error/sim-s3-upload.error.d.ts +41 -0
  540. package/dist/service/s3/error/sim-s3-upload.error.js +47 -0
  541. package/dist/service/s3/error/sim-s3.error.d.ts +22 -34
  542. package/dist/service/s3/error/sim-s3.error.js +26 -40
  543. package/dist/service/s3/mount/sim-s3-mount.type.d.ts +10 -0
  544. package/dist/service/s3/notification/event/sim-s3-event-records.d.ts +3 -2
  545. package/dist/service/s3/notification/event/sim-s3-event-records.js +5 -3
  546. package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +33 -8
  547. package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +23 -9
  548. package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +5 -1
  549. package/dist/service/s3/notification/sim-s3-object-notifier.js +6 -0
  550. package/dist/service/s3/object/s3-key-encoding.d.ts +12 -0
  551. package/dist/service/s3/object/s3-key-encoding.js +14 -0
  552. package/dist/service/s3/object/s3-listing-encoding.d.ts +42 -0
  553. package/dist/service/s3/object/s3-listing-encoding.js +75 -0
  554. package/dist/service/s3/object/s3-object-response-headers.d.ts +40 -0
  555. package/dist/service/s3/object/s3-object-response-headers.js +49 -2
  556. package/dist/service/s3/object/s3-object-storage-report.d.ts +19 -0
  557. package/dist/service/s3/object/s3-object-storage-report.js +18 -0
  558. package/dist/service/s3/object/s3-object-summary.d.ts +2 -10
  559. package/dist/service/s3/object/s3-object-summary.js +1 -10
  560. package/dist/service/s3/object/s3-object-tags.d.ts +61 -0
  561. package/dist/service/s3/object/s3-object-tags.js +77 -0
  562. package/dist/service/s3/object/s3-object.d.ts +49 -0
  563. package/dist/service/s3/object/s3-object.js +52 -1
  564. package/dist/service/s3/object/s3-server-side-encryption.d.ts +30 -0
  565. package/dist/service/s3/object/s3-server-side-encryption.js +42 -0
  566. package/dist/service/s3/object/s3-storage-class.d.ts +45 -0
  567. package/dist/service/s3/object/s3-storage-class.js +67 -0
  568. package/dist/service/s3/object/s3-write-metadata.d.ts +17 -3
  569. package/dist/service/s3/object/s3-write-metadata.js +43 -0
  570. package/dist/service/s3/object/s3-write-storage.d.ts +27 -0
  571. package/dist/service/s3/object/s3-write-storage.js +21 -0
  572. package/dist/service/s3/object/s3-write-tagging.d.ts +24 -0
  573. package/dist/service/s3/object/s3-write-tagging.js +19 -0
  574. package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +12 -0
  575. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +2 -0
  576. package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.d.ts +9 -0
  577. package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.js +23 -0
  578. package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +22 -0
  579. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +4 -0
  580. package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +10 -0
  581. package/dist/service/s3/serve/api/sim-s3-api-encryption-read.d.ts +7 -0
  582. package/dist/service/s3/serve/api/sim-s3-api-encryption-read.js +30 -0
  583. package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +4 -2
  584. package/dist/service/s3/serve/api/sim-s3-api-head-output.js +8 -2
  585. package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -6
  586. package/dist/service/s3/serve/api/sim-s3-api-input.js +2 -13
  587. package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +5 -0
  588. package/dist/service/s3/serve/api/sim-s3-api-listing.js +5 -0
  589. package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +16 -0
  590. package/dist/service/s3/serve/api/sim-s3-api-object-input.js +34 -7
  591. package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +18 -1
  592. package/dist/service/s3/serve/api/sim-s3-api-object-output.js +21 -2
  593. package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +22 -1
  594. package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +5 -1
  595. package/dist/service/s3/serve/api/sim-s3-api-output.js +16 -5
  596. package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +6 -5
  597. package/dist/service/s3/serve/api/sim-s3-api-request.js +55 -11
  598. package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -2
  599. package/dist/service/s3/serve/api/sim-s3-api-tagging-read.d.ts +9 -0
  600. package/dist/service/s3/serve/api/sim-s3-api-tagging-read.js +14 -0
  601. package/dist/service/s3/serve/api/sim-s3-api.d.ts +7 -1
  602. package/dist/service/s3/serve/api/sim-s3-api.js +7 -1
  603. package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +1 -5
  604. package/dist/service/s3/serve/sim-s3-rest-controller.js +3 -17
  605. package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +3 -0
  606. package/dist/service/s3/serve/sim-s3-rest-object-reader.js +8 -1
  607. package/dist/service/s3/serve/sim-s3-rest-upload.d.ts +20 -0
  608. package/dist/service/s3/serve/sim-s3-rest-upload.js +30 -0
  609. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -0
  610. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +2 -0
  611. package/dist/service/s3/serve/website/sim-s3-website-object.js +3 -0
  612. package/dist/service/s3/sim-s3-commands.d.ts +10 -0
  613. package/dist/service/s3/sim-s3-commands.js +13 -0
  614. package/dist/service/s3/sim-s3-operations.d.ts +11 -4
  615. package/dist/service/s3/sim-s3-operations.js +17 -4
  616. package/dist/service/s3/sim-s3-tagging-operations.d.ts +21 -0
  617. package/dist/service/s3/sim-s3-tagging-operations.js +25 -0
  618. package/dist/service/s3/sim-s3.d.ts +28 -0
  619. package/dist/service/s3/sim-s3.js +38 -0
  620. package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.d.ts +34 -0
  621. package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.js +34 -0
  622. package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.d.ts +9 -0
  623. package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.js +24 -0
  624. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +5 -4
  625. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -3
  626. package/dist/service/s3/upload/sim-s3-completed-upload.js +5 -1
  627. package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +18 -0
  628. package/dist/service/s3/upload/sim-s3-multipart-upload.js +8 -0
  629. package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +6 -0
  630. package/dist/service/s3/upload/sim-s3-multipart-uploads.js +5 -0
  631. package/dist/util/background/background-clock-waits.d.ts +52 -0
  632. package/dist/util/background/background-clock-waits.js +76 -0
  633. package/dist/util/background/background-jitter.js +1 -0
  634. package/dist/util/background/background-pending-tasks.d.ts +55 -0
  635. package/dist/util/background/background-pending-tasks.js +117 -0
  636. package/dist/util/background/background-settled-tasks.d.ts +4 -1
  637. package/dist/util/background/background-settled-tasks.js +4 -1
  638. package/dist/util/background/background.d.ts +43 -0
  639. package/dist/util/background/background.js +27 -19
  640. package/dist/util/background/non-deterministic-background.d.ts +12 -0
  641. package/dist/util/background/non-deterministic-background.js +24 -20
  642. package/dist/util/clock/sim-clock-control.js +23 -2
  643. package/docs/services/apigateway/README.md +3 -1
  644. package/docs/services/athena/README.md +126 -3
  645. package/docs/services/cloudformation/README.md +831 -67
  646. package/docs/services/cognito/README.md +5 -0
  647. package/docs/services/dynamodb/README.md +86 -11
  648. package/docs/services/lambda/README.md +603 -39
  649. package/docs/services/s3/README.md +688 -57
  650. package/package.json +8 -2
@@ -0,0 +1,67 @@
1
+ import { samAuthError, samAuthorizerLogicalId, samAuthorizerResultTtl, } from "./sim-cfn-sam-api-auth.js";
2
+ import { samApiIdentity } from "./sim-cfn-sam-api-identity.js";
3
+ import { samAuthorizerPermissionResource, samAuthorizerUri, } from "./sim-cfn-sam-authorizer-function.js";
4
+ import { samRestIdentityPrefixes } from "./sim-cfn-sam-identity-prefixes.js";
5
+ /**
6
+ * A REST API Lambda authorizer, which asks a function of the template what to
7
+ * do with the request.
8
+ *
9
+ * `FunctionPayloadType` decides which of the two kinds it is. A `TOKEN`
10
+ * authorizer is handed one header, and a `REQUEST` authorizer the whole
11
+ * request. SAM defaults to `TOKEN`, and so does this. A `TOKEN` authorizer
12
+ * naming no header of its own reads `Authorization`, and a `REQUEST` one is
13
+ * allowed to read nothing by name, which is how it is asked to run on every
14
+ * request.
15
+ */
16
+ export function samRestLambdaAuthorizer(authorizer, functionArn) {
17
+ const { api, name, definition } = authorizer;
18
+ const identity = samApiIdentity({
19
+ api,
20
+ authorizerName: name,
21
+ authorizer: definition,
22
+ prefixes: samRestIdentityPrefixes,
23
+ });
24
+ const logicalId = samAuthorizerLogicalId(api, name);
25
+ const type = payloadType(authorizer);
26
+ const declared = identity.identitySource.join(",");
27
+ return {
28
+ authorizationType: "CUSTOM",
29
+ logicalId,
30
+ authorizationScopes: undefined,
31
+ resources: {
32
+ [logicalId]: {
33
+ Type: "AWS::ApiGateway::Authorizer",
34
+ Properties: {
35
+ RestApiId: { Ref: api.logicalId },
36
+ Name: name,
37
+ Type: type,
38
+ AuthorizerUri: samAuthorizerUri(functionArn),
39
+ ...identitySource(type, declared),
40
+ ...samAuthorizerResultTtl(identity.reauthorizeEvery),
41
+ },
42
+ },
43
+ [`${logicalId}Permission`]: samAuthorizerPermissionResource({
44
+ functionArn,
45
+ apiLogicalId: api.logicalId,
46
+ }),
47
+ },
48
+ };
49
+ }
50
+ /**
51
+ * Which kind of Lambda authorizer the definition asks for.
52
+ */
53
+ function payloadType(authorizer) {
54
+ const declared = authorizer.definition["FunctionPayloadType"] ?? "TOKEN";
55
+ if (declared !== "TOKEN" && declared !== "REQUEST") {
56
+ throw samAuthError(authorizer.api, `Auth.Authorizers.${authorizer.name}.FunctionPayloadType`, "it is neither TOKEN nor REQUEST");
57
+ }
58
+ return declared;
59
+ }
60
+ /**
61
+ * The `IdentitySource` the authorizer is created with, which a REST API states
62
+ * as one comma-separated string.
63
+ */
64
+ function identitySource(type, declared) {
65
+ const source = declared || (type === "TOKEN" ? "method.request.header.Authorization" : "");
66
+ return source === "" ? {} : { IdentitySource: source };
67
+ }
@@ -0,0 +1,26 @@
1
+ import type { CfnTemplateBodyRecord } from "../../../template/sim-cfn-template.js";
2
+ import type { SamTemplateGlobals } from "../../sim-cfn-sam-globals.js";
3
+ import type { SamApiAuth } from "./sim-cfn-sam-api-auth.types.js";
4
+ /**
5
+ * The `Auth` of every API of a template, by the logical ID the API is expanded
6
+ * under.
7
+ *
8
+ * An `Api` or `HttpApi` event puts its method on an API declared somewhere
9
+ * else in the template, and has to know what that API's `Auth` block declared
10
+ * before it can name one of its authorizers. This is read once for the whole
11
+ * template and handed to every event.
12
+ */
13
+ export type SamTemplateApiAuth = ReadonlyMap<string, SamApiAuth>;
14
+ /**
15
+ * Read the `Auth` of every API a template declares, and of the two implicit
16
+ * APIs its events may make.
17
+ *
18
+ * The implicit APIs are read from `Globals`, which is where SAM says their
19
+ * `Auth` comes from. An API the template declares under one of their logical
20
+ * IDs is the API of that name, and is read last for that reason.
21
+ *
22
+ * An API naming a `DefinitionUri` is left out. Nothing here reads the document
23
+ * it points at, so the API is not expanded at all and there is no authorizer
24
+ * Resource for a method to name.
25
+ */
26
+ export declare function samTemplateApiAuth(template: CfnTemplateBodyRecord, globals: SamTemplateGlobals): SamTemplateApiAuth;
@@ -0,0 +1,61 @@
1
+ import { samImplicitHttpApiLogicalId } from "../../function/event/sim-cfn-sam-implicit-http-api.js";
2
+ import { samImplicitRestApiLogicalId } from "../../function/event/sim-cfn-sam-implicit-rest-api.js";
3
+ import { samResourceProperties } from "../../function/sim-cfn-sam-function-properties.js";
4
+ import { samMergedApiProperties } from "../../sim-cfn-sam-globals.js";
5
+ import { isSamTemplateRecord } from "../../sim-cfn-sam-record.js";
6
+ import { samHttpApiType } from "../sim-cfn-sam-http-api.js";
7
+ import { samRestApiType } from "../sim-cfn-sam-rest-api.js";
8
+ import { samHttpApiAuth } from "./sim-cfn-sam-http-api-auth.js";
9
+ import { samRestApiAuth } from "./sim-cfn-sam-rest-api-auth.js";
10
+ /**
11
+ * Read the `Auth` of every API a template declares, and of the two implicit
12
+ * APIs its events may make.
13
+ *
14
+ * The implicit APIs are read from `Globals`, which is where SAM says their
15
+ * `Auth` comes from. An API the template declares under one of their logical
16
+ * IDs is the API of that name, and is read last for that reason.
17
+ *
18
+ * An API naming a `DefinitionUri` is left out. Nothing here reads the document
19
+ * it points at, so the API is not expanded at all and there is no authorizer
20
+ * Resource for a method to name.
21
+ */
22
+ export function samTemplateApiAuth(template, globals) {
23
+ const resources = isSamTemplateRecord(template.Resources)
24
+ ? Object.entries(template.Resources)
25
+ : [];
26
+ return new Map([
27
+ [
28
+ samImplicitRestApiLogicalId,
29
+ samRestApiAuth(samImplicitRestApiLogicalId, globals.forApi),
30
+ ],
31
+ [
32
+ samImplicitHttpApiLogicalId,
33
+ samHttpApiAuth(samImplicitHttpApiLogicalId, globals.forHttpApi),
34
+ ],
35
+ ...resources.flatMap(([logicalId, resource]) => declaredApiAuth(logicalId, resource, globals)),
36
+ ]);
37
+ }
38
+ /**
39
+ * The `Auth` of one Resource of the template, where the Resource is a SAM API
40
+ * this expansion covers.
41
+ */
42
+ function declaredApiAuth(logicalId, resource, globals) {
43
+ if (!isSamTemplateRecord(resource)) {
44
+ return [];
45
+ }
46
+ const type = resource["Type"];
47
+ if (type === samRestApiType) {
48
+ return apiAuth(logicalId, resource, globals.forApi, samRestApiAuth);
49
+ }
50
+ if (type === samHttpApiType) {
51
+ return apiAuth(logicalId, resource, globals.forHttpApi, samHttpApiAuth);
52
+ }
53
+ return [];
54
+ }
55
+ function apiAuth(logicalId, resource, globals, read) {
56
+ const apiProperties = samMergedApiProperties(globals, samResourceProperties(resource));
57
+ if (apiProperties["DefinitionUri"] !== undefined) {
58
+ return [];
59
+ }
60
+ return [[logicalId, read(logicalId, apiProperties)]];
61
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The `Auth` properties an API can declare that this expansion does not model,
3
+ * and what each one would have done.
4
+ *
5
+ * Every one of them is refused by name rather than dropped, because an API
6
+ * that quietly lost part of its `Auth` block deploys open under a template
7
+ * that reads as closed.
8
+ */
9
+ export declare const samUnsupportedApiAuth: ReadonlyMap<string, string>;
10
+ /**
11
+ * The `Auth` properties an `Api` or `HttpApi` event can declare that this
12
+ * expansion does not model.
13
+ */
14
+ export declare const samUnsupportedEventAuth: ReadonlyMap<string, string>;
15
+ /**
16
+ * The `Identity` properties of an authorizer this expansion does not model.
17
+ */
18
+ export declare const samUnsupportedIdentity: ReadonlyMap<string, string>;
@@ -0,0 +1,59 @@
1
+ /**
2
+ * The `Auth` properties an API can declare that this expansion does not model,
3
+ * and what each one would have done.
4
+ *
5
+ * Every one of them is refused by name rather than dropped, because an API
6
+ * that quietly lost part of its `Auth` block deploys open under a template
7
+ * that reads as closed.
8
+ */
9
+ export const samUnsupportedApiAuth = new Map([
10
+ [
11
+ "AddDefaultAuthorizerToCorsPreflight",
12
+ "it decides whether the OPTIONS method a Cors block generates is " +
13
+ "authorized, and Cors is not expanded here",
14
+ ],
15
+ ["ApiKeyRequired", "API keys and usage plans are not simulated"],
16
+ ["UsagePlan", "API keys and usage plans are not simulated"],
17
+ [
18
+ "InvokeRole",
19
+ "it names the Role API Gateway calls the integration as, and an " +
20
+ "integration here is invoked as the API rather than as a Role",
21
+ ],
22
+ [
23
+ "ResourcePolicy",
24
+ "an API Gateway resource policy is not simulated. Close the API with an " +
25
+ "authorizer instead",
26
+ ],
27
+ ]);
28
+ /**
29
+ * The `Auth` properties an `Api` or `HttpApi` event can declare that this
30
+ * expansion does not model.
31
+ */
32
+ export const samUnsupportedEventAuth = new Map([
33
+ ["ApiKeyRequired", "API keys and usage plans are not simulated"],
34
+ [
35
+ "InvokeRole",
36
+ "it names the Role API Gateway calls the integration as, and an " +
37
+ "integration here is invoked as the API rather than as a Role",
38
+ ],
39
+ [
40
+ "ResourcePolicy",
41
+ "an API Gateway resource policy is not simulated. Close the method with " +
42
+ "an authorizer instead",
43
+ ],
44
+ [
45
+ "OverrideApiAuth",
46
+ "it lets an event replace the API's own Auth block rather than name one " +
47
+ "of its authorizers",
48
+ ],
49
+ ]);
50
+ /**
51
+ * The `Identity` properties of an authorizer this expansion does not model.
52
+ */
53
+ export const samUnsupportedIdentity = new Map([
54
+ [
55
+ "ValidationExpression",
56
+ "it turns a token that does not match into a 401 before the authorizer " +
57
+ "runs, and that check is not simulated",
58
+ ],
59
+ ]);
@@ -1,5 +1,5 @@
1
1
  import { MappedFactory } from "@kensio/part-factory";
2
- import { samFunctionType } from "../function/sim-cfn-sam-function.js";
2
+ import { samFunctionType } from "../function/sim-cfn-sam-function-type.js";
3
3
  import { samTransformName } from "../sim-cfn-sam-transform.js";
4
4
  import { samHttpApiType } from "./sim-cfn-sam-http-api.js";
5
5
  /**
@@ -22,6 +22,10 @@ export declare const samHttpApiType = "AWS::Serverless::HttpApi";
22
22
  * points at a document on disk or in S3. Nothing here reads either, and an API
23
23
  * declaring one is left as the template wrote it, to be recorded as
24
24
  * unsupported. The alternative is an API deployed with no routes at all.
25
+ *
26
+ * An `Auth` block becomes one `AWS::ApiGatewayV2::Authorizer` per authorizer it
27
+ * declares, named after the API and the authorizer, which the routes on the API
28
+ * name by `Ref`.
25
29
  */
26
30
  export declare function samHttpApiResources(properties: SamHttpApiExpansionProperties): Record<string, SimCfnTemplateValue>;
27
31
  export {};
@@ -1,6 +1,8 @@
1
- import { samCarriedAttributes, samResourceProperties, } from "../function/sim-cfn-sam-function-properties.js";
1
+ import { samCarriedAttributes, samConditionAttribute, samResourceProperties, } from "../function/sim-cfn-sam-function-properties.js";
2
2
  import { samMergedApiProperties } from "../sim-cfn-sam-globals.js";
3
3
  import { samPickedProperties } from "../sim-cfn-sam-picked.js";
4
+ import { samApiAuthResources } from "./auth/sim-cfn-sam-api-auth.js";
5
+ import { samHttpApiAuth } from "./auth/sim-cfn-sam-http-api-auth.js";
4
6
  import { samHttpApiStageResources } from "./sim-cfn-sam-http-api-stage.js";
5
7
  /**
6
8
  * The SAM Resource type this expansion covers.
@@ -10,10 +12,10 @@ export const samHttpApiType = "AWS::Serverless::HttpApi";
10
12
  * The properties whose names and meanings are the same on both Resource types.
11
13
  * Expanding one of them is carrying it across.
12
14
  *
13
- * `Auth` and `Domain` are absent from the list. SAM writes an `Auth` block
14
- * into the OpenAPI document it generates, and deploys a `Domain` as a custom
15
- * domain name Resource. Neither is expanded here, and an API declaring one is
16
- * deployed without it.
15
+ * `Auth` and `Domain` are absent from the list. SAM deploys a `Domain` as a
16
+ * custom domain name Resource. That is not expanded here, and an API declaring
17
+ * one is deployed without it. `Auth` becomes authorizer Resources of its own
18
+ * beside the API.
17
19
  */
18
20
  const propertyNames = new Set([
19
21
  "CorsConfiguration",
@@ -36,6 +38,10 @@ const propertyNames = new Set([
36
38
  * points at a document on disk or in S3. Nothing here reads either, and an API
37
39
  * declaring one is left as the template wrote it, to be recorded as
38
40
  * unsupported. The alternative is an API deployed with no routes at all.
41
+ *
42
+ * An `Auth` block becomes one `AWS::ApiGatewayV2::Authorizer` per authorizer it
43
+ * declares, named after the API and the authorizer, which the routes on the API
44
+ * name by `Ref`.
39
45
  */
40
46
  export function samHttpApiResources(properties) {
41
47
  const { logicalId, resource, globals } = properties;
@@ -55,6 +61,7 @@ export function samHttpApiResources(properties) {
55
61
  },
56
62
  },
57
63
  ...samHttpApiStageResources({ logicalId, resource, apiProperties }),
64
+ ...samApiAuthResources(samHttpApiAuth(logicalId, apiProperties), samConditionAttribute(resource["Condition"])),
58
65
  };
59
66
  }
60
67
  /**
@@ -1,5 +1,5 @@
1
1
  import { MappedFactory } from "@kensio/part-factory";
2
- import { samFunctionType } from "../function/sim-cfn-sam-function.js";
2
+ import { samFunctionType } from "../function/sim-cfn-sam-function-type.js";
3
3
  import { samTransformName } from "../sim-cfn-sam-transform.js";
4
4
  import { samRestApiType } from "./sim-cfn-sam-rest-api.js";
5
5
  /**
@@ -1,6 +1,8 @@
1
- import { samCarriedAttributes, samResourceProperties, } from "../function/sim-cfn-sam-function-properties.js";
1
+ import { samCarriedAttributes, samConditionAttribute, samResourceProperties, } from "../function/sim-cfn-sam-function-properties.js";
2
2
  import { samMergedApiProperties } from "../sim-cfn-sam-globals.js";
3
3
  import { samPickedProperties } from "../sim-cfn-sam-picked.js";
4
+ import { samApiAuthResources } from "./auth/sim-cfn-sam-api-auth.js";
5
+ import { samRestApiAuth } from "./auth/sim-cfn-sam-rest-api-auth.js";
4
6
  import { samRestApiStageResources } from "./sim-cfn-sam-rest-api-stage.js";
5
7
  /**
6
8
  * The SAM Resource type this expansion covers.
@@ -10,10 +12,11 @@ export const samRestApiType = "AWS::Serverless::Api";
10
12
  * The properties whose names and meanings are the same on both Resource types.
11
13
  * Expanding one of them is carrying it across.
12
14
  *
13
- * `Auth`, `Cors`, `Domain`, `GatewayResponses`, `MethodSettings` and
15
+ * `Cors`, `Domain`, `GatewayResponses`, `MethodSettings` and
14
16
  * `BinaryMediaTypes` are absent from the list. SAM writes all of them into the
15
17
  * Swagger document it generates, and none is expanded here, so an API
16
- * declaring one is deployed without it.
18
+ * declaring one is deployed without it. `Auth` is absent for the opposite
19
+ * reason. It becomes authorizer Resources of its own beside the API.
17
20
  */
18
21
  const propertyNames = new Set([
19
22
  "Description",
@@ -60,6 +63,7 @@ export function samRestApiResources(properties) {
60
63
  },
61
64
  },
62
65
  ...samRestApiStageResources({ logicalId, resource, apiProperties }),
66
+ ...samApiAuthResources(samRestApiAuth(logicalId, apiProperties), samConditionAttribute(resource["Condition"])),
63
67
  };
64
68
  }
65
69
  /**
@@ -1,3 +1,4 @@
1
+ import { samEventAuthorization } from "../../api/auth/sim-cfn-sam-event-authorization.js";
1
2
  import { isSamTemplateRecord } from "../../sim-cfn-sam-record.js";
2
3
  import { samApiInvokePermissionResource } from "./sim-cfn-sam-api-invoke-permission.js";
3
4
  import { samApiEventPathParts, samApiEventPathResources, samApiEventResourceId, } from "./sim-cfn-sam-api-event-path.js";
@@ -84,8 +85,11 @@ function samApiEventPath(properties) {
84
85
  *
85
86
  * SAM integrates an `Api` event as a proxy, which is the shape the function is
86
87
  * handed the request in, and the REST API declares an integration as a block
87
- * of the method. `Auth` on the event is not expanded, so the method authorizes
88
- * nothing and every request matching it reaches the function.
88
+ * of the method.
89
+ *
90
+ * `Auth` on the event names one of the API's authorizers, and an event naming
91
+ * none takes the API's `DefaultAuthorizer`. A method neither of them closes
92
+ * authorizes nothing, and every request matching it reaches the function.
89
93
  */
90
94
  function methodResource(properties) {
91
95
  const { event, apiLogicalId, path } = properties;
@@ -96,7 +100,7 @@ function methodResource(properties) {
96
100
  RestApiId: { Ref: apiLogicalId },
97
101
  ResourceId: samApiEventResourceId(apiLogicalId, path),
98
102
  HttpMethod: samApiEventHttpMethod(event.properties),
99
- AuthorizationType: "NONE",
103
+ ...samEventAuthorization(event, apiLogicalId),
100
104
  Integration: {
101
105
  Type: "AWS_PROXY",
102
106
  IntegrationHttpMethod: "POST",
@@ -0,0 +1,26 @@
1
+ import type { SimCfnTemplateValue } from "../../../template/value/sim-cfn-template-value.js";
2
+ import type { SamFunctionEvent } from "./sim-cfn-sam-declared-event.js";
3
+ import type { SamResourceEdit } from "./sim-cfn-sam-resource-edit.js";
4
+ /**
5
+ * The Resource a `Cognito` event expands into, which is the permission the
6
+ * pool invokes the function under.
7
+ *
8
+ * A user pool checks the function's resource policy every time a trigger
9
+ * fires, so the entry in its `LambdaConfig` is not enough on its own. The
10
+ * grant names the pool as the source, so a permission written for one pool
11
+ * does not open the function to another.
12
+ *
13
+ * The pool is not made to depend on the permission. Cognito reads the policy
14
+ * when the trigger fires rather than when the pool is created, and a pool
15
+ * depending on a permission that names the pool is the circular dependency
16
+ * CloudFormation refuses.
17
+ */
18
+ export declare function samCognitoEventResources(event: SamFunctionEvent): Record<string, SimCfnTemplateValue>;
19
+ /**
20
+ * The change a `Cognito` event makes to the user pool the template already
21
+ * declares.
22
+ *
23
+ * A trigger is a property of the pool, so this is the second event type with
24
+ * no Resource of its own to be.
25
+ */
26
+ export declare function samCognitoEventEdits(event: SamFunctionEvent): readonly SamResourceEdit[];
@@ -0,0 +1,88 @@
1
+ import { isSamTemplateRecord, samValueList } from "../../sim-cfn-sam-record.js";
2
+ import { samTriggeredUserPool } from "./sim-cfn-sam-triggered-user-pool.js";
3
+ /**
4
+ * The Resource a `Cognito` event expands into, which is the permission the
5
+ * pool invokes the function under.
6
+ *
7
+ * A user pool checks the function's resource policy every time a trigger
8
+ * fires, so the entry in its `LambdaConfig` is not enough on its own. The
9
+ * grant names the pool as the source, so a permission written for one pool
10
+ * does not open the function to another.
11
+ *
12
+ * The pool is not made to depend on the permission. Cognito reads the policy
13
+ * when the trigger fires rather than when the pool is created, and a pool
14
+ * depending on a permission that names the pool is the circular dependency
15
+ * CloudFormation refuses.
16
+ */
17
+ export function samCognitoEventResources(event) {
18
+ const trigger = samCognitoTrigger(event);
19
+ if (trigger === undefined) {
20
+ return {};
21
+ }
22
+ return {
23
+ [`${event.functionLogicalId}${event.eventName}CognitoPermission`]: {
24
+ Type: "AWS::Lambda::Permission",
25
+ ...event.condition,
26
+ Properties: {
27
+ Action: "lambda:InvokeFunction",
28
+ FunctionName: { "Fn::GetAtt": [event.functionLogicalId, "Arn"] },
29
+ Principal: "cognito-idp.amazonaws.com",
30
+ SourceArn: { "Fn::GetAtt": [trigger.userPoolLogicalId, "Arn"] },
31
+ },
32
+ },
33
+ };
34
+ }
35
+ /**
36
+ * The change a `Cognito` event makes to the user pool the template already
37
+ * declares.
38
+ *
39
+ * A trigger is a property of the pool, so this is the second event type with
40
+ * no Resource of its own to be.
41
+ */
42
+ export function samCognitoEventEdits(event) {
43
+ const trigger = samCognitoTrigger(event);
44
+ if (trigger === undefined) {
45
+ return [];
46
+ }
47
+ return [
48
+ {
49
+ logicalId: trigger.userPoolLogicalId,
50
+ edit: (resource) => samTriggeredUserPool(event, trigger.triggers, resource),
51
+ },
52
+ ];
53
+ }
54
+ /**
55
+ * What the event asks of the pool, or nothing where it named no pool or no
56
+ * trigger.
57
+ *
58
+ * Either one missing leaves the function as it is rather than failing the
59
+ * deployment, the same answer an event of a type nothing expands gets.
60
+ *
61
+ * `UserPool` is the logical ID of a pool of this template, written as the name
62
+ * or as a `Ref` to it, which is what SAM accepts. A pool named any other way is
63
+ * a pool this cannot reach to put a trigger on.
64
+ */
65
+ function samCognitoTrigger(event) {
66
+ const userPoolLogicalId = logicalIdOf(event.properties["UserPool"]);
67
+ const triggers = triggerNames(event.properties["Trigger"]);
68
+ if (userPoolLogicalId === undefined || triggers.length === 0) {
69
+ return undefined;
70
+ }
71
+ return { userPoolLogicalId, triggers };
72
+ }
73
+ function logicalIdOf(userPool) {
74
+ if (typeof userPool === "string") {
75
+ return userPool;
76
+ }
77
+ const reference = isSamTemplateRecord(userPool) ? userPool["Ref"] : undefined;
78
+ return typeof reference === "string" ? reference : undefined;
79
+ }
80
+ /**
81
+ * The triggers the event names, which SAM states as one name or as a list.
82
+ */
83
+ function triggerNames(trigger) {
84
+ if (typeof trigger === "string") {
85
+ return [trigger];
86
+ }
87
+ return samValueList(trigger).filter((name) => typeof name === "string");
88
+ }
@@ -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
  /**
3
4
  * What the expansion of a SAM function is asked about its events.
4
5
  */
@@ -12,6 +13,11 @@ export interface SamFunctionEventsProperties {
12
13
  * an API of their own.
13
14
  */
14
15
  readonly apiGlobals: SimCfnTemplateValueRecord;
16
+ /**
17
+ * The `Auth` of every API of the template, for the events that put a method
18
+ * or a route on one.
19
+ */
20
+ readonly apiAuth: SamTemplateApiAuth;
15
21
  /** The `Condition` the SAM Resource carried, where it carried one. */
16
22
  readonly condition: SimCfnTemplateValue | undefined;
17
23
  }
@@ -43,6 +49,12 @@ export interface SamFunctionEvent {
43
49
  * defaults as one the template declared.
44
50
  */
45
51
  readonly apiGlobals: SimCfnTemplateValueRecord;
52
+ /**
53
+ * The `Auth` of every API of the template, by the logical ID each is expanded
54
+ * under. An `Api` or `HttpApi` event reads the one belonging to the API it
55
+ * names, to say how the method or route it expands into is authorized.
56
+ */
57
+ readonly apiAuth: SamTemplateApiAuth;
46
58
  }
47
59
  /**
48
60
  * One event of a function, as the expansion tables are asked about it.
@@ -32,6 +32,7 @@ function declaredEvent(properties, eventName, event) {
32
32
  properties: isSamTemplateRecord(eventProperties) ? eventProperties : {},
33
33
  condition: samConditionAttribute(properties.condition),
34
34
  apiGlobals: properties.apiGlobals,
35
+ apiAuth: properties.apiAuth,
35
36
  },
36
37
  },
37
38
  ];
@@ -2,6 +2,7 @@ import { samDeclaredEvents } from "./sim-cfn-sam-declared-event.js";
2
2
  import { samDynamoDbEventResources, samSqsEventResources, } from "./sim-cfn-sam-event-source-mapping-event.js";
3
3
  import { samDynamoDbEventEdits, samSqsEventEdits, } from "./sim-cfn-sam-event-source-role.js";
4
4
  import { samApiEventResources } from "./sim-cfn-sam-api-event.js";
5
+ import { samCognitoEventEdits, samCognitoEventResources, } from "./sim-cfn-sam-cognito-event.js";
5
6
  import { samEventBridgeRuleEventResources } from "./sim-cfn-sam-event-bridge-rule-event.js";
6
7
  import { samHttpApiEventResources } from "./sim-cfn-sam-http-api-event.js";
7
8
  import { samS3EventEdits, samS3EventResources, } from "./sim-cfn-sam-s3-event.js";
@@ -19,6 +20,7 @@ import { samSnsEventResources } from "./sim-cfn-sam-sns-event.js";
19
20
  */
20
21
  const eventExpansions = new Map([
21
22
  ["Api", samApiEventResources],
23
+ ["Cognito", samCognitoEventResources],
22
24
  ["DynamoDB", samDynamoDbEventResources],
23
25
  ["EventBridgeRule", samEventBridgeRuleEventResources],
24
26
  ["HttpApi", samHttpApiEventResources],
@@ -34,15 +36,16 @@ const eventExpansions = new Map([
34
36
  *
35
37
  * This is the second half of the same table, for what an event cannot express
36
38
  * as a Resource of its own. An `S3` event notifies a Bucket the template
37
- * declares, and a polled event grants the function's own execution Role the
38
- * permission to poll. Keying either by the logical ID it changes would deploy
39
- * the change in place of the Resource, since expanded Resources are merged
40
- * last write wins.
39
+ * declares, a `Cognito` event puts a trigger on a user pool, and a polled event
40
+ * grants the function's own execution Role the permission to poll. Keying any
41
+ * of them by the logical ID it changes would deploy the change in place of the
42
+ * Resource, since expanded Resources are merged last write wins.
41
43
  *
42
- * An event type belongs in both tables where it does both, as all three of
44
+ * An event type belongs in both tables where it does both, as all four of
43
45
  * these do.
44
46
  */
45
47
  const eventEdits = new Map([
48
+ ["Cognito", samCognitoEventEdits],
46
49
  ["DynamoDB", samDynamoDbEventEdits],
47
50
  ["S3", samS3EventEdits],
48
51
  ["SQS", samSqsEventEdits],
@@ -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
  "",