@kensio/yulin 0.35.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (583) hide show
  1. package/README.md +37 -0
  2. package/dist/index.d.ts +5 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +5 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/serve/controller/factory/sim-aws-service-controller-factory.d.ts.map +1 -1
  7. package/dist/serve/controller/factory/sim-aws-service-controller-factory.js +4 -0
  8. package/dist/serve/controller/factory/sim-aws-service-controller-factory.js.map +1 -1
  9. package/dist/serve/controller/sim-aws-service-signing-name.d.ts +11 -0
  10. package/dist/serve/controller/sim-aws-service-signing-name.d.ts.map +1 -0
  11. package/dist/serve/controller/sim-aws-service-signing-name.js +25 -0
  12. package/dist/serve/controller/sim-aws-service-signing-name.js.map +1 -0
  13. package/dist/serve/controller/sim-service-controller.d.ts +29 -2
  14. package/dist/serve/controller/sim-service-controller.d.ts.map +1 -1
  15. package/dist/serve/controller/sim-service-controller.js +26 -1
  16. package/dist/serve/controller/sim-service-controller.js.map +1 -1
  17. package/dist/serve/http/request/sim-aws-received-request.d.ts +29 -0
  18. package/dist/serve/http/request/sim-aws-received-request.d.ts.map +1 -0
  19. package/dist/serve/http/request/sim-aws-received-request.js +53 -0
  20. package/dist/serve/http/request/sim-aws-received-request.js.map +1 -0
  21. package/dist/serve/http/request/sim-aws-request-authenticator.d.ts +31 -0
  22. package/dist/serve/http/request/sim-aws-request-authenticator.d.ts.map +1 -0
  23. package/dist/serve/http/request/sim-aws-request-authenticator.js +45 -0
  24. package/dist/serve/http/request/sim-aws-request-authenticator.js.map +1 -0
  25. package/dist/serve/http/response/sim-aws-auth-failure-response.d.ts +30 -0
  26. package/dist/serve/http/response/sim-aws-auth-failure-response.d.ts.map +1 -0
  27. package/dist/serve/http/response/sim-aws-auth-failure-response.js +51 -0
  28. package/dist/serve/http/response/sim-aws-auth-failure-response.js.map +1 -0
  29. package/dist/serve/http/response/sim-aws-response-hints.d.ts +35 -0
  30. package/dist/serve/http/response/sim-aws-response-hints.d.ts.map +1 -0
  31. package/dist/serve/http/response/sim-aws-response-hints.js +49 -0
  32. package/dist/serve/http/response/sim-aws-response-hints.js.map +1 -0
  33. package/dist/serve/http/sim-aws-http.d.ts +17 -0
  34. package/dist/serve/http/sim-aws-http.d.ts.map +1 -1
  35. package/dist/serve/http/sim-aws-http.js +34 -2
  36. package/dist/serve/http/sim-aws-http.js.map +1 -1
  37. package/dist/serve/http/url/sim-aws-local-url.d.ts +8 -0
  38. package/dist/serve/http/url/sim-aws-local-url.d.ts.map +1 -1
  39. package/dist/serve/http/url/sim-aws-local-url.js +14 -3
  40. package/dist/serve/http/url/sim-aws-local-url.js.map +1 -1
  41. package/dist/serve/index.d.ts +2 -0
  42. package/dist/serve/index.d.ts.map +1 -1
  43. package/dist/serve/index.js +2 -0
  44. package/dist/serve/index.js.map +1 -1
  45. package/dist/service/acm/certificate/sim-acm-certificate.d.ts +7 -0
  46. package/dist/service/acm/certificate/sim-acm-certificate.d.ts.map +1 -1
  47. package/dist/service/acm/certificate/sim-acm-certificate.js +5 -2
  48. package/dist/service/acm/certificate/sim-acm-certificate.js.map +1 -1
  49. package/dist/service/acm/command/request-certificate/request-cert-factory.d.ts +3 -0
  50. package/dist/service/acm/command/request-certificate/request-cert-factory.d.ts.map +1 -1
  51. package/dist/service/acm/command/request-certificate/request-cert-factory.js +4 -1
  52. package/dist/service/acm/command/request-certificate/request-cert-factory.js.map +1 -1
  53. package/dist/service/acm/command/request-certificate/request-certificate.handler.d.ts.map +1 -1
  54. package/dist/service/acm/command/request-certificate/request-certificate.handler.js +1 -0
  55. package/dist/service/acm/command/request-certificate/request-certificate.handler.js.map +1 -1
  56. package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts +2 -1
  57. package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts.map +1 -1
  58. package/dist/service/aws/caller/sim-aws-caller-resolver.js +5 -1
  59. package/dist/service/aws/caller/sim-aws-caller-resolver.js.map +1 -1
  60. package/dist/service/aws/caller/sim-aws-caller.d.ts +16 -1
  61. package/dist/service/aws/caller/sim-aws-caller.d.ts.map +1 -1
  62. package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts +3 -0
  63. package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts.map +1 -1
  64. package/dist/service/aws/factory/sim-aws-account-service-cache.js +10 -0
  65. package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
  66. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +35 -0
  67. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  68. package/dist/service/aws/factory/sim-aws-service-factory.js +45 -0
  69. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  70. package/dist/service/aws/sim-aws-properties.d.ts +36 -0
  71. package/dist/service/aws/sim-aws-properties.d.ts.map +1 -0
  72. package/dist/service/aws/sim-aws-properties.js +2 -0
  73. package/dist/service/aws/sim-aws-properties.js.map +1 -0
  74. package/dist/service/aws/sim-aws-timekeeping.d.ts +33 -0
  75. package/dist/service/aws/sim-aws-timekeeping.d.ts.map +1 -0
  76. package/dist/service/aws/sim-aws-timekeeping.js +49 -0
  77. package/dist/service/aws/sim-aws-timekeeping.js.map +1 -0
  78. package/dist/service/aws/sim-aws.d.ts +67 -7
  79. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  80. package/dist/service/aws/sim-aws.js +81 -2
  81. package/dist/service/aws/sim-aws.js.map +1 -1
  82. package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.d.ts +11 -0
  83. package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.d.ts.map +1 -0
  84. package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.js +57 -0
  85. package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.js.map +1 -0
  86. package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.d.ts +55 -0
  87. package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.d.ts.map +1 -0
  88. package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.js +86 -0
  89. package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-publications.js.map +1 -0
  90. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +56 -0
  91. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts.map +1 -0
  92. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +112 -0
  93. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js.map +1 -0
  94. package/dist/service/cloudformation/cdk/sim-cdk-out-context.d.ts +1 -0
  95. package/dist/service/cloudformation/cdk/sim-cdk-out-context.d.ts.map +1 -1
  96. package/dist/service/cloudformation/cdk/sim-cdk-out-context.js.map +1 -1
  97. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.d.ts +29 -0
  98. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.d.ts.map +1 -0
  99. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.js +34 -0
  100. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-function-url-cfn.js.map +1 -0
  101. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
  102. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +8 -0
  103. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
  104. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +5 -0
  105. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
  106. package/dist/service/cloudformation/stack/sim-cfn-stack.js +13 -0
  107. package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
  108. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
  109. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js +1 -0
  110. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
  111. package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts +5 -5
  112. package/dist/service/cloudfront/controller/sim-cloudfront-controller.d.ts.map +1 -1
  113. package/dist/service/cloudfront/controller/sim-cloudfront-controller.js +5 -5
  114. package/dist/service/cloudfront/controller/sim-cloudfront-controller.js.map +1 -1
  115. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +6 -0
  116. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts.map +1 -1
  117. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +4 -2
  118. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js.map +1 -1
  119. package/dist/service/dynamodb/table/sim-dynamodb-table.js +1 -1
  120. package/dist/service/dynamodb/table/sim-dynamodb-table.js.map +1 -1
  121. package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.d.ts +1 -0
  122. package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.d.ts.map +1 -1
  123. package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.js +1 -2
  124. package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.js.map +1 -1
  125. package/dist/service/iam/command/policy/create-policy/create-policy.handler.d.ts.map +1 -1
  126. package/dist/service/iam/command/policy/create-policy/create-policy.handler.js +1 -0
  127. package/dist/service/iam/command/policy/create-policy/create-policy.handler.js.map +1 -1
  128. package/dist/service/iam/command/role/create-role/create-role-record-factory.d.ts +1 -0
  129. package/dist/service/iam/command/role/create-role/create-role-record-factory.d.ts.map +1 -1
  130. package/dist/service/iam/command/role/create-role/create-role-record-factory.js +1 -2
  131. package/dist/service/iam/command/role/create-role/create-role-record-factory.js.map +1 -1
  132. package/dist/service/iam/command/role/create-role/create-role.handler.d.ts.map +1 -1
  133. package/dist/service/iam/command/role/create-role/create-role.handler.js +1 -0
  134. package/dist/service/iam/command/role/create-role/create-role.handler.js.map +1 -1
  135. package/dist/service/iam/command/user/create-access-key/create-access-key.handler.d.ts.map +1 -1
  136. package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js +1 -0
  137. package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js.map +1 -1
  138. package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts +1 -0
  139. package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts.map +1 -1
  140. package/dist/service/iam/command/user/create-user/create-user-record-factory.js +1 -1
  141. package/dist/service/iam/command/user/create-user/create-user-record-factory.js.map +1 -1
  142. package/dist/service/iam/command/user/create-user/create-user.handler.d.ts.map +1 -1
  143. package/dist/service/iam/command/user/create-user/create-user.handler.js +1 -0
  144. package/dist/service/iam/command/user/create-user/create-user.handler.js.map +1 -1
  145. package/dist/service/iam/credential/sim-iam-access-key-checks.d.ts +30 -0
  146. package/dist/service/iam/credential/sim-iam-access-key-checks.d.ts.map +1 -0
  147. package/dist/service/iam/credential/sim-iam-access-key-checks.js +67 -0
  148. package/dist/service/iam/credential/sim-iam-access-key-checks.js.map +1 -0
  149. package/dist/service/iam/credential/sim-iam-access-key.d.ts +6 -1
  150. package/dist/service/iam/credential/sim-iam-access-key.d.ts.map +1 -1
  151. package/dist/service/iam/credential/sim-iam-access-key.js +1 -1
  152. package/dist/service/iam/credential/sim-iam-access-key.js.map +1 -1
  153. package/dist/service/iam/credential/sim-iam-account-signing-credentials.d.ts +21 -0
  154. package/dist/service/iam/credential/sim-iam-account-signing-credentials.d.ts.map +1 -0
  155. package/dist/service/iam/credential/sim-iam-account-signing-credentials.js +28 -0
  156. package/dist/service/iam/credential/sim-iam-account-signing-credentials.js.map +1 -0
  157. package/dist/service/iam/credential/sim-iam-credential-registry.d.ts +28 -0
  158. package/dist/service/iam/credential/sim-iam-credential-registry.d.ts.map +1 -1
  159. package/dist/service/iam/credential/sim-iam-credential-registry.js +32 -43
  160. package/dist/service/iam/credential/sim-iam-credential-registry.js.map +1 -1
  161. package/dist/service/iam/credential/sim-iam-signing-credential.d.ts +32 -0
  162. package/dist/service/iam/credential/sim-iam-signing-credential.d.ts.map +1 -0
  163. package/dist/service/iam/credential/sim-iam-signing-credential.js +2 -0
  164. package/dist/service/iam/credential/sim-iam-signing-credential.js.map +1 -0
  165. package/dist/service/iam/index.d.ts +6 -0
  166. package/dist/service/iam/index.d.ts.map +1 -1
  167. package/dist/service/iam/index.js +4 -0
  168. package/dist/service/iam/index.js.map +1 -1
  169. package/dist/service/iam/registry/sim-iam-access-key-registry.d.ts +39 -0
  170. package/dist/service/iam/registry/sim-iam-access-key-registry.d.ts.map +1 -0
  171. package/dist/service/iam/registry/sim-iam-access-key-registry.js +47 -0
  172. package/dist/service/iam/registry/sim-iam-access-key-registry.js.map +1 -0
  173. package/dist/service/iam/registry/sim-iam-global-credential-resolver.d.ts +25 -0
  174. package/dist/service/iam/registry/sim-iam-global-credential-resolver.d.ts.map +1 -0
  175. package/dist/service/iam/registry/sim-iam-global-credential-resolver.js +31 -0
  176. package/dist/service/iam/registry/sim-iam-global-credential-resolver.js.map +1 -0
  177. package/dist/service/iam/request/error/sim-aws-request-auth.error.d.ts +27 -0
  178. package/dist/service/iam/request/error/sim-aws-request-auth.error.d.ts.map +1 -0
  179. package/dist/service/iam/request/error/sim-aws-request-auth.error.js +25 -0
  180. package/dist/service/iam/request/error/sim-aws-request-auth.error.js.map +1 -0
  181. package/dist/service/iam/request/sim-aws-caller-header.d.ts +28 -0
  182. package/dist/service/iam/request/sim-aws-caller-header.d.ts.map +1 -0
  183. package/dist/service/iam/request/sim-aws-caller-header.js +62 -0
  184. package/dist/service/iam/request/sim-aws-caller-header.js.map +1 -0
  185. package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts +49 -0
  186. package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts.map +1 -0
  187. package/dist/service/iam/request/sim-aws-request-caller-resolver.js +68 -0
  188. package/dist/service/iam/request/sim-aws-request-caller-resolver.js.map +1 -0
  189. package/dist/service/iam/request/sim-aws-request-caller.d.ts +50 -0
  190. package/dist/service/iam/request/sim-aws-request-caller.d.ts.map +1 -0
  191. package/dist/service/iam/request/sim-aws-request-caller.js +55 -0
  192. package/dist/service/iam/request/sim-aws-request-caller.js.map +1 -0
  193. package/dist/service/iam/sigv4/canonical/sigv4-byte-order.d.ts +9 -0
  194. package/dist/service/iam/sigv4/canonical/sigv4-byte-order.d.ts.map +1 -0
  195. package/dist/service/iam/sigv4/canonical/sigv4-byte-order.js +14 -0
  196. package/dist/service/iam/sigv4/canonical/sigv4-byte-order.js.map +1 -0
  197. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.d.ts +22 -0
  198. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.d.ts.map +1 -0
  199. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.js +48 -0
  200. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.js.map +1 -0
  201. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.d.ts +14 -0
  202. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.d.ts.map +1 -0
  203. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.js +31 -0
  204. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.js.map +1 -0
  205. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.d.ts +19 -0
  206. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.d.ts.map +1 -0
  207. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.js +78 -0
  208. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.js.map +1 -0
  209. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts +20 -0
  210. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts.map +1 -0
  211. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js +36 -0
  212. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js.map +1 -0
  213. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts +19 -0
  214. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts.map +1 -0
  215. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js +52 -0
  216. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js.map +1 -0
  217. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts +60 -0
  218. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts.map +1 -0
  219. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js +68 -0
  220. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js.map +1 -0
  221. package/dist/service/iam/sigv4/sigv4-uri-escape.d.ts +8 -0
  222. package/dist/service/iam/sigv4/sigv4-uri-escape.d.ts.map +1 -0
  223. package/dist/service/iam/sigv4/sigv4-uri-escape.js +10 -0
  224. package/dist/service/iam/sigv4/sigv4-uri-escape.js.map +1 -0
  225. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts +33 -0
  226. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts.map +1 -0
  227. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js +70 -0
  228. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js.map +1 -0
  229. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.d.ts +11 -0
  230. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.d.ts.map +1 -0
  231. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.js +45 -0
  232. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.js.map +1 -0
  233. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.d.ts +30 -0
  234. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.d.ts.map +1 -0
  235. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.js +52 -0
  236. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.js.map +1 -0
  237. package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.d.ts +39 -0
  238. package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.d.ts.map +1 -0
  239. package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.js +52 -0
  240. package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.js.map +1 -0
  241. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts +16 -0
  242. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts.map +1 -0
  243. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js +31 -0
  244. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js.map +1 -0
  245. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts +18 -0
  246. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts.map +1 -0
  247. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js +25 -0
  248. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js.map +1 -0
  249. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.d.ts +9 -0
  250. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.d.ts.map +1 -0
  251. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.js +26 -0
  252. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.js.map +1 -0
  253. package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.d.ts +19 -0
  254. package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.d.ts.map +1 -0
  255. package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.js +12 -0
  256. package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.js.map +1 -0
  257. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts +13 -0
  258. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts.map +1 -0
  259. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js +18 -0
  260. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js.map +1 -0
  261. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.d.ts +26 -0
  262. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.d.ts.map +1 -0
  263. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.js +40 -0
  264. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.js.map +1 -0
  265. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts +32 -0
  266. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts.map +1 -0
  267. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js +45 -0
  268. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js.map +1 -0
  269. package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.d.ts +17 -0
  270. package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.d.ts.map +1 -0
  271. package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.js +2 -0
  272. package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.js.map +1 -0
  273. package/dist/service/iam/sim-iam.d.ts.map +1 -1
  274. package/dist/service/iam/sim-iam.js +5 -1
  275. package/dist/service/iam/sim-iam.js.map +1 -1
  276. package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.d.ts +8 -6
  277. package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.d.ts.map +1 -1
  278. package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.js +12 -7
  279. package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.js.map +1 -1
  280. package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.d.ts +9 -1
  281. package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.d.ts.map +1 -1
  282. package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.js +5 -2
  283. package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.js.map +1 -1
  284. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +1 -0
  285. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts.map +1 -1
  286. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js +7 -1
  287. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js.map +1 -1
  288. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts +6 -2
  289. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts.map +1 -1
  290. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js +16 -3
  291. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js.map +1 -1
  292. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.d.ts +29 -0
  293. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.d.ts.map +1 -0
  294. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.js +43 -0
  295. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.js.map +1 -0
  296. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts +12 -0
  297. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts.map +1 -0
  298. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js +20 -0
  299. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js.map +1 -0
  300. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +31 -0
  301. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts.map +1 -0
  302. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +48 -0
  303. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js.map +1 -0
  304. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -0
  305. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts.map +1 -1
  306. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -0
  307. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js.map +1 -1
  308. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts +25 -0
  309. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts.map +1 -0
  310. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +35 -0
  311. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js.map +1 -0
  312. package/dist/service/lambda/command/add-permission/add-permission.command.d.ts +32 -0
  313. package/dist/service/lambda/command/add-permission/add-permission.command.d.ts.map +1 -0
  314. package/dist/service/lambda/command/add-permission/add-permission.command.js +2 -0
  315. package/dist/service/lambda/command/add-permission/add-permission.command.js.map +1 -0
  316. package/dist/service/lambda/command/add-permission/add-permission.handler.d.ts +31 -0
  317. package/dist/service/lambda/command/add-permission/add-permission.handler.d.ts.map +1 -0
  318. package/dist/service/lambda/command/add-permission/add-permission.handler.js +52 -0
  319. package/dist/service/lambda/command/add-permission/add-permission.handler.js.map +1 -0
  320. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts +13 -0
  321. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts.map +1 -0
  322. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.js +26 -0
  323. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.js.map +1 -0
  324. package/dist/service/lambda/command/create-function/create-function.handler.d.ts.map +1 -1
  325. package/dist/service/lambda/command/create-function/create-function.handler.js +1 -0
  326. package/dist/service/lambda/command/create-function/create-function.handler.js.map +1 -1
  327. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +29 -0
  328. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts.map +1 -0
  329. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.js +5 -0
  330. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.js.map +1 -0
  331. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.d.ts +35 -0
  332. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.d.ts.map +1 -0
  333. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +47 -0
  334. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js.map +1 -0
  335. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.d.ts +26 -0
  336. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.d.ts.map +1 -0
  337. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.js +5 -0
  338. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.js.map +1 -0
  339. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.d.ts +34 -0
  340. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.d.ts.map +1 -0
  341. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.js +38 -0
  342. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.js.map +1 -0
  343. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +50 -0
  344. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts.map +1 -0
  345. package/dist/service/lambda/command/function/sim-lambda-function-commands.js +35 -0
  346. package/dist/service/lambda/command/function/sim-lambda-function-commands.js.map +1 -0
  347. package/dist/service/lambda/command/function-url/function-url-authorizer.d.ts +29 -0
  348. package/dist/service/lambda/command/function-url/function-url-authorizer.d.ts.map +1 -0
  349. package/dist/service/lambda/command/function-url/function-url-authorizer.js +39 -0
  350. package/dist/service/lambda/command/function-url/function-url-authorizer.js.map +1 -0
  351. package/dist/service/lambda/command/function-url/function-url-input.d.ts +24 -0
  352. package/dist/service/lambda/command/function-url/function-url-input.d.ts.map +1 -0
  353. package/dist/service/lambda/command/function-url/function-url-input.js +49 -0
  354. package/dist/service/lambda/command/function-url/function-url-input.js.map +1 -0
  355. package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.d.ts +52 -0
  356. package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.d.ts.map +1 -0
  357. package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.js +49 -0
  358. package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.js.map +1 -0
  359. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.d.ts +24 -0
  360. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.d.ts.map +1 -0
  361. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.js +5 -0
  362. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.js.map +1 -0
  363. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.d.ts +34 -0
  364. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.d.ts.map +1 -0
  365. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.js +41 -0
  366. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.js.map +1 -0
  367. package/dist/service/lambda/command/get-policy/get-policy.command.d.ts +22 -0
  368. package/dist/service/lambda/command/get-policy/get-policy.command.d.ts.map +1 -0
  369. package/dist/service/lambda/command/get-policy/get-policy.command.js +2 -0
  370. package/dist/service/lambda/command/get-policy/get-policy.command.js.map +1 -0
  371. package/dist/service/lambda/command/get-policy/get-policy.handler.d.ts +35 -0
  372. package/dist/service/lambda/command/get-policy/get-policy.handler.d.ts.map +1 -0
  373. package/dist/service/lambda/command/get-policy/get-policy.handler.js +45 -0
  374. package/dist/service/lambda/command/get-policy/get-policy.handler.js.map +1 -0
  375. package/dist/service/lambda/command/invoke/invoke-authorizer.d.ts +8 -2
  376. package/dist/service/lambda/command/invoke/invoke-authorizer.d.ts.map +1 -1
  377. package/dist/service/lambda/command/invoke/invoke-authorizer.js +9 -2
  378. package/dist/service/lambda/command/invoke/invoke-authorizer.js.map +1 -1
  379. package/dist/service/lambda/command/invoke/invoke.handler.d.ts.map +1 -1
  380. package/dist/service/lambda/command/invoke/invoke.handler.js +4 -1
  381. package/dist/service/lambda/command/invoke/invoke.handler.js.map +1 -1
  382. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.d.ts +25 -0
  383. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.d.ts.map +1 -0
  384. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.js +5 -0
  385. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.js.map +1 -0
  386. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.d.ts +37 -0
  387. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.d.ts.map +1 -0
  388. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.js +46 -0
  389. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.js.map +1 -0
  390. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.d.ts +40 -0
  391. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.d.ts.map +1 -0
  392. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.js +35 -0
  393. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.js.map +1 -0
  394. package/dist/service/lambda/command/remove-permission/remove-permission.command.d.ts +21 -0
  395. package/dist/service/lambda/command/remove-permission/remove-permission.command.d.ts.map +1 -0
  396. package/dist/service/lambda/command/remove-permission/remove-permission.command.js +2 -0
  397. package/dist/service/lambda/command/remove-permission/remove-permission.command.js.map +1 -0
  398. package/dist/service/lambda/command/remove-permission/remove-permission.handler.d.ts +31 -0
  399. package/dist/service/lambda/command/remove-permission/remove-permission.handler.d.ts.map +1 -0
  400. package/dist/service/lambda/command/remove-permission/remove-permission.handler.js +36 -0
  401. package/dist/service/lambda/command/remove-permission/remove-permission.handler.js.map +1 -0
  402. package/dist/service/lambda/command/sim-lambda-command.types.d.ts +19 -0
  403. package/dist/service/lambda/command/sim-lambda-command.types.d.ts.map +1 -0
  404. package/dist/service/lambda/command/sim-lambda-command.types.js +9 -0
  405. package/dist/service/lambda/command/sim-lambda-command.types.js.map +1 -0
  406. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +29 -0
  407. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts.map +1 -0
  408. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.js +5 -0
  409. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.js.map +1 -0
  410. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.d.ts +35 -0
  411. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.d.ts.map +1 -0
  412. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +48 -0
  413. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js.map +1 -0
  414. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +7 -0
  415. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts.map +1 -1
  416. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +4 -3
  417. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js.map +1 -1
  418. package/dist/service/lambda/function/policy/sim-lambda-function-policy.d.ts +47 -0
  419. package/dist/service/lambda/function/policy/sim-lambda-function-policy.d.ts.map +1 -0
  420. package/dist/service/lambda/function/policy/sim-lambda-function-policy.js +79 -0
  421. package/dist/service/lambda/function/policy/sim-lambda-function-policy.js.map +1 -0
  422. package/dist/service/lambda/function/policy/sim-lambda-permission-principal.d.ts +11 -0
  423. package/dist/service/lambda/function/policy/sim-lambda-permission-principal.d.ts.map +1 -0
  424. package/dist/service/lambda/function/policy/sim-lambda-permission-principal.js +22 -0
  425. package/dist/service/lambda/function/policy/sim-lambda-permission-principal.js.map +1 -0
  426. package/dist/service/lambda/function/policy/sim-lambda-permission.d.ts +66 -0
  427. package/dist/service/lambda/function/policy/sim-lambda-permission.d.ts.map +1 -0
  428. package/dist/service/lambda/function/policy/sim-lambda-permission.js +101 -0
  429. package/dist/service/lambda/function/policy/sim-lambda-permission.js.map +1 -0
  430. package/dist/service/lambda/function/sim-lambda-function.d.ts +18 -0
  431. package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
  432. package/dist/service/lambda/function/sim-lambda-function.js +15 -1
  433. package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
  434. package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts +30 -0
  435. package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts.map +1 -0
  436. package/dist/service/lambda/function/url/sim-lambda-function-lookup.js +36 -0
  437. package/dist/service/lambda/function/url/sim-lambda-function-lookup.js.map +1 -0
  438. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +37 -0
  439. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts.map +1 -0
  440. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +42 -0
  441. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js.map +1 -0
  442. package/dist/service/lambda/function/url/sim-lambda-function-url-host.d.ts +30 -0
  443. package/dist/service/lambda/function/url/sim-lambda-function-url-host.d.ts.map +1 -0
  444. package/dist/service/lambda/function/url/sim-lambda-function-url-host.js +29 -0
  445. package/dist/service/lambda/function/url/sim-lambda-function-url-host.js.map +1 -0
  446. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +45 -0
  447. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts.map +1 -0
  448. package/dist/service/lambda/function/url/sim-lambda-function-url-store.js +72 -0
  449. package/dist/service/lambda/function/url/sim-lambda-function-url-store.js.map +1 -0
  450. package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +103 -0
  451. package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts.map +1 -0
  452. package/dist/service/lambda/function/url/sim-lambda-function-url.js +92 -0
  453. package/dist/service/lambda/function/url/sim-lambda-function-url.js.map +1 -0
  454. package/dist/service/lambda/index.d.ts +1 -0
  455. package/dist/service/lambda/index.d.ts.map +1 -1
  456. package/dist/service/lambda/registry/sim-lambda-url-registry.d.ts +31 -0
  457. package/dist/service/lambda/registry/sim-lambda-url-registry.d.ts.map +1 -0
  458. package/dist/service/lambda/registry/sim-lambda-url-registry.js +43 -0
  459. package/dist/service/lambda/registry/sim-lambda-url-registry.js.map +1 -0
  460. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.d.ts.map +1 -1
  461. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js +32 -0
  462. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js.map +1 -1
  463. package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.d.ts +46 -0
  464. package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.d.ts.map +1 -0
  465. package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.js +47 -0
  466. package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.js.map +1 -0
  467. package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.d.ts +25 -0
  468. package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.d.ts.map +1 -0
  469. package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.js +53 -0
  470. package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.js.map +1 -0
  471. package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.d.ts +36 -0
  472. package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.d.ts.map +1 -0
  473. package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.js +61 -0
  474. package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.js.map +1 -0
  475. package/dist/service/lambda/serve/event/sim-lambda-url-event-time.d.ts +9 -0
  476. package/dist/service/lambda/serve/event/sim-lambda-url-event-time.d.ts.map +1 -0
  477. package/dist/service/lambda/serve/event/sim-lambda-url-event-time.js +38 -0
  478. package/dist/service/lambda/serve/event/sim-lambda-url-event-time.js.map +1 -0
  479. package/dist/service/lambda/serve/event/sim-lambda-url-event.type.d.ts +103 -0
  480. package/dist/service/lambda/serve/event/sim-lambda-url-event.type.d.ts.map +1 -0
  481. package/dist/service/lambda/serve/event/sim-lambda-url-event.type.js +2 -0
  482. package/dist/service/lambda/serve/event/sim-lambda-url-event.type.js.map +1 -0
  483. package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.d.ts +30 -0
  484. package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.d.ts.map +1 -0
  485. package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.js +55 -0
  486. package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.js.map +1 -0
  487. package/dist/service/lambda/serve/event/sim-lambda-url-request-context.d.ts +29 -0
  488. package/dist/service/lambda/serve/event/sim-lambda-url-request-context.d.ts.map +1 -0
  489. package/dist/service/lambda/serve/event/sim-lambda-url-request-context.js +54 -0
  490. package/dist/service/lambda/serve/event/sim-lambda-url-request-context.js.map +1 -0
  491. package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.d.ts +26 -0
  492. package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.d.ts.map +1 -0
  493. package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.js +50 -0
  494. package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.js.map +1 -0
  495. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts +24 -0
  496. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts.map +1 -0
  497. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js +35 -0
  498. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js.map +1 -0
  499. package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.d.ts +21 -0
  500. package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.d.ts.map +1 -0
  501. package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.js +57 -0
  502. package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.js.map +1 -0
  503. package/dist/service/lambda/serve/sim-lambda-controller.d.ts +42 -0
  504. package/dist/service/lambda/serve/sim-lambda-controller.d.ts.map +1 -0
  505. package/dist/service/lambda/serve/sim-lambda-controller.js +82 -0
  506. package/dist/service/lambda/serve/sim-lambda-controller.js.map +1 -0
  507. package/dist/service/lambda/serve/sim-lambda-url-router.d.ts +44 -0
  508. package/dist/service/lambda/serve/sim-lambda-url-router.d.ts.map +1 -0
  509. package/dist/service/lambda/serve/sim-lambda-url-router.js +47 -0
  510. package/dist/service/lambda/serve/sim-lambda-url-router.js.map +1 -0
  511. package/dist/service/lambda/sim-lambda.d.ts +52 -9
  512. package/dist/service/lambda/sim-lambda.d.ts.map +1 -1
  513. package/dist/service/lambda/sim-lambda.js +115 -44
  514. package/dist/service/lambda/sim-lambda.js.map +1 -1
  515. package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.d.ts.map +1 -1
  516. package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.js +3 -2
  517. package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.js.map +1 -1
  518. package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.d.ts +10 -0
  519. package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.d.ts.map +1 -0
  520. package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.js +13 -0
  521. package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.js.map +1 -0
  522. package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js +1 -1
  523. package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js.map +1 -1
  524. package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts +12 -0
  525. package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts.map +1 -1
  526. package/dist/service/route53/resolve/sim-r53-service-target-resolver.js +33 -1
  527. package/dist/service/route53/resolve/sim-r53-service-target-resolver.js.map +1 -1
  528. package/dist/service/route53/serve/sim-route53-controller.d.ts +2 -2
  529. package/dist/service/route53/serve/sim-route53-controller.d.ts.map +1 -1
  530. package/dist/service/route53/serve/sim-route53-controller.js +2 -2
  531. package/dist/service/route53/serve/sim-route53-controller.js.map +1 -1
  532. package/dist/service/s3/serve/sim-s3-controller.d.ts +2 -2
  533. package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
  534. package/dist/service/s3/serve/sim-s3-controller.js +2 -1
  535. package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
  536. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts +7 -0
  537. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts.map +1 -1
  538. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js +4 -1
  539. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js.map +1 -1
  540. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts.map +1 -1
  541. package/dist/service/sts/command/assume-role/assume-role.handler.js +1 -0
  542. package/dist/service/sts/command/assume-role/assume-role.handler.js.map +1 -1
  543. package/dist/util/background/background-due-tasks.d.ts +44 -0
  544. package/dist/util/background/background-due-tasks.d.ts.map +1 -0
  545. package/dist/util/background/background-due-tasks.js +71 -0
  546. package/dist/util/background/background-due-tasks.js.map +1 -0
  547. package/dist/util/background/background-jitter.d.ts +16 -0
  548. package/dist/util/background/background-jitter.d.ts.map +1 -0
  549. package/dist/util/background/background-jitter.js +23 -0
  550. package/dist/util/background/background-jitter.js.map +1 -0
  551. package/dist/util/background/background-settled-tasks.d.ts +17 -0
  552. package/dist/util/background/background-settled-tasks.d.ts.map +1 -0
  553. package/dist/util/background/background-settled-tasks.js +24 -0
  554. package/dist/util/background/background-settled-tasks.js.map +1 -0
  555. package/dist/util/background/background.d.ts +63 -2
  556. package/dist/util/background/background.d.ts.map +1 -1
  557. package/dist/util/background/background.js +35 -0
  558. package/dist/util/background/background.js.map +1 -1
  559. package/dist/util/background/non-deterministic-background.d.ts +24 -4
  560. package/dist/util/background/non-deterministic-background.d.ts.map +1 -1
  561. package/dist/util/background/non-deterministic-background.js +36 -13
  562. package/dist/util/background/non-deterministic-background.js.map +1 -1
  563. package/dist/util/clock/sim-clock-control.d.ts +94 -0
  564. package/dist/util/clock/sim-clock-control.d.ts.map +1 -0
  565. package/dist/util/clock/sim-clock-control.js +116 -0
  566. package/dist/util/clock/sim-clock-control.js.map +1 -0
  567. package/dist/util/clock/sim-clock-mode.d.ts +74 -0
  568. package/dist/util/clock/sim-clock-mode.d.ts.map +1 -0
  569. package/dist/util/clock/sim-clock-mode.js +58 -0
  570. package/dist/util/clock/sim-clock-mode.js.map +1 -0
  571. package/dist/util/clock/sim-clock.d.ts +41 -0
  572. package/dist/util/clock/sim-clock.d.ts.map +1 -0
  573. package/dist/util/clock/sim-clock.js +33 -0
  574. package/dist/util/clock/sim-clock.js.map +1 -0
  575. package/dist/util/clock/sim-controllable-clock.d.ts +55 -0
  576. package/dist/util/clock/sim-controllable-clock.d.ts.map +1 -0
  577. package/dist/util/clock/sim-controllable-clock.js +62 -0
  578. package/dist/util/clock/sim-controllable-clock.js.map +1 -0
  579. package/dist/util/clock/sim-duration.d.ts +44 -0
  580. package/dist/util/clock/sim-duration.d.ts.map +1 -0
  581. package/dist/util/clock/sim-duration.js +69 -0
  582. package/dist/util/clock/sim-duration.js.map +1 -0
  583. package/package.json +3 -1
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Turns a Function URL handler result into the HTTP response the client sees.
3
+ *
4
+ * Real Lambda accepts two shapes here: a structured response carrying a
5
+ * statusCode, or any other value, which it wraps in a 200 JSON response. Both
6
+ * are supported so handlers written either way behave as they would on AWS.
7
+ */
8
+ export declare class SimLambdaUrlResponseBuilder {
9
+ private readonly bodyEncoding;
10
+ /**
11
+ * Build the HTTP response for one handler result.
12
+ */
13
+ build(result: unknown): Response;
14
+ /**
15
+ * Whether the handler returned a structured HTTP response rather than a
16
+ * value to be JSON-encoded.
17
+ */
18
+ private isStructuredResult;
19
+ private structuredResponse;
20
+ }
21
+ //# sourceMappingURL=sim-lambda-url-response-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-url-response-builder.d.ts","sourceRoot":"","sources":["../../../../../src/service/lambda/serve/response/sim-lambda-url-response-builder.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAE/D;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,CAS/B;IAED;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,kBAAkB;CAkC3B"}
@@ -0,0 +1,57 @@
1
+ import { SimLambdaUrlBodyEncoding } from "../event/sim-lambda-url-body-encoding.js";
2
+ const jsonContentType = "application/json";
3
+ /**
4
+ * Turns a Function URL handler result into the HTTP response the client sees.
5
+ *
6
+ * Real Lambda accepts two shapes here: a structured response carrying a
7
+ * statusCode, or any other value, which it wraps in a 200 JSON response. Both
8
+ * are supported so handlers written either way behave as they would on AWS.
9
+ */
10
+ export class SimLambdaUrlResponseBuilder {
11
+ bodyEncoding = new SimLambdaUrlBodyEncoding();
12
+ /**
13
+ * Build the HTTP response for one handler result.
14
+ */
15
+ build(result) {
16
+ if (this.isStructuredResult(result)) {
17
+ return this.structuredResponse(result);
18
+ }
19
+ return Response.json(result ?? null, {
20
+ status: 200,
21
+ headers: { "content-type": jsonContentType },
22
+ });
23
+ }
24
+ /**
25
+ * Whether the handler returned a structured HTTP response rather than a
26
+ * value to be JSON-encoded.
27
+ */
28
+ isStructuredResult(result) {
29
+ return (typeof result === "object" &&
30
+ result !== null &&
31
+ "statusCode" in result &&
32
+ typeof result.statusCode === "number");
33
+ }
34
+ structuredResponse(result) {
35
+ const headers = new Headers();
36
+ const resultHeaders = Object.entries(result.headers ?? {});
37
+ const resultCookies = result.cookies ?? [];
38
+ for (const [name, value] of resultHeaders) {
39
+ headers.set(name, String(value));
40
+ }
41
+ for (const cookie of resultCookies) {
42
+ headers.append("set-cookie", cookie);
43
+ }
44
+ if (!headers.has("content-type")) {
45
+ headers.set("content-type", jsonContentType);
46
+ }
47
+ const body = this.bodyEncoding.decode(result.body ?? "", result.isBase64Encoded ?? false);
48
+ return new Response(
49
+ // An empty body is sent as no body at all, so statuses that must not
50
+ // carry one, such as 204, stay valid responses.
51
+ body.length === 0 ? null : body, {
52
+ status: result.statusCode,
53
+ headers,
54
+ });
55
+ }
56
+ }
57
+ //# sourceMappingURL=sim-lambda-url-response-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-url-response-builder.js","sourceRoot":"","sources":["../../../../../src/service/lambda/serve/response/sim-lambda-url-response-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAMpF,MAAM,eAAe,GAAG,kBAAkB,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,OAAO,2BAA2B;IACrB,YAAY,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAE/D;;OAEG;IACH,KAAK,CAAC,MAAe;QACnB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACnC,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE;SAC7C,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,kBAAkB,CACxB,MAAe;QAEf,OAAO,CACL,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,YAAY,IAAI,MAAM;YACtB,OAAQ,MAAqC,CAAC,UAAU,KAAK,QAAQ,CACtE,CAAC;IACJ,CAAC;IAEO,kBAAkB,CACxB,MAA4C;QAE5C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAE3C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CACnC,MAAM,CAAC,IAAI,IAAI,EAAE,EACjB,MAAM,CAAC,eAAe,IAAI,KAAK,CAChC,CAAC;QAEF,OAAO,IAAI,QAAQ;QACjB,qEAAqE;QACrE,gDAAgD;QAChD,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAC/B;YACE,MAAM,EAAE,MAAM,CAAC,UAAU;YACzB,OAAO;SACR,CACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,42 @@
1
+ import type { SimAwsServiceController, SimAwsServiceRequest } from "../../../serve/controller/sim-service-controller.js";
2
+ import { SimAws } from "../../aws/sim-aws.js";
3
+ import { SimLambdaUrlRouter } from "./sim-lambda-url-router.js";
4
+ interface SimLambdaServiceControllerProperties {
5
+ readonly simAws?: SimAws;
6
+ readonly router?: SimLambdaUrlRouter;
7
+ }
8
+ /**
9
+ * Localhost HTTP controller for simulated Lambda Function URLs.
10
+ *
11
+ * A NONE auth URL is invokable by anyone on real AWS, so the request is not
12
+ * attributed to a simulated principal. An AWS_IAM URL is invokable only by a
13
+ * caller allowed `lambda:InvokeFunctionUrl` on the function, evaluated against
14
+ * the principal resolved at the HTTP boundary.
15
+ *
16
+ * Either way the function itself runs as its execution Role, as it does for
17
+ * any other invocation. Who invoked it and what it runs as are separate
18
+ * questions on real Lambda, and stay separate here.
19
+ */
20
+ export declare class SimLambdaServiceController implements SimAwsServiceController {
21
+ private readonly router;
22
+ private readonly eventBuilder;
23
+ private readonly responseBuilder;
24
+ private readonly errorResponse;
25
+ constructor(properties?: SimLambdaServiceControllerProperties);
26
+ /**
27
+ * Handle an HTTP request routed to a simulated Lambda Function URL.
28
+ */
29
+ handleRequest(serviceRequest: SimAwsServiceRequest): Promise<Response>;
30
+ /**
31
+ * Invoke through an `AWS_IAM` Function URL, if the caller may.
32
+ *
33
+ * The caller was resolved at the HTTP boundary, from a signature or from a
34
+ * named principal, and is anonymous when the request offered neither.
35
+ * Anonymous owns no policies, so an unsigned request is refused by the same
36
+ * evaluation that admits a permitted one, rather than by a special case.
37
+ */
38
+ private invokeAuthenticated;
39
+ private invoke;
40
+ }
41
+ export {};
42
+ //# sourceMappingURL=sim-lambda-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-controller.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/serve/sim-lambda-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAI9C,OAAO,EAEL,kBAAkB,EACnB,MAAM,4BAA4B,CAAC;AAIpC,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,kBAAkB,CAAC;CACtC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,0BAA2B,YAAW,uBAAuB;IACxE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqC;IACrE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmC;IAEjE,YAAY,UAAU,GAAE,oCAAyC,EAQhE;IAED;;OAEG;IACG,aAAa,CAAC,cAAc,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAc3E;IAED;;;;;;;OAOG;YACW,mBAAmB;YAkBnB,MAAM;CAqBrB"}
@@ -0,0 +1,82 @@
1
+ import { SimAws } from "../../aws/sim-aws.js";
2
+ import { SimLambdaUrlEventBuilder } from "./event/sim-lambda-url-event-builder.js";
3
+ import { SimLambdaUrlErrorResponse } from "./response/sim-lambda-url-error-response.js";
4
+ import { SimLambdaUrlResponseBuilder } from "./response/sim-lambda-url-response-builder.js";
5
+ import { SimLambdaUrlRouter, } from "./sim-lambda-url-router.js";
6
+ import { SimLambdaUrlAuthorizer } from "./auth/sim-lambda-url-authorizer.js";
7
+ /**
8
+ * Localhost HTTP controller for simulated Lambda Function URLs.
9
+ *
10
+ * A NONE auth URL is invokable by anyone on real AWS, so the request is not
11
+ * attributed to a simulated principal. An AWS_IAM URL is invokable only by a
12
+ * caller allowed `lambda:InvokeFunctionUrl` on the function, evaluated against
13
+ * the principal resolved at the HTTP boundary.
14
+ *
15
+ * Either way the function itself runs as its execution Role, as it does for
16
+ * any other invocation. Who invoked it and what it runs as are separate
17
+ * questions on real Lambda, and stay separate here.
18
+ */
19
+ export class SimLambdaServiceController {
20
+ router;
21
+ eventBuilder;
22
+ responseBuilder = new SimLambdaUrlResponseBuilder();
23
+ errorResponse = new SimLambdaUrlErrorResponse();
24
+ constructor(properties = {}) {
25
+ const { simAws = new SimAws() } = properties;
26
+ this.router = properties.router ?? new SimLambdaUrlRouter({ simAws });
27
+ // Taken from the router rather than from properties, so a supplied router
28
+ // and the event timestamps always belong to the same simulation.
29
+ this.eventBuilder = new SimLambdaUrlEventBuilder({
30
+ clock: this.router.simAws,
31
+ });
32
+ }
33
+ /**
34
+ * Handle an HTTP request routed to a simulated Lambda Function URL.
35
+ */
36
+ async handleRequest(serviceRequest) {
37
+ const route = this.router.route(serviceRequest.target);
38
+ if (route === undefined) {
39
+ return this.errorResponse.notFound();
40
+ }
41
+ if (route.functionUrl.authType === "NONE") {
42
+ // A NONE URL is invokable by anyone on real AWS, so the request is not
43
+ // attributed to a principal and the event describes no caller.
44
+ return await this.invoke(route, serviceRequest.request);
45
+ }
46
+ return await this.invokeAuthenticated(route, serviceRequest);
47
+ }
48
+ /**
49
+ * Invoke through an `AWS_IAM` Function URL, if the caller may.
50
+ *
51
+ * The caller was resolved at the HTTP boundary, from a signature or from a
52
+ * named principal, and is anonymous when the request offered neither.
53
+ * Anonymous owns no policies, so an unsigned request is refused by the same
54
+ * evaluation that admits a permitted one, rather than by a special case.
55
+ */
56
+ async invokeAuthenticated(route, serviceRequest) {
57
+ const { caller } = serviceRequest;
58
+ const decision = new SimLambdaUrlAuthorizer({ iam: route.iam }).authorize({
59
+ simFunction: route.simFunction,
60
+ functionUrl: route.functionUrl,
61
+ caller: caller.toCaller(),
62
+ });
63
+ if (decision.isDenied) {
64
+ return this.errorResponse.forbidden();
65
+ }
66
+ return await this.invoke(route, serviceRequest.request, caller);
67
+ }
68
+ async invoke(route, request, authenticatedCaller) {
69
+ try {
70
+ const event = await this.eventBuilder.build(request, route.functionUrl, authenticatedCaller);
71
+ return this.responseBuilder.build(await route.simFunction.invoke(event));
72
+ }
73
+ catch {
74
+ // Real Function URLs report an unhandled function error as a bad
75
+ // gateway, with the error itself only visible in the function's logs.
76
+ // Reading the request body can fail the same way, so building the event
77
+ // is inside this too.
78
+ return this.errorResponse.internalServerError();
79
+ }
80
+ }
81
+ }
82
+ //# sourceMappingURL=sim-lambda-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-controller.js","sourceRoot":"","sources":["../../../../src/service/lambda/serve/sim-lambda-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import type { SimAwsServiceTarget } from "../../../serve/controller/sim-service-controller.js";
2
+ import { SimAws } from "../../aws/sim-aws.js";
3
+ import type { SimLambdaFunction } from "../function/sim-lambda-function.js";
4
+ import type { SimLambdaFunctionUrl } from "../function/url/sim-lambda-function-url.js";
5
+ import type { SimLambdaUrlRegistry } from "../registry/sim-lambda-url-registry.js";
6
+ import type { SimIamInterServiceAuthZ } from "../../iam/authorize/sim-iam-inter-service-auth-z.js";
7
+ export interface SimLambdaFunctionUrlRoute {
8
+ readonly functionUrl: SimLambdaFunctionUrl;
9
+ readonly simFunction: SimLambdaFunction;
10
+ /**
11
+ * IAM of the Account that owns the function, which is what an `AWS_IAM`
12
+ * Function URL evaluates its invoke permission against.
13
+ */
14
+ readonly iam: SimIamInterServiceAuthZ;
15
+ }
16
+ interface SimLambdaUrlRouterProperties {
17
+ readonly simAws?: SimAws;
18
+ readonly urlRegistry?: SimLambdaUrlRegistry;
19
+ }
20
+ /**
21
+ * Routes a served Function URL request to the function behind it.
22
+ *
23
+ * The request hostname gives the URL id and the region, but not the Account.
24
+ * The registry supplies that missing hop, and the Account/Region scope it
25
+ * names owns the Function URL and the function.
26
+ */
27
+ export declare class SimLambdaUrlRouter {
28
+ /**
29
+ * The simulation this router routes within.
30
+ *
31
+ * Exposed so collaborators that need the same simulation, such as the clock
32
+ * stamping invocation events, take it from here rather than being given a
33
+ * second SimAws that could be a different one.
34
+ */
35
+ readonly simAws: SimAws;
36
+ private readonly urlRegistry;
37
+ constructor(properties?: SimLambdaUrlRouterProperties);
38
+ /**
39
+ * Find the Function URL and function a request target addresses.
40
+ */
41
+ route(target: SimAwsServiceTarget): SimLambdaFunctionUrlRoute | undefined;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=sim-lambda-url-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-url-router.d.ts","sourceRoot":"","sources":["../../../../src/service/lambda/serve/sim-lambda-url-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AAEnG,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED,UAAU,4BAA4B;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B;;;;;;OAMG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAEnD,YAAY,UAAU,GAAE,4BAAiC,EAIxD;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,EAAE,mBAAmB,GAAG,yBAAyB,GAAG,SAAS,CAwBxE;CACF"}
@@ -0,0 +1,47 @@
1
+ import { SimAws } from "../../aws/sim-aws.js";
2
+ /**
3
+ * Routes a served Function URL request to the function behind it.
4
+ *
5
+ * The request hostname gives the URL id and the region, but not the Account.
6
+ * The registry supplies that missing hop, and the Account/Region scope it
7
+ * names owns the Function URL and the function.
8
+ */
9
+ export class SimLambdaUrlRouter {
10
+ /**
11
+ * The simulation this router routes within.
12
+ *
13
+ * Exposed so collaborators that need the same simulation, such as the clock
14
+ * stamping invocation events, take it from here rather than being given a
15
+ * second SimAws that could be a different one.
16
+ */
17
+ simAws;
18
+ urlRegistry;
19
+ constructor(properties = {}) {
20
+ this.simAws = properties.simAws ?? new SimAws();
21
+ this.urlRegistry =
22
+ properties.urlRegistry ?? this.simAws.lambdaUrlRegistry();
23
+ }
24
+ /**
25
+ * Find the Function URL and function a request target addresses.
26
+ */
27
+ route(target) {
28
+ const urlId = target.resourceName;
29
+ const accountId = this.urlRegistry.accountIdForFunctionUrl(urlId);
30
+ if (accountId === undefined) {
31
+ return undefined;
32
+ }
33
+ const scope = this.simAws.accountRegionScope(accountId, target.regionName);
34
+ const lambda = scope.lambda();
35
+ const functionUrl = lambda.getSimFunctionUrlById(urlId);
36
+ if (functionUrl === undefined) {
37
+ return undefined;
38
+ }
39
+ const simFunction = lambda.getSimFunctionByName(functionUrl.functionName);
40
+ /* v8 ignore if -- defensive check: a URL cannot outlive its function */
41
+ if (simFunction === undefined) {
42
+ return undefined;
43
+ }
44
+ return { functionUrl, simFunction, iam: scope.iam() };
45
+ }
46
+ }
47
+ //# sourceMappingURL=sim-lambda-url-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-lambda-url-router.js","sourceRoot":"","sources":["../../../../src/service/lambda/serve/sim-lambda-url-router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAwB9C;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IAC7B;;;;;;OAMG;IACa,MAAM,CAAS;IAEd,WAAW,CAAuB;IAEnD,YAAY,UAAU,GAAiC,EAAE;QACvD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAChD,IAAI,CAAC,WAAW;YACd,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAA2B;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,YAAsC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAElE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAExD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAE1E,wEAAwE;QACxE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;IACxD,CAAC;CACF"}
@@ -8,9 +8,9 @@ import type { SimCfnServiceResourceFactory } from "../cloudformation/resource/fa
8
8
  import type { SimLambdaCodeStore } from "./function/code/store/sim-lambda-code-store.js";
9
9
  import type { SimLambdaVmSdkModuleProvider } from "./function/code/vm/sdk/sim-lambda-vm-sdk-module-provider.js";
10
10
  import type { SimLambdaFunction, SimLambdaFunctionName } from "./function/sim-lambda-function.js";
11
- import type { SimCreateFunctionCommand, SimCreateFunctionCommandOutput } from "./command/create-function/create-function.command.js";
12
- import type { SimGetFunctionCommand, SimGetFunctionCommandOutput } from "./command/get-function/get-function.command.js";
13
- import type { SimInvokeCommand, SimInvokeCommandOutput } from "./command/invoke/invoke.command.js";
11
+ import type { SimAddPermissionCommand, SimAddPermissionCommandOutput, SimCreateFunctionCommand, SimCreateFunctionCommandOutput, SimCreateFunctionUrlConfigCommand, SimCreateFunctionUrlConfigCommandOutput, SimDeleteFunctionUrlConfigCommand, SimDeleteFunctionUrlConfigCommandOutput, SimGetFunctionCommand, SimGetFunctionCommandOutput, SimGetFunctionUrlConfigCommand, SimGetFunctionUrlConfigCommandOutput, SimGetPolicyCommand, SimGetPolicyCommandOutput, SimInvokeCommand, SimInvokeCommandOutput, SimListFunctionUrlConfigsCommand, SimListFunctionUrlConfigsCommandOutput, SimRemovePermissionCommand, SimRemovePermissionCommandOutput, SimUpdateFunctionUrlConfigCommand, SimUpdateFunctionUrlConfigCommandOutput } from "./command/sim-lambda-command.types.js";
12
+ import type { SimLambdaFunctionUrl, SimLambdaFunctionUrlId } from "./function/url/sim-lambda-function-url.js";
13
+ import { SimLambdaUrlRegistry } from "./registry/sim-lambda-url-registry.js";
14
14
  export interface SimLambdaRequestOptions {
15
15
  readonly caller?: SimAwsCaller;
16
16
  }
@@ -21,18 +21,18 @@ interface SimLambdaProperties {
21
21
  readonly runAsOwner?: SimAwsRunAsOwner;
22
22
  readonly codeStore?: SimLambdaCodeStore;
23
23
  readonly vmSdkModuleProvider?: SimLambdaVmSdkModuleProvider;
24
+ readonly urlRegistry?: SimLambdaUrlRegistry;
24
25
  }
25
26
  /**
26
27
  * Simulated Lambda. Handles SDK commands. Emulates AWS behaviour and state.
27
28
  */
28
29
  export declare class SimLambda {
29
30
  private readonly functions;
30
- private readonly accountRegionScope;
31
- private readonly iam;
32
- private readonly background;
33
- private readonly runAsOwner;
34
- private readonly codeStore;
35
- private readonly vmSdkModuleProvider;
31
+ private readonly functionUrls;
32
+ private readonly functionLookup;
33
+ private readonly functionCommands;
34
+ private readonly functionUrlCommands;
35
+ private readonly permissionCommands;
36
36
  /**
37
37
  * Shared across function creations so a conflicting environment variable is
38
38
  * only reported once for this simulated Lambda.
@@ -53,10 +53,53 @@ export declare class SimLambda {
53
53
  * Handle an Invoke Command from the SDK.
54
54
  */
55
55
  invoke(command: SimInvokeCommand, options?: SimLambdaRequestOptions): Promise<SimInvokeCommandOutput>;
56
+ /**
57
+ * Handle a Create Function Url Config Command from the SDK.
58
+ */
59
+ createFunctionUrlConfig(command: SimCreateFunctionUrlConfigCommand, options?: SimLambdaRequestOptions): Promise<SimCreateFunctionUrlConfigCommandOutput>;
60
+ /**
61
+ * Handle a Get Function Url Config Command from the SDK.
62
+ */
63
+ getFunctionUrlConfig(command: SimGetFunctionUrlConfigCommand, options?: SimLambdaRequestOptions): Promise<SimGetFunctionUrlConfigCommandOutput>;
64
+ /**
65
+ * Handle an Update Function Url Config Command from the SDK.
66
+ */
67
+ updateFunctionUrlConfig(command: SimUpdateFunctionUrlConfigCommand, options?: SimLambdaRequestOptions): Promise<SimUpdateFunctionUrlConfigCommandOutput>;
68
+ /**
69
+ * Handle a Delete Function Url Config Command from the SDK.
70
+ */
71
+ deleteFunctionUrlConfig(command: SimDeleteFunctionUrlConfigCommand, options?: SimLambdaRequestOptions): Promise<SimDeleteFunctionUrlConfigCommandOutput>;
72
+ /**
73
+ * Handle a List Function Url Configs Command from the SDK.
74
+ */
75
+ listFunctionUrlConfigs(command: SimListFunctionUrlConfigsCommand, options?: SimLambdaRequestOptions): Promise<SimListFunctionUrlConfigsCommandOutput>;
76
+ /**
77
+ * Handle an Add Permission Command from the SDK.
78
+ */
79
+ addPermission(command: SimAddPermissionCommand, options?: SimLambdaRequestOptions): Promise<SimAddPermissionCommandOutput>;
80
+ /**
81
+ * Handle a Remove Permission Command from the SDK.
82
+ */
83
+ removePermission(command: SimRemovePermissionCommand, options?: SimLambdaRequestOptions): Promise<SimRemovePermissionCommandOutput>;
84
+ /**
85
+ * Handle a Get Policy Command from the SDK.
86
+ */
87
+ getPolicy(command: SimGetPolicyCommand, options?: SimLambdaRequestOptions): Promise<SimGetPolicyCommandOutput>;
56
88
  /**
57
89
  * Get a simulated Lambda function instance by name.
58
90
  */
59
91
  getSimFunctionByName(functionName: SimLambdaFunctionName | string): SimLambdaFunction | undefined;
92
+ /**
93
+ * Get a simulated Lambda function's Function URL, if it has one.
94
+ */
95
+ getSimFunctionUrl(functionName: SimLambdaFunctionName | string): SimLambdaFunctionUrl | undefined;
96
+ /**
97
+ * Get a simulated Lambda Function URL by the id in its hostname.
98
+ *
99
+ * This is how the localhost serving layer finds the Function URL a request
100
+ * was addressed to, once the registry has named the owning Account.
101
+ */
102
+ getSimFunctionUrlById(urlId: SimLambdaFunctionUrlId): SimLambdaFunctionUrl | undefined;
60
103
  /**
61
104
  * Get this service's CloudFormation Resource factory.
62
105
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-lambda.d.ts","sourceRoot":"","sources":["../../../src/service/lambda/sim-lambda.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAC1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qEAAqE,CAAC;AAGxH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6DAA6D,CAAC;AAEhH,OAAO,KAAK,EACV,iBAAiB,EAEjB,qBAAqB,EACtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,wBAAwB,EACxB,8BAA8B,EAC/B,MAAM,sDAAsD,CAAC;AAE9D,OAAO,KAAK,EACV,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,gDAAgD,CAAC;AAExD,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,oCAAoC,CAAC;AAG5C,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;CAC7D;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmC;IAE7D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAC9C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CACO;IAC3C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuC;IAE5E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAEzB;IACF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAuC;IAEjE,YAAY,UAAU,GAAE,mBAAwB,EAkB/C;IAED;;OAEG;IACG,cAAc,CAClB,OAAO,EAAE,wBAAwB,EACjC,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,8BAA8B,CAAC,CAYzC;IAED;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,2BAA2B,CAAC,CAQtC;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,gBAAgB,EACzB,OAAO,CAAC,EAAE,uBAAuB,GAChC,OAAO,CAAC,sBAAsB,CAAC,CAQjC;IAED;;OAEG;IACH,oBAAoB,CAClB,YAAY,EAAE,qBAAqB,GAAG,MAAM,GAC3C,iBAAiB,GAAG,SAAS,CAE/B;IAED;;OAEG;IACH,kBAAkB,IAAI,4BAA4B,CAEjD;IAED;;OAEG;IACH,gBAAgB,IAAI,mBAAmB,CAEtC;CACF"}
1
+ {"version":3,"file":"sim-lambda.d.ts","sourceRoot":"","sources":["../../../src/service/lambda/sim-lambda.ts"],"names":[],"mappings":"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"}
@@ -2,22 +2,24 @@ import { BackgroundTasks, } from "../../util/background/background.js";
2
2
  import { simAwsAccountRegionScopeFactory } from "../aws/sim-aws-account-region-scope.factory.js";
3
3
  import { SimIamAllowAllAuth, } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
4
4
  import { SimLambdaCloudFormationResourceFactory } from "./cfn/sim-cfn-lambda-resource-factory.js";
5
- import { CreateFunctionCommandHandler } from "./command/create-function/create-function.handler.js";
6
5
  import { SimLambdaEnvironmentConflicts } from "./function/environment/sim-lambda-environment-conflicts.js";
7
- import { GetFunctionCommandHandler } from "./command/get-function/get-function.handler.js";
8
- import { InvokeCommandHandler } from "./command/invoke/invoke.handler.js";
6
+ import { SimLambdaFunctionCommands } from "./command/function/sim-lambda-function-commands.js";
7
+ import { SimLambdaFunctionUrlCommands } from "./command/function-url/sim-lambda-function-url-commands.js";
8
+ import { SimLambdaPermissionCommands } from "./command/permission/sim-lambda-permission-commands.js";
9
+ import { SimLambdaFunctionLookup } from "./function/url/sim-lambda-function-lookup.js";
10
+ import { SimLambdaFunctionUrlStore } from "./function/url/sim-lambda-function-url-store.js";
11
+ import { SimLambdaUrlRegistry } from "./registry/sim-lambda-url-registry.js";
9
12
  import { SimLambdaSdkCommandRouter } from "./sdk/sim-lambda-sdk-command-router.js";
10
13
  /**
11
14
  * Simulated Lambda. Handles SDK commands. Emulates AWS behaviour and state.
12
15
  */
13
16
  export class SimLambda {
14
17
  functions = new Map();
15
- accountRegionScope;
16
- iam;
17
- background;
18
- runAsOwner;
19
- codeStore;
20
- vmSdkModuleProvider;
18
+ functionUrls;
19
+ functionLookup;
20
+ functionCommands;
21
+ functionUrlCommands;
22
+ permissionCommands;
21
23
  /**
22
24
  * Shared across function creations so a conflicting environment variable is
23
25
  * only reported once for this simulated Lambda.
@@ -26,56 +28,110 @@ export class SimLambda {
26
28
  cfnFactory = new SimLambdaCloudFormationResourceFactory(this);
27
29
  sdkRouter = new SimLambdaSdkCommandRouter(this);
28
30
  constructor(properties = {}) {
29
- const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), codeStore, vmSdkModuleProvider, } = properties;
30
- this.accountRegionScope = accountRegionScope;
31
- this.iam = iam;
32
- this.background = background;
33
- this.codeStore = codeStore;
34
- this.vmSdkModuleProvider = vmSdkModuleProvider;
35
- // Ambient execution-role callers are tracked per owning SimAws instance.
36
- // A standalone SimLambda is its own little universe, so it owns its own
37
- // ambient callers.
38
- this.runAsOwner = properties.runAsOwner ?? this;
31
+ const { accountRegionScope = simAwsAccountRegionScopeFactory.make(), iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), codeStore, vmSdkModuleProvider,
32
+ // A standalone SimLambda is not reachable over HTTP, so its own
33
+ // registry is enough; a SimAws-created one shares the environment-wide
34
+ // registry the serving layer routes with.
35
+ urlRegistry = new SimLambdaUrlRegistry(), } = properties;
36
+ this.functionLookup = new SimLambdaFunctionLookup({
37
+ accountRegionScope,
38
+ functions: this.functions,
39
+ });
40
+ this.functionUrls = new SimLambdaFunctionUrlStore({
41
+ accountRegionScope,
42
+ urlRegistry,
43
+ clock: background,
44
+ });
45
+ this.functionUrlCommands = new SimLambdaFunctionUrlCommands({
46
+ functionUrls: this.functionUrls,
47
+ functions: this.functionLookup,
48
+ iam,
49
+ background,
50
+ });
51
+ this.permissionCommands = new SimLambdaPermissionCommands({
52
+ functions: this.functionLookup,
53
+ iam,
54
+ background,
55
+ });
56
+ this.functionCommands = new SimLambdaFunctionCommands({
57
+ accountRegionScope,
58
+ functions: this.functions,
59
+ iam,
60
+ background,
61
+ // Ambient execution-role callers are tracked per owning SimAws instance.
62
+ // A standalone SimLambda is its own little universe, so it owns its own
63
+ // ambient callers.
64
+ runAsOwner: properties.runAsOwner ?? this,
65
+ environmentConflicts: this.environmentConflicts,
66
+ codeStore,
67
+ vmSdkModuleProvider,
68
+ });
39
69
  }
40
70
  /**
41
71
  * Handle a Create Function Command from the SDK.
42
72
  */
43
73
  async createFunction(command, options) {
44
- const handler = new CreateFunctionCommandHandler({
45
- accountRegionScope: this.accountRegionScope,
46
- functions: this.functions,
47
- runAsOwner: this.runAsOwner,
48
- iam: this.iam,
49
- background: this.background,
50
- codeStore: this.codeStore,
51
- vmSdkModuleProvider: this.vmSdkModuleProvider,
52
- environmentConflicts: this.environmentConflicts,
53
- });
54
- return await handler.handle(command, options);
74
+ return await this.functionCommands.create(command, options);
55
75
  }
56
76
  /**
57
77
  * Handle a Get Function Command from the SDK.
58
78
  */
59
79
  async getFunction(command, options) {
60
- const handler = new GetFunctionCommandHandler({
61
- accountRegionScope: this.accountRegionScope,
62
- functions: this.functions,
63
- iam: this.iam,
64
- background: this.background,
65
- });
66
- return await handler.handle(command, options);
80
+ return await this.functionCommands.get(command, options);
67
81
  }
68
82
  /**
69
83
  * Handle an Invoke Command from the SDK.
70
84
  */
71
85
  async invoke(command, options) {
72
- const handler = new InvokeCommandHandler({
73
- accountRegionScope: this.accountRegionScope,
74
- functions: this.functions,
75
- iam: this.iam,
76
- background: this.background,
77
- });
78
- return await handler.handle(command, options);
86
+ return await this.functionCommands.invoke(command, options);
87
+ }
88
+ /**
89
+ * Handle a Create Function Url Config Command from the SDK.
90
+ */
91
+ async createFunctionUrlConfig(command, options) {
92
+ return await this.functionUrlCommands.create(command, options);
93
+ }
94
+ /**
95
+ * Handle a Get Function Url Config Command from the SDK.
96
+ */
97
+ async getFunctionUrlConfig(command, options) {
98
+ return await this.functionUrlCommands.get(command, options);
99
+ }
100
+ /**
101
+ * Handle an Update Function Url Config Command from the SDK.
102
+ */
103
+ async updateFunctionUrlConfig(command, options) {
104
+ return await this.functionUrlCommands.update(command, options);
105
+ }
106
+ /**
107
+ * Handle a Delete Function Url Config Command from the SDK.
108
+ */
109
+ async deleteFunctionUrlConfig(command, options) {
110
+ return await this.functionUrlCommands.delete(command, options);
111
+ }
112
+ /**
113
+ * Handle a List Function Url Configs Command from the SDK.
114
+ */
115
+ async listFunctionUrlConfigs(command, options) {
116
+ return await this.functionUrlCommands.list(command, options);
117
+ }
118
+ /**
119
+ * Handle an Add Permission Command from the SDK.
120
+ */
121
+ async addPermission(command, options) {
122
+ return await this.permissionCommands.add(command, options);
123
+ }
124
+ /**
125
+ * Handle a Remove Permission Command from the SDK.
126
+ */
127
+ async removePermission(command, options) {
128
+ return await this.permissionCommands.remove(command, options);
129
+ }
130
+ /**
131
+ * Handle a Get Policy Command from the SDK.
132
+ */
133
+ async getPolicy(command, options) {
134
+ return await this.permissionCommands.getPolicy(command, options);
79
135
  }
80
136
  /**
81
137
  * Get a simulated Lambda function instance by name.
@@ -83,6 +139,21 @@ export class SimLambda {
83
139
  getSimFunctionByName(functionName) {
84
140
  return this.functions.get(functionName);
85
141
  }
142
+ /**
143
+ * Get a simulated Lambda function's Function URL, if it has one.
144
+ */
145
+ getSimFunctionUrl(functionName) {
146
+ return this.functionUrls.get(functionName);
147
+ }
148
+ /**
149
+ * Get a simulated Lambda Function URL by the id in its hostname.
150
+ *
151
+ * This is how the localhost serving layer finds the Function URL a request
152
+ * was addressed to, once the registry has named the owning Account.
153
+ */
154
+ getSimFunctionUrlById(urlId) {
155
+ return this.functionUrls.byUrlId(urlId);
156
+ }
86
157
  /**
87
158
  * Get this service's CloudFormation Resource factory.
88
159
  */