@kensio/yulin 1.1.0 → 1.2.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 (424) hide show
  1. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +2 -2
  2. package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts.map +1 -1
  3. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +10 -6
  4. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js.map +1 -1
  5. package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts.map +1 -1
  6. package/dist/service/aws/factory/sim-aws-account-service-cache.js +2 -0
  7. package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
  8. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts +2 -0
  9. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.d.ts.map +1 -1
  10. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js +15 -1
  11. package/dist/service/cloudformation/cdk/s3/bucket-notifications/configuration/sim-cdk-bucket-notification-configuration.js.map +1 -1
  12. package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.d.ts +27 -0
  13. package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.d.ts.map +1 -0
  14. package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.js +44 -0
  15. package/dist/service/cloudformation/template/condition/sim-cfn-condition-comparison.js.map +1 -0
  16. package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.d.ts +36 -0
  17. package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.d.ts.map +1 -0
  18. package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.js +68 -0
  19. package/dist/service/cloudformation/template/condition/sim-cfn-condition-evaluator.js.map +1 -0
  20. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +45 -0
  21. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts.map +1 -0
  22. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +80 -0
  23. package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js.map +1 -0
  24. package/dist/service/cloudformation/template/condition/sim-cfn-conditions.d.ts +28 -0
  25. package/dist/service/cloudformation/template/condition/sim-cfn-conditions.d.ts.map +1 -0
  26. package/dist/service/cloudformation/template/condition/sim-cfn-conditions.js +29 -0
  27. package/dist/service/cloudformation/template/condition/sim-cfn-conditions.js.map +1 -0
  28. package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.d.ts +46 -0
  29. package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.d.ts.map +1 -0
  30. package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.js +94 -0
  31. package/dist/service/cloudformation/template/condition/sim-cfn-resource-conditions.js.map +1 -0
  32. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +0 -1
  33. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts.map +1 -1
  34. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +2 -14
  35. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js.map +1 -1
  36. package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.d.ts +31 -0
  37. package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.d.ts.map +1 -0
  38. package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.js +52 -0
  39. package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.js.map +1 -0
  40. package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.d.ts +39 -0
  41. package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.d.ts.map +1 -0
  42. package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.js +82 -0
  43. package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.js.map +1 -0
  44. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.d.ts +31 -0
  45. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.d.ts.map +1 -0
  46. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.js +45 -0
  47. package/dist/service/cloudformation/template/node/fn/split/sim-cfn-fn-split.js.map +1 -0
  48. package/dist/service/cloudformation/template/node/sim-cfn-list.d.ts +1 -1
  49. package/dist/service/cloudformation/template/node/sim-cfn-list.d.ts.map +1 -1
  50. package/dist/service/cloudformation/template/node/sim-cfn-list.js +3 -2
  51. package/dist/service/cloudformation/template/node/sim-cfn-list.js.map +1 -1
  52. package/dist/service/cloudformation/template/node/sim-cfn-object.d.ts.map +1 -1
  53. package/dist/service/cloudformation/template/node/sim-cfn-object.js +5 -1
  54. package/dist/service/cloudformation/template/node/sim-cfn-object.js.map +1 -1
  55. package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.d.ts +19 -0
  56. package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.d.ts.map +1 -0
  57. package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.js +33 -0
  58. package/dist/service/cloudformation/template/parse/fn/if/sim-cfn-fn-if-parser.js.map +1 -0
  59. package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.d.ts +26 -0
  60. package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.d.ts.map +1 -0
  61. package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.js +35 -0
  62. package/dist/service/cloudformation/template/parse/fn/select/sim-cfn-fn-select-parser.js.map +1 -0
  63. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.d.ts +3 -0
  64. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.d.ts.map +1 -1
  65. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.js +18 -0
  66. package/dist/service/cloudformation/template/parse/fn/sim-cfn-function-parser.js.map +1 -1
  67. package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.d.ts +25 -0
  68. package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.d.ts.map +1 -0
  69. package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.js +36 -0
  70. package/dist/service/cloudformation/template/parse/fn/split/sim-cfn-fn-split-parser.js.map +1 -0
  71. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.d.ts +14 -4
  72. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.d.ts.map +1 -1
  73. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.js +7 -5
  74. package/dist/service/cloudformation/template/resolve/sim-cfn-resolve-context.js.map +1 -1
  75. package/dist/service/cloudformation/template/sim-cfn-template-body-validator.d.ts.map +1 -1
  76. package/dist/service/cloudformation/template/sim-cfn-template-body-validator.js +4 -0
  77. package/dist/service/cloudformation/template/sim-cfn-template-body-validator.js.map +1 -1
  78. package/dist/service/cloudformation/template/sim-cfn-template.d.ts +14 -0
  79. package/dist/service/cloudformation/template/sim-cfn-template.d.ts.map +1 -1
  80. package/dist/service/cloudformation/template/sim-cfn-template.js +44 -12
  81. package/dist/service/cloudformation/template/sim-cfn-template.js.map +1 -1
  82. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.d.ts +20 -0
  83. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.d.ts.map +1 -1
  84. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.js +32 -2
  85. package/dist/service/cloudformation/template/value/sim-cfn-template-value-resolver.js.map +1 -1
  86. package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.d.ts +11 -0
  87. package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.d.ts.map +1 -0
  88. package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.js +21 -0
  89. package/dist/service/cloudformation/template/value/sim-cfn-unresolved-expression.js.map +1 -0
  90. package/dist/service/cloudformation/template/value/sim-cfn-value-path.d.ts +22 -0
  91. package/dist/service/cloudformation/template/value/sim-cfn-value-path.d.ts.map +1 -0
  92. package/dist/service/cloudformation/template/value/sim-cfn-value-path.js +92 -0
  93. package/dist/service/cloudformation/template/value/sim-cfn-value-path.js.map +1 -0
  94. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +7 -0
  95. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
  96. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +2 -0
  97. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
  98. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +1 -1
  99. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
  100. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +10 -1
  101. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts.map +1 -1
  102. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +21 -1
  103. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js.map +1 -1
  104. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.d.ts +24 -0
  105. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.d.ts.map +1 -0
  106. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.d.ts +7 -0
  107. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.d.ts.map +1 -0
  108. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.js +38 -0
  109. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.factory.js.map +1 -0
  110. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.js +2 -0
  111. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-dispatcher.js.map +1 -0
  112. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +17 -0
  113. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts.map +1 -0
  114. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +37 -0
  115. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js.map +1 -0
  116. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts +38 -0
  117. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts.map +1 -0
  118. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +45 -0
  119. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js.map +1 -0
  120. package/dist/service/cloudfront/sim-cloudfront.d.ts +3 -0
  121. package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
  122. package/dist/service/cloudfront/sim-cloudfront.js +4 -1
  123. package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
  124. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.d.ts +4 -0
  125. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.d.ts.map +1 -1
  126. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.js +2 -0
  127. package/dist/service/dynamodb/command/sim-dynamodb-command-handlers.js.map +1 -1
  128. package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.d.ts +6 -0
  129. package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.d.ts.map +1 -1
  130. package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.js +11 -0
  131. package/dist/service/dynamodb/command/table/sim-dynamodb-create-table.js.map +1 -1
  132. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.d.ts +6 -5
  133. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.d.ts.map +1 -1
  134. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.js +6 -16
  135. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-table-input.js.map +1 -1
  136. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.d.ts +4 -4
  137. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.d.ts.map +1 -1
  138. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.js +4 -9
  139. package/dist/service/dynamodb/command/table/sim-dynamodb-unsimulated-update-input.js.map +1 -1
  140. package/dist/service/dynamodb/command/table/table.command.d.ts +2 -1
  141. package/dist/service/dynamodb/command/table/table.command.d.ts.map +1 -1
  142. package/dist/service/dynamodb/command/table/table.types.d.ts +4 -7
  143. package/dist/service/dynamodb/command/table/table.types.d.ts.map +1 -1
  144. package/dist/service/dynamodb/sim-dynamodb.d.ts +42 -60
  145. package/dist/service/dynamodb/sim-dynamodb.d.ts.map +1 -1
  146. package/dist/service/dynamodb/sim-dynamodb.js +48 -60
  147. package/dist/service/dynamodb/sim-dynamodb.js.map +1 -1
  148. package/dist/service/dynamodb/stream/sim-dynamodb-item-change.d.ts +34 -0
  149. package/dist/service/dynamodb/stream/sim-dynamodb-item-change.d.ts.map +1 -0
  150. package/dist/service/dynamodb/stream/sim-dynamodb-item-change.js +2 -0
  151. package/dist/service/dynamodb/stream/sim-dynamodb-item-change.js.map +1 -0
  152. package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.d.ts +42 -0
  153. package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.d.ts.map +1 -0
  154. package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.js +35 -0
  155. package/dist/service/dynamodb/stream/sim-dynamodb-stream-activity.js.map +1 -0
  156. package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.d.ts +22 -0
  157. package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.d.ts.map +1 -0
  158. package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.js +30 -0
  159. package/dist/service/dynamodb/stream/sim-dynamodb-stream-arn.js.map +1 -0
  160. package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.d.ts +22 -0
  161. package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.d.ts.map +1 -0
  162. package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.js +27 -0
  163. package/dist/service/dynamodb/stream/sim-dynamodb-stream-images.js.map +1 -0
  164. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.d.ts +15 -0
  165. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.d.ts.map +1 -0
  166. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.js +25 -0
  167. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-keys.js.map +1 -0
  168. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.d.ts +11 -0
  169. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.d.ts.map +1 -0
  170. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.js +74 -0
  171. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record-size.js.map +1 -0
  172. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.d.ts +49 -0
  173. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.d.ts.map +1 -0
  174. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.js +60 -0
  175. package/dist/service/dynamodb/stream/sim-dynamodb-stream-record.js.map +1 -0
  176. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts +18 -0
  177. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.d.ts.map +1 -0
  178. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js +31 -0
  179. package/dist/service/dynamodb/stream/sim-dynamodb-stream-sequence-numbers.js.map +1 -0
  180. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts +39 -0
  181. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.d.ts.map +1 -0
  182. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js +64 -0
  183. package/dist/service/dynamodb/stream/sim-dynamodb-stream-shard.js.map +1 -0
  184. package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.d.ts +28 -0
  185. package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.d.ts.map +1 -0
  186. package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.js +30 -0
  187. package/dist/service/dynamodb/stream/sim-dynamodb-stream-specification.js.map +1 -0
  188. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts +26 -0
  189. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.d.ts.map +1 -0
  190. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js +29 -0
  191. package/dist/service/dynamodb/stream/sim-dynamodb-stream-store.js.map +1 -0
  192. package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.d.ts +13 -0
  193. package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.d.ts.map +1 -0
  194. package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.js +48 -0
  195. package/dist/service/dynamodb/stream/sim-dynamodb-stream-update.js.map +1 -0
  196. package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.d.ts +10 -0
  197. package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.d.ts.map +1 -0
  198. package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.js +38 -0
  199. package/dist/service/dynamodb/stream/sim-dynamodb-stream-view-type.js.map +1 -0
  200. package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts +74 -0
  201. package/dist/service/dynamodb/stream/sim-dynamodb-stream.d.ts.map +1 -0
  202. package/dist/service/dynamodb/stream/sim-dynamodb-stream.js +82 -0
  203. package/dist/service/dynamodb/stream/sim-dynamodb-stream.js.map +1 -0
  204. package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.d.ts +24 -0
  205. package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.d.ts.map +1 -0
  206. package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.js +2 -0
  207. package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.js.map +1 -0
  208. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.d.ts +31 -0
  209. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.d.ts.map +1 -0
  210. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.js +45 -0
  211. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-table.factory.js.map +1 -0
  212. package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.d.ts +97 -0
  213. package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.d.ts.map +1 -0
  214. package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.js +135 -0
  215. package/dist/service/dynamodb/stream/sim-dynamodb-table-stream.js.map +1 -0
  216. package/dist/service/dynamodb/table/sim-dynamodb-table-description.d.ts.map +1 -1
  217. package/dist/service/dynamodb/table/sim-dynamodb-table-description.js +6 -0
  218. package/dist/service/dynamodb/table/sim-dynamodb-table-description.js.map +1 -1
  219. package/dist/service/dynamodb/table/sim-dynamodb-table-items.d.ts +33 -1
  220. package/dist/service/dynamodb/table/sim-dynamodb-table-items.d.ts.map +1 -1
  221. package/dist/service/dynamodb/table/sim-dynamodb-table-items.js +46 -1
  222. package/dist/service/dynamodb/table/sim-dynamodb-table-items.js.map +1 -1
  223. package/dist/service/dynamodb/table/sim-dynamodb-table-storage.d.ts +95 -0
  224. package/dist/service/dynamodb/table/sim-dynamodb-table-storage.d.ts.map +1 -0
  225. package/dist/service/dynamodb/table/sim-dynamodb-table-storage.js +120 -0
  226. package/dist/service/dynamodb/table/sim-dynamodb-table-storage.js.map +1 -0
  227. package/dist/service/dynamodb/table/sim-dynamodb-table-update.d.ts +2 -0
  228. package/dist/service/dynamodb/table/sim-dynamodb-table-update.d.ts.map +1 -1
  229. package/dist/service/dynamodb/table/sim-dynamodb-table-update.js +11 -6
  230. package/dist/service/dynamodb/table/sim-dynamodb-table-update.js.map +1 -1
  231. package/dist/service/dynamodb/table/sim-dynamodb-table.d.ts +33 -70
  232. package/dist/service/dynamodb/table/sim-dynamodb-table.d.ts.map +1 -1
  233. package/dist/service/dynamodb/table/sim-dynamodb-table.js +50 -93
  234. package/dist/service/dynamodb/table/sim-dynamodb-table.js.map +1 -1
  235. package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.d.ts +6 -3
  236. package/dist/service/dynamodb/table/sim-dynamodb-updatable-table.d.ts.map +1 -1
  237. package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.d.ts.map +1 -1
  238. package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.js +5 -1
  239. package/dist/service/dynamodb/time-to-live/sim-dynamodb-table-time-to-live.js.map +1 -1
  240. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +5 -2
  241. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts.map +1 -1
  242. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +13 -8
  243. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js.map +1 -1
  244. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.d.ts +4 -0
  245. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.d.ts.map +1 -1
  246. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +32 -21
  247. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js.map +1 -1
  248. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts +1 -6
  249. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.d.ts.map +1 -1
  250. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js +1 -22
  251. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-values.js.map +1 -1
  252. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts +2 -1
  253. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts.map +1 -1
  254. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +3 -2
  255. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js.map +1 -1
  256. package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.d.ts +17 -0
  257. package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.d.ts.map +1 -0
  258. package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.js +46 -0
  259. package/dist/service/lambda/event-source/poll/sim-lambda-batch-item-failures.js.map +1 -0
  260. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.d.ts +39 -0
  261. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.d.ts.map +1 -0
  262. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.js +28 -0
  263. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-batch-response.js.map +1 -0
  264. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.d.ts +33 -7
  265. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.d.ts.map +1 -1
  266. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.js +7 -6
  267. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-delivery.js.map +1 -1
  268. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts +25 -0
  269. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.d.ts.map +1 -0
  270. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js +16 -0
  271. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller-factory.js.map +1 -0
  272. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.d.ts +9 -69
  273. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.d.ts.map +1 -1
  274. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.js +1 -135
  275. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-poller.js.map +1 -1
  276. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.d.ts +6 -30
  277. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.d.ts.map +1 -1
  278. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.js +9 -66
  279. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-batch-response.js.map +1 -1
  280. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.d.ts +17 -0
  281. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.d.ts.map +1 -0
  282. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.js +17 -0
  283. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-delivery.js.map +1 -0
  284. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.d.ts +88 -0
  285. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.d.ts.map +1 -0
  286. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.js +132 -0
  287. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-poller.js.map +1 -0
  288. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.d.ts +41 -0
  289. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.d.ts.map +1 -0
  290. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.js +60 -0
  291. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-polled-queue.js.map +1 -0
  292. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +23 -5
  293. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts.map +1 -1
  294. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +65 -12
  295. package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js.map +1 -1
  296. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts +23 -0
  297. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts.map +1 -0
  298. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js +30 -0
  299. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js.map +1 -0
  300. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts +26 -0
  301. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.d.ts.map +1 -0
  302. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js +35 -0
  303. package/dist/service/lambda/event-source/sim-lambda-event-source-batch-rules.js.map +1 -0
  304. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +6 -8
  305. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts.map +1 -1
  306. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +6 -9
  307. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js.map +1 -1
  308. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts +5 -5
  309. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.d.ts.map +1 -1
  310. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.js +5 -5
  311. package/dist/service/lambda/event-source/sim-lambda-event-source-pollers.js.map +1 -1
  312. package/dist/service/lambda/event-source/sim-lambda-event-source-polling-permission.d.ts +18 -0
  313. package/dist/service/lambda/event-source/sim-lambda-event-source-polling-permission.d.ts.map +1 -0
  314. package/dist/service/lambda/event-source/sim-lambda-event-source-polling-permission.js +23 -0
  315. package/dist/service/lambda/event-source/sim-lambda-event-source-polling-permission.js.map +1 -0
  316. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.d.ts +7 -3
  317. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.d.ts.map +1 -1
  318. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.js +13 -21
  319. package/dist/service/lambda/event-source/sim-lambda-event-source-role-permissions.js.map +1 -1
  320. package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.d.ts +7 -25
  321. package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.d.ts.map +1 -1
  322. package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.js +10 -31
  323. package/dist/service/s3/bucket/notification/sim-s3-lambda-notification.js.map +1 -1
  324. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts +6 -10
  325. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.d.ts.map +1 -1
  326. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js +16 -68
  327. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration-reader.js.map +1 -1
  328. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts +17 -4
  329. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.d.ts.map +1 -1
  330. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js +19 -10
  331. package/dist/service/s3/bucket/notification/sim-s3-notification-configuration.js.map +1 -1
  332. package/dist/service/s3/bucket/notification/sim-s3-notification-ids.d.ts +9 -0
  333. package/dist/service/s3/bucket/notification/sim-s3-notification-ids.d.ts.map +1 -0
  334. package/dist/service/s3/bucket/notification/sim-s3-notification-ids.js +18 -0
  335. package/dist/service/s3/bucket/notification/sim-s3-notification-ids.js.map +1 -0
  336. package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.d.ts +5 -3
  337. package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.d.ts.map +1 -1
  338. package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.js +3 -1
  339. package/dist/service/s3/bucket/notification/sim-s3-notification-overlap.js.map +1 -1
  340. package/dist/service/s3/bucket/notification/sim-s3-notification-properties.d.ts +19 -0
  341. package/dist/service/s3/bucket/notification/sim-s3-notification-properties.d.ts.map +1 -0
  342. package/dist/service/s3/bucket/notification/sim-s3-notification-properties.js +27 -0
  343. package/dist/service/s3/bucket/notification/sim-s3-notification-properties.js.map +1 -0
  344. package/dist/service/s3/bucket/notification/sim-s3-notification.d.ts +61 -0
  345. package/dist/service/s3/bucket/notification/sim-s3-notification.d.ts.map +1 -0
  346. package/dist/service/s3/bucket/notification/sim-s3-notification.js +50 -0
  347. package/dist/service/s3/bucket/notification/sim-s3-notification.js.map +1 -0
  348. package/dist/service/s3/bucket/notification/sim-s3-queue-notification.d.ts +21 -0
  349. package/dist/service/s3/bucket/notification/sim-s3-queue-notification.d.ts.map +1 -0
  350. package/dist/service/s3/bucket/notification/sim-s3-queue-notification.js +24 -0
  351. package/dist/service/s3/bucket/notification/sim-s3-queue-notification.js.map +1 -0
  352. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts +10 -0
  353. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.d.ts.map +1 -0
  354. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js +31 -0
  355. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-destinations.js.map +1 -0
  356. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts +3 -0
  357. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.d.ts.map +1 -1
  358. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js +30 -1
  359. package/dist/service/s3/cfn/bucket/notification/sim-cfn-s3-bucket-notification-configuration.js.map +1 -1
  360. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts +2 -1
  361. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts.map +1 -1
  362. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts +10 -1
  363. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts.map +1 -1
  364. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.d.ts +0 -4
  365. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.d.ts.map +1 -1
  366. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +1 -4
  367. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js.map +1 -1
  368. package/dist/service/s3/notification/destination/sim-s3-notification-destination-check.d.ts.map +1 -1
  369. package/dist/service/s3/notification/destination/sim-s3-notification-destination-check.js +6 -4
  370. package/dist/service/s3/notification/destination/sim-s3-notification-destination-check.js.map +1 -1
  371. package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts +20 -2
  372. package/dist/service/s3/notification/destination/sim-s3-notification-destination.d.ts.map +1 -1
  373. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts +12 -10
  374. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.d.ts.map +1 -1
  375. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js +19 -17
  376. package/dist/service/s3/notification/destination/sim-s3-service-notification-destinations.js.map +1 -1
  377. package/dist/service/s3/notification/destination/sim-s3-service-principal.d.ts +8 -0
  378. package/dist/service/s3/notification/destination/sim-s3-service-principal.d.ts.map +1 -0
  379. package/dist/service/s3/notification/destination/sim-s3-service-principal.js +8 -0
  380. package/dist/service/s3/notification/destination/sim-s3-service-principal.js.map +1 -0
  381. package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.d.ts +40 -0
  382. package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.d.ts.map +1 -0
  383. package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.js +52 -0
  384. package/dist/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.js.map +1 -0
  385. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.d.ts +33 -0
  386. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.d.ts.map +1 -0
  387. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.js +64 -0
  388. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.js.map +1 -0
  389. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.d.ts +33 -0
  390. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.d.ts.map +1 -0
  391. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js +55 -0
  392. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queue.js.map +1 -0
  393. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.d.ts +23 -0
  394. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.d.ts.map +1 -0
  395. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.js +2 -0
  396. package/dist/service/s3/notification/destination/sqs/sim-s3-notification-queues.js.map +1 -0
  397. package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.d.ts +40 -0
  398. package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.d.ts.map +1 -0
  399. package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.js +51 -0
  400. package/dist/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.js.map +1 -0
  401. package/dist/service/s3/notification/sim-s3-notification-dispatcher.d.ts +2 -2
  402. package/dist/service/s3/notification/sim-s3-notification-dispatcher.d.ts.map +1 -1
  403. package/dist/service/s3/notification/sim-s3-notification-dispatcher.js +6 -3
  404. package/dist/service/s3/notification/sim-s3-notification-dispatcher.js.map +1 -1
  405. package/dist/service/sqs/command/authorize/sim-sqs-condition-context.d.ts.map +1 -1
  406. package/dist/service/sqs/command/authorize/sim-sqs-condition-context.js +9 -5
  407. package/dist/service/sqs/command/authorize/sim-sqs-condition-context.js.map +1 -1
  408. package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.d.ts +40 -0
  409. package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.d.ts.map +1 -0
  410. package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.js +40 -0
  411. package/dist/service/sqs/command/authorize/sim-sqs-service-send-authorizer.js.map +1 -0
  412. package/dist/service/sqs/command/sim-sqs-request-options.d.ts +16 -0
  413. package/dist/service/sqs/command/sim-sqs-request-options.d.ts.map +1 -1
  414. package/dist/service/sqs/command/sim-sqs-request-options.js +9 -0
  415. package/dist/service/sqs/command/sim-sqs-request-options.js.map +1 -1
  416. package/dist/service/sqs/index.d.ts +2 -2
  417. package/dist/service/sqs/index.d.ts.map +1 -1
  418. package/dist/service/sqs/index.js +2 -2
  419. package/dist/service/sqs/index.js.map +1 -1
  420. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts +17 -2
  421. package/dist/service/sqs/queue/sim-sqs-queue-arn.d.ts.map +1 -1
  422. package/dist/service/sqs/queue/sim-sqs-queue-arn.js +9 -5
  423. package/dist/service/sqs/queue/sim-sqs-queue-arn.js.map +1 -1
  424. package/package.json +4 -4
@@ -1,29 +1,31 @@
1
1
  import { SimS3NotImplemented } from "../../error/sim-s3.error.js";
2
2
  /**
3
- * The destinations of one simulated S3 scope, keyed on the service an ARN
4
- * names.
3
+ * The destinations of one simulated S3 scope, one per kind of destination.
5
4
  *
6
- * An ARN's service segment is the only thing that decides which destination
7
- * takes it, so the lookup is a map rather than a chain of checks, and a service
8
- * this simulator has no destination for is refused by name.
5
+ * A configuration says which kind it wants by the destination group it was
6
+ * declared in, so nothing here reads an ARN. The ARN is the destination's own
7
+ * business, and each of them refuses one that does not name a resource of the
8
+ * kind it delivers to.
9
9
  */
10
10
  export class SimS3ServiceNotificationDestinations {
11
- byService;
11
+ lambda;
12
+ sqs;
12
13
  constructor(properties) {
13
- this.byService = new Map([["lambda", properties.lambda]]);
14
+ this.lambda = properties.lambda;
15
+ this.sqs = properties.sqs;
14
16
  }
15
17
  /**
16
- * The destination an ARN names.
18
+ * The destination of a kind.
17
19
  */
18
- resolve(destinationArn) {
19
- const service = destinationArn.split(":", 3)[2];
20
- const destination = service === undefined ? undefined : this.byService.get(service);
21
- if (destination === undefined) {
22
- throw new SimS3NotImplemented(`Simulated S3 cannot notify ${destinationArn}. It notifies a Lambda ` +
23
- "function; SQS queue, SNS topic and EventBridge destinations are " +
24
- "not simulated.");
20
+ resolve(service) {
21
+ switch (service) {
22
+ case "lambda": {
23
+ return this.lambda;
24
+ }
25
+ case "sqs": {
26
+ return this.sqs;
27
+ }
25
28
  }
26
- return destination;
27
29
  }
28
30
  }
29
31
  /**
@@ -38,7 +40,7 @@ export class SimS3NoNotificationDestinations {
38
40
  /**
39
41
  * Refuse every destination, explaining how to get one.
40
42
  */
41
- resolve(destinationArn) {
43
+ resolve(_service, destinationArn) {
42
44
  throw new SimS3NotImplemented(`Cannot notify ${destinationArn}: this SimS3 was constructed on its ` +
43
45
  "own, so it has no other simulated services to notify and no shared " +
44
46
  "background scheduler to deliver on. Reach simulated S3 through " +
@@ -1 +1 @@
1
- {"version":3,"file":"sim-s3-service-notification-destinations.js","sourceRoot":"","sources":["../../../../../src/service/s3/notification/destination/sim-s3-service-notification-destinations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAUlE;;;;;;;GAOG;AACH,MAAM,OAAO,oCAAoC;IAC9B,SAAS,CAAoD;IAE9E,YAAY,UAA0D;QACpE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,cAAsB;QAC5B,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,WAAW,GACf,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAElE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,mBAAmB,CAC3B,8BAA8B,cAAc,yBAAyB;gBACnE,kEAAkE;gBAClE,gBAAgB,CACnB,CAAC;QACJ,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,+BAA+B;IAC1C;;OAEG;IACH,OAAO,CAAC,cAAsB;QAC5B,MAAM,IAAI,mBAAmB,CAC3B,iBAAiB,cAAc,sCAAsC;YACnE,qEAAqE;YACrE,iEAAiE;YACjE,iDAAiD,CACpD,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sim-s3-service-notification-destinations.js","sourceRoot":"","sources":["../../../../../src/service/s3/notification/destination/sim-s3-service-notification-destinations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAYlE;;;;;;;GAOG;AACH,MAAM,OAAO,oCAAoC;IAC9B,MAAM,CAA+B;IACrC,GAAG,CAA+B;IAEnD,YAAY,UAA0D;QACpE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,OAAO,CACL,OAA4C;QAE5C,QAAQ,OAAO,EAAE,CAAC;YAChB,KAAK,QAAQ,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,MAAM,CAAC;YACrB,CAAC;YACD,KAAK,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,GAAG,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,+BAA+B;IAC1C;;OAEG;IACH,OAAO,CACL,QAA6C,EAC7C,cAAsB;QAEtB,MAAM,IAAI,mBAAmB,CAC3B,iBAAiB,cAAc,sCAAsC;YACnE,qEAAqE;YACrE,iEAAiE;YACjE,iDAAiD,CACpD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The service principal S3 reaches a notification destination as.
3
+ *
4
+ * Every destination's resource policy is written for this, so it lives beside
5
+ * the destinations rather than inside one of them.
6
+ */
7
+ export declare const simS3ServicePrincipal = "s3.amazonaws.com";
8
+ //# sourceMappingURL=sim-s3-service-principal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-service-principal.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/notification/destination/sim-s3-service-principal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,qBAAqB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * The service principal S3 reaches a notification destination as.
3
+ *
4
+ * Every destination's resource policy is written for this, so it lives beside
5
+ * the destinations rather than inside one of them.
6
+ */
7
+ export const simS3ServicePrincipal = "s3.amazonaws.com";
8
+ //# sourceMappingURL=sim-s3-service-principal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-service-principal.js","sourceRoot":"","sources":["../../../../../src/service/s3/notification/destination/sim-s3-service-principal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import type { SimAws } from "../../../../aws/sim-aws.js";
2
+ import type { SimS3NotificationDestinationRequest } from "../sim-s3-notification-destination.js";
3
+ import type { SimS3NotificationQueues } from "./sim-s3-notification-queues.js";
4
+ interface SimAwsS3NotificationQueuesProperties {
5
+ readonly simAws: SimAws;
6
+ }
7
+ /**
8
+ * The simulated SQS queues of one simulated AWS instance, as S3 notification
9
+ * destinations.
10
+ *
11
+ * Queues are looked up when a configuration is applied or an event is
12
+ * delivered, never when this is built, for the same reason the Lambda
13
+ * destination does it that way: reaching another service while this one is
14
+ * being constructed is a cycle with no bottom to it.
15
+ *
16
+ * A queue in another Account is allowed, and evaluated against the IAM of the
17
+ * Account owning it. Real S3 asks only that the queue is in the Bucket's
18
+ * Region, which is why AWS's own documented destination queue policy carries an
19
+ * `aws:SourceAccount` guard: it would have no job if the two Accounts were
20
+ * always the same.
21
+ */
22
+ export declare class SimAwsS3NotificationQueues implements SimS3NotificationQueues {
23
+ private readonly simAws;
24
+ constructor(properties: SimAwsS3NotificationQueuesProperties);
25
+ /**
26
+ * Why S3 may not send to the queue, or nothing when it may.
27
+ *
28
+ * The Region is this side's rule and the rest is the queue's own. What S3
29
+ * adds to the queue's decision is which Bucket is sending, so a policy
30
+ * granting one Bucket does not open the queue to another.
31
+ */
32
+ sendRefusal(request: SimS3NotificationDestinationRequest): string | undefined;
33
+ /**
34
+ * Send the event document to the queue.
35
+ */
36
+ send(request: SimS3NotificationDestinationRequest, body: string): Promise<void>;
37
+ private queue;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=sim-aws-s3-notification-queues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-s3-notification-queues.d.ts","sourceRoot":"","sources":["../../../../../../src/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAGjG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,0BAA2B,YAAW,uBAAuB;IACxE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,YAAY,UAAU,EAAE,oCAAoC,EAE3D;IAED;;;;;;OAMG;IACH,WAAW,CACT,OAAO,EAAE,mCAAmC,GAC3C,MAAM,GAAG,SAAS,CAYpB;IAED;;OAEG;IACG,IAAI,CACR,OAAO,EAAE,mCAAmC,EAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAIf;IAED,OAAO,CAAC,KAAK;CAMd"}
@@ -0,0 +1,52 @@
1
+ import { SimS3NotificationQueue } from "./sim-s3-notification-queue.js";
2
+ import { SimS3NotificationQueueArn } from "./sim-s3-notification-queue-arn.js";
3
+ /**
4
+ * The simulated SQS queues of one simulated AWS instance, as S3 notification
5
+ * destinations.
6
+ *
7
+ * Queues are looked up when a configuration is applied or an event is
8
+ * delivered, never when this is built, for the same reason the Lambda
9
+ * destination does it that way: reaching another service while this one is
10
+ * being constructed is a cycle with no bottom to it.
11
+ *
12
+ * A queue in another Account is allowed, and evaluated against the IAM of the
13
+ * Account owning it. Real S3 asks only that the queue is in the Bucket's
14
+ * Region, which is why AWS's own documented destination queue policy carries an
15
+ * `aws:SourceAccount` guard: it would have no job if the two Accounts were
16
+ * always the same.
17
+ */
18
+ export class SimAwsS3NotificationQueues {
19
+ simAws;
20
+ constructor(properties) {
21
+ this.simAws = properties.simAws;
22
+ }
23
+ /**
24
+ * Why S3 may not send to the queue, or nothing when it may.
25
+ *
26
+ * The Region is this side's rule and the rest is the queue's own. What S3
27
+ * adds to the queue's decision is which Bucket is sending, so a policy
28
+ * granting one Bucket does not open the queue to another.
29
+ */
30
+ sendRefusal(request) {
31
+ const arn = SimS3NotificationQueueArn.parse(request.destinationArn);
32
+ if (!arn.isIn(request.bucketRegionName)) {
33
+ return (`${request.destinationArn} is in ${arn.regionName}, and an S3 event ` +
34
+ "notification destination queue must be in the Bucket's Region, " +
35
+ `${request.bucketRegionName}.`);
36
+ }
37
+ return this.queue(arn).sendRefusal(request);
38
+ }
39
+ /**
40
+ * Send the event document to the queue.
41
+ */
42
+ async send(request, body) {
43
+ await this.queue(SimS3NotificationQueueArn.parse(request.destinationArn)).send(request, body);
44
+ }
45
+ queue(arn) {
46
+ return new SimS3NotificationQueue({
47
+ arn,
48
+ scope: this.simAws.accountRegionScope(arn.accountId, arn.regionName),
49
+ });
50
+ }
51
+ }
52
+ //# sourceMappingURL=sim-aws-s3-notification-queues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-s3-notification-queues.js","sourceRoot":"","sources":["../../../../../../src/service/s3/notification/destination/sqs/sim-aws-s3-notification-queues.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAO/E;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,0BAA0B;IACpB,MAAM,CAAS;IAEhC,YAAY,UAAgD;QAC1D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CACT,OAA4C;QAE5C,MAAM,GAAG,GAAG,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEpE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACxC,OAAO,CACL,GAAG,OAAO,CAAC,cAAc,UAAU,GAAG,CAAC,UAAU,oBAAoB;gBACrE,iEAAiE;gBACjE,GAAG,OAAO,CAAC,gBAAgB,GAAG,CAC/B,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACR,OAA4C,EAC5C,IAAY;QAEZ,MAAM,IAAI,CAAC,KAAK,CACd,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CACxD,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,GAA8B;QAC1C,OAAO,IAAI,sBAAsB,CAAC;YAChC,GAAG;YACH,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC;SACrE,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,33 @@
1
+ import type { SimAwsAccountId } from "../../../../aws/sim-aws-account.js";
2
+ import type { AwsRegionName } from "../../../../aws/sim-aws-region.js";
3
+ /**
4
+ * The SQS queue ARN a notification configuration names.
5
+ *
6
+ * A queue ARN has no resource type segment, so the queue name follows the
7
+ * Account id directly and the shared ARN reader cannot read one.
8
+ */
9
+ export declare class SimS3NotificationQueueArn {
10
+ readonly regionName: AwsRegionName;
11
+ readonly accountId: SimAwsAccountId;
12
+ readonly queueName: string;
13
+ private constructor();
14
+ /**
15
+ * Read an SQS queue ARN, refusing anything else.
16
+ *
17
+ * A FIFO queue is refused by its name, as real S3 refuses one as an event
18
+ * notification destination. Simulated SQS has no FIFO queues either, so
19
+ * without this the refusal would be that the queue does not exist, which
20
+ * points at the wrong thing to fix.
21
+ */
22
+ static parse(arn: string): SimS3NotificationQueueArn;
23
+ /**
24
+ * The URL an SQS request names this queue by.
25
+ */
26
+ get queueUrl(): string;
27
+ /**
28
+ * Whether this queue is in a Region, which a destination queue has to share
29
+ * with the Bucket notifying it.
30
+ */
31
+ isIn(regionName: string): boolean;
32
+ }
33
+ //# sourceMappingURL=sim-s3-notification-queue-arn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-notification-queue-arn.d.ts","sourceRoot":"","sources":["../../../../../../src/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAOvE;;;;;GAKG;AACH,qBAAa,yBAAyB;IACpC,SAAgB,UAAU,EAAE,aAAa,CAAC;IAC1C,SAAgB,SAAS,EAAE,eAAe,CAAC;IAC3C,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,OAAO,eAQN;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CA+BnD;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAMrB;IAED;;;OAGG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhC;CACF"}
@@ -0,0 +1,64 @@
1
+ import { sqsQueueUrl } from "../../../../sqs/queue/sim-sqs-queue-arn.js";
2
+ import { SimS3InvalidArgument, SimS3NotImplemented, } from "../../../error/sim-s3.error.js";
3
+ /**
4
+ * The SQS queue ARN a notification configuration names.
5
+ *
6
+ * A queue ARN has no resource type segment, so the queue name follows the
7
+ * Account id directly and the shared ARN reader cannot read one.
8
+ */
9
+ export class SimS3NotificationQueueArn {
10
+ regionName;
11
+ accountId;
12
+ queueName;
13
+ constructor(regionName, accountId, queueName) {
14
+ this.regionName = regionName;
15
+ this.accountId = accountId;
16
+ this.queueName = queueName;
17
+ }
18
+ /**
19
+ * Read an SQS queue ARN, refusing anything else.
20
+ *
21
+ * A FIFO queue is refused by its name, as real S3 refuses one as an event
22
+ * notification destination. Simulated SQS has no FIFO queues either, so
23
+ * without this the refusal would be that the queue does not exist, which
24
+ * points at the wrong thing to fix.
25
+ */
26
+ static parse(arn) {
27
+ const [prefix, partition, service, region, accountId, name, extra] = arn.split(":");
28
+ if (prefix !== "arn" ||
29
+ partition !== "aws" ||
30
+ service !== "sqs" ||
31
+ region === undefined ||
32
+ region === "" ||
33
+ accountId === undefined ||
34
+ accountId === "" ||
35
+ name === undefined ||
36
+ name === "" ||
37
+ extra !== undefined) {
38
+ throw new SimS3InvalidArgument(`${arn} is not an SQS queue ARN.`);
39
+ }
40
+ if (name.endsWith(".fifo")) {
41
+ throw new SimS3NotImplemented(`Cannot notify ${arn}: a FIFO queue is not a valid S3 event ` +
42
+ "notification destination, and simulated SQS has no FIFO queues.");
43
+ }
44
+ return new SimS3NotificationQueueArn(region, accountId, name);
45
+ }
46
+ /**
47
+ * The URL an SQS request names this queue by.
48
+ */
49
+ get queueUrl() {
50
+ return sqsQueueUrl({
51
+ regionName: this.regionName,
52
+ accountId: this.accountId,
53
+ name: this.queueName,
54
+ });
55
+ }
56
+ /**
57
+ * Whether this queue is in a Region, which a destination queue has to share
58
+ * with the Bucket notifying it.
59
+ */
60
+ isIn(regionName) {
61
+ return this.regionName === regionName;
62
+ }
63
+ }
64
+ //# sourceMappingURL=sim-s3-notification-queue-arn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-notification-queue-arn.js","sourceRoot":"","sources":["../../../../../../src/service/s3/notification/destination/sqs/sim-s3-notification-queue-arn.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,4CAA4C,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAExC;;;;;GAKG;AACH,MAAM,OAAO,yBAAyB;IACpB,UAAU,CAAgB;IAC1B,SAAS,CAAkB;IAC3B,SAAS,CAAS;IAElC,YACE,UAAyB,EACzB,SAA0B,EAC1B,SAAiB;QAEjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,CAAC,GAAW;QACtB,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,GAChE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEjB,IACE,MAAM,KAAK,KAAK;YAChB,SAAS,KAAK,KAAK;YACnB,OAAO,KAAK,KAAK;YACjB,MAAM,KAAK,SAAS;YACpB,MAAM,KAAK,EAAE;YACb,SAAS,KAAK,SAAS;YACvB,SAAS,KAAK,EAAE;YAChB,IAAI,KAAK,SAAS;YAClB,IAAI,KAAK,EAAE;YACX,KAAK,KAAK,SAAS,EACnB,CAAC;YACD,MAAM,IAAI,oBAAoB,CAAC,GAAG,GAAG,2BAA2B,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,mBAAmB,CAC3B,iBAAiB,GAAG,yCAAyC;gBAC3D,iEAAiE,CACpE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,yBAAyB,CAClC,MAAuB,EACvB,SAA4B,EAC5B,IAAI,CACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,WAAW,CAAC;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,SAAS;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,UAAkB;QACrB,OAAO,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC;IACxC,CAAC;CACF"}
@@ -0,0 +1,33 @@
1
+ import type { SimAwsAccountRegionContainer } from "../../../../aws/sim-aws-account-region-scope.js";
2
+ import type { SimS3NotificationDestinationRequest } from "../sim-s3-notification-destination.js";
3
+ import type { SimS3NotificationQueueArn } from "./sim-s3-notification-queue-arn.js";
4
+ interface SimS3NotificationQueueProperties {
5
+ readonly arn: SimS3NotificationQueueArn;
6
+ readonly scope: SimAwsAccountRegionContainer;
7
+ }
8
+ /**
9
+ * One queue an S3 Bucket is notifying, in the Account and Region its ARN names.
10
+ *
11
+ * Everything here is asked of the queue's own Account, which is what makes a
12
+ * queue in another Account reachable: its policy is the grant, and its
13
+ * Account's IAM is what evaluates it.
14
+ */
15
+ export declare class SimS3NotificationQueue {
16
+ private readonly arn;
17
+ private readonly scope;
18
+ constructor(properties: SimS3NotificationQueueProperties);
19
+ /**
20
+ * Why S3 may not send to this queue, or nothing when it may.
21
+ */
22
+ sendRefusal(request: SimS3NotificationDestinationRequest): string | undefined;
23
+ /**
24
+ * Send one message body to this queue as the S3 service principal.
25
+ *
26
+ * This goes through the ordinary SendMessage path rather than putting a
27
+ * message on the queue directly, so a delivered event is the same thing an
28
+ * SDK caller would have sent, and is authorized again on the way in.
29
+ */
30
+ send(request: SimS3NotificationDestinationRequest, body: string): Promise<void>;
31
+ }
32
+ export {};
33
+ //# sourceMappingURL=sim-s3-notification-queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-notification-queue.d.ts","sourceRoot":"","sources":["../../../../../../src/service/s3/notification/destination/sqs/sim-s3-notification-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAEpG,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAEjG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF,UAAU,gCAAgC;IACxC,QAAQ,CAAC,GAAG,EAAE,yBAAyB,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC;CAC9C;AAED;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IAErD,YAAY,UAAU,EAAE,gCAAgC,EAGvD;IAED;;OAEG;IACH,WAAW,CACT,OAAO,EAAE,mCAAmC,GAC3C,MAAM,GAAG,SAAS,CAyBpB;IAED;;;;;;OAMG;IACG,IAAI,CACR,OAAO,EAAE,mCAAmC,EAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CASf;CACF"}
@@ -0,0 +1,55 @@
1
+ import { SimSqsServiceSendAuthorizer } from "../../../../sqs/command/authorize/sim-sqs-service-send-authorizer.js";
2
+ import { simS3ServicePrincipal } from "../sim-s3-service-principal.js";
3
+ /**
4
+ * One queue an S3 Bucket is notifying, in the Account and Region its ARN names.
5
+ *
6
+ * Everything here is asked of the queue's own Account, which is what makes a
7
+ * queue in another Account reachable: its policy is the grant, and its
8
+ * Account's IAM is what evaluates it.
9
+ */
10
+ export class SimS3NotificationQueue {
11
+ arn;
12
+ scope;
13
+ constructor(properties) {
14
+ this.arn = properties.arn;
15
+ this.scope = properties.scope;
16
+ }
17
+ /**
18
+ * Why S3 may not send to this queue, or nothing when it may.
19
+ */
20
+ sendRefusal(request) {
21
+ const queue = this.scope.sqs().findQueue(this.arn.queueName);
22
+ if (queue === undefined) {
23
+ return `${request.destinationArn} is not a simulated SQS queue.`;
24
+ }
25
+ const decision = new SimSqsServiceSendAuthorizer({
26
+ iam: this.scope.iam(),
27
+ }).authorize({
28
+ queue,
29
+ servicePrincipal: simS3ServicePrincipal,
30
+ sourceArn: request.bucketArn,
31
+ sourceAccount: request.bucketOwnerAccountId,
32
+ });
33
+ if (decision.isDenied) {
34
+ return (`The queue policy of ${request.destinationArn} does not allow ` +
35
+ `${simS3ServicePrincipal} to send to it for ${request.bucketArn}. ` +
36
+ "Grant sqs:SendMessage with the queue's Policy attribute.");
37
+ }
38
+ return undefined;
39
+ }
40
+ /**
41
+ * Send one message body to this queue as the S3 service principal.
42
+ *
43
+ * This goes through the ordinary SendMessage path rather than putting a
44
+ * message on the queue directly, so a delivered event is the same thing an
45
+ * SDK caller would have sent, and is authorized again on the way in.
46
+ */
47
+ async send(request, body) {
48
+ await this.scope.sqs().sendMessage({ input: { QueueUrl: this.arn.queueUrl, MessageBody: body } }, {
49
+ caller: { kind: "service", service: simS3ServicePrincipal },
50
+ sourceArn: request.bucketArn,
51
+ sourceAccount: request.bucketOwnerAccountId,
52
+ });
53
+ }
54
+ }
55
+ //# sourceMappingURL=sim-s3-notification-queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-notification-queue.js","sourceRoot":"","sources":["../../../../../../src/service/s3/notification/destination/sqs/sim-s3-notification-queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,sEAAsE,CAAC;AAEnH,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAQvE;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IAChB,GAAG,CAA4B;IAC/B,KAAK,CAA+B;IAErD,YAAY,UAA4C;QACtD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,WAAW,CACT,OAA4C;QAE5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,GAAG,OAAO,CAAC,cAAc,gCAAgC,CAAC;QACnE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,2BAA2B,CAAC;YAC/C,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC,SAAS,CAAC;YACX,KAAK;YACL,gBAAgB,EAAE,qBAAqB;YACvC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,oBAAoB;SAC5C,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CACL,uBAAuB,OAAO,CAAC,cAAc,kBAAkB;gBAC/D,GAAG,qBAAqB,sBAAsB,OAAO,CAAC,SAAS,IAAI;gBACnE,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CACR,OAA4C,EAC5C,IAAY;QAEZ,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAChC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAC7D;YACE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,qBAAqB,EAAE;YAC3D,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,oBAAoB;SAC5C,CACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import type { SimS3NotificationDestinationRequest } from "../sim-s3-notification-destination.js";
2
+ /**
3
+ * The narrow slice of simulated SQS that S3 event notification needs.
4
+ *
5
+ * S3 asks two questions of a queue: whether it may send to it, and then to send
6
+ * to it. Both are asked by ARN, because a notification configuration names a
7
+ * queue by ARN and that ARN can name another Account.
8
+ */
9
+ export interface SimS3NotificationQueues {
10
+ /**
11
+ * Why S3 may not send to the queue, or nothing when it may.
12
+ *
13
+ * A reason rather than a boolean, because both the configuration-time
14
+ * refusal and the delivery-time record repeat it back to whoever has to fix
15
+ * it.
16
+ */
17
+ sendRefusal(request: SimS3NotificationDestinationRequest): string | undefined;
18
+ /**
19
+ * Send one message body to the queue.
20
+ */
21
+ send(request: SimS3NotificationDestinationRequest, body: string): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=sim-s3-notification-queues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-notification-queues.d.ts","sourceRoot":"","sources":["../../../../../../src/service/s3/notification/destination/sqs/sim-s3-notification-queues.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAEjG;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;OAMG;IACH,WAAW,CAAC,OAAO,EAAE,mCAAmC,GAAG,MAAM,GAAG,SAAS,CAAC;IAE9E;;OAEG;IACH,IAAI,CACF,OAAO,EAAE,mCAAmC,EAC5C,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sim-s3-notification-queues.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-notification-queues.js","sourceRoot":"","sources":["../../../../../../src/service/s3/notification/destination/sqs/sim-s3-notification-queues.ts"],"names":[],"mappings":""}
@@ -0,0 +1,40 @@
1
+ import type { SimS3NotificationDeliveryRequest, SimS3NotificationDestination, SimS3NotificationDestinationRequest } from "../sim-s3-notification-destination.js";
2
+ import type { SimS3NotificationQueues } from "./sim-s3-notification-queues.js";
3
+ interface SimS3SqsNotificationDestinationProperties {
4
+ readonly queues: SimS3NotificationQueues;
5
+ }
6
+ /**
7
+ * A simulated SQS queue as somewhere S3 sends Object events.
8
+ *
9
+ * The whole `Records` document goes on the queue as one message body, which is
10
+ * the double envelope a consumer has to reach through: the SQS message carries
11
+ * the S3 event document as text, so a handler parses `record.body` before it
12
+ * can read a key out of it.
13
+ *
14
+ * The same question is asked twice on purpose, as it is for a function
15
+ * destination. Real S3 checks the queue policy when the configuration is
16
+ * applied and checks it again for every event, so a permission removed
17
+ * afterwards stops delivery.
18
+ */
19
+ export declare class SimS3SqsNotificationDestination implements SimS3NotificationDestination {
20
+ private readonly queues;
21
+ constructor(properties: SimS3SqsNotificationDestinationProperties);
22
+ /**
23
+ * Refuse a queue the Bucket may not send to.
24
+ *
25
+ * Real S3 answers InvalidArgument for a destination it could not validate,
26
+ * which is what a queue policy that does not admit `s3.amazonaws.com`
27
+ * produces.
28
+ */
29
+ validate(request: SimS3NotificationDestinationRequest): void;
30
+ /**
31
+ * Put the event document on the queue, if it still admits this Bucket.
32
+ *
33
+ * The refusal is asked for before sending rather than left to the send,
34
+ * which authorizes the same way, so that a queue policy saying no is recorded
35
+ * as a refusal rather than as a fault in the simulation.
36
+ */
37
+ deliver(request: SimS3NotificationDeliveryRequest): Promise<void>;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=sim-s3-sqs-notification-destination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-sqs-notification-destination.d.ts","sourceRoot":"","sources":["../../../../../../src/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gCAAgC,EAChC,4BAA4B,EAC5B,mCAAmC,EACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE/E,UAAU,yCAAyC;IACjD,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,+BAAgC,YAAW,4BAA4B;IAClF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD,YAAY,UAAU,EAAE,yCAAyC,EAEhE;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,mCAAmC,GAAG,IAAI,CAQ3D;IAED;;;;;;OAMG;IACG,OAAO,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC,CAatE;CACF"}
@@ -0,0 +1,51 @@
1
+ import { jsonStringify } from "../../../../../util/type-guard/json.js";
2
+ import { SimS3InvalidArgument } from "../../../error/sim-s3.error.js";
3
+ import { SimS3NotificationNotPermitted } from "../../../error/sim-s3-notification.error.js";
4
+ import { simS3EventRecordsDocument } from "../../event/sim-s3-event-records.js";
5
+ /**
6
+ * A simulated SQS queue as somewhere S3 sends Object events.
7
+ *
8
+ * The whole `Records` document goes on the queue as one message body, which is
9
+ * the double envelope a consumer has to reach through: the SQS message carries
10
+ * the S3 event document as text, so a handler parses `record.body` before it
11
+ * can read a key out of it.
12
+ *
13
+ * The same question is asked twice on purpose, as it is for a function
14
+ * destination. Real S3 checks the queue policy when the configuration is
15
+ * applied and checks it again for every event, so a permission removed
16
+ * afterwards stops delivery.
17
+ */
18
+ export class SimS3SqsNotificationDestination {
19
+ queues;
20
+ constructor(properties) {
21
+ this.queues = properties.queues;
22
+ }
23
+ /**
24
+ * Refuse a queue the Bucket may not send to.
25
+ *
26
+ * Real S3 answers InvalidArgument for a destination it could not validate,
27
+ * which is what a queue policy that does not admit `s3.amazonaws.com`
28
+ * produces.
29
+ */
30
+ validate(request) {
31
+ const refusal = this.queues.sendRefusal(request);
32
+ if (refusal !== undefined) {
33
+ throw new SimS3InvalidArgument(`Unable to validate the following destination configurations: ${refusal}`);
34
+ }
35
+ }
36
+ /**
37
+ * Put the event document on the queue, if it still admits this Bucket.
38
+ *
39
+ * The refusal is asked for before sending rather than left to the send,
40
+ * which authorizes the same way, so that a queue policy saying no is recorded
41
+ * as a refusal rather than as a fault in the simulation.
42
+ */
43
+ async deliver(request) {
44
+ const refusal = this.queues.sendRefusal(request);
45
+ if (refusal !== undefined) {
46
+ throw new SimS3NotificationNotPermitted(refusal);
47
+ }
48
+ await this.queues.send(request, jsonStringify(simS3EventRecordsDocument(request.event, request.configurationId)));
49
+ }
50
+ }
51
+ //# sourceMappingURL=sim-s3-sqs-notification-destination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-sqs-notification-destination.js","sourceRoot":"","sources":["../../../../../../src/service/s3/notification/destination/sqs/sim-s3-sqs-notification-destination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAYhF;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,+BAA+B;IACzB,MAAM,CAA0B;IAEjD,YAAY,UAAqD;QAC/D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,OAA4C;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,oBAAoB,CAC5B,gEAAgE,OAAO,EAAE,CAC1E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,OAAyC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAEjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACpB,OAAO,EACP,aAAa,CACX,yBAAyB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,CAClE,CACF,CAAC;IACJ,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { SimS3LambdaNotification } from "../bucket/notification/sim-s3-lambda-notification.js";
1
+ import type { SimS3Notification } from "../bucket/notification/sim-s3-notification.js";
2
2
  import type { SimS3NotificationDestinations } from "./destination/sim-s3-notification-destination.js";
3
3
  import type { SimS3ObjectEvent } from "./event/sim-s3-object-event.js";
4
4
  import { SimS3NotificationDeliveryFailure } from "./sim-s3-notification-failures.js";
@@ -27,7 +27,7 @@ export declare class SimS3NotificationDispatcher {
27
27
  /**
28
28
  * Deliver one event to the destination one configuration names.
29
29
  */
30
- deliver(notification: SimS3LambdaNotification, event: SimS3ObjectEvent): Promise<void>;
30
+ deliver(notification: SimS3Notification, event: SimS3ObjectEvent): Promise<void>;
31
31
  }
32
32
  export {};
33
33
  //# sourceMappingURL=sim-s3-notification-dispatcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-s3-notification-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/notification/sim-s3-notification-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AACpG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACtG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,EACL,gCAAgC,EAEjC,MAAM,mCAAmC,CAAC;AAE3C,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC;IACrD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,YAAY,UAAU,EAAE,qCAAqC,EAG5D;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,SAAS,gCAAgC,EAAE,CAElE;IAED;;OAEG;IACG,OAAO,CACX,YAAY,EAAE,uBAAuB,EACrC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CAqBf;CACF"}
1
+ {"version":3,"file":"sim-s3-notification-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/service/s3/notification/sim-s3-notification-dispatcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACtG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,OAAO,EACL,gCAAgC,EAEjC,MAAM,mCAAmC,CAAC;AAE3C,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,YAAY,EAAE,6BAA6B,CAAC;IACrD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,YAAY,UAAU,EAAE,qCAAqC,EAG5D;IAED;;OAEG;IACH,IAAI,gBAAgB,IAAI,SAAS,gCAAgC,EAAE,CAElE;IAED;;OAEG;IACG,OAAO,CACX,YAAY,EAAE,iBAAiB,EAC/B,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,IAAI,CAAC,CAwBf;CACF"}
@@ -29,10 +29,13 @@ export class SimS3NotificationDispatcher {
29
29
  async deliver(notification, event) {
30
30
  this.ceiling.take(event.bucketName);
31
31
  try {
32
- await this.destinations.resolve(notification.functionArn).deliver({
33
- destinationArn: notification.functionArn,
32
+ await this.destinations
33
+ .resolve(notification.destinationService, notification.destinationArn)
34
+ .deliver({
35
+ destinationArn: notification.destinationArn,
34
36
  bucketArn: event.bucketArn,
35
37
  bucketOwnerAccountId: event.ownerAccountId,
38
+ bucketRegionName: event.regionName,
36
39
  configurationId: notification.id,
37
40
  event,
38
41
  });
@@ -40,7 +43,7 @@ export class SimS3NotificationDispatcher {
40
43
  catch (error) {
41
44
  this.failures.record(new SimS3NotificationDeliveryFailure({
42
45
  event,
43
- destinationArn: notification.functionArn,
46
+ destinationArn: notification.destinationArn,
44
47
  configurationId: notification.id,
45
48
  error,
46
49
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"sim-s3-notification-dispatcher.js","sourceRoot":"","sources":["../../../../src/service/s3/notification/sim-s3-notification-dispatcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EACL,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAO3C;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IACrB,YAAY,CAAgC;IAC5C,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAC3C,OAAO,CAA2B;IAEnD,YAAY,UAAiD;QAC3D,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAwB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,YAAqC,EACrC,KAAuB;QAEvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;gBAChE,cAAc,EAAE,YAAY,CAAC,WAAW;gBACxC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,oBAAoB,EAAE,KAAK,CAAC,cAAc;gBAC1C,eAAe,EAAE,YAAY,CAAC,EAAE;gBAChC,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,IAAI,gCAAgC,CAAC;gBACnC,KAAK;gBACL,cAAc,EAAE,YAAY,CAAC,WAAW;gBACxC,eAAe,EAAE,YAAY,CAAC,EAAE;gBAChC,KAAK;aACN,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"sim-s3-notification-dispatcher.js","sourceRoot":"","sources":["../../../../src/service/s3/notification/sim-s3-notification-dispatcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EACL,gCAAgC,EAChC,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAO3C;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IACrB,YAAY,CAAgC;IAC5C,QAAQ,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAC3C,OAAO,CAA2B;IAEnD,YAAY,UAAiD;QAC3D,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAwB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,YAA+B,EAC/B,KAAuB;QAEvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEpC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY;iBACpB,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,YAAY,CAAC,cAAc,CAAC;iBACrE,OAAO,CAAC;gBACP,cAAc,EAAE,YAAY,CAAC,cAAc;gBAC3C,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,oBAAoB,EAAE,KAAK,CAAC,cAAc;gBAC1C,gBAAgB,EAAE,KAAK,CAAC,UAAU;gBAClC,eAAe,EAAE,YAAY,CAAC,EAAE;gBAChC,KAAK;aACN,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,IAAI,gCAAgC,CAAC;gBACnC,KAAK;gBACL,cAAc,EAAE,YAAY,CAAC,cAAc;gBAC3C,eAAe,EAAE,YAAY,CAAC,EAAE;gBAChC,KAAK;aACN,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"sim-sqs-condition-context.d.ts","sourceRoot":"","sources":["../../../../../src/service/sqs/command/authorize/sim-sqs-condition-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GACxC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAMhD"}
1
+ {"version":3,"file":"sim-sqs-condition-context.d.ts","sourceRoot":"","sources":["../../../../../src/service/sqs/command/authorize/sim-sqs-condition-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,oBAAoB,GAAG,SAAS,GACxC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAShD"}