@kensio/yulin 1.17.1 → 1.17.2

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 (533) hide show
  1. package/README.md +1 -0
  2. package/dist/serve/http/local-server/sim-aws-local-location.d.ts +55 -0
  3. package/dist/serve/http/local-server/sim-aws-local-location.d.ts.map +1 -0
  4. package/dist/serve/http/local-server/sim-aws-local-location.js +80 -0
  5. package/dist/serve/http/local-server/sim-aws-local-location.js.map +1 -0
  6. package/dist/serve/http/local-server/sim-aws-local-request-handler.d.ts +7 -0
  7. package/dist/serve/http/local-server/sim-aws-local-request-handler.d.ts.map +1 -1
  8. package/dist/serve/http/local-server/sim-aws-local-request-handler.js +10 -3
  9. package/dist/serve/http/local-server/sim-aws-local-request-handler.js.map +1 -1
  10. package/dist/serve/http/local-server/sim-aws-local-server.d.ts.map +1 -1
  11. package/dist/serve/http/local-server/sim-aws-local-server.js +5 -0
  12. package/dist/serve/http/local-server/sim-aws-local-server.js.map +1 -1
  13. package/dist/serve/http/node-fetch-http-adapter.d.ts +9 -0
  14. package/dist/serve/http/node-fetch-http-adapter.d.ts.map +1 -1
  15. package/dist/serve/http/node-fetch-http-adapter.js +17 -1
  16. package/dist/serve/http/node-fetch-http-adapter.js.map +1 -1
  17. package/dist/service/apigatewayv2/api/integration/sim-http-api-lambda-uri.d.ts +23 -4
  18. package/dist/service/apigatewayv2/api/integration/sim-http-api-lambda-uri.d.ts.map +1 -1
  19. package/dist/service/apigatewayv2/api/integration/sim-http-api-lambda-uri.js +56 -14
  20. package/dist/service/apigatewayv2/api/integration/sim-http-api-lambda-uri.js.map +1 -1
  21. package/dist/service/apigatewayv2/serve/auth/sim-http-api-authorizer-invocation.d.ts +1 -1
  22. package/dist/service/apigatewayv2/serve/auth/sim-http-api-authorizer-invocation.d.ts.map +1 -1
  23. package/dist/service/apigatewayv2/serve/auth/sim-http-api-invoke-authorizer.d.ts +7 -3
  24. package/dist/service/apigatewayv2/serve/auth/sim-http-api-invoke-authorizer.d.ts.map +1 -1
  25. package/dist/service/apigatewayv2/serve/auth/sim-http-api-invoke-authorizer.js +6 -2
  26. package/dist/service/apigatewayv2/serve/auth/sim-http-api-invoke-authorizer.js.map +1 -1
  27. package/dist/service/apigatewayv2/serve/sim-api-gateway-v2-router.d.ts +11 -12
  28. package/dist/service/apigatewayv2/serve/sim-api-gateway-v2-router.d.ts.map +1 -1
  29. package/dist/service/apigatewayv2/serve/sim-api-gateway-v2-router.js +15 -7
  30. package/dist/service/apigatewayv2/serve/sim-api-gateway-v2-router.js.map +1 -1
  31. package/dist/service/apigatewayv2/serve/sim-http-api-function-target.d.ts +17 -0
  32. package/dist/service/apigatewayv2/serve/sim-http-api-function-target.d.ts.map +1 -0
  33. package/dist/service/apigatewayv2/serve/sim-http-api-function-target.js +2 -0
  34. package/dist/service/apigatewayv2/serve/sim-http-api-function-target.js.map +1 -0
  35. package/dist/service/apigatewayv2/serve/sim-http-api-integration-invocation.d.ts.map +1 -1
  36. package/dist/service/apigatewayv2/serve/sim-http-api-integration-invocation.js +1 -1
  37. package/dist/service/apigatewayv2/serve/sim-http-api-integration-invocation.js.map +1 -1
  38. package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-matcher.js +1 -1
  39. package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-matcher.js.map +1 -1
  40. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts.map +1 -1
  41. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +2 -2
  42. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js.map +1 -1
  43. package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts.map +1 -1
  44. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +2 -2
  45. package/dist/service/cloudformation/command/update-stack/update-stack.handler.js.map +1 -1
  46. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts.map +1 -1
  47. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +3 -3
  48. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js.map +1 -1
  49. package/dist/service/cloudformation/deploy/sim-cfn-template-file-parse.d.ts +10 -0
  50. package/dist/service/cloudformation/deploy/sim-cfn-template-file-parse.d.ts.map +1 -0
  51. package/dist/service/cloudformation/deploy/sim-cfn-template-file-parse.js +30 -0
  52. package/dist/service/cloudformation/deploy/sim-cfn-template-file-parse.js.map +1 -0
  53. package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.d.ts +2 -4
  54. package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.d.ts.map +1 -1
  55. package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.js +2 -3
  56. package/dist/service/cloudformation/deploy/sim-cfn-template-file-read.js.map +1 -1
  57. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.d.ts.map +1 -1
  58. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js +11 -0
  59. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js.map +1 -1
  60. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-alias-cfn.d.ts +29 -0
  61. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-alias-cfn.d.ts.map +1 -0
  62. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-alias-cfn.js +31 -0
  63. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-alias-cfn.js.map +1 -0
  64. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-version-cfn.d.ts +35 -0
  65. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-version-cfn.d.ts.map +1 -0
  66. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-version-cfn.js +40 -0
  67. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-version-cfn.js.map +1 -0
  68. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-stage.d.ts +20 -0
  69. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-stage.d.ts.map +1 -0
  70. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-stage.js +80 -0
  71. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-stage.js.map +1 -0
  72. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.d.ts +46 -0
  73. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.d.ts.map +1 -0
  74. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +103 -0
  75. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js.map +1 -0
  76. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +28 -0
  77. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts.map +1 -0
  78. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +81 -0
  79. package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js.map +1 -0
  80. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +52 -0
  81. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts.map +1 -0
  82. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +38 -0
  83. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js.map +1 -0
  84. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-bridge-rule-event.d.ts +16 -0
  85. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-bridge-rule-event.d.ts.map +1 -0
  86. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-bridge-rule-event.js +21 -0
  87. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-bridge-rule-event.js.map +1 -0
  88. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-rule.d.ts +26 -0
  89. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-rule.d.ts.map +1 -0
  90. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-rule.js +84 -0
  91. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-rule.js.map +1 -0
  92. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-kind.d.ts +24 -0
  93. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-kind.d.ts.map +1 -0
  94. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-kind.js +41 -0
  95. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-kind.js.map +1 -0
  96. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-mapping-event.d.ts +20 -0
  97. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-mapping-event.d.ts.map +1 -0
  98. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-mapping-event.js +56 -0
  99. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-mapping-event.js.map +1 -0
  100. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-role.d.ts +11 -0
  101. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-role.d.ts.map +1 -0
  102. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-role.js +57 -0
  103. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source-role.js.map +1 -0
  104. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source.resources.d.ts +25 -0
  105. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source.resources.d.ts.map +1 -0
  106. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source.resources.js +42 -0
  107. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-source.resources.js.map +1 -0
  108. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-state.d.ts +17 -0
  109. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-state.d.ts.map +1 -0
  110. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-state.js +26 -0
  111. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-event-state.js.map +1 -0
  112. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.d.ts +32 -0
  113. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.d.ts.map +1 -0
  114. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +70 -0
  115. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js.map +1 -0
  116. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.d.ts +20 -0
  117. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.d.ts.map +1 -0
  118. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +71 -0
  119. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js.map +1 -0
  120. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-permission.d.ts +14 -0
  121. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-permission.d.ts.map +1 -0
  122. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-permission.js +38 -0
  123. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-permission.js.map +1 -0
  124. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +18 -0
  125. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts.map +1 -0
  126. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +56 -0
  127. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js.map +1 -0
  128. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +20 -0
  129. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts.map +1 -0
  130. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +41 -0
  131. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js.map +1 -0
  132. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-resource-edit.d.ts +29 -0
  133. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-resource-edit.d.ts.map +1 -0
  134. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-resource-edit.js +23 -0
  135. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-resource-edit.js.map +1 -0
  136. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-s3-event.d.ts +33 -0
  137. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-s3-event.d.ts.map +1 -0
  138. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-s3-event.js +103 -0
  139. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-s3-event.js.map +1 -0
  140. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-s3-notified-bucket.d.ts +22 -0
  141. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-s3-notified-bucket.d.ts.map +1 -0
  142. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-s3-notified-bucket.js +76 -0
  143. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-s3-notified-bucket.js.map +1 -0
  144. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-schedule-event.d.ts +17 -0
  145. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-schedule-event.d.ts.map +1 -0
  146. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-schedule-event.js +22 -0
  147. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-schedule-event.js.map +1 -0
  148. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-schedule-v2-event.d.ts +15 -0
  149. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-schedule-v2-event.d.ts.map +1 -0
  150. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-schedule-v2-event.js +97 -0
  151. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-schedule-v2-event.js.map +1 -0
  152. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-sns-event.d.ts +23 -0
  153. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-sns-event.d.ts.map +1 -0
  154. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-sns-event.js +60 -0
  155. package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-sns-event.js.map +1 -0
  156. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-policies.d.ts +31 -0
  157. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-policies.d.ts.map +1 -0
  158. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-policies.js +74 -0
  159. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-policies.js.map +1 -0
  160. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-properties.d.ts +24 -0
  161. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-properties.d.ts.map +1 -0
  162. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-properties.js +67 -0
  163. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-properties.js.map +1 -0
  164. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-role.d.ts +18 -0
  165. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-role.d.ts.map +1 -0
  166. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-role.js +35 -0
  167. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-role.js.map +1 -0
  168. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +45 -0
  169. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts.map +1 -0
  170. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +50 -0
  171. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js.map +1 -0
  172. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.d.ts +19 -0
  173. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.d.ts.map +1 -0
  174. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +37 -0
  175. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js.map +1 -0
  176. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +44 -0
  177. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts.map +1 -0
  178. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +74 -0
  179. package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js.map +1 -0
  180. package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.d.ts +18 -0
  181. package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.d.ts.map +1 -0
  182. package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +83 -0
  183. package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js.map +1 -0
  184. package/dist/service/cloudformation/sam/sim-cfn-sam-globals.d.ts +36 -0
  185. package/dist/service/cloudformation/sam/sim-cfn-sam-globals.d.ts.map +1 -0
  186. package/dist/service/cloudformation/sam/sim-cfn-sam-globals.js +76 -0
  187. package/dist/service/cloudformation/sam/sim-cfn-sam-globals.js.map +1 -0
  188. package/dist/service/cloudformation/sam/sim-cfn-sam-picked.d.ts +10 -0
  189. package/dist/service/cloudformation/sam/sim-cfn-sam-picked.d.ts.map +1 -0
  190. package/dist/service/cloudformation/sam/sim-cfn-sam-picked.js +11 -0
  191. package/dist/service/cloudformation/sam/sim-cfn-sam-picked.js.map +1 -0
  192. package/dist/service/cloudformation/sam/sim-cfn-sam-record.d.ts +40 -0
  193. package/dist/service/cloudformation/sam/sim-cfn-sam-record.d.ts.map +1 -0
  194. package/dist/service/cloudformation/sam/sim-cfn-sam-record.js +50 -0
  195. package/dist/service/cloudformation/sam/sim-cfn-sam-record.js.map +1 -0
  196. package/dist/service/cloudformation/sam/sim-cfn-sam-transform.d.ts +23 -0
  197. package/dist/service/cloudformation/sam/sim-cfn-sam-transform.d.ts.map +1 -0
  198. package/dist/service/cloudformation/sam/sim-cfn-sam-transform.js +48 -0
  199. package/dist/service/cloudformation/sam/sim-cfn-sam-transform.js.map +1 -0
  200. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table-key.d.ts +18 -0
  201. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table-key.d.ts.map +1 -0
  202. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table-key.js +52 -0
  203. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table-key.js.map +1 -0
  204. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table-template.factory.d.ts +40 -0
  205. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table-template.factory.d.ts.map +1 -0
  206. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table-template.factory.js +47 -0
  207. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table-template.factory.js.map +1 -0
  208. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table.d.ts +25 -0
  209. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table.d.ts.map +1 -0
  210. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table.js +77 -0
  211. package/dist/service/cloudformation/sam/table/sim-cfn-sam-simple-table.js.map +1 -0
  212. package/dist/service/cloudformation/template/sim-cfn-template-body-parse.d.ts +19 -0
  213. package/dist/service/cloudformation/template/sim-cfn-template-body-parse.d.ts.map +1 -0
  214. package/dist/service/cloudformation/template/sim-cfn-template-body-parse.js +36 -0
  215. package/dist/service/cloudformation/template/sim-cfn-template-body-parse.js.map +1 -0
  216. package/dist/service/cloudformation/template/sim-cfn-template.d.ts +11 -4
  217. package/dist/service/cloudformation/template/sim-cfn-template.d.ts.map +1 -1
  218. package/dist/service/cloudformation/template/sim-cfn-template.js +16 -13
  219. package/dist/service/cloudformation/template/sim-cfn-template.js.map +1 -1
  220. package/dist/service/cloudformation/template/yaml/sim-cfn-template-yaml.d.ts +11 -0
  221. package/dist/service/cloudformation/template/yaml/sim-cfn-template-yaml.d.ts.map +1 -0
  222. package/dist/service/cloudformation/template/yaml/sim-cfn-template-yaml.js +41 -0
  223. package/dist/service/cloudformation/template/yaml/sim-cfn-template-yaml.js.map +1 -0
  224. package/dist/service/cloudformation/template/yaml/sim-cfn-yaml-short-forms.d.ts +17 -0
  225. package/dist/service/cloudformation/template/yaml/sim-cfn-yaml-short-forms.d.ts.map +1 -0
  226. package/dist/service/cloudformation/template/yaml/sim-cfn-yaml-short-forms.js +70 -0
  227. package/dist/service/cloudformation/template/yaml/sim-cfn-yaml-short-forms.js.map +1 -0
  228. package/dist/service/cloudfront/cff/adapter/sim-cff-request-metadata-adapter.d.ts +23 -0
  229. package/dist/service/cloudfront/cff/adapter/sim-cff-request-metadata-adapter.d.ts.map +1 -1
  230. package/dist/service/cloudfront/cff/adapter/sim-cff-request-metadata-adapter.js +64 -22
  231. package/dist/service/cloudfront/cff/adapter/sim-cff-request-metadata-adapter.js.map +1 -1
  232. package/dist/service/cloudfront/typings/cloudfront-functions.namespace.d.ts +1 -1
  233. package/dist/service/cloudfront/typings/cloudfront-functions.namespace.d.ts.map +1 -1
  234. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.d.ts +1 -1
  235. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.d.ts.map +1 -1
  236. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js +26 -19
  237. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js.map +1 -1
  238. package/dist/service/elbv2/serve/sim-elbv2-invoke-authorizer.js +1 -1
  239. package/dist/service/elbv2/serve/sim-elbv2-invoke-authorizer.js.map +1 -1
  240. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-function.d.ts +5 -3
  241. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-function.d.ts.map +1 -1
  242. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-function.js +14 -9
  243. package/dist/service/eventbridge/delivery/sim-event-bridge-delivery-function.js.map +1 -1
  244. package/dist/service/eventbridge/target/sim-event-target-arn.d.ts +13 -6
  245. package/dist/service/eventbridge/target/sim-event-target-arn.d.ts.map +1 -1
  246. package/dist/service/eventbridge/target/sim-event-target-arn.js +17 -7
  247. package/dist/service/eventbridge/target/sim-event-target-arn.js.map +1 -1
  248. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.d.ts +30 -0
  249. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.d.ts.map +1 -0
  250. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.js +41 -0
  251. package/dist/service/lambda/cfn/alias/sim-cfn-lambda-alias-creator.js.map +1 -0
  252. package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.js +1 -1
  253. package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.js.map +1 -1
  254. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts +12 -1
  255. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts.map +1 -1
  256. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js +15 -3
  257. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js.map +1 -1
  258. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +6 -1
  259. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts.map +1 -1
  260. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +11 -5
  261. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js.map +1 -1
  262. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.d.ts +12 -0
  263. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.d.ts.map +1 -0
  264. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.js +22 -0
  265. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-revoker.js.map +1 -0
  266. package/dist/service/lambda/cfn/sim-cfn-lambda-created-resource.d.ts +10 -0
  267. package/dist/service/lambda/cfn/sim-cfn-lambda-created-resource.d.ts.map +1 -0
  268. package/dist/service/lambda/cfn/sim-cfn-lambda-created-resource.js +14 -0
  269. package/dist/service/lambda/cfn/sim-cfn-lambda-created-resource.js.map +1 -0
  270. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts +2 -6
  271. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts.map +1 -1
  272. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js +24 -19
  273. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js.map +1 -1
  274. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -0
  275. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts.map +1 -1
  276. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -0
  277. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js.map +1 -1
  278. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.d.ts +31 -0
  279. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.d.ts.map +1 -0
  280. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.js +40 -0
  281. package/dist/service/lambda/cfn/version/sim-cfn-lambda-version-creator.js.map +1 -0
  282. package/dist/service/lambda/command/add-permission/add-permission.command.d.ts +1 -0
  283. package/dist/service/lambda/command/add-permission/add-permission.command.d.ts.map +1 -1
  284. package/dist/service/lambda/command/add-permission/add-permission.handler.d.ts +8 -1
  285. package/dist/service/lambda/command/add-permission/add-permission.handler.d.ts.map +1 -1
  286. package/dist/service/lambda/command/add-permission/add-permission.handler.js +13 -6
  287. package/dist/service/lambda/command/add-permission/add-permission.handler.js.map +1 -1
  288. package/dist/service/lambda/command/alias/alias-input.d.ts +21 -0
  289. package/dist/service/lambda/command/alias/alias-input.d.ts.map +1 -0
  290. package/dist/service/lambda/command/alias/alias-input.js +30 -0
  291. package/dist/service/lambda/command/alias/alias-input.js.map +1 -0
  292. package/dist/service/lambda/command/alias/sim-lambda-alias-commands.d.ts +52 -0
  293. package/dist/service/lambda/command/alias/sim-lambda-alias-commands.d.ts.map +1 -0
  294. package/dist/service/lambda/command/alias/sim-lambda-alias-commands.js +49 -0
  295. package/dist/service/lambda/command/alias/sim-lambda-alias-commands.js.map +1 -0
  296. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts +9 -7
  297. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts.map +1 -1
  298. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.js +11 -9
  299. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.js.map +1 -1
  300. package/dist/service/lambda/command/authorize/sim-lambda-service-invoke-authorizer.d.ts +10 -2
  301. package/dist/service/lambda/command/authorize/sim-lambda-service-invoke-authorizer.d.ts.map +1 -1
  302. package/dist/service/lambda/command/authorize/sim-lambda-service-invoke-authorizer.js +2 -2
  303. package/dist/service/lambda/command/authorize/sim-lambda-service-invoke-authorizer.js.map +1 -1
  304. package/dist/service/lambda/command/create-alias/create-alias.command.d.ts +31 -0
  305. package/dist/service/lambda/command/create-alias/create-alias.command.d.ts.map +1 -0
  306. package/dist/service/lambda/command/create-alias/create-alias.command.js +5 -0
  307. package/dist/service/lambda/command/create-alias/create-alias.command.js.map +1 -0
  308. package/dist/service/lambda/command/create-alias/create-alias.handler.d.ts +35 -0
  309. package/dist/service/lambda/command/create-alias/create-alias.handler.d.ts.map +1 -0
  310. package/dist/service/lambda/command/create-alias/create-alias.handler.js +52 -0
  311. package/dist/service/lambda/command/create-alias/create-alias.handler.js.map +1 -0
  312. package/dist/service/lambda/command/create-function/create-function.command.d.ts +1 -1
  313. package/dist/service/lambda/command/create-function/create-function.command.d.ts.map +1 -1
  314. package/dist/service/lambda/command/create-function/create-function.handler.d.ts.map +1 -1
  315. package/dist/service/lambda/command/create-function/create-function.handler.js +2 -1
  316. package/dist/service/lambda/command/create-function/create-function.handler.js.map +1 -1
  317. package/dist/service/lambda/command/delete-alias/delete-alias.command.d.ts +24 -0
  318. package/dist/service/lambda/command/delete-alias/delete-alias.command.d.ts.map +1 -0
  319. package/dist/service/lambda/command/delete-alias/delete-alias.command.js +5 -0
  320. package/dist/service/lambda/command/delete-alias/delete-alias.command.js.map +1 -0
  321. package/dist/service/lambda/command/delete-alias/delete-alias.handler.d.ts +37 -0
  322. package/dist/service/lambda/command/delete-alias/delete-alias.handler.d.ts.map +1 -0
  323. package/dist/service/lambda/command/delete-alias/delete-alias.handler.js +44 -0
  324. package/dist/service/lambda/command/delete-alias/delete-alias.handler.js.map +1 -0
  325. package/dist/service/lambda/command/delete-function/delete-function.handler.d.ts +6 -2
  326. package/dist/service/lambda/command/delete-function/delete-function.handler.d.ts.map +1 -1
  327. package/dist/service/lambda/command/delete-function/delete-function.handler.js +7 -3
  328. package/dist/service/lambda/command/delete-function/delete-function.handler.js.map +1 -1
  329. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +8 -0
  330. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts.map +1 -1
  331. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +11 -2
  332. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js.map +1 -1
  333. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.d.ts.map +1 -1
  334. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +13 -6
  335. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js.map +1 -1
  336. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +3 -1
  337. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts.map +1 -1
  338. package/dist/service/lambda/command/function/sim-lambda-function-commands.js +1 -1
  339. package/dist/service/lambda/command/function/sim-lambda-function-commands.js.map +1 -1
  340. package/dist/service/lambda/command/get-alias/get-alias.command.d.ts +25 -0
  341. package/dist/service/lambda/command/get-alias/get-alias.command.d.ts.map +1 -0
  342. package/dist/service/lambda/command/get-alias/get-alias.command.js +5 -0
  343. package/dist/service/lambda/command/get-alias/get-alias.command.js.map +1 -0
  344. package/dist/service/lambda/command/get-alias/get-alias.handler.d.ts +34 -0
  345. package/dist/service/lambda/command/get-alias/get-alias.handler.d.ts.map +1 -0
  346. package/dist/service/lambda/command/get-alias/get-alias.handler.js +38 -0
  347. package/dist/service/lambda/command/get-alias/get-alias.handler.js.map +1 -0
  348. package/dist/service/lambda/command/get-function/get-function.command.d.ts +2 -1
  349. package/dist/service/lambda/command/get-function/get-function.command.d.ts.map +1 -1
  350. package/dist/service/lambda/command/get-function/get-function.handler.d.ts +6 -2
  351. package/dist/service/lambda/command/get-function/get-function.handler.d.ts.map +1 -1
  352. package/dist/service/lambda/command/get-function/get-function.handler.js +13 -6
  353. package/dist/service/lambda/command/get-function/get-function.handler.js.map +1 -1
  354. package/dist/service/lambda/command/get-policy/get-policy.command.d.ts +1 -0
  355. package/dist/service/lambda/command/get-policy/get-policy.command.d.ts.map +1 -1
  356. package/dist/service/lambda/command/get-policy/get-policy.handler.d.ts +8 -3
  357. package/dist/service/lambda/command/get-policy/get-policy.handler.d.ts.map +1 -1
  358. package/dist/service/lambda/command/get-policy/get-policy.handler.js +11 -6
  359. package/dist/service/lambda/command/get-policy/get-policy.handler.js.map +1 -1
  360. package/dist/service/lambda/command/invoke/invoke-authorizer.d.ts +11 -8
  361. package/dist/service/lambda/command/invoke/invoke-authorizer.d.ts.map +1 -1
  362. package/dist/service/lambda/command/invoke/invoke-authorizer.js +11 -8
  363. package/dist/service/lambda/command/invoke/invoke-authorizer.js.map +1 -1
  364. package/dist/service/lambda/command/invoke/invoke-dispatcher.d.ts +3 -0
  365. package/dist/service/lambda/command/invoke/invoke-dispatcher.d.ts.map +1 -1
  366. package/dist/service/lambda/command/invoke/invoke-dispatcher.js +5 -2
  367. package/dist/service/lambda/command/invoke/invoke-dispatcher.js.map +1 -1
  368. package/dist/service/lambda/command/invoke/invoke.handler.d.ts +9 -2
  369. package/dist/service/lambda/command/invoke/invoke.handler.d.ts.map +1 -1
  370. package/dist/service/lambda/command/invoke/invoke.handler.js +20 -10
  371. package/dist/service/lambda/command/invoke/invoke.handler.js.map +1 -1
  372. package/dist/service/lambda/command/list-aliases/list-aliases.command.d.ts +30 -0
  373. package/dist/service/lambda/command/list-aliases/list-aliases.command.d.ts.map +1 -0
  374. package/dist/service/lambda/command/list-aliases/list-aliases.command.js +5 -0
  375. package/dist/service/lambda/command/list-aliases/list-aliases.command.js.map +1 -0
  376. package/dist/service/lambda/command/list-aliases/list-aliases.handler.d.ts +35 -0
  377. package/dist/service/lambda/command/list-aliases/list-aliases.handler.d.ts.map +1 -0
  378. package/dist/service/lambda/command/list-aliases/list-aliases.handler.js +44 -0
  379. package/dist/service/lambda/command/list-aliases/list-aliases.handler.js.map +1 -0
  380. package/dist/service/lambda/command/list-versions-by-function/list-versions-by-function.command.d.ts +28 -0
  381. package/dist/service/lambda/command/list-versions-by-function/list-versions-by-function.command.d.ts.map +1 -0
  382. package/dist/service/lambda/command/list-versions-by-function/list-versions-by-function.command.js +5 -0
  383. package/dist/service/lambda/command/list-versions-by-function/list-versions-by-function.command.js.map +1 -0
  384. package/dist/service/lambda/command/list-versions-by-function/list-versions-by-function.handler.d.ts +35 -0
  385. package/dist/service/lambda/command/list-versions-by-function/list-versions-by-function.handler.d.ts.map +1 -0
  386. package/dist/service/lambda/command/list-versions-by-function/list-versions-by-function.handler.js +43 -0
  387. package/dist/service/lambda/command/list-versions-by-function/list-versions-by-function.handler.js.map +1 -0
  388. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.d.ts +8 -3
  389. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.d.ts.map +1 -1
  390. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.js +6 -3
  391. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.js.map +1 -1
  392. package/dist/service/lambda/command/publish-version/publish-version.command.d.ts +34 -0
  393. package/dist/service/lambda/command/publish-version/publish-version.command.d.ts.map +1 -0
  394. package/dist/service/lambda/command/publish-version/publish-version.command.js +5 -0
  395. package/dist/service/lambda/command/publish-version/publish-version.command.js.map +1 -0
  396. package/dist/service/lambda/command/publish-version/publish-version.handler.d.ts +37 -0
  397. package/dist/service/lambda/command/publish-version/publish-version.handler.d.ts.map +1 -0
  398. package/dist/service/lambda/command/publish-version/publish-version.handler.js +42 -0
  399. package/dist/service/lambda/command/publish-version/publish-version.handler.js.map +1 -0
  400. package/dist/service/lambda/command/remove-permission/remove-permission.command.d.ts +1 -0
  401. package/dist/service/lambda/command/remove-permission/remove-permission.command.d.ts.map +1 -1
  402. package/dist/service/lambda/command/remove-permission/remove-permission.handler.d.ts +8 -1
  403. package/dist/service/lambda/command/remove-permission/remove-permission.handler.d.ts.map +1 -1
  404. package/dist/service/lambda/command/remove-permission/remove-permission.handler.js +12 -5
  405. package/dist/service/lambda/command/remove-permission/remove-permission.handler.js.map +1 -1
  406. package/dist/service/lambda/command/sim-lambda-command.types.d.ts +7 -0
  407. package/dist/service/lambda/command/sim-lambda-command.types.d.ts.map +1 -1
  408. package/dist/service/lambda/command/update-alias/update-alias.command.d.ts +31 -0
  409. package/dist/service/lambda/command/update-alias/update-alias.command.d.ts.map +1 -0
  410. package/dist/service/lambda/command/update-alias/update-alias.command.js +5 -0
  411. package/dist/service/lambda/command/update-alias/update-alias.command.js.map +1 -0
  412. package/dist/service/lambda/command/update-alias/update-alias.handler.d.ts +35 -0
  413. package/dist/service/lambda/command/update-alias/update-alias.handler.d.ts.map +1 -0
  414. package/dist/service/lambda/command/update-alias/update-alias.handler.js +48 -0
  415. package/dist/service/lambda/command/update-alias/update-alias.handler.js.map +1 -0
  416. package/dist/service/lambda/command/version/sim-lambda-version-commands.d.ts +37 -0
  417. package/dist/service/lambda/command/version/sim-lambda-version-commands.d.ts.map +1 -0
  418. package/dist/service/lambda/command/version/sim-lambda-version-commands.js +28 -0
  419. package/dist/service/lambda/command/version/sim-lambda-version-commands.js.map +1 -0
  420. package/dist/service/lambda/command/version/version-authorizer.d.ts +29 -0
  421. package/dist/service/lambda/command/version/version-authorizer.d.ts.map +1 -0
  422. package/dist/service/lambda/command/version/version-authorizer.js +39 -0
  423. package/dist/service/lambda/command/version/version-authorizer.js.map +1 -0
  424. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.d.ts.map +1 -1
  425. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.js +2 -1
  426. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-event-source-poller.js.map +1 -1
  427. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-function.d.ts +13 -0
  428. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-function.d.ts.map +1 -0
  429. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-function.js +13 -0
  430. package/dist/service/lambda/event-source/poll/sim-lambda-event-source-function.js.map +1 -0
  431. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-consumer.d.ts.map +1 -1
  432. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-consumer.js +2 -1
  433. package/dist/service/lambda/event-source/poll/sim-lambda-sqs-event-source-consumer.js.map +1 -1
  434. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +9 -1
  435. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts.map +1 -1
  436. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +8 -0
  437. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js.map +1 -1
  438. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +2 -0
  439. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts.map +1 -1
  440. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +2 -2
  441. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js.map +1 -1
  442. package/dist/service/lambda/function/policy/sim-lambda-policy-resource.d.ts +17 -0
  443. package/dist/service/lambda/function/policy/sim-lambda-policy-resource.d.ts.map +1 -0
  444. package/dist/service/lambda/function/policy/sim-lambda-policy-resource.js +2 -0
  445. package/dist/service/lambda/function/policy/sim-lambda-policy-resource.js.map +1 -0
  446. package/dist/service/lambda/function/sim-lambda-function-arn-parts.d.ts +3 -3
  447. package/dist/service/lambda/function/sim-lambda-function-configuration.d.ts +43 -0
  448. package/dist/service/lambda/function/sim-lambda-function-configuration.d.ts.map +1 -0
  449. package/dist/service/lambda/function/sim-lambda-function-configuration.js +22 -0
  450. package/dist/service/lambda/function/sim-lambda-function-configuration.js.map +1 -0
  451. package/dist/service/lambda/function/sim-lambda-function-name.d.ts +3 -1
  452. package/dist/service/lambda/function/sim-lambda-function-name.d.ts.map +1 -1
  453. package/dist/service/lambda/function/sim-lambda-function-name.js +3 -1
  454. package/dist/service/lambda/function/sim-lambda-function-name.js.map +1 -1
  455. package/dist/service/lambda/function/sim-lambda-function-reference.d.ts +36 -0
  456. package/dist/service/lambda/function/sim-lambda-function-reference.d.ts.map +1 -0
  457. package/dist/service/lambda/function/sim-lambda-function-reference.js +56 -0
  458. package/dist/service/lambda/function/sim-lambda-function-reference.js.map +1 -0
  459. package/dist/service/lambda/function/sim-lambda-function.d.ts +17 -31
  460. package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
  461. package/dist/service/lambda/function/sim-lambda-function.js +28 -12
  462. package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
  463. package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts +22 -3
  464. package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts.map +1 -1
  465. package/dist/service/lambda/function/url/sim-lambda-function-lookup.js +24 -4
  466. package/dist/service/lambda/function/url/sim-lambda-function-lookup.js.map +1 -1
  467. package/dist/service/lambda/function/version/sim-lambda-function-alias-store.d.ts +55 -0
  468. package/dist/service/lambda/function/version/sim-lambda-function-alias-store.d.ts.map +1 -0
  469. package/dist/service/lambda/function/version/sim-lambda-function-alias-store.js +80 -0
  470. package/dist/service/lambda/function/version/sim-lambda-function-alias-store.js.map +1 -0
  471. package/dist/service/lambda/function/version/sim-lambda-function-alias.d.ts +60 -0
  472. package/dist/service/lambda/function/version/sim-lambda-function-alias.d.ts.map +1 -0
  473. package/dist/service/lambda/function/version/sim-lambda-function-alias.js +57 -0
  474. package/dist/service/lambda/function/version/sim-lambda-function-alias.js.map +1 -0
  475. package/dist/service/lambda/function/version/sim-lambda-function-target.d.ts +16 -0
  476. package/dist/service/lambda/function/version/sim-lambda-function-target.d.ts.map +1 -0
  477. package/dist/service/lambda/function/version/sim-lambda-function-target.js +2 -0
  478. package/dist/service/lambda/function/version/sim-lambda-function-target.js.map +1 -0
  479. package/dist/service/lambda/function/version/sim-lambda-function-version-store.d.ts +80 -0
  480. package/dist/service/lambda/function/version/sim-lambda-function-version-store.d.ts.map +1 -0
  481. package/dist/service/lambda/function/version/sim-lambda-function-version-store.js +114 -0
  482. package/dist/service/lambda/function/version/sim-lambda-function-version-store.js.map +1 -0
  483. package/dist/service/lambda/function/version/sim-lambda-function-versions.d.ts +61 -0
  484. package/dist/service/lambda/function/version/sim-lambda-function-versions.d.ts.map +1 -0
  485. package/dist/service/lambda/function/version/sim-lambda-function-versions.js +96 -0
  486. package/dist/service/lambda/function/version/sim-lambda-function-versions.js.map +1 -0
  487. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.d.ts.map +1 -1
  488. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js +28 -0
  489. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js.map +1 -1
  490. package/dist/service/lambda/serve/api/sim-lambda-api-routes.d.ts +2 -1
  491. package/dist/service/lambda/serve/api/sim-lambda-api-routes.d.ts.map +1 -1
  492. package/dist/service/lambda/serve/api/sim-lambda-api-routes.js +2 -1
  493. package/dist/service/lambda/serve/api/sim-lambda-api-routes.js.map +1 -1
  494. package/dist/service/lambda/sim-lambda-commands.d.ts +8 -0
  495. package/dist/service/lambda/sim-lambda-commands.d.ts.map +1 -1
  496. package/dist/service/lambda/sim-lambda-commands.js +25 -0
  497. package/dist/service/lambda/sim-lambda-commands.js.map +1 -1
  498. package/dist/service/lambda/sim-lambda-inspection.d.ts +43 -0
  499. package/dist/service/lambda/sim-lambda-inspection.d.ts.map +1 -0
  500. package/dist/service/lambda/sim-lambda-inspection.js +50 -0
  501. package/dist/service/lambda/sim-lambda-inspection.js.map +1 -0
  502. package/dist/service/lambda/sim-lambda.d.ts +44 -80
  503. package/dist/service/lambda/sim-lambda.d.ts.map +1 -1
  504. package/dist/service/lambda/sim-lambda.js +55 -82
  505. package/dist/service/lambda/sim-lambda.js.map +1 -1
  506. package/dist/service/logs/subscription/lambda/sim-aws-logs-subscription-functions.d.ts.map +1 -1
  507. package/dist/service/logs/subscription/lambda/sim-aws-logs-subscription-functions.js +2 -2
  508. package/dist/service/logs/subscription/lambda/sim-aws-logs-subscription-functions.js.map +1 -1
  509. package/dist/service/logs/subscription/lambda/sim-logs-destination-permission.d.ts +7 -5
  510. package/dist/service/logs/subscription/lambda/sim-logs-destination-permission.d.ts.map +1 -1
  511. package/dist/service/logs/subscription/lambda/sim-logs-destination-permission.js +15 -9
  512. package/dist/service/logs/subscription/lambda/sim-logs-destination-permission.js.map +1 -1
  513. package/dist/service/logs/subscription/lambda/sim-logs-subscription-function-arn.d.ts +9 -0
  514. package/dist/service/logs/subscription/lambda/sim-logs-subscription-function-arn.d.ts.map +1 -1
  515. package/dist/service/logs/subscription/lambda/sim-logs-subscription-function-arn.js +11 -5
  516. package/dist/service/logs/subscription/lambda/sim-logs-subscription-function-arn.js.map +1 -1
  517. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.d.ts +1 -1
  518. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.d.ts.map +1 -1
  519. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +23 -10
  520. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js.map +1 -1
  521. package/dist/service/s3/notification/destination/lambda/sim-s3-notification-function-arn.d.ts +8 -4
  522. package/dist/service/s3/notification/destination/lambda/sim-s3-notification-function-arn.d.ts.map +1 -1
  523. package/dist/service/s3/notification/destination/lambda/sim-s3-notification-function-arn.js +12 -12
  524. package/dist/service/s3/notification/destination/lambda/sim-s3-notification-function-arn.js.map +1 -1
  525. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts +5 -4
  526. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.d.ts.map +1 -1
  527. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js +16 -11
  528. package/dist/service/sns/delivery/lambda/sim-sns-delivery-function.js.map +1 -1
  529. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts +8 -4
  530. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.d.ts.map +1 -1
  531. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js +11 -10
  532. package/dist/service/sns/subscription/sim-sns-function-endpoint-arn.js.map +1 -1
  533. package/package.json +4 -2
package/README.md CHANGED
@@ -46,6 +46,7 @@ npm i -D @kensio/yulin
46
46
 
47
47
  ## Feature specific docs
48
48
 
49
+ - [AI skill](./docs/ai-skill "Yulin AI skill docs")
49
50
  - [The AWS CLI](./docs/cli "The AWS CLI against simulated AWS docs")
50
51
  - [AWS SDK interception](./docs/sdk "Simulated AWS SDK docs")
51
52
  - [Serving on localhost](./docs/serve "Serving simulated AWS on localhost docs")
@@ -0,0 +1,55 @@
1
+ import type { SimAws } from "../../../service/aws/sim-aws.js";
2
+ interface SimAwsLocalLocationProperties {
3
+ readonly simAws: SimAws;
4
+ /**
5
+ * Where the port this server took is read from, since a response is
6
+ * localised long after the server was built.
7
+ */
8
+ readonly port: () => string;
9
+ }
10
+ /**
11
+ * Puts a `Location` header naming a simulated hostname into the localhost form
12
+ * a browser can follow.
13
+ *
14
+ * A simulated service redirects to the hostname it would use against real AWS.
15
+ * A browser handed that hostname leaves the simulation and goes to the public
16
+ * internet. The localhost form is the address the same environment answers on,
17
+ * and it is what `srv.localUrl` gives a caller holding a simulated URL. Both
18
+ * ends of a redirect now agree.
19
+ *
20
+ * A hostname this simulation resolves is rewritten, and everything else is
21
+ * passed on as the service wrote it, including a redirect to a real address.
22
+ * The hostname is read the way an arriving request's is read. A redirect to
23
+ * `www.example.com` and a request for `www.example.com` reach the same place.
24
+ *
25
+ * The scheme goes with the host, because the local form is served over HTTP.
26
+ *
27
+ * Only the local server does this. `SimAwsHttp` answers in the process that
28
+ * built the environment and reaches every simulated hostname by its own name.
29
+ * A test using it sees the hostname the service issued.
30
+ */
31
+ export declare class SimAwsLocalLocation {
32
+ private readonly simAws;
33
+ private readonly port;
34
+ constructor(properties: SimAwsLocalLocationProperties);
35
+ /**
36
+ * Return the response a client should get, with its `Location` header
37
+ * localised where that header names a simulated hostname.
38
+ */
39
+ localise(response: Response): Response;
40
+ /**
41
+ * The local address a `Location` header points at, where the simulation
42
+ * serves what it named.
43
+ *
44
+ * A relative location is left alone. It is already relative to a hostname
45
+ * the client reached this server by.
46
+ */
47
+ private localUrl;
48
+ /**
49
+ * Whether simulated Route53 resolves a hostname to a service of this
50
+ * simulation.
51
+ */
52
+ private resolves;
53
+ }
54
+ export {};
55
+ //# sourceMappingURL=sim-aws-local-location.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-local-location.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/local-server/sim-aws-local-location.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAG9D,UAAU,6BAA6B;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IAEpC,YAAY,UAAU,EAAE,6BAA6B,EAGpD;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAqBrC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ;IAmBhB;;;OAGG;IACH,OAAO,CAAC,QAAQ;CAGjB"}
@@ -0,0 +1,80 @@
1
+ import { SimAwsLocalUrl } from "../url/sim-aws-local-url.js";
2
+ /**
3
+ * Puts a `Location` header naming a simulated hostname into the localhost form
4
+ * a browser can follow.
5
+ *
6
+ * A simulated service redirects to the hostname it would use against real AWS.
7
+ * A browser handed that hostname leaves the simulation and goes to the public
8
+ * internet. The localhost form is the address the same environment answers on,
9
+ * and it is what `srv.localUrl` gives a caller holding a simulated URL. Both
10
+ * ends of a redirect now agree.
11
+ *
12
+ * A hostname this simulation resolves is rewritten, and everything else is
13
+ * passed on as the service wrote it, including a redirect to a real address.
14
+ * The hostname is read the way an arriving request's is read. A redirect to
15
+ * `www.example.com` and a request for `www.example.com` reach the same place.
16
+ *
17
+ * The scheme goes with the host, because the local form is served over HTTP.
18
+ *
19
+ * Only the local server does this. `SimAwsHttp` answers in the process that
20
+ * built the environment and reaches every simulated hostname by its own name.
21
+ * A test using it sees the hostname the service issued.
22
+ */
23
+ export class SimAwsLocalLocation {
24
+ simAws;
25
+ port;
26
+ constructor(properties) {
27
+ this.simAws = properties.simAws;
28
+ this.port = properties.port;
29
+ }
30
+ /**
31
+ * Return the response a client should get, with its `Location` header
32
+ * localised where that header names a simulated hostname.
33
+ */
34
+ localise(response) {
35
+ const location = response.headers.get("location");
36
+ if (location === null) {
37
+ return response;
38
+ }
39
+ const localUrl = this.localUrl(location);
40
+ if (localUrl === undefined) {
41
+ return response;
42
+ }
43
+ const headers = new Headers(response.headers);
44
+ headers.set("location", localUrl.href);
45
+ return new Response(response.body, {
46
+ status: response.status,
47
+ statusText: response.statusText,
48
+ headers,
49
+ });
50
+ }
51
+ /**
52
+ * The local address a `Location` header points at, where the simulation
53
+ * serves what it named.
54
+ *
55
+ * A relative location is left alone. It is already relative to a hostname
56
+ * the client reached this server by.
57
+ */
58
+ localUrl(location) {
59
+ const url = URL.parse(location);
60
+ if (url === null) {
61
+ return undefined;
62
+ }
63
+ const localUrl = new SimAwsLocalUrl({
64
+ input: url,
65
+ port: this.port(),
66
+ }).toURL();
67
+ if (this.resolves(url.hostname) || this.resolves(localUrl.hostname)) {
68
+ return localUrl;
69
+ }
70
+ return undefined;
71
+ }
72
+ /**
73
+ * Whether simulated Route53 resolves a hostname to a service of this
74
+ * simulation.
75
+ */
76
+ resolves(hostname) {
77
+ return this.simAws.route53().resolveHttpHost(hostname) !== undefined;
78
+ }
79
+ }
80
+ //# sourceMappingURL=sim-aws-local-location.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-local-location.js","sourceRoot":"","sources":["../../../../src/serve/http/local-server/sim-aws-local-location.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAY7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,mBAAmB;IACb,MAAM,CAAS;IACf,IAAI,CAAe;IAEpC,YAAY,UAAyC;QACnD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,QAAkB;QACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEvC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE;YACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,QAAQ,CAAC,QAAgB;QAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEhC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC;YAClC,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;SAClB,CAAC,CAAC,KAAK,EAAE,CAAC;QAEX,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACK,QAAQ,CAAC,QAAgB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC;IACvE,CAAC;CACF"}
@@ -1,8 +1,10 @@
1
1
  import type { IncomingMessage, ServerResponse } from "node:http";
2
2
  import type { SimAwsHttp } from "../sim-aws-http.js";
3
3
  import type { SimLiveReload } from "../live-reload/sim-live-reload.js";
4
+ import type { SimAwsLocalLocation } from "./sim-aws-local-location.js";
4
5
  interface SimAwsLocalRequestHandlerProperties {
5
6
  readonly simAwsHttp: SimAwsHttp;
7
+ readonly location: SimAwsLocalLocation;
6
8
  readonly liveReload?: SimLiveReload;
7
9
  }
8
10
  /**
@@ -17,9 +19,14 @@ interface SimAwsLocalRequestHandlerProperties {
17
19
  * interface is also the SDK interception path and the in-process test path, so
18
20
  * keeping the reload channel and the injected script out here means only a real
19
21
  * browser talking to the local server ever sees either of them.
22
+ *
23
+ * A `Location` header is localised out here for the same reason. Only a client
24
+ * that reached the simulation over a socket needs an address it can open
25
+ * another one to.
20
26
  */
21
27
  export declare class SimAwsLocalRequestHandler {
22
28
  private readonly simAwsHttp;
29
+ private readonly location;
23
30
  private readonly liveReload;
24
31
  private readonly nodeFetchHttpAdapter;
25
32
  constructor(properties: SimAwsLocalRequestHandlerProperties);
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-local-request-handler.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/local-server/sim-aws-local-request-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8B;IAEnE,YAAY,UAAU,EAAE,mCAAmC,EAI1D;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,GAAG,IAAI,CAUvE;YAEa,OAAO;YAcP,MAAM;IAWpB,OAAO,CAAC,gBAAgB;CAgBzB"}
1
+ {"version":3,"file":"sim-aws-local-request-handler.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/local-server/sim-aws-local-request-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA8B;IAEnE,YAAY,UAAU,EAAE,mCAAmC,EAK1D;IAED;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,GAAG,IAAI,CAUvE;YAEa,OAAO;YAcP,MAAM;IAapB,OAAO,CAAC,gBAAgB;CAgBzB"}
@@ -11,14 +11,20 @@ import { NodeFetchHttpAdapter } from "../node-fetch-http-adapter.js";
11
11
  * interface is also the SDK interception path and the in-process test path, so
12
12
  * keeping the reload channel and the injected script out here means only a real
13
13
  * browser talking to the local server ever sees either of them.
14
+ *
15
+ * A `Location` header is localised out here for the same reason. Only a client
16
+ * that reached the simulation over a socket needs an address it can open
17
+ * another one to.
14
18
  */
15
19
  export class SimAwsLocalRequestHandler {
16
20
  simAwsHttp;
21
+ location;
17
22
  liveReload;
18
23
  nodeFetchHttpAdapter = new NodeFetchHttpAdapter();
19
24
  constructor(properties) {
20
- const { simAwsHttp, liveReload } = properties;
25
+ const { simAwsHttp, location, liveReload } = properties;
21
26
  this.simAwsHttp = simAwsHttp;
27
+ this.location = location;
22
28
  this.liveReload = liveReload;
23
29
  }
24
30
  /**
@@ -41,10 +47,11 @@ export class SimAwsLocalRequestHandler {
41
47
  await this.nodeFetchHttpAdapter.sendFetchResponse(nodeResponse, await this.served(request, response));
42
48
  }
43
49
  async served(request, response) {
50
+ const located = this.location.localise(response);
44
51
  if (this.liveReload === undefined) {
45
- return response;
52
+ return located;
46
53
  }
47
- return this.liveReload.injectInto(request, response);
54
+ return this.liveReload.injectInto(request, located);
48
55
  }
49
56
  respondWithError(error, nodeResponse) {
50
57
  /* v8 ignore if */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-local-request-handler.js","sourceRoot":"","sources":["../../../../src/serve/http/local-server/sim-aws-local-request-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AASrE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,yBAAyB;IACnB,UAAU,CAAa;IACvB,UAAU,CAA4B;IACtC,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAEnE,YAAY,UAA+C;QACzD,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAA4B,EAAE,YAA4B;QAC/D,IAAI,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC/D,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,WAA4B,EAC5B,YAA4B;QAE5B,MAAM,OAAO,GACX,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE9D,MAAM,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAC/C,YAAY,EACZ,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CACrC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,MAAM,CAClB,OAAgB,EAChB,QAAkB;QAElB,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAEO,gBAAgB,CAAC,KAAc,EAAE,YAA4B;QACnE,kBAAkB;QAClB,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAC9B,YAAY,CAAC,UAAU,GAAG,GAAG,CAAC;YAC9B,YAAY,CAAC,SAAS,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC;QAE5E,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;CACF"}
1
+ {"version":3,"file":"sim-aws-local-request-handler.js","sourceRoot":"","sources":["../../../../src/serve/http/local-server/sim-aws-local-request-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAWrE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,yBAAyB;IACnB,UAAU,CAAa;IACvB,QAAQ,CAAsB;IAC9B,UAAU,CAA4B;IACtC,oBAAoB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAEnE,YAAY,UAA+C;QACzD,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,WAA4B,EAAE,YAA4B;QAC/D,IAAI,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC/D,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,WAA4B,EAC5B,YAA4B;QAE5B,MAAM,OAAO,GACX,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAE9D,MAAM,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAC/C,YAAY,EACZ,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CACrC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,MAAM,CAClB,OAAgB,EAChB,QAAkB;QAElB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAEO,gBAAgB,CAAC,KAAc,EAAE,YAA4B;QACnE,kBAAkB;QAClB,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YAC9B,YAAY,CAAC,UAAU,GAAG,GAAG,CAAC;YAC9B,YAAY,CAAC,SAAS,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,CAAC;QAE5E,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-local-server.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/local-server/sim-aws-local-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AASzD,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,0CAA0C,CAAC;AAElD,UAAU,2BAA2B;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD,YAAY,UAAU,GAAE,2BAAgC,EAcvD;IAED;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,CAAC,IAAI,GAAE,MAAsC,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;OAMG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ3B;IAED;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,IAAI,CAI/D;IAED;;;;;;OAMG;IACH,MAAM,IAAI,IAAI,CAEb;IAED;;;;;;OAMG;IACH,WAAW,IAAI,IAAI,CAElB;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,CAGjC;CACF;AAED,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,UAAU,GAAE,qBAA0B,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAQ5B"}
1
+ {"version":3,"file":"sim-aws-local-server.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/local-server/sim-aws-local-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAUzD,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,0CAA0C,CAAC;AAElD,UAAU,2BAA2B;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4B;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAEhD,YAAY,UAAU,GAAE,2BAAgC,EAkBvD;IAED;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,CAAC,IAAI,GAAE,MAAsC,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;OAMG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAQ3B;IAED;;;;;;;;;;;;;;;OAeG;IACH,aAAa,CAAC,OAAO,GAAE,uBAA4B,GAAG,MAAM,IAAI,CAI/D;IAED;;;;;;OAMG;IACH,MAAM,IAAI,IAAI,CAEb;IAED;;;;;;OAMG;IACH,WAAW,IAAI,IAAI,CAElB;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,CAGjC;CACF;AAED,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,UAAU,GAAE,qBAA0B,GACrC,OAAO,CAAC,iBAAiB,CAAC,CAQ5B"}
@@ -5,6 +5,7 @@ import { SimAwsHttp } from "../sim-aws-http.js";
5
5
  import { SimAwsLocalUrl } from "../url/sim-aws-local-url.js";
6
6
  import { NodeServerPortBinder } from "./node-server-port-binder.js";
7
7
  import { nodeServerPort } from "./node-server-port.js";
8
+ import { SimAwsLocalLocation } from "./sim-aws-local-location.js";
8
9
  import { SimAwsLocalRequestHandler } from "./sim-aws-local-request-handler.js";
9
10
  import { SimAwsDnsServer } from "../../dns/sim-aws-dns-server.js";
10
11
  import { SimLocalLiveReload } from "../live-reload/sim-local-live-reload.js";
@@ -27,6 +28,10 @@ export class SimAwsLocalServer {
27
28
  const channel = this.liveReload.channel();
28
29
  this.requestHandler = new SimAwsLocalRequestHandler({
29
30
  simAwsHttp: new SimAwsHttp({ simAws }),
31
+ location: new SimAwsLocalLocation({
32
+ simAws,
33
+ port: () => this.port,
34
+ }),
30
35
  ...(channel !== undefined && { liveReload: channel }),
31
36
  });
32
37
  this.dnsServer = new SimAwsDnsServer({ simAws });
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-local-server.js","sourceRoot":"","sources":["../../../../src/serve/http/local-server/sim-aws-local-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-aws-local-server.js","sourceRoot":"","sources":["../../../../src/serve/http/local-server/sim-aws-local-server.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,15 @@ export declare class NodeFetchHttpAdapter {
11
11
  * Send a Fetch API Response through a Node HTTP response.
12
12
  */
13
13
  sendFetchResponse(nodeResponse: ServerResponse, response: Response): Promise<void>;
14
+ /**
15
+ * Convert response headers to the shape Node sends.
16
+ *
17
+ * `Headers.entries()` yields one entry per `Set-Cookie` header, and
18
+ * collecting them into an object keeps only the last. Node takes an array for
19
+ * a header sent more than once. A response establishing one cookie and
20
+ * clearing another reaches the client whole.
21
+ */
22
+ private outgoingHeaders;
14
23
  private nodeRequestHeaders;
15
24
  private nodeRequestBody;
16
25
  private nodeRequestDuplex;
@@ -1 +1 @@
1
- {"version":3,"file":"node-fetch-http-adapter.d.ts","sourceRoot":"","sources":["../../../src/serve/http/node-fetch-http-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGjE;;GAEG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;IACH,yBAAyB,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAW/D;IAED;;OAEG;IACG,iBAAiB,CACrB,YAAY,EAAE,cAAc,EAC5B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,IAAI,CAAC,CAaf;IAED,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,sBAAsB;CAG/B"}
1
+ {"version":3,"file":"node-fetch-http-adapter.d.ts","sourceRoot":"","sources":["../../../src/serve/http/node-fetch-http-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAEf,cAAc,EACf,MAAM,WAAW,CAAC;AAGnB;;GAEG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;IACH,yBAAyB,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAW/D;IAED;;OAEG;IACG,iBAAiB,CACrB,YAAY,EAAE,cAAc,EAC5B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,IAAI,CAAC,CAUf;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,sBAAsB;CAG/B"}
@@ -21,7 +21,7 @@ export class NodeFetchHttpAdapter {
21
21
  * Send a Fetch API Response through a Node HTTP response.
22
22
  */
23
23
  async sendFetchResponse(nodeResponse, response) {
24
- nodeResponse.writeHead(response.status, Object.fromEntries(response.headers.entries()));
24
+ nodeResponse.writeHead(response.status, this.outgoingHeaders(response));
25
25
  if (response.body === null) {
26
26
  nodeResponse.end();
27
27
  return;
@@ -29,6 +29,22 @@ export class NodeFetchHttpAdapter {
29
29
  const body = Buffer.from(await response.arrayBuffer());
30
30
  nodeResponse.end(body);
31
31
  }
32
+ /**
33
+ * Convert response headers to the shape Node sends.
34
+ *
35
+ * `Headers.entries()` yields one entry per `Set-Cookie` header, and
36
+ * collecting them into an object keeps only the last. Node takes an array for
37
+ * a header sent more than once. A response establishing one cookie and
38
+ * clearing another reaches the client whole.
39
+ */
40
+ outgoingHeaders(response) {
41
+ const outgoing = Object.fromEntries(response.headers.entries());
42
+ const setCookies = response.headers.getSetCookie();
43
+ if (setCookies.length > 0) {
44
+ outgoing["set-cookie"] = setCookies;
45
+ }
46
+ return outgoing;
47
+ }
32
48
  nodeRequestHeaders(nodeRequest) {
33
49
  const headers = new Headers();
34
50
  for (const [name, value] of Object.entries(nodeRequest.headers)) {
@@ -1 +1 @@
1
- {"version":3,"file":"node-fetch-http-adapter.js","sourceRoot":"","sources":["../../../src/serve/http/node-fetch-http-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;OAEG;IACH,yBAAyB,CAAC,WAA4B;QACpD,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,aAAa,CAAC,IAAI,EAAE,oDAAoD,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;QAE9D,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;YACtB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;YAC7C,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;YACvC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;SAC7B,CAAC,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,YAA4B,EAC5B,QAAkB;QAElB,YAAY,CAAC,SAAS,CACpB,QAAQ,CAAC,MAAM,EACf,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAC/C,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC3B,YAAY,CAAC,GAAG,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACvD,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAEO,kBAAkB,CAAC,WAA4B;QACrD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAChE,iDAAiD;YACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBACD,SAAS;YACX,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,eAAe,CACrB,WAA4B;QAE5B,IAAI,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,iBAAiB,CAAC,WAA4B;QACpD,IAAI,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,sBAAsB,CAAC,WAA4B;QACzD,OAAO,WAAW,CAAC,MAAM,KAAK,KAAK,IAAI,WAAW,CAAC,MAAM,KAAK,MAAM,CAAC;IACvE,CAAC;CACF"}
1
+ {"version":3,"file":"node-fetch-http-adapter.js","sourceRoot":"","sources":["../../../src/serve/http/node-fetch-http-adapter.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,11 @@
3
3
  * `IntegrationUri` of an `AWS_PROXY` integration, or the `AuthorizerUri` of a
4
4
  * `REQUEST` authorizer. Both are written the same way.
5
5
  *
6
- * Only an unqualified function ARN is accepted. A version or alias qualifier
7
- * on the end names a published function version, and simulated Lambda has no
8
- * versions, so one is refused rather than invoked as the unpublished function
9
- * it is not.
6
+ * A version or alias qualifier on the end of the function ARN is held apart
7
+ * from the function name, because the two are resolved separately. The name
8
+ * finds the function and the qualifier picks which of its versions runs.
9
+ * Neither is resolved here. That is what lets a route built on an alias follow
10
+ * that alias wherever it is moved to afterwards.
10
11
  *
11
12
  * Both URI forms reach the same function, and both are held as the function
12
13
  * ARN, which is what the API hands back. Reading them here rather than in each
@@ -18,6 +19,10 @@ export declare class SimHttpApiLambdaUri {
18
19
  readonly regionName: string;
19
20
  readonly accountId: string;
20
21
  readonly functionName: string;
22
+ /**
23
+ * The published version or the alias the URI named, if it named one.
24
+ */
25
+ readonly qualifier: string | undefined;
21
26
  private constructor();
22
27
  /**
23
28
  * Read an integration URI, refusing anything that is not a Lambda function
@@ -33,5 +38,19 @@ export declare class SimHttpApiLambdaUri {
33
38
  * The function ARN a URI names, in either form it is written in.
34
39
  */
35
40
  private static functionArn;
41
+ /**
42
+ * A function ARN split from the qualifier on the end of it.
43
+ *
44
+ * The split is by field rather than by pattern, since a function name and a
45
+ * qualifier are written from the same characters and only the colon between
46
+ * them tells the two apart.
47
+ */
48
+ private static split;
49
+ /**
50
+ * Whether what came off the end of the ARN could be a qualifier at all. A
51
+ * URI carrying more fields than a qualified function ARN has is refused
52
+ * here.
53
+ */
54
+ private static qualifierAccepted;
36
55
  }
37
56
  //# sourceMappingURL=sim-http-api-lambda-uri.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-http-api-lambda-uri.d.ts","sourceRoot":"","sources":["../../../../../src/service/apigatewayv2/api/integration/sim-http-api-lambda-uri.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;;;;;;GAcG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,YAAY,EAAE,MAAM,CAAC;IAErC,OAAO,eAMN;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAO7C;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAO1D;IAED,OAAO,CAAC,MAAM,CAAC,IAAI;IAmBnB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;CAG3B"}
1
+ {"version":3,"file":"sim-http-api-lambda-uri.d.ts","sourceRoot":"","sources":["../../../../../src/service/apigatewayv2/api/integration/sim-http-api-lambda-uri.ts"],"names":[],"mappings":"AA+BA;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,YAAY,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9C,OAAO,eAWN;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAO7C;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAO1D;IAED,OAAO,CAAC,MAAM,CAAC,IAAI;IAqBnB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAI1B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,KAAK;IAcpB;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;CAGjC"}
@@ -1,5 +1,15 @@
1
1
  import { SimApiGatewayV2BadRequest } from "../../error/sim-api-gateway-v2.error.js";
2
2
  const lambdaFunctionArn = /^arn:aws:lambda:(?<regionName>[a-z0-9-]+):(?<accountId>\d{12}):function:(?<functionName>[a-zA-Z0-9-_]+)$/;
3
+ /**
4
+ * A version number or an alias name on the end of a function ARN. `$LATEST`
5
+ * is one of them, which is what the `$` is there for.
6
+ */
7
+ const lambdaQualifier = /^[a-zA-Z0-9-_$]+$/;
8
+ /**
9
+ * How many colon-separated fields an unqualified function ARN has. A
10
+ * qualified one has an eighth.
11
+ */
12
+ const functionArnFieldCount = 7;
3
13
  /**
4
14
  * The other form an integration URI is written in, wrapping a Lambda function
5
15
  * ARN in an API Gateway path:
@@ -17,10 +27,11 @@ const apiGatewayLambdaPathUri = /^arn:[^:]+:apigateway:[^:]+:lambda:path\/2015-0
17
27
  * `IntegrationUri` of an `AWS_PROXY` integration, or the `AuthorizerUri` of a
18
28
  * `REQUEST` authorizer. Both are written the same way.
19
29
  *
20
- * Only an unqualified function ARN is accepted. A version or alias qualifier
21
- * on the end names a published function version, and simulated Lambda has no
22
- * versions, so one is refused rather than invoked as the unpublished function
23
- * it is not.
30
+ * A version or alias qualifier on the end of the function ARN is held apart
31
+ * from the function name, because the two are resolved separately. The name
32
+ * finds the function and the qualifier picks which of its versions runs.
33
+ * Neither is resolved here. That is what lets a route built on an alias follow
34
+ * that alias wherever it is moved to afterwards.
24
35
  *
25
36
  * Both URI forms reach the same function, and both are held as the function
26
37
  * ARN, which is what the API hands back. Reading them here rather than in each
@@ -32,9 +43,14 @@ export class SimHttpApiLambdaUri {
32
43
  regionName;
33
44
  accountId;
34
45
  functionName;
35
- constructor(uri, groups) {
46
+ /**
47
+ * The published version or the alias the URI named, if it named one.
48
+ */
49
+ qualifier;
50
+ constructor(uri, qualifier, groups) {
36
51
  this.uri = uri;
37
- /* v8 ignore next 3 -- the pattern that matched fills all three groups */
52
+ this.qualifier = qualifier;
53
+ /* v8 ignore next 3 -- the pattern that matched fills each of these three */
38
54
  this.regionName = groups["regionName"] ?? "";
39
55
  this.accountId = groups["accountId"] ?? "";
40
56
  this.functionName = groups["functionName"] ?? "";
@@ -44,25 +60,27 @@ export class SimHttpApiLambdaUri {
44
60
  * ARN.
45
61
  */
46
62
  static parse(uri) {
47
- return this.read("IntegrationUri", uri, "an AWS_PROXY integration is simulated only for an unqualified Lambda " +
48
- "function ARN");
63
+ return this.read("IntegrationUri", uri, "an AWS_PROXY integration is simulated only for a Lambda function ARN, " +
64
+ "with or without a version or alias qualifier");
49
65
  }
50
66
  /**
51
67
  * Read a `REQUEST` authorizer's URI, which names its function the same way.
52
68
  */
53
69
  static parseAuthorizerUri(uri) {
54
- return this.read("AuthorizerUri", uri, "a REQUEST authorizer is simulated only for an unqualified Lambda " +
55
- "function ARN");
70
+ return this.read("AuthorizerUri", uri, "a REQUEST authorizer is simulated only for a Lambda function ARN, " +
71
+ "with or without a version or alias qualifier");
56
72
  }
57
73
  static read(option, uri, refusal) {
58
74
  const functionArn = this.functionArn(uri);
59
- const groups = lambdaFunctionArn.exec(functionArn)?.groups;
60
- if (groups === undefined) {
75
+ const { unqualified, qualifier } = this.split(functionArn);
76
+ const groups = lambdaFunctionArn.exec(unqualified)?.groups;
77
+ if (groups === undefined || !this.qualifierAccepted(qualifier)) {
61
78
  throw new SimApiGatewayV2BadRequest(`${option} '${uri}' is not a simulated invocation target: ` +
62
79
  `${refusal}, such as ` +
63
- `arn:aws:lambda:eu-west-2:111111111111:function:orders`);
80
+ `arn:aws:lambda:eu-west-2:111111111111:function:orders or ` +
81
+ `arn:aws:lambda:eu-west-2:111111111111:function:orders:live`);
64
82
  }
65
- return new SimHttpApiLambdaUri(functionArn, groups);
83
+ return new SimHttpApiLambdaUri(functionArn, qualifier, groups);
66
84
  }
67
85
  /**
68
86
  * The function ARN a URI names, in either form it is written in.
@@ -70,5 +88,29 @@ export class SimHttpApiLambdaUri {
70
88
  static functionArn(uri) {
71
89
  return apiGatewayLambdaPathUri.exec(uri)?.groups?.["functionArn"] ?? uri;
72
90
  }
91
+ /**
92
+ * A function ARN split from the qualifier on the end of it.
93
+ *
94
+ * The split is by field rather than by pattern, since a function name and a
95
+ * qualifier are written from the same characters and only the colon between
96
+ * them tells the two apart.
97
+ */
98
+ static split(functionArn) {
99
+ const fields = functionArn.split(":");
100
+ return fields.length > functionArnFieldCount
101
+ ? {
102
+ unqualified: fields.slice(0, functionArnFieldCount).join(":"),
103
+ qualifier: fields.slice(functionArnFieldCount).join(":"),
104
+ }
105
+ : { unqualified: functionArn, qualifier: undefined };
106
+ }
107
+ /**
108
+ * Whether what came off the end of the ARN could be a qualifier at all. A
109
+ * URI carrying more fields than a qualified function ARN has is refused
110
+ * here.
111
+ */
112
+ static qualifierAccepted(qualifier) {
113
+ return qualifier === undefined || lambdaQualifier.test(qualifier);
114
+ }
73
115
  }
74
116
  //# sourceMappingURL=sim-http-api-lambda-uri.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-http-api-lambda-uri.js","sourceRoot":"","sources":["../../../../../src/service/apigatewayv2/api/integration/sim-http-api-lambda-uri.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAEpF,MAAM,iBAAiB,GACrB,0GAA0G,CAAC;AAE7G;;;;;;;;;;GAUG;AACH,MAAM,uBAAuB,GAC3B,yGAAyG,CAAC;AAE5G;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,mBAAmB;IACd,GAAG,CAAS;IACZ,UAAU,CAAS;IACnB,SAAS,CAAS;IAClB,YAAY,CAAS;IAErC,YAAoB,GAAW,EAAE,MAA8B;QAC7D,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,yEAAyE;QACzE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,IAAI,CACd,gBAAgB,EAChB,GAAG,EACH,uEAAuE;YACrE,cAAc,CACjB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAW;QACnC,OAAO,IAAI,CAAC,IAAI,CACd,eAAe,EACf,GAAG,EACH,mEAAmE;YACjE,cAAc,CACjB,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,IAAI,CACjB,MAAc,EACd,GAAW,EACX,OAAe;QAEf,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAE3D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,yBAAyB,CACjC,GAAG,MAAM,KAAK,GAAG,0CAA0C;gBACzD,GAAG,OAAO,YAAY;gBACtB,uDAAuD,CAC1D,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,WAAW,CAAC,GAAW;QACpC,OAAO,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;IAC3E,CAAC;CACF"}
1
+ {"version":3,"file":"sim-http-api-lambda-uri.js","sourceRoot":"","sources":["../../../../../src/service/apigatewayv2/api/integration/sim-http-api-lambda-uri.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { SimClock } from "../../../../util/clock/sim-clock.js";
2
2
  import { type SimHttpApiAuthorization } from "../../api/authorizer/sim-http-api-authorization.js";
3
3
  import type { SimHttpApiRequestAuthorizer } from "../../api/authorizer/sim-http-api-request-authorizer.js";
4
4
  import type { SimHttpApiLambdaUri } from "../../api/integration/sim-http-api-lambda-uri.js";
5
- import type { SimHttpApiFunctionTarget } from "../sim-api-gateway-v2-router.js";
5
+ import type { SimHttpApiFunctionTarget } from "../sim-http-api-function-target.js";
6
6
  import type { SimHttpApiRouteAuthorizeInput } from "./sim-http-api-route-authorize-input.js";
7
7
  /**
8
8
  * Finds the function an authorizer names, which the serving router does.
@@ -1 +1 @@
1
- {"version":3,"file":"sim-http-api-authorizer-invocation.d.ts","sourceRoot":"","sources":["../../../../../src/service/apigatewayv2/serve/auth/sim-http-api-authorizer-invocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AAC3G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAE5F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAKhF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,WAAW,CACT,SAAS,EAAE,mBAAmB,GAC7B,wBAAwB,GAAG,SAAS,CAAC;CACzC;AAED,UAAU,wCAAwC;IAChD,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;CACnD;AAED;;;;;;;GAOG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;IAEhE,YAAY,UAAU,EAAE,wCAAwC,EAK/D;IAED;;OAEG;IACG,MAAM,CACV,KAAK,EAAE,6BAA6B,EACpC,UAAU,EAAE,2BAA2B,EACvC,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAkClC;CACF"}
1
+ {"version":3,"file":"sim-http-api-authorizer-invocation.d.ts","sourceRoot":"","sources":["../../../../../src/service/apigatewayv2/serve/auth/sim-http-api-authorizer-invocation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AAC3G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAE5F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAKnF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,WAAW,CACT,SAAS,EAAE,mBAAmB,GAC7B,wBAAwB,GAAG,SAAS,CAAC;CACzC;AAED,UAAU,wCAAwC;IAChD,mEAAmE;IACnE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;CACnD;AAED;;;;;;;GAOG;AACH,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmC;IAEhE,YAAY,UAAU,EAAE,wCAAwC,EAK/D;IAED;;OAEG;IACG,MAAM,CACV,KAAK,EAAE,6BAA6B,EACpC,UAAU,EAAE,2BAA2B,EACvC,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAkClC;CACF"}
@@ -1,9 +1,8 @@
1
1
  import type { SimIamAuthorizationDecision, SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
2
- import type { SimLambdaFunction } from "../../../lambda/function/sim-lambda-function.js";
3
2
  import type { SimHttpApiRequestAuthorizer } from "../../api/authorizer/sim-http-api-request-authorizer.js";
4
3
  import { SimHttpApiExecuteApiArn } from "../../api/sim-http-api-execute-api-arn.js";
5
4
  import type { SimHttpApi } from "../../api/sim-http-api.js";
6
- import type { SimHttpApiFunctionTarget } from "../sim-api-gateway-v2-router.js";
5
+ import type { SimHttpApiFunctionTarget } from "../sim-http-api-function-target.js";
7
6
  /**
8
7
  * The service principal API Gateway invokes a Lambda function as, whether that
9
8
  * function is behind an integration or behind an authorizer.
@@ -14,7 +13,8 @@ interface SimHttpApiInvokeAuthorizerProperties {
14
13
  }
15
14
  interface SimHttpApiInvokeAuthorizationInput {
16
15
  readonly api: SimHttpApi;
17
- readonly simFunction: SimLambdaFunction;
16
+ /** The function to invoke, and the resource the grant was made on. */
17
+ readonly target: SimHttpApiFunctionTarget;
18
18
  readonly sourceArn: SimHttpApiExecuteApiArn;
19
19
  }
20
20
  /**
@@ -45,6 +45,10 @@ export declare class SimHttpApiInvokeAuthorizer {
45
45
  * usable as an authorizer. The API's own Account is supplied as
46
46
  * `AWS:SourceAccount`, which is the Account the source ARN names rather than
47
47
  * the one owning the function.
48
+ *
49
+ * A URI ending in a version or an alias is decided against that resource and
50
+ * its own policy. An integration on `orders:live` needs a grant made on
51
+ * `live`.
48
52
  */
49
53
  authorize(input: SimHttpApiInvokeAuthorizationInput): SimIamAuthorizationDecision;
50
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-http-api-invoke-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/apigatewayv2/serve/auth/sim-http-api-invoke-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,wDAAwD,CAAC;AAEhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AAC3G,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AAExE,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmC;IAEpE,YAAY,UAAU,EAAE,oCAAoC,EAI3D;IAED;;;;;;;;;OASG;IACH,SAAS,CACP,KAAK,EAAE,kCAAkC,GACxC,2BAA2B,CAO7B;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,UAAU,EACf,UAAU,EAAE,2BAA2B,EACvC,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAST"}
1
+ {"version":3,"file":"sim-http-api-invoke-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/apigatewayv2/serve/auth/sim-http-api-invoke-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACxB,MAAM,wDAAwD,CAAC;AAEhE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yDAAyD,CAAC;AAC3G,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,6BAA6B,CAAC;AAExE,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmC;IAEpE,YAAY,UAAU,EAAE,oCAAoC,EAI3D;IAED;;;;;;;;;;;;;OAaG;IACH,SAAS,CACP,KAAK,EAAE,kCAAkC,GACxC,2BAA2B,CAO7B;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,GAAG,EAAE,UAAU,EACf,UAAU,EAAE,2BAA2B,EACvC,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAST"}
@@ -37,10 +37,14 @@ export class SimHttpApiInvokeAuthorizer {
37
37
  * usable as an authorizer. The API's own Account is supplied as
38
38
  * `AWS:SourceAccount`, which is the Account the source ARN names rather than
39
39
  * the one owning the function.
40
+ *
41
+ * A URI ending in a version or an alias is decided against that resource and
42
+ * its own policy. An integration on `orders:live` needs a grant made on
43
+ * `live`.
40
44
  */
41
45
  authorize(input) {
42
46
  return this.lambdaAuthorizer.authorize({
43
- simFunction: input.simFunction,
47
+ resource: input.target.resource,
44
48
  servicePrincipal: simApiGatewayServicePrincipal,
45
49
  sourceArn: input.sourceArn.toString(),
46
50
  sourceAccount: input.api.accountRegionScope.accountId,
@@ -57,7 +61,7 @@ export class SimHttpApiInvokeAuthorizer {
57
61
  export function simHttpApiMayNotInvokeAuthorizer(api, authorizer, target) {
58
62
  return new SimHttpApiInvokeAuthorizer({ iam: target.iam }).authorize({
59
63
  api,
60
- simFunction: target.simFunction,
64
+ target,
61
65
  sourceArn: SimHttpApiExecuteApiArn.forAuthorizer(api, authorizer.authorizerId),
62
66
  }).isDenied;
63
67
  }