@kensio/yulin 0.35.0 → 0.37.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 (649) 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 +13 -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/authorize/allow/sim-iam-allow-requirement.d.ts +60 -0
  122. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts.map +1 -0
  123. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +60 -0
  124. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js.map +1 -0
  125. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts +46 -0
  126. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts.map +1 -0
  127. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js +67 -0
  128. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js.map +1 -0
  129. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.d.ts +37 -0
  130. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.d.ts.map +1 -0
  131. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.js +33 -0
  132. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.js.map +1 -0
  133. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.d.ts +21 -0
  134. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.d.ts.map +1 -0
  135. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.js +2 -0
  136. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.js.map +1 -0
  137. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.d.ts +34 -0
  138. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.d.ts.map +1 -0
  139. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.js +22 -0
  140. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.js.map +1 -0
  141. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.d.ts +18 -0
  142. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.d.ts.map +1 -0
  143. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.js +16 -0
  144. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.js.map +1 -0
  145. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts +1 -2
  146. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts.map +1 -1
  147. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +39 -2
  148. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
  149. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +42 -8
  150. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
  151. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts +9 -0
  152. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts.map +1 -1
  153. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.d.ts.map +1 -1
  154. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js +2 -0
  155. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js.map +1 -1
  156. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.d.ts +14 -0
  157. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.d.ts.map +1 -0
  158. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.js +2 -0
  159. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.js.map +1 -0
  160. package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts +24 -1
  161. package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts.map +1 -1
  162. package/dist/service/iam/authorize/sim-iam-account-auth-z.js +18 -4
  163. package/dist/service/iam/authorize/sim-iam-account-auth-z.js.map +1 -1
  164. package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +11 -2
  165. package/dist/service/iam/authorize/sim-iam-authorizer.d.ts.map +1 -1
  166. package/dist/service/iam/authorize/sim-iam-authorizer.js +14 -1
  167. package/dist/service/iam/authorize/sim-iam-authorizer.js.map +1 -1
  168. package/dist/service/iam/authorize/sim-iam-decision.d.ts +17 -5
  169. package/dist/service/iam/authorize/sim-iam-decision.d.ts.map +1 -1
  170. package/dist/service/iam/authorize/sim-iam-decision.js +27 -13
  171. package/dist/service/iam/authorize/sim-iam-decision.js.map +1 -1
  172. package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.d.ts +1 -0
  173. package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.d.ts.map +1 -1
  174. package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.js +1 -2
  175. package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.js.map +1 -1
  176. package/dist/service/iam/command/policy/create-policy/create-policy.handler.d.ts.map +1 -1
  177. package/dist/service/iam/command/policy/create-policy/create-policy.handler.js +1 -0
  178. package/dist/service/iam/command/policy/create-policy/create-policy.handler.js.map +1 -1
  179. package/dist/service/iam/command/role/create-role/create-role-record-factory.d.ts +1 -0
  180. package/dist/service/iam/command/role/create-role/create-role-record-factory.d.ts.map +1 -1
  181. package/dist/service/iam/command/role/create-role/create-role-record-factory.js +1 -2
  182. package/dist/service/iam/command/role/create-role/create-role-record-factory.js.map +1 -1
  183. package/dist/service/iam/command/role/create-role/create-role.handler.d.ts.map +1 -1
  184. package/dist/service/iam/command/role/create-role/create-role.handler.js +1 -0
  185. package/dist/service/iam/command/role/create-role/create-role.handler.js.map +1 -1
  186. package/dist/service/iam/command/sim-iam-command-handlers.d.ts +41 -0
  187. package/dist/service/iam/command/sim-iam-command-handlers.d.ts.map +1 -0
  188. package/dist/service/iam/command/sim-iam-command-handlers.js +42 -0
  189. package/dist/service/iam/command/sim-iam-command-handlers.js.map +1 -0
  190. package/dist/service/iam/command/user/create-access-key/create-access-key.handler.d.ts.map +1 -1
  191. package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js +1 -0
  192. package/dist/service/iam/command/user/create-access-key/create-access-key.handler.js.map +1 -1
  193. package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts +1 -0
  194. package/dist/service/iam/command/user/create-user/create-user-record-factory.d.ts.map +1 -1
  195. package/dist/service/iam/command/user/create-user/create-user-record-factory.js +1 -1
  196. package/dist/service/iam/command/user/create-user/create-user-record-factory.js.map +1 -1
  197. package/dist/service/iam/command/user/create-user/create-user.handler.d.ts.map +1 -1
  198. package/dist/service/iam/command/user/create-user/create-user.handler.js +1 -0
  199. package/dist/service/iam/command/user/create-user/create-user.handler.js.map +1 -1
  200. package/dist/service/iam/credential/sim-iam-access-key-checks.d.ts +30 -0
  201. package/dist/service/iam/credential/sim-iam-access-key-checks.d.ts.map +1 -0
  202. package/dist/service/iam/credential/sim-iam-access-key-checks.js +67 -0
  203. package/dist/service/iam/credential/sim-iam-access-key-checks.js.map +1 -0
  204. package/dist/service/iam/credential/sim-iam-access-key.d.ts +6 -1
  205. package/dist/service/iam/credential/sim-iam-access-key.d.ts.map +1 -1
  206. package/dist/service/iam/credential/sim-iam-access-key.js +1 -1
  207. package/dist/service/iam/credential/sim-iam-access-key.js.map +1 -1
  208. package/dist/service/iam/credential/sim-iam-account-signing-credentials.d.ts +21 -0
  209. package/dist/service/iam/credential/sim-iam-account-signing-credentials.d.ts.map +1 -0
  210. package/dist/service/iam/credential/sim-iam-account-signing-credentials.js +28 -0
  211. package/dist/service/iam/credential/sim-iam-account-signing-credentials.js.map +1 -0
  212. package/dist/service/iam/credential/sim-iam-credential-registry.d.ts +28 -0
  213. package/dist/service/iam/credential/sim-iam-credential-registry.d.ts.map +1 -1
  214. package/dist/service/iam/credential/sim-iam-credential-registry.js +32 -43
  215. package/dist/service/iam/credential/sim-iam-credential-registry.js.map +1 -1
  216. package/dist/service/iam/credential/sim-iam-signing-credential.d.ts +32 -0
  217. package/dist/service/iam/credential/sim-iam-signing-credential.d.ts.map +1 -0
  218. package/dist/service/iam/credential/sim-iam-signing-credential.js +2 -0
  219. package/dist/service/iam/credential/sim-iam-signing-credential.js.map +1 -0
  220. package/dist/service/iam/index.d.ts +6 -0
  221. package/dist/service/iam/index.d.ts.map +1 -1
  222. package/dist/service/iam/index.js +4 -0
  223. package/dist/service/iam/index.js.map +1 -1
  224. package/dist/service/iam/registry/sim-iam-access-key-registry.d.ts +39 -0
  225. package/dist/service/iam/registry/sim-iam-access-key-registry.d.ts.map +1 -0
  226. package/dist/service/iam/registry/sim-iam-access-key-registry.js +47 -0
  227. package/dist/service/iam/registry/sim-iam-access-key-registry.js.map +1 -0
  228. package/dist/service/iam/registry/sim-iam-account-resolver.d.ts +8 -0
  229. package/dist/service/iam/registry/sim-iam-account-resolver.d.ts.map +1 -1
  230. package/dist/service/iam/registry/sim-iam-global-credential-resolver.d.ts +25 -0
  231. package/dist/service/iam/registry/sim-iam-global-credential-resolver.d.ts.map +1 -0
  232. package/dist/service/iam/registry/sim-iam-global-credential-resolver.js +31 -0
  233. package/dist/service/iam/registry/sim-iam-global-credential-resolver.js.map +1 -0
  234. package/dist/service/iam/registry/sim-iam-registry.d.ts +4 -0
  235. package/dist/service/iam/registry/sim-iam-registry.d.ts.map +1 -1
  236. package/dist/service/iam/registry/sim-iam-registry.js +7 -1
  237. package/dist/service/iam/registry/sim-iam-registry.js.map +1 -1
  238. package/dist/service/iam/request/error/sim-aws-request-auth.error.d.ts +27 -0
  239. package/dist/service/iam/request/error/sim-aws-request-auth.error.d.ts.map +1 -0
  240. package/dist/service/iam/request/error/sim-aws-request-auth.error.js +25 -0
  241. package/dist/service/iam/request/error/sim-aws-request-auth.error.js.map +1 -0
  242. package/dist/service/iam/request/sim-aws-caller-header.d.ts +28 -0
  243. package/dist/service/iam/request/sim-aws-caller-header.d.ts.map +1 -0
  244. package/dist/service/iam/request/sim-aws-caller-header.js +62 -0
  245. package/dist/service/iam/request/sim-aws-caller-header.js.map +1 -0
  246. package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts +49 -0
  247. package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts.map +1 -0
  248. package/dist/service/iam/request/sim-aws-request-caller-resolver.js +68 -0
  249. package/dist/service/iam/request/sim-aws-request-caller-resolver.js.map +1 -0
  250. package/dist/service/iam/request/sim-aws-request-caller.d.ts +50 -0
  251. package/dist/service/iam/request/sim-aws-request-caller.d.ts.map +1 -0
  252. package/dist/service/iam/request/sim-aws-request-caller.js +55 -0
  253. package/dist/service/iam/request/sim-aws-request-caller.js.map +1 -0
  254. package/dist/service/iam/sigv4/canonical/sigv4-byte-order.d.ts +9 -0
  255. package/dist/service/iam/sigv4/canonical/sigv4-byte-order.d.ts.map +1 -0
  256. package/dist/service/iam/sigv4/canonical/sigv4-byte-order.js +14 -0
  257. package/dist/service/iam/sigv4/canonical/sigv4-byte-order.js.map +1 -0
  258. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.d.ts +22 -0
  259. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.d.ts.map +1 -0
  260. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.js +48 -0
  261. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.js.map +1 -0
  262. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.d.ts +14 -0
  263. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.d.ts.map +1 -0
  264. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.js +31 -0
  265. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.js.map +1 -0
  266. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.d.ts +19 -0
  267. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.d.ts.map +1 -0
  268. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.js +78 -0
  269. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.js.map +1 -0
  270. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts +20 -0
  271. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts.map +1 -0
  272. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js +36 -0
  273. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js.map +1 -0
  274. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts +19 -0
  275. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts.map +1 -0
  276. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js +52 -0
  277. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js.map +1 -0
  278. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts +60 -0
  279. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts.map +1 -0
  280. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js +68 -0
  281. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js.map +1 -0
  282. package/dist/service/iam/sigv4/sigv4-uri-escape.d.ts +8 -0
  283. package/dist/service/iam/sigv4/sigv4-uri-escape.d.ts.map +1 -0
  284. package/dist/service/iam/sigv4/sigv4-uri-escape.js +10 -0
  285. package/dist/service/iam/sigv4/sigv4-uri-escape.js.map +1 -0
  286. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts +33 -0
  287. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts.map +1 -0
  288. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js +70 -0
  289. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js.map +1 -0
  290. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.d.ts +11 -0
  291. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.d.ts.map +1 -0
  292. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.js +45 -0
  293. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-failure.js.map +1 -0
  294. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.d.ts +30 -0
  295. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.d.ts.map +1 -0
  296. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.js +52 -0
  297. package/dist/service/iam/sigv4/sim-iam-sigv4-credential-scope.js.map +1 -0
  298. package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.d.ts +39 -0
  299. package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.d.ts.map +1 -0
  300. package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.js +52 -0
  301. package/dist/service/iam/sigv4/sim-iam-sigv4-expected-scope.js.map +1 -0
  302. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts +16 -0
  303. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts.map +1 -0
  304. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js +31 -0
  305. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js.map +1 -0
  306. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts +18 -0
  307. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts.map +1 -0
  308. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js +25 -0
  309. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js.map +1 -0
  310. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.d.ts +9 -0
  311. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.d.ts.map +1 -0
  312. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.js +26 -0
  313. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-match.js.map +1 -0
  314. package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.d.ts +19 -0
  315. package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.d.ts.map +1 -0
  316. package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.js +12 -0
  317. package/dist/service/iam/sigv4/sim-iam-sigv4-signed-request.js.map +1 -0
  318. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts +13 -0
  319. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts.map +1 -0
  320. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js +18 -0
  321. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js.map +1 -0
  322. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.d.ts +26 -0
  323. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.d.ts.map +1 -0
  324. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.js +40 -0
  325. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-key.js.map +1 -0
  326. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts +32 -0
  327. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts.map +1 -0
  328. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js +45 -0
  329. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js.map +1 -0
  330. package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.d.ts +17 -0
  331. package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.d.ts.map +1 -0
  332. package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.js +2 -0
  333. package/dist/service/iam/sigv4/sim-iam-sigv4-verify-options.js.map +1 -0
  334. package/dist/service/iam/sim-iam-account-parts.d.ts +58 -0
  335. package/dist/service/iam/sim-iam-account-parts.d.ts.map +1 -0
  336. package/dist/service/iam/sim-iam-account-parts.js +72 -0
  337. package/dist/service/iam/sim-iam-account-parts.js.map +1 -0
  338. package/dist/service/iam/sim-iam.d.ts +28 -21
  339. package/dist/service/iam/sim-iam.d.ts.map +1 -1
  340. package/dist/service/iam/sim-iam.js +42 -67
  341. package/dist/service/iam/sim-iam.js.map +1 -1
  342. package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.d.ts +8 -6
  343. package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.d.ts.map +1 -1
  344. package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.js +12 -7
  345. package/dist/service/lambda/cfn/function/sim-cfn-lambda-cdk-assets-skip.js.map +1 -1
  346. package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.d.ts +9 -1
  347. package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.d.ts.map +1 -1
  348. package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.js +5 -2
  349. package/dist/service/lambda/cfn/function/sim-cfn-lambda-code-input.js.map +1 -1
  350. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts +1 -0
  351. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.d.ts.map +1 -1
  352. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js +7 -1
  353. package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-creator.js.map +1 -1
  354. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts +6 -2
  355. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.d.ts.map +1 -1
  356. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js +16 -3
  357. package/dist/service/lambda/cfn/function/sim-cfn-lambda-property-parser.js.map +1 -1
  358. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.d.ts +29 -0
  359. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.d.ts.map +1 -0
  360. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.js +43 -0
  361. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.js.map +1 -0
  362. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts +12 -0
  363. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.d.ts.map +1 -0
  364. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js +20 -0
  365. package/dist/service/lambda/cfn/function/sim-cfn-lambda-target-function.js.map +1 -0
  366. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts +31 -0
  367. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.d.ts.map +1 -0
  368. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js +48 -0
  369. package/dist/service/lambda/cfn/permission/sim-cfn-lambda-permission-creator.js.map +1 -0
  370. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts +2 -0
  371. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.d.ts.map +1 -1
  372. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js +12 -0
  373. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-factory.js.map +1 -1
  374. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts +25 -0
  375. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.d.ts.map +1 -0
  376. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +35 -0
  377. package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js.map +1 -0
  378. package/dist/service/lambda/command/add-permission/add-permission.command.d.ts +32 -0
  379. package/dist/service/lambda/command/add-permission/add-permission.command.d.ts.map +1 -0
  380. package/dist/service/lambda/command/add-permission/add-permission.command.js +2 -0
  381. package/dist/service/lambda/command/add-permission/add-permission.command.js.map +1 -0
  382. package/dist/service/lambda/command/add-permission/add-permission.handler.d.ts +31 -0
  383. package/dist/service/lambda/command/add-permission/add-permission.handler.d.ts.map +1 -0
  384. package/dist/service/lambda/command/add-permission/add-permission.handler.js +52 -0
  385. package/dist/service/lambda/command/add-permission/add-permission.handler.js.map +1 -0
  386. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts +13 -0
  387. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts.map +1 -0
  388. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.js +26 -0
  389. package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.js.map +1 -0
  390. package/dist/service/lambda/command/create-function/create-function.handler.d.ts.map +1 -1
  391. package/dist/service/lambda/command/create-function/create-function.handler.js +1 -0
  392. package/dist/service/lambda/command/create-function/create-function.handler.js.map +1 -1
  393. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +29 -0
  394. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts.map +1 -0
  395. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.js +5 -0
  396. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.js.map +1 -0
  397. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.d.ts +35 -0
  398. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.d.ts.map +1 -0
  399. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +47 -0
  400. package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js.map +1 -0
  401. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.d.ts +26 -0
  402. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.d.ts.map +1 -0
  403. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.js +5 -0
  404. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.command.js.map +1 -0
  405. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.d.ts +34 -0
  406. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.d.ts.map +1 -0
  407. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.js +38 -0
  408. package/dist/service/lambda/command/delete-function-url-config/delete-function-url-config.handler.js.map +1 -0
  409. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +50 -0
  410. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts.map +1 -0
  411. package/dist/service/lambda/command/function/sim-lambda-function-commands.js +35 -0
  412. package/dist/service/lambda/command/function/sim-lambda-function-commands.js.map +1 -0
  413. package/dist/service/lambda/command/function-url/function-url-authorizer.d.ts +29 -0
  414. package/dist/service/lambda/command/function-url/function-url-authorizer.d.ts.map +1 -0
  415. package/dist/service/lambda/command/function-url/function-url-authorizer.js +39 -0
  416. package/dist/service/lambda/command/function-url/function-url-authorizer.js.map +1 -0
  417. package/dist/service/lambda/command/function-url/function-url-input.d.ts +24 -0
  418. package/dist/service/lambda/command/function-url/function-url-input.d.ts.map +1 -0
  419. package/dist/service/lambda/command/function-url/function-url-input.js +49 -0
  420. package/dist/service/lambda/command/function-url/function-url-input.js.map +1 -0
  421. package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.d.ts +52 -0
  422. package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.d.ts.map +1 -0
  423. package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.js +49 -0
  424. package/dist/service/lambda/command/function-url/sim-lambda-function-url-commands.js.map +1 -0
  425. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.d.ts +24 -0
  426. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.d.ts.map +1 -0
  427. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.js +5 -0
  428. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.command.js.map +1 -0
  429. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.d.ts +34 -0
  430. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.d.ts.map +1 -0
  431. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.js +41 -0
  432. package/dist/service/lambda/command/get-function-url-config/get-function-url-config.handler.js.map +1 -0
  433. package/dist/service/lambda/command/get-policy/get-policy.command.d.ts +22 -0
  434. package/dist/service/lambda/command/get-policy/get-policy.command.d.ts.map +1 -0
  435. package/dist/service/lambda/command/get-policy/get-policy.command.js +2 -0
  436. package/dist/service/lambda/command/get-policy/get-policy.command.js.map +1 -0
  437. package/dist/service/lambda/command/get-policy/get-policy.handler.d.ts +35 -0
  438. package/dist/service/lambda/command/get-policy/get-policy.handler.d.ts.map +1 -0
  439. package/dist/service/lambda/command/get-policy/get-policy.handler.js +45 -0
  440. package/dist/service/lambda/command/get-policy/get-policy.handler.js.map +1 -0
  441. package/dist/service/lambda/command/invoke/invoke-authorizer.d.ts +8 -2
  442. package/dist/service/lambda/command/invoke/invoke-authorizer.d.ts.map +1 -1
  443. package/dist/service/lambda/command/invoke/invoke-authorizer.js +9 -2
  444. package/dist/service/lambda/command/invoke/invoke-authorizer.js.map +1 -1
  445. package/dist/service/lambda/command/invoke/invoke.handler.d.ts.map +1 -1
  446. package/dist/service/lambda/command/invoke/invoke.handler.js +4 -1
  447. package/dist/service/lambda/command/invoke/invoke.handler.js.map +1 -1
  448. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.d.ts +25 -0
  449. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.d.ts.map +1 -0
  450. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.js +5 -0
  451. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.command.js.map +1 -0
  452. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.d.ts +37 -0
  453. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.d.ts.map +1 -0
  454. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.js +46 -0
  455. package/dist/service/lambda/command/list-function-url-configs/list-function-url-configs.handler.js.map +1 -0
  456. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.d.ts +40 -0
  457. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.d.ts.map +1 -0
  458. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.js +35 -0
  459. package/dist/service/lambda/command/permission/sim-lambda-permission-commands.js.map +1 -0
  460. package/dist/service/lambda/command/remove-permission/remove-permission.command.d.ts +21 -0
  461. package/dist/service/lambda/command/remove-permission/remove-permission.command.d.ts.map +1 -0
  462. package/dist/service/lambda/command/remove-permission/remove-permission.command.js +2 -0
  463. package/dist/service/lambda/command/remove-permission/remove-permission.command.js.map +1 -0
  464. package/dist/service/lambda/command/remove-permission/remove-permission.handler.d.ts +31 -0
  465. package/dist/service/lambda/command/remove-permission/remove-permission.handler.d.ts.map +1 -0
  466. package/dist/service/lambda/command/remove-permission/remove-permission.handler.js +36 -0
  467. package/dist/service/lambda/command/remove-permission/remove-permission.handler.js.map +1 -0
  468. package/dist/service/lambda/command/sim-lambda-command.types.d.ts +19 -0
  469. package/dist/service/lambda/command/sim-lambda-command.types.d.ts.map +1 -0
  470. package/dist/service/lambda/command/sim-lambda-command.types.js +9 -0
  471. package/dist/service/lambda/command/sim-lambda-command.types.js.map +1 -0
  472. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +29 -0
  473. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts.map +1 -0
  474. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.js +5 -0
  475. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.js.map +1 -0
  476. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.d.ts +35 -0
  477. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.d.ts.map +1 -0
  478. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +48 -0
  479. package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js.map +1 -0
  480. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +7 -0
  481. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts.map +1 -1
  482. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +4 -3
  483. package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js.map +1 -1
  484. package/dist/service/lambda/function/policy/sim-lambda-function-policy.d.ts +47 -0
  485. package/dist/service/lambda/function/policy/sim-lambda-function-policy.d.ts.map +1 -0
  486. package/dist/service/lambda/function/policy/sim-lambda-function-policy.js +79 -0
  487. package/dist/service/lambda/function/policy/sim-lambda-function-policy.js.map +1 -0
  488. package/dist/service/lambda/function/policy/sim-lambda-permission-principal.d.ts +11 -0
  489. package/dist/service/lambda/function/policy/sim-lambda-permission-principal.d.ts.map +1 -0
  490. package/dist/service/lambda/function/policy/sim-lambda-permission-principal.js +22 -0
  491. package/dist/service/lambda/function/policy/sim-lambda-permission-principal.js.map +1 -0
  492. package/dist/service/lambda/function/policy/sim-lambda-permission.d.ts +66 -0
  493. package/dist/service/lambda/function/policy/sim-lambda-permission.d.ts.map +1 -0
  494. package/dist/service/lambda/function/policy/sim-lambda-permission.js +101 -0
  495. package/dist/service/lambda/function/policy/sim-lambda-permission.js.map +1 -0
  496. package/dist/service/lambda/function/sim-lambda-function.d.ts +18 -0
  497. package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
  498. package/dist/service/lambda/function/sim-lambda-function.js +15 -1
  499. package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
  500. package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts +30 -0
  501. package/dist/service/lambda/function/url/sim-lambda-function-lookup.d.ts.map +1 -0
  502. package/dist/service/lambda/function/url/sim-lambda-function-lookup.js +36 -0
  503. package/dist/service/lambda/function/url/sim-lambda-function-lookup.js.map +1 -0
  504. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +37 -0
  505. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts.map +1 -0
  506. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +42 -0
  507. package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js.map +1 -0
  508. package/dist/service/lambda/function/url/sim-lambda-function-url-host.d.ts +30 -0
  509. package/dist/service/lambda/function/url/sim-lambda-function-url-host.d.ts.map +1 -0
  510. package/dist/service/lambda/function/url/sim-lambda-function-url-host.js +29 -0
  511. package/dist/service/lambda/function/url/sim-lambda-function-url-host.js.map +1 -0
  512. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +45 -0
  513. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts.map +1 -0
  514. package/dist/service/lambda/function/url/sim-lambda-function-url-store.js +72 -0
  515. package/dist/service/lambda/function/url/sim-lambda-function-url-store.js.map +1 -0
  516. package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +103 -0
  517. package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts.map +1 -0
  518. package/dist/service/lambda/function/url/sim-lambda-function-url.js +92 -0
  519. package/dist/service/lambda/function/url/sim-lambda-function-url.js.map +1 -0
  520. package/dist/service/lambda/index.d.ts +1 -0
  521. package/dist/service/lambda/index.d.ts.map +1 -1
  522. package/dist/service/lambda/registry/sim-lambda-url-registry.d.ts +31 -0
  523. package/dist/service/lambda/registry/sim-lambda-url-registry.d.ts.map +1 -0
  524. package/dist/service/lambda/registry/sim-lambda-url-registry.js +43 -0
  525. package/dist/service/lambda/registry/sim-lambda-url-registry.js.map +1 -0
  526. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.d.ts.map +1 -1
  527. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js +32 -0
  528. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js.map +1 -1
  529. package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.d.ts +46 -0
  530. package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.d.ts.map +1 -0
  531. package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.js +47 -0
  532. package/dist/service/lambda/serve/auth/sim-lambda-url-authorizer.js.map +1 -0
  533. package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.d.ts +25 -0
  534. package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.d.ts.map +1 -0
  535. package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.js +53 -0
  536. package/dist/service/lambda/serve/event/sim-lambda-url-body-encoding.js.map +1 -0
  537. package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.d.ts +36 -0
  538. package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.d.ts.map +1 -0
  539. package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.js +61 -0
  540. package/dist/service/lambda/serve/event/sim-lambda-url-event-builder.js.map +1 -0
  541. package/dist/service/lambda/serve/event/sim-lambda-url-event-time.d.ts +9 -0
  542. package/dist/service/lambda/serve/event/sim-lambda-url-event-time.d.ts.map +1 -0
  543. package/dist/service/lambda/serve/event/sim-lambda-url-event-time.js +38 -0
  544. package/dist/service/lambda/serve/event/sim-lambda-url-event-time.js.map +1 -0
  545. package/dist/service/lambda/serve/event/sim-lambda-url-event.type.d.ts +103 -0
  546. package/dist/service/lambda/serve/event/sim-lambda-url-event.type.d.ts.map +1 -0
  547. package/dist/service/lambda/serve/event/sim-lambda-url-event.type.js +2 -0
  548. package/dist/service/lambda/serve/event/sim-lambda-url-event.type.js.map +1 -0
  549. package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.d.ts +30 -0
  550. package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.d.ts.map +1 -0
  551. package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.js +55 -0
  552. package/dist/service/lambda/serve/event/sim-lambda-url-iam-authorizer.js.map +1 -0
  553. package/dist/service/lambda/serve/event/sim-lambda-url-request-context.d.ts +29 -0
  554. package/dist/service/lambda/serve/event/sim-lambda-url-request-context.d.ts.map +1 -0
  555. package/dist/service/lambda/serve/event/sim-lambda-url-request-context.js +54 -0
  556. package/dist/service/lambda/serve/event/sim-lambda-url-request-context.js.map +1 -0
  557. package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.d.ts +26 -0
  558. package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.d.ts.map +1 -0
  559. package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.js +50 -0
  560. package/dist/service/lambda/serve/event/sim-lambda-url-request-parts.js.map +1 -0
  561. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts +24 -0
  562. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.d.ts.map +1 -0
  563. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js +35 -0
  564. package/dist/service/lambda/serve/response/sim-lambda-url-error-response.js.map +1 -0
  565. package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.d.ts +21 -0
  566. package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.d.ts.map +1 -0
  567. package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.js +57 -0
  568. package/dist/service/lambda/serve/response/sim-lambda-url-response-builder.js.map +1 -0
  569. package/dist/service/lambda/serve/sim-lambda-controller.d.ts +42 -0
  570. package/dist/service/lambda/serve/sim-lambda-controller.d.ts.map +1 -0
  571. package/dist/service/lambda/serve/sim-lambda-controller.js +82 -0
  572. package/dist/service/lambda/serve/sim-lambda-controller.js.map +1 -0
  573. package/dist/service/lambda/serve/sim-lambda-url-router.d.ts +44 -0
  574. package/dist/service/lambda/serve/sim-lambda-url-router.d.ts.map +1 -0
  575. package/dist/service/lambda/serve/sim-lambda-url-router.js +47 -0
  576. package/dist/service/lambda/serve/sim-lambda-url-router.js.map +1 -0
  577. package/dist/service/lambda/sim-lambda.d.ts +52 -9
  578. package/dist/service/lambda/sim-lambda.d.ts.map +1 -1
  579. package/dist/service/lambda/sim-lambda.js +115 -44
  580. package/dist/service/lambda/sim-lambda.js.map +1 -1
  581. package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.d.ts.map +1 -1
  582. package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.js +3 -2
  583. package/dist/service/route53/command/change-resource-record-sets/change-resource-record-sets.handler.js.map +1 -1
  584. package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.d.ts +10 -0
  585. package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.d.ts.map +1 -0
  586. package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.js +13 -0
  587. package/dist/service/route53/command/change-resource-record-sets/sim-route53-change-id.js.map +1 -0
  588. package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js +1 -1
  589. package/dist/service/route53/command/create-hosted-zone/create-hosted-zone.handler.js.map +1 -1
  590. package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts +12 -0
  591. package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts.map +1 -1
  592. package/dist/service/route53/resolve/sim-r53-service-target-resolver.js +33 -1
  593. package/dist/service/route53/resolve/sim-r53-service-target-resolver.js.map +1 -1
  594. package/dist/service/route53/serve/sim-route53-controller.d.ts +2 -2
  595. package/dist/service/route53/serve/sim-route53-controller.d.ts.map +1 -1
  596. package/dist/service/route53/serve/sim-route53-controller.js +2 -2
  597. package/dist/service/route53/serve/sim-route53-controller.js.map +1 -1
  598. package/dist/service/s3/serve/sim-s3-controller.d.ts +2 -2
  599. package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
  600. package/dist/service/s3/serve/sim-s3-controller.js +2 -1
  601. package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
  602. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts +7 -0
  603. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.d.ts.map +1 -1
  604. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js +4 -1
  605. package/dist/service/sts/assume/sim-sts-assume-role-session-creator.js.map +1 -1
  606. package/dist/service/sts/command/assume-role/assume-role.handler.d.ts.map +1 -1
  607. package/dist/service/sts/command/assume-role/assume-role.handler.js +1 -0
  608. package/dist/service/sts/command/assume-role/assume-role.handler.js.map +1 -1
  609. package/dist/util/background/background-due-tasks.d.ts +44 -0
  610. package/dist/util/background/background-due-tasks.d.ts.map +1 -0
  611. package/dist/util/background/background-due-tasks.js +71 -0
  612. package/dist/util/background/background-due-tasks.js.map +1 -0
  613. package/dist/util/background/background-jitter.d.ts +16 -0
  614. package/dist/util/background/background-jitter.d.ts.map +1 -0
  615. package/dist/util/background/background-jitter.js +23 -0
  616. package/dist/util/background/background-jitter.js.map +1 -0
  617. package/dist/util/background/background-settled-tasks.d.ts +17 -0
  618. package/dist/util/background/background-settled-tasks.d.ts.map +1 -0
  619. package/dist/util/background/background-settled-tasks.js +24 -0
  620. package/dist/util/background/background-settled-tasks.js.map +1 -0
  621. package/dist/util/background/background.d.ts +63 -2
  622. package/dist/util/background/background.d.ts.map +1 -1
  623. package/dist/util/background/background.js +35 -0
  624. package/dist/util/background/background.js.map +1 -1
  625. package/dist/util/background/non-deterministic-background.d.ts +24 -4
  626. package/dist/util/background/non-deterministic-background.d.ts.map +1 -1
  627. package/dist/util/background/non-deterministic-background.js +36 -13
  628. package/dist/util/background/non-deterministic-background.js.map +1 -1
  629. package/dist/util/clock/sim-clock-control.d.ts +94 -0
  630. package/dist/util/clock/sim-clock-control.d.ts.map +1 -0
  631. package/dist/util/clock/sim-clock-control.js +116 -0
  632. package/dist/util/clock/sim-clock-control.js.map +1 -0
  633. package/dist/util/clock/sim-clock-mode.d.ts +74 -0
  634. package/dist/util/clock/sim-clock-mode.d.ts.map +1 -0
  635. package/dist/util/clock/sim-clock-mode.js +58 -0
  636. package/dist/util/clock/sim-clock-mode.js.map +1 -0
  637. package/dist/util/clock/sim-clock.d.ts +41 -0
  638. package/dist/util/clock/sim-clock.d.ts.map +1 -0
  639. package/dist/util/clock/sim-clock.js +33 -0
  640. package/dist/util/clock/sim-clock.js.map +1 -0
  641. package/dist/util/clock/sim-controllable-clock.d.ts +55 -0
  642. package/dist/util/clock/sim-controllable-clock.d.ts.map +1 -0
  643. package/dist/util/clock/sim-controllable-clock.js +62 -0
  644. package/dist/util/clock/sim-controllable-clock.js.map +1 -0
  645. package/dist/util/clock/sim-duration.d.ts +44 -0
  646. package/dist/util/clock/sim-duration.d.ts.map +1 -0
  647. package/dist/util/clock/sim-duration.js +69 -0
  648. package/dist/util/clock/sim-duration.js.map +1 -0
  649. package/package.json +3 -1
package/README.md CHANGED
@@ -27,6 +27,11 @@ npm i -D @kensio/yulin
27
27
  - [S3](./docs/services/s3 "Simulated S3 docs")
28
28
  - [STS](./docs/services/sts "Simulated STS docs")
29
29
 
30
+ ## Feature specific docs
31
+
32
+ - [AWS SDK interception](./docs/sdk "Simulated AWS SDK docs")
33
+ - [Simulated time](./docs/time "Simulated time docs")
34
+
30
35
  ## Usage
31
36
 
32
37
  ### Intercept AWS SDK clients
@@ -170,6 +175,38 @@ console.log(bucketWebsiteUrl.toString());
170
175
  const res = await fetch(new URL("/foo/", bucketWebsiteUrl));
171
176
  ```
172
177
 
178
+ ### Control simulated time
179
+
180
+ Each simulated AWS has its own clock, which you can freeze, set, or advance. This lets a test
181
+ exercise behaviour that only happens once time passes, without waiting for it and without replacing
182
+ the clock for the whole process:
183
+
184
+ ```typescript
185
+ import { SimAws } from "@kensio/yulin";
186
+ import { AssumeRoleCommand } from "@aws-sdk/client-sts";
187
+
188
+ const simAws = new SimAws();
189
+
190
+ // Assumes a ReportingRole this Account is already allowed to assume; the
191
+ // simulated time docs below show the same example with its IAM setup.
192
+ const { Credentials } = await simAws.sts().assumeRole(
193
+ new AssumeRoleCommand({
194
+ RoleArn: `arn:aws:iam::${simAws.defaultAccountId}:role/ReportingRole`,
195
+ RoleSessionName: "reporting-session",
196
+ DurationSeconds: 900,
197
+ }),
198
+ );
199
+
200
+ await simAws.clock().advanceBy({ minutes: 20 });
201
+
202
+ // Those session credentials have now expired.
203
+ ```
204
+
205
+ Advancing runs whatever falls due during the interval and returns once the simulation has settled,
206
+ so the next line can assert. Time belongs to the `SimAws` instance, so moving it never disturbs
207
+ another simulation, or the real clock. See the
208
+ [simulated time docs](./docs/time "Simulated time docs") for full usage.
209
+
173
210
  ## What is yulin?
174
211
 
175
212
  TLDR: yulin is an AWS simulator for testing Node.js applications.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,9 @@
1
1
  export { SimAws } from "./service/aws/sim-aws.js";
2
2
  export type { AwsRegionName } from "./service/aws/sim-aws-region.js";
3
3
  export type { SimAwsAccountId } from "./service/aws/sim-aws-account.js";
4
+ export { type SimClock, SimFixedClock, SimRealClock, } from "./util/clock/sim-clock.js";
5
+ export { SimControllableClock } from "./util/clock/sim-controllable-clock.js";
6
+ export { SimClockControl } from "./util/clock/sim-clock-control.js";
7
+ export { SimDuration, type SimDurationInput, SimInvalidDuration, } from "./util/clock/sim-duration.js";
8
+ export { SimAwsTimeNotControllable } from "./service/aws/sim-aws-timekeeping.js";
4
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EACL,KAAK,QAAQ,EACb,aAAa,EACb,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EACL,WAAW,EACX,KAAK,gBAAgB,EACrB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,7 @@
1
1
  export { SimAws } from "./service/aws/sim-aws.js";
2
+ export { SimFixedClock, SimRealClock, } from "./util/clock/sim-clock.js";
3
+ export { SimControllableClock } from "./util/clock/sim-controllable-clock.js";
4
+ export { SimClockControl } from "./util/clock/sim-clock-control.js";
5
+ export { SimDuration, SimInvalidDuration, } from "./util/clock/sim-duration.js";
6
+ export { SimAwsTimeNotControllable } from "./service/aws/sim-aws-timekeeping.js";
2
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EAEL,aAAa,EACb,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EACL,WAAW,EAEX,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-service-controller-factory.d.ts","sourceRoot":"","sources":["../../../../src/serve/controller/factory/sim-aws-service-controller-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAK9D;;GAEG;AACH,qBAAa,8BAA8B;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,MAAM,EAAI;IAE/C;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB,CAmBnD;CACF"}
1
+ {"version":3,"file":"sim-aws-service-controller-factory.d.ts","sourceRoot":"","sources":["../../../../src/serve/controller/factory/sim-aws-service-controller-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAM9D;;GAEG;AACH,qBAAa,8BAA8B;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAnC,YAA6B,MAAM,EAAE,MAAM,EAAI;IAE/C;;OAEG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,uBAAuB,CAsBnD;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { SimCloudFrontServiceController } from "../../../service/cloudfront/controller/sim-cloudfront-controller.js";
2
+ import { SimLambdaServiceController } from "../../../service/lambda/serve/sim-lambda-controller.js";
2
3
  import { SimRoute53ServiceController } from "../../../service/route53/serve/sim-route53-controller.js";
3
4
  import { SimS3ServiceController } from "../../../service/s3/serve/sim-s3-controller.js";
4
5
  /**
@@ -22,6 +23,9 @@ export class SimAwsServiceControllerFactory {
22
23
  simAws: this.simAws,
23
24
  });
24
25
  }
26
+ case "lambda": {
27
+ return new SimLambdaServiceController({ simAws: this.simAws });
28
+ }
25
29
  case "route53": {
26
30
  return new SimRoute53ServiceController({ simAws: this.simAws });
27
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-aws-service-controller-factory.js","sourceRoot":"","sources":["../../../../src/serve/controller/factory/sim-aws-service-controller-factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qEAAqE,CAAC;AACrH,OAAO,EAAE,2BAA2B,EAAE,MAAM,0DAA0D,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAExF;;GAEG;AACH,MAAM,OAAO,8BAA8B;IACZ,MAAM;IAAnC,YAA6B,MAAc;sBAAd,MAAM;IAAW,CAAC;IAE/C;;OAEG;IACH,MAAM,CAAC,WAAmB;QACxB,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,IAAI,EAAE,CAAC;gBACV,OAAO,IAAI,sBAAsB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,KAAK,YAAY,EAAE,CAAC;gBAClB,OAAO,IAAI,8BAA8B,CAAC;oBACxC,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBACf,OAAO,IAAI,2BAA2B,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,2CAA2C,WAAW,EAAE,CACzD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"sim-aws-service-controller-factory.js","sourceRoot":"","sources":["../../../../src/serve/controller/factory/sim-aws-service-controller-factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qEAAqE,CAAC;AACrH,OAAO,EAAE,0BAA0B,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0DAA0D,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAExF;;GAEG;AACH,MAAM,OAAO,8BAA8B;IACZ,MAAM;IAAnC,YAA6B,MAAc;sBAAd,MAAM;IAAW,CAAC;IAE/C;;OAEG;IACH,MAAM,CAAC,WAAmB;QACxB,QAAQ,WAAW,EAAE,CAAC;YACpB,KAAK,IAAI,EAAE,CAAC;gBACV,OAAO,IAAI,sBAAsB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,KAAK,YAAY,EAAE,CAAC;gBAClB,OAAO,IAAI,8BAA8B,CAAC;oBACxC,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,KAAK,QAAQ,EAAE,CAAC;gBACd,OAAO,IAAI,0BAA0B,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,KAAK,SAAS,EAAE,CAAC;gBACf,OAAO,IAAI,2BAA2B,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,2CAA2C,WAAW,EAAE,CACzD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ import type { SimAwsServiceTarget } from "./sim-service-controller.js";
2
+ /**
3
+ * The SigV4 signing name of each simulated service a request can be routed to.
4
+ *
5
+ * Service targets use the simulator's own naming, which follows the SDK client
6
+ * names, while a credential scope names the service the way the signer does.
7
+ * They agree for most services and not for CloudFront, so the two vocabularies
8
+ * are mapped here rather than assumed to be the same string.
9
+ */
10
+ export declare function simAwsServiceSigningName(service: SimAwsServiceTarget["service"]): string;
11
+ //# sourceMappingURL=sim-aws-service-signing-name.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-service-signing-name.d.ts","sourceRoot":"","sources":["../../../src/serve/controller/sim-aws-service-signing-name.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,mBAAmB,CAAC,SAAS,CAAC,GACtC,MAAM,CAeR"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * The SigV4 signing name of each simulated service a request can be routed to.
3
+ *
4
+ * Service targets use the simulator's own naming, which follows the SDK client
5
+ * names, while a credential scope names the service the way the signer does.
6
+ * They agree for most services and not for CloudFront, so the two vocabularies
7
+ * are mapped here rather than assumed to be the same string.
8
+ */
9
+ export function simAwsServiceSigningName(service) {
10
+ switch (service) {
11
+ case "cloudFront": {
12
+ return "cloudfront";
13
+ }
14
+ case "s3": {
15
+ return "s3";
16
+ }
17
+ case "lambda": {
18
+ return "lambda";
19
+ }
20
+ case "route53": {
21
+ return "route53";
22
+ }
23
+ }
24
+ }
25
+ //# sourceMappingURL=sim-aws-service-signing-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-service-signing-name.js","sourceRoot":"","sources":["../../../src/serve/controller/sim-aws-service-signing-name.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAuC;IAEvC,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,YAAY,EAAE,CAAC;YAClB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,KAAK,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,KAAK,QAAQ,EAAE,CAAC;YACd,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,KAAK,SAAS,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,10 +1,36 @@
1
1
  import type { AwsRegionName } from "../../service/aws/sim-aws-region.js";
2
2
  import type { SimAws } from "../../service/aws/sim-aws.js";
3
+ import { SimAwsRequestCaller } from "../../service/iam/request/sim-aws-request-caller.js";
3
4
  export interface SimAwsServiceTarget {
4
- readonly service: "s3" | "cloudFront" | "route53";
5
+ readonly service: "s3" | "cloudFront" | "lambda" | "route53";
5
6
  readonly resourceName: string;
6
7
  readonly regionName?: AwsRegionName;
7
8
  }
9
+ interface SimAwsServiceRequestProperties {
10
+ readonly target: SimAwsServiceTarget;
11
+ readonly request: Request;
12
+ readonly caller?: SimAwsRequestCaller | undefined;
13
+ readonly body?: Uint8Array | undefined;
14
+ }
15
+ /**
16
+ * One HTTP request, routed to a simulated service and attributed to a
17
+ * principal.
18
+ *
19
+ * Controllers are handed this rather than a bare request because everything
20
+ * they need has already been settled once at the boundary: which resource the
21
+ * hostname names, who is asking, and the request body, buffered so that both
22
+ * signature verification and the controller can read the same bytes.
23
+ *
24
+ * The request carries no simulator control headers, so a Lambda handler
25
+ * echoing `event.headers` sees the request as its client sent it.
26
+ */
27
+ export declare class SimAwsServiceRequest {
28
+ readonly target: SimAwsServiceTarget;
29
+ readonly request: Request;
30
+ readonly caller: SimAwsRequestCaller;
31
+ readonly body?: Uint8Array | undefined;
32
+ constructor(properties: SimAwsServiceRequestProperties);
33
+ }
8
34
  /**
9
35
  * Factory function for making instances of simulated AWS service controllers.
10
36
  */
@@ -16,6 +42,7 @@ export interface SimAwsServiceController {
16
42
  /**
17
43
  * Handle an HTTP request routed to this simulated AWS service.
18
44
  */
19
- handleRequest(target: SimAwsServiceTarget, request: Request): Promise<Response>;
45
+ handleRequest(serviceRequest: SimAwsServiceRequest): Promise<Response>;
20
46
  }
47
+ export {};
21
48
  //# sourceMappingURL=sim-service-controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-service-controller.d.ts","sourceRoot":"","sources":["../../../src/serve/controller/sim-service-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,YAAY,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,MAAM,EAAE,MAAM,KACX,uBAAuB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,aAAa,CACX,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,QAAQ,CAAC,CAAC;CACtB"}
1
+ {"version":3,"file":"sim-service-controller.d.ts","sourceRoot":"","sources":["../../../src/serve/controller/sim-service-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAE1F,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,IAAI,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC7D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;CACrC;AAED,UAAU,8BAA8B;IACtC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAClD,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACxC;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,oBAAoB;IAC/B,SAAgB,MAAM,EAAE,mBAAmB,CAAC;IAC5C,SAAgB,OAAO,EAAE,OAAO,CAAC;IACjC,SAAgB,MAAM,EAAE,mBAAmB,CAAC;IAC5C,SAAgB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE9C,YAAY,UAAU,EAAE,8BAA8B,EAMrD;CACF;AAED;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,CAC3C,MAAM,EAAE,MAAM,KACX,uBAAuB,CAAC;AAE7B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,aAAa,CAAC,cAAc,EAAE,oBAAoB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CACxE"}
@@ -1,2 +1,27 @@
1
- export {};
1
+ import { SimAwsRequestCaller } from "../../service/iam/request/sim-aws-request-caller.js";
2
+ /**
3
+ * One HTTP request, routed to a simulated service and attributed to a
4
+ * principal.
5
+ *
6
+ * Controllers are handed this rather than a bare request because everything
7
+ * they need has already been settled once at the boundary: which resource the
8
+ * hostname names, who is asking, and the request body, buffered so that both
9
+ * signature verification and the controller can read the same bytes.
10
+ *
11
+ * The request carries no simulator control headers, so a Lambda handler
12
+ * echoing `event.headers` sees the request as its client sent it.
13
+ */
14
+ export class SimAwsServiceRequest {
15
+ target;
16
+ request;
17
+ caller;
18
+ body;
19
+ constructor(properties) {
20
+ this.target = properties.target;
21
+ this.request = properties.request;
22
+ // An unattributed request is anonymous, never the Account root.
23
+ this.caller = properties.caller ?? SimAwsRequestCaller.anonymous();
24
+ this.body = properties.body;
25
+ }
26
+ }
2
27
  //# sourceMappingURL=sim-service-controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-service-controller.js","sourceRoot":"","sources":["../../../src/serve/controller/sim-service-controller.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"sim-service-controller.js","sourceRoot":"","sources":["../../../src/serve/controller/sim-service-controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAgB1F;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,oBAAoB;IACf,MAAM,CAAsB;IAC5B,OAAO,CAAU;IACjB,MAAM,CAAsB;IAC5B,IAAI,CAA0B;IAE9C,YAAY,UAA0C;QACpD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,gEAAgE;QAChE,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,mBAAmB,CAAC,SAAS,EAAE,CAAC;QACnE,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * An HTTP request as it arrived at the simulated AWS boundary.
3
+ *
4
+ * The body is read exactly once, here, because a request body is a stream that
5
+ * cannot be consumed twice and two things need it: the SigV4 payload hash, and
6
+ * whatever the simulated service builds from the request. Everything
7
+ * downstream is handed the same bytes.
8
+ */
9
+ export declare class SimAwsReceivedRequest {
10
+ /**
11
+ * The request body, or undefined when the request carried none.
12
+ */
13
+ readonly body?: Uint8Array | undefined;
14
+ private readonly received;
15
+ private constructor();
16
+ /**
17
+ * Take a request in, buffering its body.
18
+ */
19
+ static receive(request: Request): Promise<SimAwsReceivedRequest>;
20
+ /**
21
+ * The request as the simulated service should see it.
22
+ *
23
+ * Simulator control headers are stripped, so a Lambda handler echoing
24
+ * `event.headers` never sees them, and the buffered body is reattached so
25
+ * the service can read it as usual.
26
+ */
27
+ forService(): Request;
28
+ }
29
+ //# sourceMappingURL=sim-aws-received-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-received-request.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/request/sim-aws-received-request.ts"],"names":[],"mappings":"AAQA;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACH,SAAgB,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAE9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IAEnC,OAAO,eAGN;IAED;;OAEG;IACH,OAAa,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAOrE;IAED;;;;;;OAMG;IACH,UAAU,IAAI,OAAO,CAYpB;CACF"}
@@ -0,0 +1,53 @@
1
+ import { simAwsCallerHeaderName } from "../../../service/iam/request/sim-aws-caller-header.js";
2
+ /**
3
+ * Header names that are instructions to the simulator rather than part of the
4
+ * request being simulated.
5
+ */
6
+ const controlHeaderNames = [simAwsCallerHeaderName];
7
+ /**
8
+ * An HTTP request as it arrived at the simulated AWS boundary.
9
+ *
10
+ * The body is read exactly once, here, because a request body is a stream that
11
+ * cannot be consumed twice and two things need it: the SigV4 payload hash, and
12
+ * whatever the simulated service builds from the request. Everything
13
+ * downstream is handed the same bytes.
14
+ */
15
+ export class SimAwsReceivedRequest {
16
+ /**
17
+ * The request body, or undefined when the request carried none.
18
+ */
19
+ body;
20
+ received;
21
+ constructor(received, body) {
22
+ this.received = received;
23
+ this.body = body;
24
+ }
25
+ /**
26
+ * Take a request in, buffering its body.
27
+ */
28
+ static async receive(request) {
29
+ const body = request.body === null
30
+ ? undefined
31
+ : new Uint8Array(await request.arrayBuffer());
32
+ return new SimAwsReceivedRequest(request, body);
33
+ }
34
+ /**
35
+ * The request as the simulated service should see it.
36
+ *
37
+ * Simulator control headers are stripped, so a Lambda handler echoing
38
+ * `event.headers` never sees them, and the buffered body is reattached so
39
+ * the service can read it as usual.
40
+ */
41
+ forService() {
42
+ const headers = new Headers(this.received.headers);
43
+ for (const name of controlHeaderNames) {
44
+ headers.delete(name);
45
+ }
46
+ return new Request(this.received.url, {
47
+ method: this.received.method,
48
+ headers,
49
+ ...(this.body !== undefined && { body: this.body }),
50
+ });
51
+ }
52
+ }
53
+ //# sourceMappingURL=sim-aws-received-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-received-request.js","sourceRoot":"","sources":["../../../../src/serve/http/request/sim-aws-received-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAE/F;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAqB;IAChC;;OAEG;IACa,IAAI,CAA0B;IAE7B,QAAQ,CAAU;IAEnC,YAAoB,QAAiB,EAAE,IAA4B;QACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAgB;QACnC,MAAM,IAAI,GACR,OAAO,CAAC,IAAI,KAAK,IAAI;YACnB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAElD,OAAO,IAAI,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,UAAU;QACR,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEnD,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACpC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC5B,OAAO;YACP,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACpD,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ import type { SimAws } from "../../../service/aws/sim-aws.js";
2
+ import { SimAwsServiceRequest, type SimAwsServiceTarget } from "../../controller/sim-service-controller.js";
3
+ interface SimAwsRequestAuthenticatorProperties {
4
+ readonly simAws: SimAws;
5
+ }
6
+ /**
7
+ * Turns a received HTTP request into a request a simulated service can serve.
8
+ *
9
+ * This is where the serving layer meets simulated IAM: the body is buffered
10
+ * once, the principal is resolved by IAM, and the result is the request a
11
+ * controller is given. Controllers therefore never see an unattributed
12
+ * request, and never have to decide for themselves what an unsigned one means.
13
+ */
14
+ export declare class SimAwsRequestAuthenticator {
15
+ private readonly simAws;
16
+ constructor(properties: SimAwsRequestAuthenticatorProperties);
17
+ /**
18
+ * Authenticate a request routed to a simulated service.
19
+ *
20
+ * The request handed to IAM is the one received, headers and all. A signature
21
+ * covers the host header as it arrived, and serving rewrites AWS hostnames to
22
+ * localhost ones, so reconstructing the real AWS hostname here would break
23
+ * every signature made against the URL actually called.
24
+ *
25
+ * Throws a SimAwsRequestAuthFailure when the request states an identity that
26
+ * cannot be accepted.
27
+ */
28
+ authenticate(target: SimAwsServiceTarget, request: Request): Promise<SimAwsServiceRequest>;
29
+ }
30
+ export {};
31
+ //# sourceMappingURL=sim-aws-request-authenticator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-request-authenticator.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/request/sim-aws-request-authenticator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EACL,oBAAoB,EACpB,KAAK,mBAAmB,EACzB,MAAM,4CAA4C,CAAC;AAGpD,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,YAAY,UAAU,EAAE,oCAAoC,EAE3D;IAED;;;;;;;;;;OAUG;IACG,YAAY,CAChB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,oBAAoB,CAAC,CAiB/B;CACF"}
@@ -0,0 +1,45 @@
1
+ import { simAwsServiceSigningName } from "../../controller/sim-aws-service-signing-name.js";
2
+ import { SimAwsServiceRequest, } from "../../controller/sim-service-controller.js";
3
+ import { SimAwsReceivedRequest } from "./sim-aws-received-request.js";
4
+ /**
5
+ * Turns a received HTTP request into a request a simulated service can serve.
6
+ *
7
+ * This is where the serving layer meets simulated IAM: the body is buffered
8
+ * once, the principal is resolved by IAM, and the result is the request a
9
+ * controller is given. Controllers therefore never see an unattributed
10
+ * request, and never have to decide for themselves what an unsigned one means.
11
+ */
12
+ export class SimAwsRequestAuthenticator {
13
+ simAws;
14
+ constructor(properties) {
15
+ this.simAws = properties.simAws;
16
+ }
17
+ /**
18
+ * Authenticate a request routed to a simulated service.
19
+ *
20
+ * The request handed to IAM is the one received, headers and all. A signature
21
+ * covers the host header as it arrived, and serving rewrites AWS hostnames to
22
+ * localhost ones, so reconstructing the real AWS hostname here would break
23
+ * every signature made against the URL actually called.
24
+ *
25
+ * Throws a SimAwsRequestAuthFailure when the request states an identity that
26
+ * cannot be accepted.
27
+ */
28
+ async authenticate(target, request) {
29
+ const received = await SimAwsReceivedRequest.receive(request);
30
+ const caller = this.simAws.resolveRequestCaller(request, {
31
+ body: received.body,
32
+ expectedScope: {
33
+ serviceName: simAwsServiceSigningName(target.service),
34
+ regionName: target.regionName,
35
+ },
36
+ });
37
+ return new SimAwsServiceRequest({
38
+ target,
39
+ request: received.forService(),
40
+ caller,
41
+ body: received.body,
42
+ });
43
+ }
44
+ }
45
+ //# sourceMappingURL=sim-aws-request-authenticator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-request-authenticator.js","sourceRoot":"","sources":["../../../../src/serve/http/request/sim-aws-request-authenticator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC5F,OAAO,EACL,oBAAoB,GAErB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAMtE;;;;;;;GAOG;AACH,MAAM,OAAO,0BAA0B;IACpB,MAAM,CAAS;IAEhC,YAAY,UAAgD;QAC1D,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,YAAY,CAChB,MAA2B,EAC3B,OAAgB;QAEhB,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE;YACvD,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,aAAa,EAAE;gBACb,WAAW,EAAE,wBAAwB,CAAC,MAAM,CAAC,OAAO,CAAC;gBACrD,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,oBAAoB,CAAC;YAC9B,MAAM;YACN,OAAO,EAAE,QAAQ,CAAC,UAAU,EAAE;YAC9B,MAAM;YACN,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ import { type SimAwsRequestAuthFailure } from "../../../service/iam/request/error/sim-aws-request-auth.error.js";
2
+ /**
3
+ * The response a request refused at the authentication boundary gets.
4
+ *
5
+ * The body is the small JSON document AWS answers a rejected request with, and
6
+ * nothing more: real AWS does not explain itself here, and neither does this.
7
+ * Everything the simulator can say about the refusal goes into `x-sim-aws-*`
8
+ * headers, where it helps without changing the shape of the response any
9
+ * client is written against.
10
+ */
11
+ export declare class SimAwsAuthFailureResponse {
12
+ private readonly hints;
13
+ /**
14
+ * Build the HTTP response for a failed request authentication.
15
+ */
16
+ build(failure: SimAwsRequestAuthFailure): Response;
17
+ private rejectedResponse;
18
+ /**
19
+ * Whether the request was malformed rather than unauthenticated.
20
+ *
21
+ * A caller header the simulator cannot read is a mistake in driving Yulin
22
+ * rather than a failed AWS authentication. A signature too incomplete to
23
+ * parse is the one SigV4 rejection real AWS also answers with a 400, because
24
+ * nothing was presented that could have been authenticated; every other SigV4
25
+ * rejection is a 403.
26
+ */
27
+ private isBadRequest;
28
+ private jsonResponse;
29
+ }
30
+ //# sourceMappingURL=sim-aws-auth-failure-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-auth-failure-response.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/response/sim-aws-auth-failure-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,kEAAkE,CAAC;AAI1E;;;;;;;;GAQG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IAEnD;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,wBAAwB,GAAG,QAAQ,CAIjD;IAED,OAAO,CAAC,gBAAgB;IAQxB;;;;;;;;OAQG;IACH,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY;CAgBrB"}
@@ -0,0 +1,51 @@
1
+ import { SimAwsInvalidCallerHeader, } from "../../../service/iam/request/error/sim-aws-request-auth.error.js";
2
+ import { SimIamIncompleteSignature } from "../../../service/iam/sigv4/error/sim-iam-sigv4.error.js";
3
+ import { SimAwsResponseHints } from "./sim-aws-response-hints.js";
4
+ /**
5
+ * The response a request refused at the authentication boundary gets.
6
+ *
7
+ * The body is the small JSON document AWS answers a rejected request with, and
8
+ * nothing more: real AWS does not explain itself here, and neither does this.
9
+ * Everything the simulator can say about the refusal goes into `x-sim-aws-*`
10
+ * headers, where it helps without changing the shape of the response any
11
+ * client is written against.
12
+ */
13
+ export class SimAwsAuthFailureResponse {
14
+ hints = new SimAwsResponseHints();
15
+ /**
16
+ * Build the HTTP response for a failed request authentication.
17
+ */
18
+ build(failure) {
19
+ const rejected = this.rejectedResponse(failure);
20
+ return this.hints.stampAuthFailure(rejected, failure);
21
+ }
22
+ rejectedResponse(failure) {
23
+ if (this.isBadRequest(failure)) {
24
+ return this.jsonResponse(400, "Bad Request", failure.code);
25
+ }
26
+ return this.jsonResponse(403, "Forbidden", failure.code);
27
+ }
28
+ /**
29
+ * Whether the request was malformed rather than unauthenticated.
30
+ *
31
+ * A caller header the simulator cannot read is a mistake in driving Yulin
32
+ * rather than a failed AWS authentication. A signature too incomplete to
33
+ * parse is the one SigV4 rejection real AWS also answers with a 400, because
34
+ * nothing was presented that could have been authenticated; every other SigV4
35
+ * rejection is a 403.
36
+ */
37
+ isBadRequest(failure) {
38
+ return (failure instanceof SimAwsInvalidCallerHeader ||
39
+ failure instanceof SimIamIncompleteSignature);
40
+ }
41
+ jsonResponse(status, message, errorType) {
42
+ return Response.json({ Message: message }, {
43
+ status,
44
+ headers: {
45
+ "content-type": "application/json",
46
+ "x-amzn-errortype": errorType,
47
+ },
48
+ });
49
+ }
50
+ }
51
+ //# sourceMappingURL=sim-aws-auth-failure-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-auth-failure-response.js","sourceRoot":"","sources":["../../../../src/serve/http/response/sim-aws-auth-failure-response.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,GAE1B,MAAM,kEAAkE,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yDAAyD,CAAC;AACpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;;;;GAQG;AACH,MAAM,OAAO,yBAAyB;IACnB,KAAK,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAEnD;;OAEG;IACH,KAAK,CAAC,OAAiC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAEO,gBAAgB,CAAC,OAAiC;QACxD,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;OAQG;IACK,YAAY,CAAC,OAAiC;QACpD,OAAO,CACL,OAAO,YAAY,yBAAyB;YAC5C,OAAO,YAAY,yBAAyB,CAC7C,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,MAAc,EACd,OAAe,EACf,SAAiB;QAEjB,OAAO,QAAQ,CAAC,IAAI,CAClB,EAAE,OAAO,EAAE,OAAO,EAAE,EACpB;YACE,MAAM;YACN,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,kBAAkB,EAAE,SAAS;aAC9B;SACF,CACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,35 @@
1
+ import type { SimAwsRequestAuthFailure } from "../../../service/iam/request/error/sim-aws-request-auth.error.js";
2
+ import type { SimAwsRequestCaller } from "../../../service/iam/request/sim-aws-request-caller.js";
3
+ /**
4
+ * How the caller was established, reported back on the response.
5
+ */
6
+ export declare const simAwsAuthHeaderName = "x-sim-aws-auth";
7
+ /**
8
+ * The AWS error code a rejected request was refused with.
9
+ */
10
+ export declare const simAwsErrorHeaderName = "x-sim-aws-error";
11
+ /**
12
+ * Why the request was refused, in more detail than the AWS response body has
13
+ * anywhere to put it.
14
+ */
15
+ export declare const simAwsErrorDetailHeaderName = "x-sim-aws-error-detail";
16
+ /**
17
+ * Stamps the simulator's own account of a request onto its response.
18
+ *
19
+ * These hints go in headers, never in the body, so that a response stays the
20
+ * shape the real service returns and client code parsing it is unaffected.
21
+ * That matters most where AWS is least forthcoming: a Function URL rejects a
22
+ * bad signature with nothing but `{"Message":"Forbidden"}`, which is faithful
23
+ * and useless to debug against, so the detail is carried alongside instead.
24
+ */
25
+ export declare class SimAwsResponseHints {
26
+ /**
27
+ * Report who the simulator decided the caller was, and how.
28
+ */
29
+ stampCaller(response: Response, caller: SimAwsRequestCaller): Response;
30
+ /**
31
+ * Report that the request was refused before it reached a service, and why.
32
+ */
33
+ stampAuthFailure(response: Response, failure: SimAwsRequestAuthFailure): Response;
34
+ }
35
+ //# sourceMappingURL=sim-aws-response-hints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-response-hints.d.ts","sourceRoot":"","sources":["../../../../src/serve/http/response/sim-aws-response-hints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kEAAkE,CAAC;AAEjH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAElG;;GAEG;AACH,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,2BAA2B,CAAC;AAEpE;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,mBAAmB,GAAG,QAAQ,CAKrE;IAED;;OAEG;IACH,gBAAgB,CACd,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,wBAAwB,GAChC,QAAQ,CASV;CACF"}
@@ -0,0 +1,49 @@
1
+ import { simAwsCallerHeaderName } from "../../../service/iam/request/sim-aws-caller-header.js";
2
+ /**
3
+ * How the caller was established, reported back on the response.
4
+ */
5
+ export const simAwsAuthHeaderName = "x-sim-aws-auth";
6
+ /**
7
+ * The AWS error code a rejected request was refused with.
8
+ */
9
+ export const simAwsErrorHeaderName = "x-sim-aws-error";
10
+ /**
11
+ * Why the request was refused, in more detail than the AWS response body has
12
+ * anywhere to put it.
13
+ */
14
+ export const simAwsErrorDetailHeaderName = "x-sim-aws-error-detail";
15
+ /**
16
+ * Stamps the simulator's own account of a request onto its response.
17
+ *
18
+ * These hints go in headers, never in the body, so that a response stays the
19
+ * shape the real service returns and client code parsing it is unaffected.
20
+ * That matters most where AWS is least forthcoming: a Function URL rejects a
21
+ * bad signature with nothing but `{"Message":"Forbidden"}`, which is faithful
22
+ * and useless to debug against, so the detail is carried alongside instead.
23
+ */
24
+ export class SimAwsResponseHints {
25
+ /**
26
+ * Report who the simulator decided the caller was, and how.
27
+ */
28
+ stampCaller(response, caller) {
29
+ response.headers.set(simAwsCallerHeaderName, caller.toHeaderValue());
30
+ response.headers.set(simAwsAuthHeaderName, caller.authMethod);
31
+ return response;
32
+ }
33
+ /**
34
+ * Report that the request was refused before it reached a service, and why.
35
+ */
36
+ stampAuthFailure(response, failure) {
37
+ response.headers.set(simAwsAuthHeaderName, "rejected");
38
+ response.headers.set(simAwsErrorHeaderName, failure.code);
39
+ response.headers.set(simAwsErrorDetailHeaderName, singleLine(failure.message));
40
+ return response;
41
+ }
42
+ }
43
+ /**
44
+ * Flatten a message into something a header value can hold.
45
+ */
46
+ function singleLine(message) {
47
+ return message.replaceAll(/\s+/g, " ").trim();
48
+ }
49
+ //# sourceMappingURL=sim-aws-response-hints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-response-hints.js","sourceRoot":"","sources":["../../../../src/serve/http/response/sim-aws-response-hints.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAG/F;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,wBAAwB,CAAC;AAEpE;;;;;;;;GAQG;AACH,MAAM,OAAO,mBAAmB;IAC9B;;OAEG;IACH,WAAW,CAAC,QAAkB,EAAE,MAA2B;QACzD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QACrE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAE9D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,gBAAgB,CACd,QAAkB,EAClB,OAAiC;QAEjC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;QACvD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1D,QAAQ,CAAC,OAAO,CAAC,GAAG,CAClB,2BAA2B,EAC3B,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAC5B,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,OAAe;IACjC,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAChD,CAAC"}