@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
@@ -0,0 +1,49 @@
1
+ import type { SimIamSigV4ExpectedScope } from "../sigv4/sim-iam-sigv4-expected-scope.js";
2
+ import type { SimIamSigV4SignedRequest } from "../sigv4/sim-iam-sigv4-signed-request.js";
3
+ import type { SimIamSigV4Verifier } from "../sigv4/sim-iam-sigv4-verifier.js";
4
+ import { SimAwsRequestCaller } from "./sim-aws-request-caller.js";
5
+ interface SimAwsRequestCallerResolverProperties {
6
+ readonly signedRequests: SimIamSigV4Verifier;
7
+ }
8
+ /**
9
+ * The one place an HTTP request into simulated AWS becomes a principal.
10
+ *
11
+ * Resolution runs in a fixed order:
12
+ *
13
+ * 1. an `x-sim-aws-caller` header naming the principal directly;
14
+ * 2. an `Authorization: AWS4-HMAC-SHA256` header, verified as a signature;
15
+ * 3. neither, giving anonymous.
16
+ *
17
+ * The header wins over a signature so that a developer can override the
18
+ * identity of a request their tooling already signs, without having to stop it
19
+ * signing. Nothing else is worth resolving after an explicit statement of who
20
+ * the caller is.
21
+ *
22
+ * Anonymous is the floor, and deliberately not the Account root. Simulated IAM
23
+ * treats an omitted in-process caller as the root principal with unrestricted
24
+ * access, which is convenient inside a test and would be a serious mistake over
25
+ * HTTP: every unauthenticated request would arrive as an administrator.
26
+ */
27
+ export declare class SimAwsRequestCallerResolver {
28
+ private readonly signedRequests;
29
+ constructor(properties: SimAwsRequestCallerResolverProperties);
30
+ /**
31
+ * Resolve the principal behind a request as received.
32
+ *
33
+ * Throws a SimAwsRequestAuthFailure when the request states an identity that
34
+ * cannot be accepted. Stating none is not a failure; it is anonymous.
35
+ */
36
+ resolve(request: SimIamSigV4SignedRequest, expectedScope?: SimIamSigV4ExpectedScope): SimAwsRequestCaller;
37
+ /**
38
+ * Whether the request offers a SigV4 signature to verify.
39
+ *
40
+ * Only an AWS4-HMAC-SHA256 header counts. An Authorization header of any
41
+ * other scheme belongs to the application: a bearer token sent to a Function
42
+ * URL with NONE auth is the handler's business, and treating it as a broken
43
+ * signature would refuse a request real AWS delivers.
44
+ */
45
+ private carriesSignature;
46
+ private signedCaller;
47
+ }
48
+ export {};
49
+ //# sourceMappingURL=sim-aws-request-caller-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-request-caller-resolver.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/request/sim-aws-request-caller-resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAK9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IAErD,YAAY,UAAU,EAAE,qCAAqC,EAE5D;IAED;;;;;OAKG;IACH,OAAO,CACL,OAAO,EAAE,wBAAwB,EACjC,aAAa,CAAC,EAAE,wBAAwB,GACvC,mBAAmB,CAerB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,YAAY;CAYrB"}
@@ -0,0 +1,68 @@
1
+ import { simIamSigV4Algorithm } from "../sigv4/sim-iam-sigv4-authorization.js";
2
+ import { simAwsCallerHeaderName, simAwsCallerHeaderPrincipal, } from "./sim-aws-caller-header.js";
3
+ import { SimAwsRequestCaller } from "./sim-aws-request-caller.js";
4
+ /**
5
+ * The one place an HTTP request into simulated AWS becomes a principal.
6
+ *
7
+ * Resolution runs in a fixed order:
8
+ *
9
+ * 1. an `x-sim-aws-caller` header naming the principal directly;
10
+ * 2. an `Authorization: AWS4-HMAC-SHA256` header, verified as a signature;
11
+ * 3. neither, giving anonymous.
12
+ *
13
+ * The header wins over a signature so that a developer can override the
14
+ * identity of a request their tooling already signs, without having to stop it
15
+ * signing. Nothing else is worth resolving after an explicit statement of who
16
+ * the caller is.
17
+ *
18
+ * Anonymous is the floor, and deliberately not the Account root. Simulated IAM
19
+ * treats an omitted in-process caller as the root principal with unrestricted
20
+ * access, which is convenient inside a test and would be a serious mistake over
21
+ * HTTP: every unauthenticated request would arrive as an administrator.
22
+ */
23
+ export class SimAwsRequestCallerResolver {
24
+ signedRequests;
25
+ constructor(properties) {
26
+ this.signedRequests = properties.signedRequests;
27
+ }
28
+ /**
29
+ * Resolve the principal behind a request as received.
30
+ *
31
+ * Throws a SimAwsRequestAuthFailure when the request states an identity that
32
+ * cannot be accepted. Stating none is not a failure; it is anonymous.
33
+ */
34
+ resolve(request, expectedScope) {
35
+ const named = request.headers.get(simAwsCallerHeaderName);
36
+ if (named !== null) {
37
+ return new SimAwsRequestCaller({
38
+ principal: simAwsCallerHeaderPrincipal(named),
39
+ authMethod: "caller-header",
40
+ });
41
+ }
42
+ if (!this.carriesSignature(request)) {
43
+ return SimAwsRequestCaller.anonymous();
44
+ }
45
+ return this.signedCaller(request, expectedScope);
46
+ }
47
+ /**
48
+ * Whether the request offers a SigV4 signature to verify.
49
+ *
50
+ * Only an AWS4-HMAC-SHA256 header counts. An Authorization header of any
51
+ * other scheme belongs to the application: a bearer token sent to a Function
52
+ * URL with NONE auth is the handler's business, and treating it as a broken
53
+ * signature would refuse a request real AWS delivers.
54
+ */
55
+ carriesSignature(request) {
56
+ return (request.headers.get("authorization")?.startsWith(simIamSigV4Algorithm) ===
57
+ true);
58
+ }
59
+ signedCaller(request, expectedScope) {
60
+ const identity = this.signedRequests.verify(request, { expectedScope });
61
+ return new SimAwsRequestCaller({
62
+ principal: identity.principal,
63
+ identityPolicyPrincipal: identity.identityPolicyPrincipal,
64
+ authMethod: "sigv4",
65
+ });
66
+ }
67
+ }
68
+ //# sourceMappingURL=sim-aws-request-caller-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-request-caller-resolver.js","sourceRoot":"","sources":["../../../../src/service/iam/request/sim-aws-request-caller-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAI/E,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAMlE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,2BAA2B;IACrB,cAAc,CAAsB;IAErD,YAAY,UAAiD;QAC3D,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,OAAO,CACL,OAAiC,EACjC,aAAwC;QAExC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAE1D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,IAAI,mBAAmB,CAAC;gBAC7B,SAAS,EAAE,2BAA2B,CAAC,KAAK,CAAC;gBAC7C,UAAU,EAAE,eAAe;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,mBAAmB,CAAC,SAAS,EAAE,CAAC;QACzC,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CAAC,OAAiC;QACxD,OAAO,CACL,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC;YACtE,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,OAAiC,EACjC,aAAmD;QAEnD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;QAExE,OAAO,IAAI,mBAAmB,CAAC;YAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;YACzD,UAAU,EAAE,OAAO;SACpB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,50 @@
1
+ import type { SimAwsCaller, SimAwsPrincipal } from "../../aws/caller/sim-aws-caller.js";
2
+ /**
3
+ * How a request's principal was established.
4
+ *
5
+ * This is reported back to the client, because "who does the simulator think
6
+ * you are" is much less useful without "and why".
7
+ */
8
+ export type SimAwsRequestAuthMethod = "caller-header" | "sigv4" | "none";
9
+ interface SimAwsRequestCallerProperties {
10
+ readonly principal: SimAwsPrincipal;
11
+ readonly identityPolicyPrincipal?: SimAwsPrincipal | undefined;
12
+ readonly authMethod: SimAwsRequestAuthMethod;
13
+ }
14
+ /**
15
+ * The principal a request into simulated AWS is attributed to.
16
+ *
17
+ * An unauthenticated request is anonymous and never the Account root. In
18
+ * process an omitted caller means "whoever owns this simulation", which is a
19
+ * convenience; over HTTP the same default would hand administrator rights to
20
+ * anyone who could reach the port, so the boundary refuses to make that
21
+ * assumption.
22
+ *
23
+ * For an assumed-role session the effective principal is the session while
24
+ * `identityPolicyPrincipal` is the Role whose policies apply, exactly as
25
+ * `SimIamCredentialIdentity` distinguishes them.
26
+ */
27
+ export declare class SimAwsRequestCaller {
28
+ readonly principal: SimAwsPrincipal;
29
+ readonly identityPolicyPrincipal: SimAwsPrincipal;
30
+ readonly authMethod: SimAwsRequestAuthMethod;
31
+ constructor(properties: SimAwsRequestCallerProperties);
32
+ /**
33
+ * The caller of a request that carried no identity at all.
34
+ */
35
+ static anonymous(): SimAwsRequestCaller;
36
+ /**
37
+ * The principal in the form the `x-sim-aws-caller` header accepts.
38
+ */
39
+ toHeaderValue(): string;
40
+ /**
41
+ * This caller in the form simulated services pass to IAM authorization.
42
+ *
43
+ * The identity-policy principal travels with it, so an assumed-role session
44
+ * is authorized against the Role behind it rather than against a session ARN
45
+ * that owns no policies.
46
+ */
47
+ toCaller(): SimAwsCaller;
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=sim-aws-request-caller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-request-caller.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/request/sim-aws-request-caller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,oCAAoC,CAAC;AAG5C;;;;;GAKG;AACH,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzE,UAAU,6BAA6B;IACrC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;CAC9C;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,SAAS,EAAE,eAAe,CAAC;IAC3C,SAAgB,uBAAuB,EAAE,eAAe,CAAC;IACzD,SAAgB,UAAU,EAAE,uBAAuB,CAAC;IAEpD,YAAY,UAAU,EAAE,6BAA6B,EAKpD;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,IAAI,mBAAmB,CAKtC;IAED;;OAEG;IACH,aAAa,IAAI,MAAM,CAEtB;IAED;;;;;;OAMG;IACH,QAAQ,IAAI,YAAY,CAMvB;CACF"}
@@ -0,0 +1,55 @@
1
+ import { simAwsCallerHeaderValue } from "./sim-aws-caller-header.js";
2
+ /**
3
+ * The principal a request into simulated AWS is attributed to.
4
+ *
5
+ * An unauthenticated request is anonymous and never the Account root. In
6
+ * process an omitted caller means "whoever owns this simulation", which is a
7
+ * convenience; over HTTP the same default would hand administrator rights to
8
+ * anyone who could reach the port, so the boundary refuses to make that
9
+ * assumption.
10
+ *
11
+ * For an assumed-role session the effective principal is the session while
12
+ * `identityPolicyPrincipal` is the Role whose policies apply, exactly as
13
+ * `SimIamCredentialIdentity` distinguishes them.
14
+ */
15
+ export class SimAwsRequestCaller {
16
+ principal;
17
+ identityPolicyPrincipal;
18
+ authMethod;
19
+ constructor(properties) {
20
+ this.principal = properties.principal;
21
+ this.identityPolicyPrincipal =
22
+ properties.identityPolicyPrincipal ?? properties.principal;
23
+ this.authMethod = properties.authMethod;
24
+ }
25
+ /**
26
+ * The caller of a request that carried no identity at all.
27
+ */
28
+ static anonymous() {
29
+ return new SimAwsRequestCaller({
30
+ principal: { kind: "anonymous" },
31
+ authMethod: "none",
32
+ });
33
+ }
34
+ /**
35
+ * The principal in the form the `x-sim-aws-caller` header accepts.
36
+ */
37
+ toHeaderValue() {
38
+ return simAwsCallerHeaderValue(this.principal);
39
+ }
40
+ /**
41
+ * This caller in the form simulated services pass to IAM authorization.
42
+ *
43
+ * The identity-policy principal travels with it, so an assumed-role session
44
+ * is authorized against the Role behind it rather than against a session ARN
45
+ * that owns no policies.
46
+ */
47
+ toCaller() {
48
+ return {
49
+ kind: "resolved",
50
+ principal: this.principal,
51
+ identityPolicyPrincipal: this.identityPolicyPrincipal,
52
+ };
53
+ }
54
+ }
55
+ //# sourceMappingURL=sim-aws-request-caller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-aws-request-caller.js","sourceRoot":"","sources":["../../../../src/service/iam/request/sim-aws-request-caller.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAgBrE;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,mBAAmB;IACd,SAAS,CAAkB;IAC3B,uBAAuB,CAAkB;IACzC,UAAU,CAA0B;IAEpD,YAAY,UAAyC;QACnD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,uBAAuB;YAC1B,UAAU,CAAC,uBAAuB,IAAI,UAAU,CAAC,SAAS,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,mBAAmB,CAAC;YAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;YAChC,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;SACtD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Order strings by their code units, which is what SigV4 means by sorted.
3
+ *
4
+ * A locale-aware comparison is not interchangeable here: it treats punctuation
5
+ * and case as secondary, so it can order `a-b` and `a` the other way round from
6
+ * the signer and produce a canonical form that never matches.
7
+ */
8
+ export declare function compareSigV4ByteOrder(a: string, b: string): number;
9
+ //# sourceMappingURL=sigv4-byte-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sigv4-byte-order.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sigv4-byte-order.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAMlE"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Order strings by their code units, which is what SigV4 means by sorted.
3
+ *
4
+ * A locale-aware comparison is not interchangeable here: it treats punctuation
5
+ * and case as secondary, so it can order `a-b` and `a` the other way round from
6
+ * the signer and produce a canonical form that never matches.
7
+ */
8
+ export function compareSigV4ByteOrder(a, b) {
9
+ if (a === b) {
10
+ return 0;
11
+ }
12
+ return a < b ? -1 : 1;
13
+ }
14
+ //# sourceMappingURL=sigv4-byte-order.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sigv4-byte-order.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sigv4-byte-order.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,CAAS,EAAE,CAAS;IACxD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Build the canonical headers and signed header list of a signed request.
3
+ *
4
+ * Only the headers the signer listed are canonicalized, whatever else the
5
+ * request carries. Each value is trimmed and its runs of whitespace collapsed,
6
+ * which is what makes a signature survive the whitespace normalization a proxy
7
+ * or HTTP client is entitled to apply.
8
+ */
9
+ export declare class SimIamSigV4CanonicalHeaders {
10
+ private readonly names;
11
+ private readonly lines;
12
+ constructor(headers: Headers, signedHeaderNames: readonly string[], url: URL);
13
+ /**
14
+ * The canonical headers block, one `name:value` line per signed header.
15
+ */
16
+ toString(): string;
17
+ /**
18
+ * The signed header names, in the order they are canonicalized.
19
+ */
20
+ signedHeaderList(): string;
21
+ }
22
+ //# sourceMappingURL=sim-iam-sigv4-canonical-headers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-canonical-headers.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAE1C,YACE,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,SAAS,MAAM,EAAE,EACpC,GAAG,EAAE,GAAG,EAMT;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAEjB;IAED;;OAEG;IACH,gBAAgB,IAAI,MAAM,CAEzB;CACF"}
@@ -0,0 +1,48 @@
1
+ import { SimIamSignatureDoesNotMatch } from "../error/sim-iam-sigv4.error.js";
2
+ import { compareSigV4ByteOrder } from "./sigv4-byte-order.js";
3
+ /**
4
+ * Build the canonical headers and signed header list of a signed request.
5
+ *
6
+ * Only the headers the signer listed are canonicalized, whatever else the
7
+ * request carries. Each value is trimmed and its runs of whitespace collapsed,
8
+ * which is what makes a signature survive the whitespace normalization a proxy
9
+ * or HTTP client is entitled to apply.
10
+ */
11
+ export class SimIamSigV4CanonicalHeaders {
12
+ names;
13
+ lines;
14
+ constructor(headers, signedHeaderNames, url) {
15
+ this.names = signedHeaderNames.toSorted(compareSigV4ByteOrder);
16
+ this.lines = this.names.map((name) => `${name}:${canonicalValue(headers, name, url)}`);
17
+ }
18
+ /**
19
+ * The canonical headers block, one `name:value` line per signed header.
20
+ */
21
+ toString() {
22
+ return this.lines.join("\n");
23
+ }
24
+ /**
25
+ * The signed header names, in the order they are canonicalized.
26
+ */
27
+ signedHeaderList() {
28
+ return this.names.join(";");
29
+ }
30
+ }
31
+ function canonicalValue(headers, name, url) {
32
+ const value = headers.get(name) ?? impliedValue(name, url);
33
+ if (value === undefined) {
34
+ throw new SimIamSignatureDoesNotMatch(`Request does not carry signed header ${name}, so the signature ` +
35
+ `cannot be reproduced`);
36
+ }
37
+ return value.trim().replaceAll(/\s+/g, " ");
38
+ }
39
+ /**
40
+ * Supply a signed header the request implies rather than carries.
41
+ *
42
+ * Host is always signed but is not always readable as a header, since some HTTP
43
+ * clients own it. The URL the request was made to says the same thing.
44
+ */
45
+ function impliedValue(name, url) {
46
+ return name === "host" ? url.host : undefined;
47
+ }
48
+ //# sourceMappingURL=sim-iam-sigv4-canonical-headers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-canonical-headers.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-headers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA2B;IACrB,KAAK,CAAoB;IACzB,KAAK,CAAoB;IAE1C,YACE,OAAgB,EAChB,iBAAoC,EACpC,GAAQ;QAER,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QAC/D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CACzB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAC1D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACF;AAED,SAAS,cAAc,CAAC,OAAgB,EAAE,IAAY,EAAE,GAAQ;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE3D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,2BAA2B,CACnC,wCAAwC,IAAI,qBAAqB;YAC/D,sBAAsB,CACzB,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,GAAQ;IAC1C,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Build the canonical URI of a signed request.
3
+ *
4
+ * The path is normalized, dropping empty and `.` segments and resolving `..`,
5
+ * and then encoded a second time. The already-encoded path arriving in the
6
+ * request is the first encoding, which is why a literal `/` in a path segment
7
+ * and a separator are still distinguishable here.
8
+ *
9
+ * S3 is the exception on real AWS: it signs the path singly encoded. Only
10
+ * doubly encoded services are supported for now, which is every service the
11
+ * simulator serves.
12
+ */
13
+ export declare function simIamSigV4CanonicalPath(path: string): string;
14
+ //# sourceMappingURL=sim-iam-sigv4-canonical-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-canonical-path.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqB7D"}
@@ -0,0 +1,31 @@
1
+ import { escapeSigV4Uri } from "../sigv4-uri-escape.js";
2
+ /**
3
+ * Build the canonical URI of a signed request.
4
+ *
5
+ * The path is normalized, dropping empty and `.` segments and resolving `..`,
6
+ * and then encoded a second time. The already-encoded path arriving in the
7
+ * request is the first encoding, which is why a literal `/` in a path segment
8
+ * and a separator are still distinguishable here.
9
+ *
10
+ * S3 is the exception on real AWS: it signs the path singly encoded. Only
11
+ * doubly encoded services are supported for now, which is every service the
12
+ * simulator serves.
13
+ */
14
+ export function simIamSigV4CanonicalPath(path) {
15
+ const segments = [];
16
+ for (const segment of path.split("/")) {
17
+ if (segment.length === 0 || segment === ".") {
18
+ continue;
19
+ }
20
+ if (segment === "..") {
21
+ segments.pop();
22
+ continue;
23
+ }
24
+ segments.push(segment);
25
+ }
26
+ const leadingSlash = path.startsWith("/") ? "/" : "";
27
+ const trailingSlash = segments.length > 0 && path.endsWith("/") ? "/" : "";
28
+ const normalized = `${leadingSlash}${segments.join("/")}${trailingSlash}`;
29
+ return escapeSigV4Uri(normalized).replaceAll("%2F", "/");
30
+ }
31
+ //# sourceMappingURL=sim-iam-sigv4-canonical-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-canonical-path.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAC5C,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,QAAQ,CAAC,GAAG,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,MAAM,UAAU,GAAG,GAAG,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,EAAE,CAAC;IAE1E,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Build the canonical query string of a signed request.
3
+ *
4
+ * Parameters are ordered by their encoded key, and a repeated key's values are
5
+ * ordered among themselves. Sorting whole `key=value` pairs instead would not
6
+ * be the same thing: `-` sorts before `=`, so a key such as `a-b` would
7
+ * overtake a shorter key `a` that it must follow.
8
+ *
9
+ * The raw search string is parsed here rather than being handed to
10
+ * URLSearchParams, which applies form decoding and would read a literal `+` as
11
+ * a space. A query string is not a form: SigV4 signs `+` as the character it
12
+ * is, so decoding it to a space would canonicalize a different request from the
13
+ * one the client signed.
14
+ *
15
+ * The signature parameter itself is left out, as it cannot be part of what it
16
+ * signs. Header-signed requests never carry it, but presigned URLs do.
17
+ */
18
+ export declare function simIamSigV4CanonicalQuery(search: string): string;
19
+ //# sourceMappingURL=sim-iam-sigv4-canonical-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-canonical-query.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA6BhE"}
@@ -0,0 +1,78 @@
1
+ import { escapeSigV4Uri } from "../sigv4-uri-escape.js";
2
+ import { compareSigV4ByteOrder } from "./sigv4-byte-order.js";
3
+ const signatureParameter = "x-amz-signature";
4
+ /**
5
+ * Build the canonical query string of a signed request.
6
+ *
7
+ * Parameters are ordered by their encoded key, and a repeated key's values are
8
+ * ordered among themselves. Sorting whole `key=value` pairs instead would not
9
+ * be the same thing: `-` sorts before `=`, so a key such as `a-b` would
10
+ * overtake a shorter key `a` that it must follow.
11
+ *
12
+ * The raw search string is parsed here rather than being handed to
13
+ * URLSearchParams, which applies form decoding and would read a literal `+` as
14
+ * a space. A query string is not a form: SigV4 signs `+` as the character it
15
+ * is, so decoding it to a space would canonicalize a different request from the
16
+ * one the client signed.
17
+ *
18
+ * The signature parameter itself is left out, as it cannot be part of what it
19
+ * signs. Header-signed requests never carry it, but presigned URLs do.
20
+ */
21
+ export function simIamSigV4CanonicalQuery(search) {
22
+ const pairsByKey = new Map();
23
+ for (const pair of searchPairs(search)) {
24
+ const key = decodeQueryPart(pair.key);
25
+ if (key.toLowerCase() === signatureParameter) {
26
+ continue;
27
+ }
28
+ const encodedKey = escapeSigV4Uri(key);
29
+ const encoded = `${encodedKey}=${escapeSigV4Uri(decodeQueryPart(pair.value))}`;
30
+ pairsByKey.set(encodedKey, [
31
+ ...(pairsByKey.get(encodedKey) ?? []),
32
+ encoded,
33
+ ]);
34
+ }
35
+ return pairsByKey
36
+ .keys()
37
+ .toArray()
38
+ .toSorted(compareSigV4ByteOrder)
39
+ .map((encodedKey) => (pairsByKey.get(encodedKey) ?? [])
40
+ .toSorted(compareSigV4ByteOrder)
41
+ .join("&"))
42
+ .join("&");
43
+ }
44
+ /**
45
+ * Split a raw search string into its key and value parts, still encoded.
46
+ *
47
+ * A parameter with no `=` has an empty value, which is how it is canonicalized
48
+ * too.
49
+ */
50
+ function searchPairs(search) {
51
+ const query = search.startsWith("?") ? search.slice(1) : search;
52
+ const pairs = [];
53
+ for (const pair of query.split("&")) {
54
+ if (pair.length === 0) {
55
+ continue;
56
+ }
57
+ const separator = pair.indexOf("=");
58
+ pairs.push(separator === -1
59
+ ? { key: pair, value: "" }
60
+ : { key: pair.slice(0, separator), value: pair.slice(separator + 1) });
61
+ }
62
+ return pairs;
63
+ }
64
+ /**
65
+ * Percent-decode one part of a query string.
66
+ *
67
+ * A part that is not validly encoded is used as it arrived: it cannot be
68
+ * decoded, and the client signed those characters as they are.
69
+ */
70
+ function decodeQueryPart(part) {
71
+ try {
72
+ return decodeURIComponent(part);
73
+ }
74
+ catch {
75
+ return part;
76
+ }
77
+ }
78
+ //# sourceMappingURL=sim-iam-sigv4-canonical-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-canonical-query.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAc;IACtD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtC,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,kBAAkB,EAAE,CAAC;YAC7C,SAAS;QACX,CAAC;QAED,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,GAAG,UAAU,IAAI,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAE/E,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE;YACzB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,OAAO,UAAU;SACd,IAAI,EAAE;SACN,OAAO,EAAE;SACT,QAAQ,CAAC,qBAAqB,CAAC;SAC/B,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAClB,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SAC/B,QAAQ,CAAC,qBAAqB,CAAC;SAC/B,IAAI,CAAC,GAAG,CAAC,CACb;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAOD;;;;;GAKG;AACH,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEpC,KAAK,CAAC,IAAI,CACR,SAAS,KAAK,CAAC,CAAC;YACd,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;YAC1B,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CACxE,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { SimIamSigV4SignedRequest } from "../sim-iam-sigv4-signed-request.js";
2
+ /**
3
+ * The canonical form of a signed request: the exact bytes a signature is made
4
+ * over.
5
+ *
6
+ * Rebuilding this from the request as received, and getting the same signature
7
+ * out, is the whole of SigV4 verification. Anything the canonical form covers
8
+ * cannot be altered in transit without detection, and anything it leaves out
9
+ * can be.
10
+ */
11
+ export declare class SimIamSigV4CanonicalRequest {
12
+ private readonly canonicalHeaders;
13
+ private readonly signedRequest;
14
+ constructor(signedRequest: SimIamSigV4SignedRequest, signedHeaderNames: readonly string[]);
15
+ /**
16
+ * The canonical request string, ready to be hashed into a string to sign.
17
+ */
18
+ toString(): string;
19
+ }
20
+ //# sourceMappingURL=sim-iam-sigv4-canonical-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-canonical-request.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAMnF;;;;;;;;GAQG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IAEzD,YACE,aAAa,EAAE,wBAAwB,EACvC,iBAAiB,EAAE,SAAS,MAAM,EAAE,EAQrC;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAWjB;CACF"}
@@ -0,0 +1,36 @@
1
+ import { SimIamSigV4CanonicalHeaders } from "./sim-iam-sigv4-canonical-headers.js";
2
+ import { simIamSigV4CanonicalPath } from "./sim-iam-sigv4-canonical-path.js";
3
+ import { simIamSigV4CanonicalQuery } from "./sim-iam-sigv4-canonical-query.js";
4
+ import { simIamSigV4PayloadHash } from "./sim-iam-sigv4-payload-hash.js";
5
+ /**
6
+ * The canonical form of a signed request: the exact bytes a signature is made
7
+ * over.
8
+ *
9
+ * Rebuilding this from the request as received, and getting the same signature
10
+ * out, is the whole of SigV4 verification. Anything the canonical form covers
11
+ * cannot be altered in transit without detection, and anything it leaves out
12
+ * can be.
13
+ */
14
+ export class SimIamSigV4CanonicalRequest {
15
+ canonicalHeaders;
16
+ signedRequest;
17
+ constructor(signedRequest, signedHeaderNames) {
18
+ this.signedRequest = signedRequest;
19
+ this.canonicalHeaders = new SimIamSigV4CanonicalHeaders(signedRequest.headers, signedHeaderNames, signedRequest.url);
20
+ }
21
+ /**
22
+ * The canonical request string, ready to be hashed into a string to sign.
23
+ */
24
+ toString() {
25
+ const { method, url, headers, body } = this.signedRequest;
26
+ return [
27
+ method.toUpperCase(),
28
+ simIamSigV4CanonicalPath(url.pathname),
29
+ simIamSigV4CanonicalQuery(url.search),
30
+ `${this.canonicalHeaders.toString()}\n`,
31
+ this.canonicalHeaders.signedHeaderList(),
32
+ simIamSigV4PayloadHash(headers, body),
33
+ ].join("\n");
34
+ }
35
+ }
36
+ //# sourceMappingURL=sim-iam-sigv4-canonical-request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-canonical-request.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IACrB,gBAAgB,CAA8B;IAC9C,aAAa,CAA2B;IAEzD,YACE,aAAuC,EACvC,iBAAoC;QAEpC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,2BAA2B,CACrD,aAAa,CAAC,OAAO,EACrB,iBAAiB,EACjB,aAAa,CAAC,GAAG,CAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAE1D,OAAO;YACL,MAAM,CAAC,WAAW,EAAE;YACpB,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC;YACtC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC;YACrC,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI;YACvC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;YACxC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC;SACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ export declare const simIamSigV4UnsignedPayload = "UNSIGNED-PAYLOAD";
2
+ /**
3
+ * Work out the payload hash a signed request was signed with, and check the
4
+ * body it arrived with is the body it claims.
5
+ *
6
+ * A signer states the payload hash in `x-amz-content-sha256`, and that header
7
+ * is itself signed, so the claim cannot be altered without breaking the
8
+ * signature. The claim still has to be checked against the bytes received:
9
+ * without that, a signature would cover only the client's assertion about the
10
+ * body, and the body could be replaced freely.
11
+ *
12
+ * `UNSIGNED-PAYLOAD` is the one declaration that deliberately leaves the body
13
+ * uncovered, and is honoured. Any other non-digest value, including the
14
+ * streaming markers that chunked uploads use, is refused rather than passed
15
+ * through: accepting one would mean serving a request whose body nothing had
16
+ * checked, which is worse than saying the simulator does not support it.
17
+ */
18
+ export declare function simIamSigV4PayloadHash(headers: Headers, body: Uint8Array | undefined): string;
19
+ //# sourceMappingURL=sim-iam-sigv4-payload-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-payload-hash.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAW7D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,UAAU,GAAG,SAAS,GAC3B,MAAM,CA6BR"}