@kensio/yulin 0.43.0 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/README.md +1 -0
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  3. package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
  4. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  5. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +11 -0
  6. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
  7. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +19 -0
  8. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  9. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
  10. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  11. package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
  12. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  13. package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
  14. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  15. package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
  16. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  17. package/dist/service/aws/sim-aws.d.ts +3 -0
  18. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  19. package/dist/service/aws/sim-aws.js +4 -0
  20. package/dist/service/aws/sim-aws.js.map +1 -1
  21. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.d.ts.map +1 -1
  22. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js +8 -0
  23. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js.map +1 -1
  24. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-event-source-mapping-cfn.d.ts +28 -0
  25. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-event-source-mapping-cfn.d.ts.map +1 -0
  26. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-event-source-mapping-cfn.js +33 -0
  27. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-event-source-mapping-cfn.js.map +1 -0
  28. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
  29. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +2 -0
  30. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
  31. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-cfn-value-adapter.d.ts +6 -0
  32. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-cfn-value-adapter.d.ts.map +1 -0
  33. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-cfn-value-adapter.js +13 -0
  34. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-cfn-value-adapter.js.map +1 -0
  35. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-queue-cfn.d.ts +28 -0
  36. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-queue-cfn.d.ts.map +1 -0
  37. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-queue-cfn.js +40 -0
  38. package/dist/service/cloudformation/resource/cfn/sqs/sim-sqs-queue-cfn.js.map +1 -0
  39. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.d.ts.map +1 -1
  40. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js +3 -0
  41. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js.map +1 -1
  42. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +3 -0
  43. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts.map +1 -1
  44. package/dist/service/cloudformation/resource/sim-cfn-resource.js +4 -1
  45. package/dist/service/cloudformation/resource/sim-cfn-resource.js.map +1 -1
  46. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.d.ts.map +1 -1
  47. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
  48. package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js.map +1 -1
  49. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.d.ts +26 -0
  50. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.d.ts.map +1 -0
  51. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js +33 -0
  52. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-creator.js.map +1 -0
  53. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts +28 -0
  54. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts.map +1 -0
  55. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +38 -0
  56. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js.map +1 -0
  57. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.d.ts +17 -0
  58. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.d.ts.map +1 -0
  59. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +71 -0
  60. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js.map +1 -0
  61. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts +4 -0
  62. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts.map +1 -1
  63. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js +12 -0
  64. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js.map +1 -1
  65. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts +5 -6
  66. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts.map +1 -1
  67. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js +7 -13
  68. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js.map +1 -1
  69. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +1 -0
  70. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts.map +1 -1
  71. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +8 -0
  72. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js.map +1 -1
  73. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +25 -0
  74. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts.map +1 -0
  75. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +55 -0
  76. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js.map +1 -0
  77. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.d.ts +6 -0
  78. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.d.ts.map +1 -0
  79. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +64 -0
  80. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js.map +1 -0
  81. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts +17 -0
  82. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts.map +1 -0
  83. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js +47 -0
  84. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js.map +1 -0
  85. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts +53 -0
  86. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts.map +1 -0
  87. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +77 -0
  88. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js.map +1 -0
  89. package/dist/service/lambda/command/event-source-mapping/event-source-mapping-access.d.ts +41 -0
  90. package/dist/service/lambda/command/event-source-mapping/event-source-mapping-access.d.ts.map +1 -0
  91. package/dist/service/lambda/command/event-source-mapping/event-source-mapping-access.js +51 -0
  92. package/dist/service/lambda/command/event-source-mapping/event-source-mapping-access.js.map +1 -0
  93. package/dist/service/lambda/command/event-source-mapping/event-source-mapping.command.d.ts +91 -0
  94. package/dist/service/lambda/command/event-source-mapping/event-source-mapping.command.d.ts.map +1 -0
  95. package/dist/service/lambda/command/event-source-mapping/event-source-mapping.command.js +8 -0
  96. package/dist/service/lambda/command/event-source-mapping/event-source-mapping.command.js.map +1 -0
  97. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts +60 -0
  98. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.d.ts.map +1 -0
  99. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js +89 -0
  100. package/dist/service/lambda/command/event-source-mapping/sim-lambda-event-source-mapping-commands.js.map +1 -0
  101. package/dist/service/lambda/command/sim-lambda-command.types.d.ts +1 -0
  102. package/dist/service/lambda/command/sim-lambda-command.types.d.ts.map +1 -1
  103. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.d.ts +27 -0
  104. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.d.ts.map +1 -0
  105. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.js +32 -0
  106. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.js.map +1 -0
  107. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-schedule.d.ts +40 -0
  108. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-schedule.d.ts.map +1 -0
  109. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-schedule.js +55 -0
  110. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poll-schedule.js.map +1 -0
  111. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.d.ts +85 -0
  112. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.d.ts.map +1 -0
  113. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.js +136 -0
  114. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.js.map +1 -0
  115. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.d.ts +49 -0
  116. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.d.ts.map +1 -0
  117. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.js +97 -0
  118. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.js.map +1 -0
  119. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event.d.ts +56 -0
  120. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event.d.ts.map +1 -0
  121. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event.js +55 -0
  122. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event.js.map +1 -0
  123. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queue-service.d.ts +49 -0
  124. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queue-service.d.ts.map +1 -0
  125. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queue-service.js +2 -0
  126. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queue-service.js.map +1 -0
  127. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queues.d.ts +118 -0
  128. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queues.d.ts.map +1 -0
  129. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queues.js +49 -0
  130. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queues.js.map +1 -0
  131. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +32 -0
  132. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts.map +1 -0
  133. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +52 -0
  134. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js.map +1 -0
  135. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queue-attributes.d.ts +29 -0
  136. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queue-attributes.d.ts.map +1 -0
  137. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queue-attributes.js +49 -0
  138. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queue-attributes.js.map +1 -0
  139. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queues.d.ts +57 -0
  140. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queues.d.ts.map +1 -0
  141. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queues.js +89 -0
  142. package/dist/service/lambda/event-source/queue/sim-sqs-event-source-queues.js.map +1 -0
  143. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping-store.d.ts +46 -0
  144. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping-store.d.ts.map +1 -0
  145. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping-store.js +57 -0
  146. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping-store.js.map +1 -0
  147. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +101 -0
  148. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts.map +1 -0
  149. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +93 -0
  150. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js.map +1 -0
  151. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts +37 -0
  152. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts.map +1 -0
  153. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.js +44 -0
  154. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.js.map +1 -0
  155. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.d.ts +23 -0
  156. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.d.ts.map +1 -0
  157. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.js +46 -0
  158. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.js.map +1 -0
  159. package/dist/service/lambda/function/sim-lambda-function-name.d.ts +10 -0
  160. package/dist/service/lambda/function/sim-lambda-function-name.d.ts.map +1 -0
  161. package/dist/service/lambda/function/sim-lambda-function-name.js +18 -0
  162. package/dist/service/lambda/function/sim-lambda-function-name.js.map +1 -0
  163. package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts +4 -0
  164. package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts.map +1 -1
  165. package/dist/service/lambda/function/url/sim-lambda-function-lookup.js +6 -0
  166. package/dist/service/lambda/function/url/sim-lambda-function-lookup.js.map +1 -1
  167. package/dist/service/lambda/index.d.ts +1 -0
  168. package/dist/service/lambda/index.d.ts.map +1 -1
  169. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.d.ts.map +1 -1
  170. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js +16 -0
  171. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js.map +1 -1
  172. package/dist/service/lambda/sim-lambda-commands.d.ts +51 -0
  173. package/dist/service/lambda/sim-lambda-commands.d.ts.map +1 -0
  174. package/dist/service/lambda/sim-lambda-commands.js +84 -0
  175. package/dist/service/lambda/sim-lambda-commands.js.map +1 -0
  176. package/dist/service/lambda/sim-lambda.d.ts +35 -39
  177. package/dist/service/lambda/sim-lambda.d.ts.map +1 -1
  178. package/dist/service/lambda/sim-lambda.js +47 -65
  179. package/dist/service/lambda/sim-lambda.js.map +1 -1
  180. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.d.ts +25 -0
  181. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.d.ts.map +1 -0
  182. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.js +33 -0
  183. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-creator.js.map +1 -0
  184. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-name.d.ts +45 -0
  185. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-name.d.ts.map +1 -0
  186. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-name.js +67 -0
  187. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-name.js.map +1 -0
  188. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts +44 -0
  189. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts.map +1 -0
  190. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js +72 -0
  191. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js.map +1 -0
  192. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts +47 -0
  193. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts.map +1 -0
  194. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js +122 -0
  195. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js.map +1 -0
  196. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.d.ts +24 -0
  197. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.d.ts.map +1 -0
  198. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js +29 -0
  199. package/dist/service/sqs/cfn/sim-sqs-cfn-resource-factory.js.map +1 -0
  200. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts +41 -0
  201. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.d.ts.map +1 -0
  202. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js +51 -0
  203. package/dist/service/sqs/command/authorize/sim-sqs-authorizer.js.map +1 -0
  204. package/dist/service/sqs/command/message/consume.command.d.ts +61 -0
  205. package/dist/service/sqs/command/message/consume.command.d.ts.map +1 -0
  206. package/dist/service/sqs/command/message/consume.command.js +2 -0
  207. package/dist/service/sqs/command/message/consume.command.js.map +1 -0
  208. package/dist/service/sqs/command/message/receive.command.d.ts +40 -0
  209. package/dist/service/sqs/command/message/receive.command.d.ts.map +1 -0
  210. package/dist/service/sqs/command/message/receive.command.js +2 -0
  211. package/dist/service/sqs/command/message/receive.command.js.map +1 -0
  212. package/dist/service/sqs/command/message/send.command.d.ts +80 -0
  213. package/dist/service/sqs/command/message/send.command.d.ts.map +1 -0
  214. package/dist/service/sqs/command/message/send.command.js +2 -0
  215. package/dist/service/sqs/command/message/send.command.js.map +1 -0
  216. package/dist/service/sqs/command/message/sim-sqs-batch-entries.d.ts +39 -0
  217. package/dist/service/sqs/command/message/sim-sqs-batch-entries.d.ts.map +1 -0
  218. package/dist/service/sqs/command/message/sim-sqs-batch-entries.js +67 -0
  219. package/dist/service/sqs/command/message/sim-sqs-batch-entries.js.map +1 -0
  220. package/dist/service/sqs/command/message/sim-sqs-change-message-visibility.d.ts +31 -0
  221. package/dist/service/sqs/command/message/sim-sqs-change-message-visibility.d.ts.map +1 -0
  222. package/dist/service/sqs/command/message/sim-sqs-change-message-visibility.js +51 -0
  223. package/dist/service/sqs/command/message/sim-sqs-change-message-visibility.js.map +1 -0
  224. package/dist/service/sqs/command/message/sim-sqs-delete-message-commands.d.ts +38 -0
  225. package/dist/service/sqs/command/message/sim-sqs-delete-message-commands.d.ts.map +1 -0
  226. package/dist/service/sqs/command/message/sim-sqs-delete-message-commands.js +58 -0
  227. package/dist/service/sqs/command/message/sim-sqs-delete-message-commands.js.map +1 -0
  228. package/dist/service/sqs/command/message/sim-sqs-message-handles.d.ts +28 -0
  229. package/dist/service/sqs/command/message/sim-sqs-message-handles.d.ts.map +1 -0
  230. package/dist/service/sqs/command/message/sim-sqs-message-handles.js +36 -0
  231. package/dist/service/sqs/command/message/sim-sqs-message-handles.js.map +1 -0
  232. package/dist/service/sqs/command/message/sim-sqs-receive-limits.d.ts +27 -0
  233. package/dist/service/sqs/command/message/sim-sqs-receive-limits.d.ts.map +1 -0
  234. package/dist/service/sqs/command/message/sim-sqs-receive-limits.js +70 -0
  235. package/dist/service/sqs/command/message/sim-sqs-receive-limits.js.map +1 -0
  236. package/dist/service/sqs/command/message/sim-sqs-receive-message.d.ts +32 -0
  237. package/dist/service/sqs/command/message/sim-sqs-receive-message.d.ts.map +1 -0
  238. package/dist/service/sqs/command/message/sim-sqs-receive-message.js +33 -0
  239. package/dist/service/sqs/command/message/sim-sqs-receive-message.js.map +1 -0
  240. package/dist/service/sqs/command/message/sim-sqs-receive-request.d.ts +33 -0
  241. package/dist/service/sqs/command/message/sim-sqs-receive-request.d.ts.map +1 -0
  242. package/dist/service/sqs/command/message/sim-sqs-receive-request.js +55 -0
  243. package/dist/service/sqs/command/message/sim-sqs-receive-request.js.map +1 -0
  244. package/dist/service/sqs/command/message/sim-sqs-received-message-view.d.ts +25 -0
  245. package/dist/service/sqs/command/message/sim-sqs-received-message-view.d.ts.map +1 -0
  246. package/dist/service/sqs/command/message/sim-sqs-received-message-view.js +38 -0
  247. package/dist/service/sqs/command/message/sim-sqs-received-message-view.js.map +1 -0
  248. package/dist/service/sqs/command/message/sim-sqs-send-message-commands.d.ts +32 -0
  249. package/dist/service/sqs/command/message/sim-sqs-send-message-commands.d.ts.map +1 -0
  250. package/dist/service/sqs/command/message/sim-sqs-send-message-commands.js +56 -0
  251. package/dist/service/sqs/command/message/sim-sqs-send-message-commands.js.map +1 -0
  252. package/dist/service/sqs/command/message/sim-sqs-sent-message.d.ts +18 -0
  253. package/dist/service/sqs/command/message/sim-sqs-sent-message.d.ts.map +1 -0
  254. package/dist/service/sqs/command/message/sim-sqs-sent-message.js +37 -0
  255. package/dist/service/sqs/command/message/sim-sqs-sent-message.js.map +1 -0
  256. package/dist/service/sqs/command/queue/queue.command.d.ts +114 -0
  257. package/dist/service/sqs/command/queue/queue.command.d.ts.map +1 -0
  258. package/dist/service/sqs/command/queue/queue.command.js +2 -0
  259. package/dist/service/sqs/command/queue/queue.command.js.map +1 -0
  260. package/dist/service/sqs/command/queue/sim-sqs-create-queue.d.ts +51 -0
  261. package/dist/service/sqs/command/queue/sim-sqs-create-queue.d.ts.map +1 -0
  262. package/dist/service/sqs/command/queue/sim-sqs-create-queue.js +70 -0
  263. package/dist/service/sqs/command/queue/sim-sqs-create-queue.js.map +1 -0
  264. package/dist/service/sqs/command/queue/sim-sqs-queue-access.d.ts +63 -0
  265. package/dist/service/sqs/command/queue/sim-sqs-queue-access.d.ts.map +1 -0
  266. package/dist/service/sqs/command/queue/sim-sqs-queue-access.js +98 -0
  267. package/dist/service/sqs/command/queue/sim-sqs-queue-access.js.map +1 -0
  268. package/dist/service/sqs/command/queue/sim-sqs-queue-attribute-commands.d.ts +45 -0
  269. package/dist/service/sqs/command/queue/sim-sqs-queue-attribute-commands.d.ts.map +1 -0
  270. package/dist/service/sqs/command/queue/sim-sqs-queue-attribute-commands.js +74 -0
  271. package/dist/service/sqs/command/queue/sim-sqs-queue-attribute-commands.js.map +1 -0
  272. package/dist/service/sqs/command/queue/sim-sqs-queue-commands.d.ts +47 -0
  273. package/dist/service/sqs/command/queue/sim-sqs-queue-commands.d.ts.map +1 -0
  274. package/dist/service/sqs/command/queue/sim-sqs-queue-commands.js +55 -0
  275. package/dist/service/sqs/command/queue/sim-sqs-queue-commands.js.map +1 -0
  276. package/dist/service/sqs/command/queue/sim-sqs-queue-page.d.ts +27 -0
  277. package/dist/service/sqs/command/queue/sim-sqs-queue-page.d.ts.map +1 -0
  278. package/dist/service/sqs/command/queue/sim-sqs-queue-page.js +54 -0
  279. package/dist/service/sqs/command/queue/sim-sqs-queue-page.js.map +1 -0
  280. package/dist/service/sqs/command/queue/sim-sqs-unsimulated-queue-input.d.ts +18 -0
  281. package/dist/service/sqs/command/queue/sim-sqs-unsimulated-queue-input.d.ts.map +1 -0
  282. package/dist/service/sqs/command/queue/sim-sqs-unsimulated-queue-input.js +27 -0
  283. package/dist/service/sqs/command/queue/sim-sqs-unsimulated-queue-input.js.map +1 -0
  284. package/dist/service/sqs/command/sim-sqs-command.types.d.ts +8 -0
  285. package/dist/service/sqs/command/sim-sqs-command.types.d.ts.map +1 -0
  286. package/dist/service/sqs/command/sim-sqs-command.types.js +2 -0
  287. package/dist/service/sqs/command/sim-sqs-command.types.js.map +1 -0
  288. package/dist/service/sqs/error/sim-sqs.error.d.ts +162 -0
  289. package/dist/service/sqs/error/sim-sqs.error.d.ts.map +1 -0
  290. package/dist/service/sqs/error/sim-sqs.error.js +191 -0
  291. package/dist/service/sqs/error/sim-sqs.error.js.map +1 -0
  292. package/dist/service/sqs/index.d.ts +14 -0
  293. package/dist/service/sqs/index.d.ts.map +1 -0
  294. package/dist/service/sqs/index.js +13 -0
  295. package/dist/service/sqs/index.js.map +1 -0
  296. package/dist/service/sqs/message/sim-sqs-message-attribute-payload.d.ts +56 -0
  297. package/dist/service/sqs/message/sim-sqs-message-attribute-payload.d.ts.map +1 -0
  298. package/dist/service/sqs/message/sim-sqs-message-attribute-payload.js +42 -0
  299. package/dist/service/sqs/message/sim-sqs-message-attribute-payload.js.map +1 -0
  300. package/dist/service/sqs/message/sim-sqs-message-attribute-rules.d.ts +23 -0
  301. package/dist/service/sqs/message/sim-sqs-message-attribute-rules.d.ts.map +1 -0
  302. package/dist/service/sqs/message/sim-sqs-message-attribute-rules.js +68 -0
  303. package/dist/service/sqs/message/sim-sqs-message-attribute-rules.js.map +1 -0
  304. package/dist/service/sqs/message/sim-sqs-message-attribute-value.d.ts +17 -0
  305. package/dist/service/sqs/message/sim-sqs-message-attribute-value.d.ts.map +1 -0
  306. package/dist/service/sqs/message/sim-sqs-message-attribute-value.js +2 -0
  307. package/dist/service/sqs/message/sim-sqs-message-attribute-value.js.map +1 -0
  308. package/dist/service/sqs/message/sim-sqs-message-attribute.d.ts +29 -0
  309. package/dist/service/sqs/message/sim-sqs-message-attribute.d.ts.map +1 -0
  310. package/dist/service/sqs/message/sim-sqs-message-attribute.js +56 -0
  311. package/dist/service/sqs/message/sim-sqs-message-attribute.js.map +1 -0
  312. package/dist/service/sqs/message/sim-sqs-message-attributes.d.ts +44 -0
  313. package/dist/service/sqs/message/sim-sqs-message-attributes.d.ts.map +1 -0
  314. package/dist/service/sqs/message/sim-sqs-message-attributes.js +93 -0
  315. package/dist/service/sqs/message/sim-sqs-message-attributes.js.map +1 -0
  316. package/dist/service/sqs/message/sim-sqs-message-body.d.ts +18 -0
  317. package/dist/service/sqs/message/sim-sqs-message-body.d.ts.map +1 -0
  318. package/dist/service/sqs/message/sim-sqs-message-body.js +66 -0
  319. package/dist/service/sqs/message/sim-sqs-message-body.js.map +1 -0
  320. package/dist/service/sqs/message/sim-sqs-message-store.d.ts +74 -0
  321. package/dist/service/sqs/message/sim-sqs-message-store.d.ts.map +1 -0
  322. package/dist/service/sqs/message/sim-sqs-message-store.js +99 -0
  323. package/dist/service/sqs/message/sim-sqs-message-store.js.map +1 -0
  324. package/dist/service/sqs/message/sim-sqs-message-system-attributes.d.ts +28 -0
  325. package/dist/service/sqs/message/sim-sqs-message-system-attributes.d.ts.map +1 -0
  326. package/dist/service/sqs/message/sim-sqs-message-system-attributes.js +75 -0
  327. package/dist/service/sqs/message/sim-sqs-message-system-attributes.js.map +1 -0
  328. package/dist/service/sqs/message/sim-sqs-message-visibility.d.ts +56 -0
  329. package/dist/service/sqs/message/sim-sqs-message-visibility.d.ts.map +1 -0
  330. package/dist/service/sqs/message/sim-sqs-message-visibility.js +79 -0
  331. package/dist/service/sqs/message/sim-sqs-message-visibility.js.map +1 -0
  332. package/dist/service/sqs/message/sim-sqs-message-writer.d.ts +41 -0
  333. package/dist/service/sqs/message/sim-sqs-message-writer.d.ts.map +1 -0
  334. package/dist/service/sqs/message/sim-sqs-message-writer.js +56 -0
  335. package/dist/service/sqs/message/sim-sqs-message-writer.js.map +1 -0
  336. package/dist/service/sqs/message/sim-sqs-message.d.ts +96 -0
  337. package/dist/service/sqs/message/sim-sqs-message.d.ts.map +1 -0
  338. package/dist/service/sqs/message/sim-sqs-message.js +136 -0
  339. package/dist/service/sqs/message/sim-sqs-message.js.map +1 -0
  340. package/dist/service/sqs/message/sim-sqs-receipt-handle.d.ts +10 -0
  341. package/dist/service/sqs/message/sim-sqs-receipt-handle.d.ts.map +1 -0
  342. package/dist/service/sqs/message/sim-sqs-receipt-handle.js +14 -0
  343. package/dist/service/sqs/message/sim-sqs-receipt-handle.js.map +1 -0
  344. package/dist/service/sqs/queue/sim-sqs-dead-letter-targets.d.ts +51 -0
  345. package/dist/service/sqs/queue/sim-sqs-dead-letter-targets.d.ts.map +1 -0
  346. package/dist/service/sqs/queue/sim-sqs-dead-letter-targets.js +62 -0
  347. package/dist/service/sqs/queue/sim-sqs-dead-letter-targets.js.map +1 -0
  348. package/dist/service/sqs/queue/sim-sqs-deleted-queue-names.d.ts +20 -0
  349. package/dist/service/sqs/queue/sim-sqs-deleted-queue-names.d.ts.map +1 -0
  350. package/dist/service/sqs/queue/sim-sqs-deleted-queue-names.js +42 -0
  351. package/dist/service/sqs/queue/sim-sqs-deleted-queue-names.js.map +1 -0
  352. package/dist/service/sqs/queue/sim-sqs-queue-activity.d.ts +65 -0
  353. package/dist/service/sqs/queue/sim-sqs-queue-activity.d.ts.map +1 -0
  354. package/dist/service/sqs/queue/sim-sqs-queue-activity.js +57 -0
  355. package/dist/service/sqs/queue/sim-sqs-queue-activity.js.map +1 -0
  356. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts +41 -0
  357. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts.map +1 -0
  358. package/dist/service/sqs/queue/sim-sqs-queue-arn.js +47 -0
  359. package/dist/service/sqs/queue/sim-sqs-queue-arn.js.map +1 -0
  360. package/dist/service/sqs/queue/sim-sqs-queue-attribute-names.d.ts +27 -0
  361. package/dist/service/sqs/queue/sim-sqs-queue-attribute-names.d.ts.map +1 -0
  362. package/dist/service/sqs/queue/sim-sqs-queue-attribute-names.js +83 -0
  363. package/dist/service/sqs/queue/sim-sqs-queue-attribute-names.js.map +1 -0
  364. package/dist/service/sqs/queue/sim-sqs-queue-attribute-numbers.d.ts +34 -0
  365. package/dist/service/sqs/queue/sim-sqs-queue-attribute-numbers.d.ts.map +1 -0
  366. package/dist/service/sqs/queue/sim-sqs-queue-attribute-numbers.js +93 -0
  367. package/dist/service/sqs/queue/sim-sqs-queue-attribute-numbers.js.map +1 -0
  368. package/dist/service/sqs/queue/sim-sqs-queue-attribute-specs.d.ts +20 -0
  369. package/dist/service/sqs/queue/sim-sqs-queue-attribute-specs.d.ts.map +1 -0
  370. package/dist/service/sqs/queue/sim-sqs-queue-attribute-specs.js +37 -0
  371. package/dist/service/sqs/queue/sim-sqs-queue-attribute-specs.js.map +1 -0
  372. package/dist/service/sqs/queue/sim-sqs-queue-attributes.d.ts +60 -0
  373. package/dist/service/sqs/queue/sim-sqs-queue-attributes.d.ts.map +1 -0
  374. package/dist/service/sqs/queue/sim-sqs-queue-attributes.js +96 -0
  375. package/dist/service/sqs/queue/sim-sqs-queue-attributes.js.map +1 -0
  376. package/dist/service/sqs/queue/sim-sqs-queue-name.d.ts +21 -0
  377. package/dist/service/sqs/queue/sim-sqs-queue-name.d.ts.map +1 -0
  378. package/dist/service/sqs/queue/sim-sqs-queue-name.js +47 -0
  379. package/dist/service/sqs/queue/sim-sqs-queue-name.js.map +1 -0
  380. package/dist/service/sqs/queue/sim-sqs-queue-report.d.ts +22 -0
  381. package/dist/service/sqs/queue/sim-sqs-queue-report.d.ts.map +1 -0
  382. package/dist/service/sqs/queue/sim-sqs-queue-report.js +29 -0
  383. package/dist/service/sqs/queue/sim-sqs-queue-report.js.map +1 -0
  384. package/dist/service/sqs/queue/sim-sqs-queue-store.d.ts +60 -0
  385. package/dist/service/sqs/queue/sim-sqs-queue-store.d.ts.map +1 -0
  386. package/dist/service/sqs/queue/sim-sqs-queue-store.js +87 -0
  387. package/dist/service/sqs/queue/sim-sqs-queue-store.js.map +1 -0
  388. package/dist/service/sqs/queue/sim-sqs-queue-url.d.ts +24 -0
  389. package/dist/service/sqs/queue/sim-sqs-queue-url.d.ts.map +1 -0
  390. package/dist/service/sqs/queue/sim-sqs-queue-url.js +36 -0
  391. package/dist/service/sqs/queue/sim-sqs-queue-url.js.map +1 -0
  392. package/dist/service/sqs/queue/sim-sqs-queue.d.ts +130 -0
  393. package/dist/service/sqs/queue/sim-sqs-queue.d.ts.map +1 -0
  394. package/dist/service/sqs/queue/sim-sqs-queue.js +188 -0
  395. package/dist/service/sqs/queue/sim-sqs-queue.js.map +1 -0
  396. package/dist/service/sqs/queue/sim-sqs-redrive-policy.d.ts +30 -0
  397. package/dist/service/sqs/queue/sim-sqs-redrive-policy.d.ts.map +1 -0
  398. package/dist/service/sqs/queue/sim-sqs-redrive-policy.js +118 -0
  399. package/dist/service/sqs/queue/sim-sqs-redrive-policy.js.map +1 -0
  400. package/dist/service/sqs/sdk/sim-sqs-sdk-command-router.d.ts +18 -0
  401. package/dist/service/sqs/sdk/sim-sqs-sdk-command-router.d.ts.map +1 -0
  402. package/dist/service/sqs/sdk/sim-sqs-sdk-command-router.js +76 -0
  403. package/dist/service/sqs/sdk/sim-sqs-sdk-command-router.js.map +1 -0
  404. package/dist/service/sqs/sim-sqs.d.ts +119 -0
  405. package/dist/service/sqs/sim-sqs.d.ts.map +1 -0
  406. package/dist/service/sqs/sim-sqs.js +213 -0
  407. package/dist/service/sqs/sim-sqs.js.map +1 -0
  408. package/package.json +6 -1
@@ -0,0 +1,57 @@
1
+ import type { SimLambdaEventSourceDeleteRequest, SimLambdaEventSourceMessage, SimLambdaEventSourceQueueRequest, SimLambdaEventSourceQueues, SimLambdaEventSourceQueueWatcher, SimLambdaEventSourceReceiveRequest } from "./sim-lambda-event-source-queues.js";
2
+ import type { SimLambdaEventSourceQueueService } from "./sim-lambda-event-source-queue-service.js";
3
+ interface SimSqsEventSourceQueuesProperties {
4
+ readonly sqs: SimLambdaEventSourceQueueService;
5
+ }
6
+ /**
7
+ * Simulated SQS as the queues a Lambda event source mapping polls.
8
+ *
9
+ * Every call goes through the SQS command it would go through on real AWS, as
10
+ * the function's execution role, so a role without `sqs:ReceiveMessage`,
11
+ * `sqs:DeleteMessage` or `sqs:GetQueueAttributes` on the queue is refused here
12
+ * rather than quietly polling anyway.
13
+ */
14
+ export declare class SimSqsEventSourceQueues implements SimLambdaEventSourceQueues {
15
+ private readonly sqs;
16
+ private readonly attributes;
17
+ constructor(properties: SimSqsEventSourceQueuesProperties);
18
+ /**
19
+ * How long a received message stays hidden.
20
+ *
21
+ * This is a GetQueueAttributes call, which is also how a mapping finds out
22
+ * whether the queue it names is there at all: real Lambda needs the same
23
+ * permission for the same reason.
24
+ */
25
+ visibilityTimeoutSeconds(request: SimLambdaEventSourceQueueRequest): Promise<number>;
26
+ /**
27
+ * Take up to a batch of messages off the queue.
28
+ *
29
+ * Every system attribute and message attribute is asked for, because a real
30
+ * SQS event record carries them whether or not the function reads them.
31
+ */
32
+ receive(request: SimLambdaEventSourceReceiveRequest): Promise<readonly SimLambdaEventSourceMessage[]>;
33
+ /**
34
+ * Delete the messages of a batch the function handled.
35
+ *
36
+ * Batched because that is what real Lambda does with a handled batch, and
37
+ * because simulated SQS authorizes a batch delete as `sqs:DeleteMessage`, the
38
+ * action real IAM has.
39
+ */
40
+ deleteMessages(request: SimLambdaEventSourceDeleteRequest): Promise<void>;
41
+ /**
42
+ * When the earliest message the queue cannot hand out yet becomes
43
+ * receivable.
44
+ */
45
+ nextAvailability(queueArn: string): Date | undefined;
46
+ /**
47
+ * Watch a queue for messages arriving on it.
48
+ */
49
+ watch(queueArn: string, watcher: SimLambdaEventSourceQueueWatcher): void;
50
+ /**
51
+ * Stop watching a queue.
52
+ */
53
+ unwatch(queueArn: string, watcher: SimLambdaEventSourceQueueWatcher): void;
54
+ private queueUrl;
55
+ }
56
+ export {};
57
+ //# sourceMappingURL=sim-sqs-event-source-queues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-event-source-queues.d.ts","sourceRoot":"","sources":["../../../../../src/service/lambda/event-source/queue/sim-sqs-event-source-queues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iCAAiC,EACjC,2BAA2B,EAC3B,gCAAgC,EAChC,0BAA0B,EAC1B,gCAAgC,EAChC,kCAAkC,EACnC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAInG,UAAU,iCAAiC;IACzC,QAAQ,CAAC,GAAG,EAAE,gCAAgC,CAAC;CAChD;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAwB,YAAW,0BAA0B;IACxE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmC;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAE9D,YAAY,UAAU,EAAE,iCAAiC,EAGxD;IAED;;;;;;OAMG;IACG,wBAAwB,CAC5B,OAAO,EAAE,gCAAgC,GACxC,OAAO,CAAC,MAAM,CAAC,CAEjB;IAED;;;;;OAKG;IACG,OAAO,CACX,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,SAAS,2BAA2B,EAAE,CAAC,CAcjD;IAED;;;;;;OAMG;IACG,cAAc,CAClB,OAAO,EAAE,iCAAiC,GACzC,OAAO,CAAC,IAAI,CAAC,CAiBf;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAEnD;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gCAAgC,GAAG,IAAI,CAEvE;IAED;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gCAAgC,GAAG,IAAI,CAEzE;IAED,OAAO,CAAC,QAAQ;CAGjB"}
@@ -0,0 +1,89 @@
1
+ import { SimSqsEventSourceQueueAttributes } from "./sim-sqs-event-source-queue-attributes.js";
2
+ import { SimLambdaSqsEventSourceArn } from "./sim-lambda-sqs-event-source-arn.js";
3
+ /**
4
+ * Simulated SQS as the queues a Lambda event source mapping polls.
5
+ *
6
+ * Every call goes through the SQS command it would go through on real AWS, as
7
+ * the function's execution role, so a role without `sqs:ReceiveMessage`,
8
+ * `sqs:DeleteMessage` or `sqs:GetQueueAttributes` on the queue is refused here
9
+ * rather than quietly polling anyway.
10
+ */
11
+ export class SimSqsEventSourceQueues {
12
+ sqs;
13
+ attributes;
14
+ constructor(properties) {
15
+ this.sqs = properties.sqs;
16
+ this.attributes = new SimSqsEventSourceQueueAttributes(properties);
17
+ }
18
+ /**
19
+ * How long a received message stays hidden.
20
+ *
21
+ * This is a GetQueueAttributes call, which is also how a mapping finds out
22
+ * whether the queue it names is there at all: real Lambda needs the same
23
+ * permission for the same reason.
24
+ */
25
+ async visibilityTimeoutSeconds(request) {
26
+ return await this.attributes.visibilityTimeoutSeconds(request);
27
+ }
28
+ /**
29
+ * Take up to a batch of messages off the queue.
30
+ *
31
+ * Every system attribute and message attribute is asked for, because a real
32
+ * SQS event record carries them whether or not the function reads them.
33
+ */
34
+ async receive(request) {
35
+ const output = await this.sqs.receiveMessage({
36
+ input: {
37
+ QueueUrl: this.queueUrl(request),
38
+ MaxNumberOfMessages: request.batchSize,
39
+ MessageSystemAttributeNames: ["All"],
40
+ MessageAttributeNames: ["All"],
41
+ },
42
+ }, { caller: request.caller });
43
+ return output.Messages ?? [];
44
+ }
45
+ /**
46
+ * Delete the messages of a batch the function handled.
47
+ *
48
+ * Batched because that is what real Lambda does with a handled batch, and
49
+ * because simulated SQS authorizes a batch delete as `sqs:DeleteMessage`, the
50
+ * action real IAM has.
51
+ */
52
+ async deleteMessages(request) {
53
+ if (request.receiptHandles.length === 0) {
54
+ return;
55
+ }
56
+ await this.sqs.deleteMessageBatch({
57
+ input: {
58
+ QueueUrl: this.queueUrl(request),
59
+ Entries: request.receiptHandles.map((receiptHandle, index) => ({
60
+ Id: String(index),
61
+ ReceiptHandle: receiptHandle,
62
+ })),
63
+ },
64
+ }, { caller: request.caller });
65
+ }
66
+ /**
67
+ * When the earliest message the queue cannot hand out yet becomes
68
+ * receivable.
69
+ */
70
+ nextAvailability(queueArn) {
71
+ return this.sqs.queueActivity().nextAvailability(queueArn);
72
+ }
73
+ /**
74
+ * Watch a queue for messages arriving on it.
75
+ */
76
+ watch(queueArn, watcher) {
77
+ this.sqs.queueActivity().watch(queueArn, watcher);
78
+ }
79
+ /**
80
+ * Stop watching a queue.
81
+ */
82
+ unwatch(queueArn, watcher) {
83
+ this.sqs.queueActivity().unwatch(queueArn, watcher);
84
+ }
85
+ queueUrl(request) {
86
+ return SimLambdaSqsEventSourceArn.of(request.queueArn).queueUrl;
87
+ }
88
+ }
89
+ //# sourceMappingURL=sim-sqs-event-source-queues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-sqs-event-source-queues.js","sourceRoot":"","sources":["../../../../../src/service/lambda/event-source/queue/sim-sqs-event-source-queues.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gCAAgC,EAAE,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAMlF;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAuB;IACjB,GAAG,CAAmC;IACtC,UAAU,CAAmC;IAE9D,YAAY,UAA6C;QACvD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,gCAAgC,CAAC,UAAU,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,wBAAwB,CAC5B,OAAyC;QAEzC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CACX,OAA2C;QAE3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,CAC1C;YACE,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAChC,mBAAmB,EAAE,OAAO,CAAC,SAAS;gBACtC,2BAA2B,EAAE,CAAC,KAAK,CAAC;gBACpC,qBAAqB,EAAE,CAAC,KAAK,CAAC;aAC/B;SACF,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAC3B,CAAC;QAEF,OAAO,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAClB,OAA0C;QAE1C,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B;YACE,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAChC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC7D,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC;oBACjB,aAAa,EAAE,aAAa;iBAC7B,CAAC,CAAC;aACJ;SACF,EACD,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAC3B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAgB;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAgB,EAAE,OAAyC;QAC/D,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,QAAgB,EAAE,OAAyC;QACjE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAEO,QAAQ,CAAC,OAAyC;QACxD,OAAO,0BAA0B,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;IAClE,CAAC;CACF"}
@@ -0,0 +1,46 @@
1
+ import type { SimLambdaEventSourceMapping } from "./sim-lambda-event-source-mapping.js";
2
+ /**
3
+ * What a listing of event source mappings is narrowed by.
4
+ *
5
+ * Both are optional and both apply, as they do on real Lambda: a request naming
6
+ * neither lists every mapping in the Account and Region.
7
+ */
8
+ export interface SimLambdaEventSourceMappingFilter {
9
+ readonly eventSourceArn?: string | undefined;
10
+ readonly functionName?: string | undefined;
11
+ }
12
+ /**
13
+ * The event source mappings of one simulated Lambda scope.
14
+ *
15
+ * Mappings are keyed by their UUID because that is what addresses them: Get and
16
+ * Delete name a mapping by UUID and nothing else, and a queue and a function can
17
+ * have more than one mapping between them.
18
+ */
19
+ export declare class SimLambdaEventSourceMappingStore {
20
+ private readonly mappings;
21
+ /**
22
+ * Every mapping in this scope, in creation order.
23
+ */
24
+ get all(): readonly SimLambdaEventSourceMapping[];
25
+ /**
26
+ * Store a newly created mapping.
27
+ */
28
+ add(mapping: SimLambdaEventSourceMapping): void;
29
+ /**
30
+ * Find a mapping by UUID.
31
+ */
32
+ find(uuid: string): SimLambdaEventSourceMapping | undefined;
33
+ /**
34
+ * Resolve a mapping by UUID, or fail as real Lambda does.
35
+ */
36
+ require(uuid: string): SimLambdaEventSourceMapping;
37
+ /**
38
+ * The mappings matching a listing request.
39
+ */
40
+ matching(filter: SimLambdaEventSourceMappingFilter): readonly SimLambdaEventSourceMapping[];
41
+ /**
42
+ * Forget a deleted mapping.
43
+ */
44
+ remove(mapping: SimLambdaEventSourceMapping): void;
45
+ }
46
+ //# sourceMappingURL=sim-lambda-event-source-mapping-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-event-source-mapping-store.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-mapping-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAExF;;;;;GAKG;AACH,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,qBAAa,gCAAgC;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkD;IAE3E;;OAEG;IACH,IAAI,GAAG,IAAI,SAAS,2BAA2B,EAAE,CAEhD;IAED;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAE9C;IAED;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS,CAE1D;IAED;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,2BAA2B,CAWjD;IAED;;OAEG;IACH,QAAQ,CACN,MAAM,EAAE,iCAAiC,GACxC,SAAS,2BAA2B,EAAE,CAMxC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAEjD;CACF"}
@@ -0,0 +1,57 @@
1
+ import { SimLambdaResourceNotFoundException } from "../error/sim-lambda.error.js";
2
+ /**
3
+ * The event source mappings of one simulated Lambda scope.
4
+ *
5
+ * Mappings are keyed by their UUID because that is what addresses them: Get and
6
+ * Delete name a mapping by UUID and nothing else, and a queue and a function can
7
+ * have more than one mapping between them.
8
+ */
9
+ export class SimLambdaEventSourceMappingStore {
10
+ mappings = new Map();
11
+ /**
12
+ * Every mapping in this scope, in creation order.
13
+ */
14
+ get all() {
15
+ return this.mappings.values().toArray();
16
+ }
17
+ /**
18
+ * Store a newly created mapping.
19
+ */
20
+ add(mapping) {
21
+ this.mappings.set(mapping.uuid, mapping);
22
+ }
23
+ /**
24
+ * Find a mapping by UUID.
25
+ */
26
+ find(uuid) {
27
+ return this.mappings.get(uuid);
28
+ }
29
+ /**
30
+ * Resolve a mapping by UUID, or fail as real Lambda does.
31
+ */
32
+ require(uuid) {
33
+ const found = this.find(uuid);
34
+ if (found === undefined) {
35
+ throw new SimLambdaResourceNotFoundException(`The resource you requested does not exist: no event source mapping ` +
36
+ `with UUID ${uuid}`);
37
+ }
38
+ return found;
39
+ }
40
+ /**
41
+ * The mappings matching a listing request.
42
+ */
43
+ matching(filter) {
44
+ return this.all.filter((mapping) => matches(filter.eventSourceArn, mapping.eventSourceArn) &&
45
+ matches(filter.functionName, mapping.functionName));
46
+ }
47
+ /**
48
+ * Forget a deleted mapping.
49
+ */
50
+ remove(mapping) {
51
+ this.mappings.delete(mapping.uuid);
52
+ }
53
+ }
54
+ function matches(wanted, held) {
55
+ return wanted === undefined || wanted === held;
56
+ }
57
+ //# sourceMappingURL=sim-lambda-event-source-mapping-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-event-source-mapping-store.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-mapping-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AAclF;;;;;;GAMG;AACH,MAAM,OAAO,gCAAgC;IAC1B,QAAQ,GAAG,IAAI,GAAG,EAAuC,CAAC;IAE3E;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,OAAoC;QACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAY;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE9B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,kCAAkC,CAC1C,qEAAqE;gBACnE,aAAa,IAAI,EAAE,CACtB,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,QAAQ,CACN,MAAyC;QAEzC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CACpB,CAAC,OAAO,EAAE,EAAE,CACV,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;YACtD,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CACrD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAoC;QACzC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AAED,SAAS,OAAO,CAAC,MAA0B,EAAE,IAAY;IACvD,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,CAAC;AACjD,CAAC"}
@@ -0,0 +1,101 @@
1
+ import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
2
+ import type { SimLambdaFunctionArn } from "../function/sim-lambda-function.js";
3
+ /**
4
+ * Event source mapping ARNs address the mapping by its UUID.
5
+ */
6
+ export type SimLambdaEventSourceMappingArn = `arn:aws:lambda:${string}:${string}:event-source-mapping:${string}`;
7
+ /**
8
+ * The batch size real Lambda uses for an SQS event source when the mapping
9
+ * does not name one.
10
+ */
11
+ export declare const DEFAULT_SIM_LAMBDA_EVENT_SOURCE_BATCH_SIZE = 10;
12
+ /**
13
+ * The response types a mapping can be told the function reports.
14
+ *
15
+ * Only the batch item failure one exists on real Lambda.
16
+ */
17
+ export type SimLambdaFunctionResponseType = "ReportBatchItemFailures";
18
+ /**
19
+ * The lifecycle states an event source mapping reports.
20
+ *
21
+ * A mapping is Creating until the simulation has caught up with it, then either
22
+ * Enabled or Disabled, as on real Lambda. The states in between, such as
23
+ * Updating and Deleting, belong to operations this simulation does not have.
24
+ */
25
+ export type SimLambdaEventSourceMappingState = "Creating" | "Enabled" | "Disabled";
26
+ interface SimLambdaEventSourceMappingProperties {
27
+ readonly accountRegionScope: SimAwsAccountRegionScope;
28
+ readonly eventSourceArn: string;
29
+ readonly functionName: string;
30
+ readonly functionArn: SimLambdaFunctionArn;
31
+ readonly batchSize?: number | undefined;
32
+ readonly enabled?: boolean | undefined;
33
+ readonly functionResponseTypes?: readonly SimLambdaFunctionResponseType[] | undefined;
34
+ readonly createdAt: Date;
35
+ }
36
+ /**
37
+ * The AWS-shaped configuration of an event source mapping, as the
38
+ * CreateEventSourceMapping, GetEventSourceMapping, ListEventSourceMappings and
39
+ * DeleteEventSourceMapping responses all report it.
40
+ */
41
+ export interface SimLambdaEventSourceMappingConfiguration {
42
+ readonly UUID: string;
43
+ readonly EventSourceMappingArn: SimLambdaEventSourceMappingArn;
44
+ readonly EventSourceArn: string;
45
+ readonly FunctionArn: SimLambdaFunctionArn;
46
+ readonly BatchSize: number;
47
+ readonly MaximumBatchingWindowInSeconds: number;
48
+ readonly FunctionResponseTypes: readonly SimLambdaFunctionResponseType[];
49
+ readonly State: SimLambdaEventSourceMappingState;
50
+ readonly StateTransitionReason: string;
51
+ readonly LastModified: Date;
52
+ }
53
+ /**
54
+ * One simulated Lambda event source mapping, from an SQS queue to a function.
55
+ *
56
+ * The mapping holds what polling is done with rather than doing the polling: a
57
+ * poller reads the batch size and the response types from here, and the mapping
58
+ * stays the piece of state a Get or List reports.
59
+ */
60
+ export declare class SimLambdaEventSourceMapping {
61
+ #private;
62
+ readonly uuid: string;
63
+ readonly eventSourceArn: string;
64
+ readonly functionName: string;
65
+ readonly functionArn: SimLambdaFunctionArn;
66
+ readonly batchSize: number;
67
+ readonly functionResponseTypes: readonly SimLambdaFunctionResponseType[];
68
+ private readonly accountRegionScope;
69
+ private readonly enabled;
70
+ private readonly lastModified;
71
+ constructor(properties: SimLambdaEventSourceMappingProperties);
72
+ /**
73
+ * The ARN naming this mapping.
74
+ */
75
+ get arn(): SimLambdaEventSourceMappingArn;
76
+ /**
77
+ * The state this mapping is in.
78
+ */
79
+ get state(): SimLambdaEventSourceMappingState;
80
+ /**
81
+ * Whether this mapping is polling its event source.
82
+ *
83
+ * A mapping still being created is not, as on real Lambda, where a mapping
84
+ * starts delivering once it reaches the Enabled state.
85
+ */
86
+ get isPolling(): boolean;
87
+ /**
88
+ * Whether the function reports its own batch item failures.
89
+ */
90
+ get reportsBatchItemFailures(): boolean;
91
+ /**
92
+ * Finish creating this mapping, as real Lambda does asynchronously.
93
+ */
94
+ activate(): Promise<void>;
95
+ /**
96
+ * The AWS-like configuration for this mapping.
97
+ */
98
+ configuration(): SimLambdaEventSourceMappingConfiguration;
99
+ }
100
+ export {};
101
+ //# sourceMappingURL=sim-lambda-event-source-mapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-event-source-mapping.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-mapping.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,8BAA8B,GACxC,kBAAkB,MAAM,IAAI,MAAM,yBAAyB,MAAM,EAAE,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,0CAA0C,KAAK,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,yBAAyB,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,MAAM,gCAAgC,GAC1C,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtC,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,qBAAqB,CAAC,EAC7B,SAAS,6BAA6B,EAAE,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;IAC/D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,8BAA8B,EAAE,MAAM,CAAC;IAChD,QAAQ,CAAC,qBAAqB,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACzE,QAAQ,CAAC,KAAK,EAAE,gCAAgC,CAAC;IACjD,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,qBAAa,2BAA2B;;IACtC,SAAgB,IAAI,EAAE,MAAM,CAAgB;IAC5C,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,WAAW,EAAE,oBAAoB,CAAC;IAClD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,qBAAqB,EAAE,SAAS,6BAA6B,EAAE,CAAC;IAEhF,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAO;IAGpC,YAAY,UAAU,EAAE,qCAAqC,EAY5D;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,8BAA8B,CAIxC;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,gCAAgC,CAE5C;IAED;;;;;OAKG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,wBAAwB,IAAI,OAAO,CAEtC;IAED;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAIxB;IAED;;OAEG;IACH,aAAa,IAAI,wCAAwC,CAexD;CACF"}
@@ -0,0 +1,93 @@
1
+ import { randomUUID } from "node:crypto";
2
+ /**
3
+ * The batch size real Lambda uses for an SQS event source when the mapping
4
+ * does not name one.
5
+ */
6
+ export const DEFAULT_SIM_LAMBDA_EVENT_SOURCE_BATCH_SIZE = 10;
7
+ /**
8
+ * One simulated Lambda event source mapping, from an SQS queue to a function.
9
+ *
10
+ * The mapping holds what polling is done with rather than doing the polling: a
11
+ * poller reads the batch size and the response types from here, and the mapping
12
+ * stays the piece of state a Get or List reports.
13
+ */
14
+ export class SimLambdaEventSourceMapping {
15
+ uuid = randomUUID();
16
+ eventSourceArn;
17
+ functionName;
18
+ functionArn;
19
+ batchSize;
20
+ functionResponseTypes;
21
+ accountRegionScope;
22
+ enabled;
23
+ lastModified;
24
+ #state = "Creating";
25
+ constructor(properties) {
26
+ this.accountRegionScope = properties.accountRegionScope;
27
+ this.eventSourceArn = properties.eventSourceArn;
28
+ this.functionName = properties.functionName;
29
+ this.functionArn = properties.functionArn;
30
+ this.batchSize =
31
+ properties.batchSize ?? DEFAULT_SIM_LAMBDA_EVENT_SOURCE_BATCH_SIZE;
32
+ // Copied rather than held, so a caller keeping the list it passed in
33
+ // cannot change what this mapping does with a batch afterwards.
34
+ this.functionResponseTypes = [...(properties.functionResponseTypes ?? [])];
35
+ this.enabled = properties.enabled ?? true;
36
+ this.lastModified = properties.createdAt;
37
+ }
38
+ /**
39
+ * The ARN naming this mapping.
40
+ */
41
+ get arn() {
42
+ const { regionName, accountId } = this.accountRegionScope;
43
+ return `arn:aws:lambda:${regionName}:${accountId}:event-source-mapping:${this.uuid}`;
44
+ }
45
+ /**
46
+ * The state this mapping is in.
47
+ */
48
+ get state() {
49
+ return this.#state;
50
+ }
51
+ /**
52
+ * Whether this mapping is polling its event source.
53
+ *
54
+ * A mapping still being created is not, as on real Lambda, where a mapping
55
+ * starts delivering once it reaches the Enabled state.
56
+ */
57
+ get isPolling() {
58
+ return this.#state === "Enabled";
59
+ }
60
+ /**
61
+ * Whether the function reports its own batch item failures.
62
+ */
63
+ get reportsBatchItemFailures() {
64
+ return this.functionResponseTypes.includes("ReportBatchItemFailures");
65
+ }
66
+ /**
67
+ * Finish creating this mapping, as real Lambda does asynchronously.
68
+ */
69
+ activate() {
70
+ this.#state = this.enabled ? "Enabled" : "Disabled";
71
+ return Promise.resolve();
72
+ }
73
+ /**
74
+ * The AWS-like configuration for this mapping.
75
+ */
76
+ configuration() {
77
+ return {
78
+ UUID: this.uuid,
79
+ EventSourceMappingArn: this.arn,
80
+ EventSourceArn: this.eventSourceArn,
81
+ FunctionArn: this.functionArn,
82
+ BatchSize: this.batchSize,
83
+ // Partial batches are delivered as soon as anything is available, so the
84
+ // batching window is always zero. Anything else is refused at creation.
85
+ MaximumBatchingWindowInSeconds: 0,
86
+ FunctionResponseTypes: this.functionResponseTypes,
87
+ State: this.#state,
88
+ StateTransitionReason: "USER_INITIATED",
89
+ LastModified: this.lastModified,
90
+ };
91
+ }
92
+ }
93
+ //# sourceMappingURL=sim-lambda-event-source-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-event-source-mapping.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzC;;;GAGG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAG,EAAE,CAAC;AAiD7D;;;;;;GAMG;AACH,MAAM,OAAO,2BAA2B;IACtB,IAAI,GAAW,UAAU,EAAE,CAAC;IAC5B,cAAc,CAAS;IACvB,YAAY,CAAS;IACrB,WAAW,CAAuB;IAClC,SAAS,CAAS;IAClB,qBAAqB,CAA2C;IAE/D,kBAAkB,CAA2B;IAC7C,OAAO,CAAU;IACjB,YAAY,CAAO;IACpC,MAAM,GAAqC,UAAU,CAAC;IAEtD,YAAY,UAAiD;QAC3D,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,SAAS;YACZ,UAAU,CAAC,SAAS,IAAI,0CAA0C,CAAC;QACrE,qEAAqE;QACrE,gEAAgE;QAChE,IAAI,CAAC,qBAAqB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,GAAG;QACL,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAE1D,OAAO,kBAAkB,UAAU,IAAI,SAAS,yBAAyB,IAAI,CAAC,IAAI,EAAE,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,wBAAwB;QAC1B,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAEpD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,qBAAqB,EAAE,IAAI,CAAC,GAAG;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,yEAAyE;YACzE,wEAAwE;YACxE,8BAA8B,EAAE,CAAC;YACjC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,qBAAqB,EAAE,gBAAgB;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,37 @@
1
+ import type { BackgroundScheduler } from "../../../util/background/background.js";
2
+ import type { SimLambdaFunctionLookup } from "../function/url/sim-lambda-function-lookup.js";
3
+ import type { SimLambdaEventSourceQueues } from "./queue/sim-lambda-event-source-queues.js";
4
+ import type { SimLambdaSqsEventSourceArn } from "./queue/sim-lambda-sqs-event-source-arn.js";
5
+ import type { SimLambdaEventSourceMapping } from "./sim-lambda-event-source-mapping.js";
6
+ interface SimLambdaEventSourcePollersProperties {
7
+ readonly functions: SimLambdaFunctionLookup;
8
+ readonly queues: SimLambdaEventSourceQueues;
9
+ readonly background: BackgroundScheduler;
10
+ }
11
+ /**
12
+ * The pollers of one simulated Lambda scope, one for each event source mapping.
13
+ *
14
+ * A mapping is state a request can read; a poller is the running thing behind
15
+ * it. They are kept apart so the mapping stays what Get and List report, and so
16
+ * deleting a mapping has somewhere to stop the polling.
17
+ */
18
+ export declare class SimLambdaEventSourcePollers {
19
+ private readonly pollers;
20
+ private readonly properties;
21
+ constructor(properties: SimLambdaEventSourcePollersProperties);
22
+ /**
23
+ * Start polling for a newly created mapping.
24
+ *
25
+ * The mapping finishes creating in the background, as it does on real Lambda,
26
+ * and starts polling once it does. Whatever is already on the queue is polled
27
+ * for then, because real Lambda does not only deliver what arrives after the
28
+ * mapping was made.
29
+ */
30
+ start(mapping: SimLambdaEventSourceMapping, eventSourceArn: SimLambdaSqsEventSourceArn): void;
31
+ /**
32
+ * Stop polling for a deleted mapping.
33
+ */
34
+ stop(mapping: SimLambdaEventSourceMapping): void;
35
+ }
36
+ export {};
37
+ //# sourceMappingURL=sim-lambda-event-source-pollers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-event-source-pollers.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-pollers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAE7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAC5F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAExF,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiD;IACzE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwC;IAEnE,YAAY,UAAU,EAAE,qCAAqC,EAE5D;IAED;;;;;;;OAOG;IACH,KAAK,CACH,OAAO,EAAE,2BAA2B,EACpC,cAAc,EAAE,0BAA0B,GACzC,IAAI,CAcN;IAED;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAG/C;CACF"}
@@ -0,0 +1,44 @@
1
+ import { SimLambdaEventSourcePoller } from "./poll/sim-lambda-event-source-poller.js";
2
+ /**
3
+ * The pollers of one simulated Lambda scope, one for each event source mapping.
4
+ *
5
+ * A mapping is state a request can read; a poller is the running thing behind
6
+ * it. They are kept apart so the mapping stays what Get and List report, and so
7
+ * deleting a mapping has somewhere to stop the polling.
8
+ */
9
+ export class SimLambdaEventSourcePollers {
10
+ pollers = new Map();
11
+ properties;
12
+ constructor(properties) {
13
+ this.properties = properties;
14
+ }
15
+ /**
16
+ * Start polling for a newly created mapping.
17
+ *
18
+ * The mapping finishes creating in the background, as it does on real Lambda,
19
+ * and starts polling once it does. Whatever is already on the queue is polled
20
+ * for then, because real Lambda does not only deliver what arrives after the
21
+ * mapping was made.
22
+ */
23
+ start(mapping, eventSourceArn) {
24
+ const poller = new SimLambdaEventSourcePoller({
25
+ ...this.properties,
26
+ mapping,
27
+ eventSourceArn,
28
+ });
29
+ this.pollers.set(mapping.uuid, poller);
30
+ poller.watch();
31
+ this.properties.background.schedule(async () => {
32
+ await mapping.activate();
33
+ poller.pollNow();
34
+ });
35
+ }
36
+ /**
37
+ * Stop polling for a deleted mapping.
38
+ */
39
+ stop(mapping) {
40
+ this.pollers.get(mapping.uuid)?.stop();
41
+ this.pollers.delete(mapping.uuid);
42
+ }
43
+ }
44
+ //# sourceMappingURL=sim-lambda-event-source-pollers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-event-source-pollers.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-pollers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAWtF;;;;;;GAMG;AACH,MAAM,OAAO,2BAA2B;IACrB,OAAO,GAAG,IAAI,GAAG,EAAsC,CAAC;IACxD,UAAU,CAAwC;IAEnE,YAAY,UAAiD;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CACH,OAAoC,EACpC,cAA0C;QAE1C,MAAM,MAAM,GAAG,IAAI,0BAA0B,CAAC;YAC5C,GAAG,IAAI,CAAC,UAAU;YAClB,OAAO;YACP,cAAc;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,MAAM,CAAC,KAAK,EAAE,CAAC;QAEf,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YAC7C,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAoC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import type { SimIamInterServiceAuthZ } from "../../iam/authorize/sim-iam-inter-service-auth-z.js";
2
+ interface SimLambdaEventSourceRolePermissionsProperties {
3
+ readonly iam: SimIamInterServiceAuthZ;
4
+ }
5
+ /**
6
+ * Checks that a function's execution role may poll the queue a mapping names.
7
+ *
8
+ * Real Lambda refuses to create the mapping at all when the role cannot poll,
9
+ * rather than creating one that silently delivers nothing, so this is checked
10
+ * up front here too. The poller's own calls go through simulated IAM again
11
+ * afterwards, as they do on AWS: this check is about failing early, not about
12
+ * standing in for authorization.
13
+ */
14
+ export declare class SimLambdaEventSourceRolePermissions {
15
+ private readonly iam;
16
+ constructor(properties: SimLambdaEventSourceRolePermissionsProperties);
17
+ /**
18
+ * Refuse a mapping whose execution role cannot poll the queue.
19
+ */
20
+ assertMayPoll(roleArn: string, queueArn: string): void;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=sim-lambda-event-source-role-permissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-event-source-role-permissions.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-role-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAgBnG,UAAU,6CAA6C;IACrD,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,qBAAa,mCAAmC;IAC9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAE9C,YAAY,UAAU,EAAE,6CAA6C,EAEpE;IAED;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAgBrD;CACF"}
@@ -0,0 +1,46 @@
1
+ import { SimLambdaInvalidParameterValueException } from "../error/sim-lambda.error.js";
2
+ /**
3
+ * What a function's execution role has to be allowed to do on a queue for
4
+ * Lambda to poll it.
5
+ *
6
+ * These are the three operations real Lambda checks when an SQS event source
7
+ * mapping is created, and the three its poller performs afterwards.
8
+ */
9
+ const requiredQueueOperations = [
10
+ "ReceiveMessage",
11
+ "DeleteMessage",
12
+ "GetQueueAttributes",
13
+ ];
14
+ /**
15
+ * Checks that a function's execution role may poll the queue a mapping names.
16
+ *
17
+ * Real Lambda refuses to create the mapping at all when the role cannot poll,
18
+ * rather than creating one that silently delivers nothing, so this is checked
19
+ * up front here too. The poller's own calls go through simulated IAM again
20
+ * afterwards, as they do on AWS: this check is about failing early, not about
21
+ * standing in for authorization.
22
+ */
23
+ export class SimLambdaEventSourceRolePermissions {
24
+ iam;
25
+ constructor(properties) {
26
+ this.iam = properties.iam;
27
+ }
28
+ /**
29
+ * Refuse a mapping whose execution role cannot poll the queue.
30
+ */
31
+ assertMayPoll(roleArn, queueArn) {
32
+ for (const operation of requiredQueueOperations) {
33
+ const decision = this.iam.authorize({
34
+ action: `sqs:${operation}`,
35
+ resource: queueArn,
36
+ caller: { kind: "arn", arn: roleArn },
37
+ });
38
+ if (decision.isDenied) {
39
+ throw new SimLambdaInvalidParameterValueException(`The provided execution role does not have permissions to call ` +
40
+ `${operation} on SQS. Role ${roleArn} has no policy allowing ` +
41
+ `sqs:${operation} on ${queueArn}`);
42
+ }
43
+ }
44
+ }
45
+ }
46
+ //# sourceMappingURL=sim-lambda-event-source-role-permissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-event-source-role-permissions.js","sourceRoot":"","sources":["../../../../src/service/lambda/event-source/sim-lambda-event-source-role-permissions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uCAAuC,EAAE,MAAM,8BAA8B,CAAC;AAEvF;;;;;;GAMG;AACH,MAAM,uBAAuB,GAAG;IAC9B,gBAAgB;IAChB,eAAe;IACf,oBAAoB;CACZ,CAAC;AAMX;;;;;;;;GAQG;AACH,MAAM,OAAO,mCAAmC;IAC7B,GAAG,CAA0B;IAE9C,YAAY,UAAyD;QACnE,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAe,EAAE,QAAgB;QAC7C,KAAK,MAAM,SAAS,IAAI,uBAAuB,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;gBAClC,MAAM,EAAE,OAAO,SAAS,EAAE;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE;aACtC,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACtB,MAAM,IAAI,uCAAuC,CAC/C,gEAAgE;oBAC9D,GAAG,SAAS,iBAAiB,OAAO,0BAA0B;oBAC9D,OAAO,SAAS,OAAO,QAAQ,EAAE,CACpC,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}