@kensio/yulin 0.36.0 → 0.38.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 (545) hide show
  1. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
  3. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  4. package/dist/serve/controller/sim-service-controller.d.ts +13 -0
  5. package/dist/serve/controller/sim-service-controller.d.ts.map +1 -1
  6. package/dist/serve/controller/sim-service-controller.js.map +1 -1
  7. package/dist/serve/http/url/sim-aws-local-url.d.ts.map +1 -1
  8. package/dist/serve/http/url/sim-aws-local-url.js +5 -1
  9. package/dist/serve/http/url/sim-aws-local-url.js.map +1 -1
  10. package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts.map +1 -1
  11. package/dist/service/aws/factory/sim-aws-account-service-cache.js +3 -0
  12. package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
  13. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +8 -0
  14. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  15. package/dist/service/aws/factory/sim-aws-service-factory.js +14 -0
  16. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  17. package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
  18. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  19. package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
  20. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  21. package/dist/service/aws/sim-aws-account.d.ts +5 -0
  22. package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
  23. package/dist/service/aws/sim-aws-account.js +6 -0
  24. package/dist/service/aws/sim-aws-account.js.map +1 -1
  25. package/dist/service/aws/sim-aws-region.d.ts +5 -0
  26. package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
  27. package/dist/service/aws/sim-aws-region.js +6 -0
  28. package/dist/service/aws/sim-aws-region.js.map +1 -1
  29. package/dist/service/aws/sim-aws-request-authentication.d.ts +35 -0
  30. package/dist/service/aws/sim-aws-request-authentication.d.ts.map +1 -0
  31. package/dist/service/aws/sim-aws-request-authentication.js +32 -0
  32. package/dist/service/aws/sim-aws-request-authentication.js.map +1 -0
  33. package/dist/service/aws/sim-aws.d.ts +7 -21
  34. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  35. package/dist/service/aws/sim-aws.js +15 -26
  36. package/dist/service/aws/sim-aws.js.map +1 -1
  37. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.d.ts.map +1 -1
  38. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.js +1 -1
  39. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.js.map +1 -1
  40. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +1 -1
  41. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
  42. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
  43. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +2 -1
  44. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
  45. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts +116 -0
  46. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts.map +1 -0
  47. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +126 -0
  48. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js.map +1 -0
  49. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts +52 -0
  50. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts.map +1 -0
  51. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js +77 -0
  52. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js.map +1 -0
  53. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.d.ts +37 -0
  54. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.d.ts.map +1 -0
  55. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.js +33 -0
  56. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account-resolver.js.map +1 -0
  57. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.d.ts +21 -0
  58. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.d.ts.map +1 -0
  59. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.js +2 -0
  60. package/dist/service/iam/authorize/caller-account/sim-iam-caller-account.js.map +1 -0
  61. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.d.ts +34 -0
  62. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.d.ts.map +1 -0
  63. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.js +22 -0
  64. package/dist/service/iam/authorize/caller-account/sim-iam-cross-account-caller.js.map +1 -0
  65. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.d.ts +18 -0
  66. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.d.ts.map +1 -0
  67. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.js +16 -0
  68. package/dist/service/iam/authorize/caller-account/sim-iam-same-account-caller.js.map +1 -0
  69. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.d.ts +17 -0
  70. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.d.ts.map +1 -0
  71. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.js +24 -0
  72. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.js.map +1 -0
  73. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts +1 -2
  74. package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts.map +1 -1
  75. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +49 -2
  76. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
  77. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +44 -8
  78. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
  79. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts +9 -0
  80. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.d.ts.map +1 -1
  81. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.d.ts.map +1 -1
  82. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js +2 -0
  83. package/dist/service/iam/authorize/context/sim-iam-auth-z-context.factory.js.map +1 -1
  84. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.d.ts +14 -0
  85. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.d.ts.map +1 -0
  86. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.js +2 -0
  87. package/dist/service/iam/authorize/identity/sim-iam-account-identity-policies.js.map +1 -0
  88. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts +6 -1
  89. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts.map +1 -1
  90. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js +25 -16
  91. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js.map +1 -1
  92. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +2 -1
  93. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts.map +1 -1
  94. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +2 -1
  95. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js.map +1 -1
  96. package/dist/service/iam/authorize/match/sim-iam-principal-match.d.ts +39 -0
  97. package/dist/service/iam/authorize/match/sim-iam-principal-match.d.ts.map +1 -0
  98. package/dist/service/iam/authorize/match/sim-iam-principal-match.js +55 -0
  99. package/dist/service/iam/authorize/match/sim-iam-principal-match.js.map +1 -0
  100. package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts +24 -1
  101. package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts.map +1 -1
  102. package/dist/service/iam/authorize/sim-iam-account-auth-z.js +18 -4
  103. package/dist/service/iam/authorize/sim-iam-account-auth-z.js.map +1 -1
  104. package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +11 -2
  105. package/dist/service/iam/authorize/sim-iam-authorizer.d.ts.map +1 -1
  106. package/dist/service/iam/authorize/sim-iam-authorizer.js +14 -1
  107. package/dist/service/iam/authorize/sim-iam-authorizer.js.map +1 -1
  108. package/dist/service/iam/authorize/sim-iam-decision.d.ts +17 -5
  109. package/dist/service/iam/authorize/sim-iam-decision.d.ts.map +1 -1
  110. package/dist/service/iam/authorize/sim-iam-decision.js +29 -14
  111. package/dist/service/iam/authorize/sim-iam-decision.js.map +1 -1
  112. package/dist/service/iam/command/sim-iam-command-handlers.d.ts +41 -0
  113. package/dist/service/iam/command/sim-iam-command-handlers.d.ts.map +1 -0
  114. package/dist/service/iam/command/sim-iam-command-handlers.js +42 -0
  115. package/dist/service/iam/command/sim-iam-command-handlers.js.map +1 -0
  116. package/dist/service/iam/index.d.ts +1 -0
  117. package/dist/service/iam/index.d.ts.map +1 -1
  118. package/dist/service/iam/index.js +1 -0
  119. package/dist/service/iam/index.js.map +1 -1
  120. package/dist/service/iam/registry/sim-iam-account-resolver.d.ts +8 -0
  121. package/dist/service/iam/registry/sim-iam-account-resolver.d.ts.map +1 -1
  122. package/dist/service/iam/registry/sim-iam-registry.d.ts +4 -0
  123. package/dist/service/iam/registry/sim-iam-registry.d.ts.map +1 -1
  124. package/dist/service/iam/registry/sim-iam-registry.js +7 -1
  125. package/dist/service/iam/registry/sim-iam-registry.js.map +1 -1
  126. package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts +21 -5
  127. package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts.map +1 -1
  128. package/dist/service/iam/request/sim-aws-request-caller-resolver.js +15 -9
  129. package/dist/service/iam/request/sim-aws-request-caller-resolver.js.map +1 -1
  130. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts +3 -1
  131. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts.map +1 -1
  132. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js +6 -4
  133. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js.map +1 -1
  134. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts +34 -14
  135. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts.map +1 -1
  136. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js +56 -29
  137. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js.map +1 -1
  138. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts +13 -1
  139. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts.map +1 -1
  140. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js +14 -0
  141. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js.map +1 -1
  142. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.d.ts +25 -0
  143. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.d.ts.map +1 -0
  144. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.js +41 -0
  145. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.js.map +1 -0
  146. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.d.ts +27 -0
  147. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.d.ts.map +1 -0
  148. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.js +41 -0
  149. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.js.map +1 -0
  150. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.d.ts +39 -0
  151. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.d.ts.map +1 -0
  152. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.js +59 -0
  153. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.js.map +1 -0
  154. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.d.ts +30 -0
  155. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.d.ts.map +1 -0
  156. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.js +64 -0
  157. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.js.map +1 -0
  158. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts +2 -1
  159. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts.map +1 -1
  160. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js.map +1 -1
  161. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts +22 -1
  162. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts.map +1 -1
  163. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js +49 -7
  164. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js.map +1 -1
  165. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts +9 -2
  166. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts.map +1 -1
  167. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js +5 -5
  168. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js.map +1 -1
  169. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.d.ts +16 -0
  170. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.d.ts.map +1 -0
  171. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.js +2 -0
  172. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.js.map +1 -0
  173. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts +12 -3
  174. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts.map +1 -1
  175. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js +9 -5
  176. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js.map +1 -1
  177. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts +20 -4
  178. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts.map +1 -1
  179. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js +52 -6
  180. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js.map +1 -1
  181. package/dist/service/iam/sim-iam-account-parts.d.ts +58 -0
  182. package/dist/service/iam/sim-iam-account-parts.d.ts.map +1 -0
  183. package/dist/service/iam/sim-iam-account-parts.js +72 -0
  184. package/dist/service/iam/sim-iam-account-parts.js.map +1 -0
  185. package/dist/service/iam/sim-iam.d.ts +28 -21
  186. package/dist/service/iam/sim-iam.d.ts.map +1 -1
  187. package/dist/service/iam/sim-iam.js +42 -71
  188. package/dist/service/iam/sim-iam.js.map +1 -1
  189. package/dist/service/kms/command/alias/alias.command.d.ts +43 -0
  190. package/dist/service/kms/command/alias/alias.command.d.ts.map +1 -0
  191. package/dist/service/kms/command/alias/alias.command.js +2 -0
  192. package/dist/service/kms/command/alias/alias.command.js.map +1 -0
  193. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts +34 -0
  194. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts.map +1 -0
  195. package/dist/service/kms/command/alias/sim-kms-alias-commands.js +56 -0
  196. package/dist/service/kms/command/alias/sim-kms-alias-commands.js.map +1 -0
  197. package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts +38 -0
  198. package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts.map +1 -0
  199. package/dist/service/kms/command/authorize/sim-kms-authorizer.js +58 -0
  200. package/dist/service/kms/command/authorize/sim-kms-authorizer.js.map +1 -0
  201. package/dist/service/kms/command/crypto/crypto.command.d.ts +68 -0
  202. package/dist/service/kms/command/crypto/crypto.command.d.ts.map +1 -0
  203. package/dist/service/kms/command/crypto/crypto.command.js +2 -0
  204. package/dist/service/kms/command/crypto/crypto.command.js.map +1 -0
  205. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.d.ts +40 -0
  206. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.d.ts.map +1 -0
  207. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.js +58 -0
  208. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.js.map +1 -0
  209. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts +38 -0
  210. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts.map +1 -0
  211. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js +74 -0
  212. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js.map +1 -0
  213. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.d.ts +16 -0
  214. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.d.ts.map +1 -0
  215. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.js +50 -0
  216. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.js.map +1 -0
  217. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts +31 -0
  218. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts.map +1 -0
  219. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js +35 -0
  220. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js.map +1 -0
  221. package/dist/service/kms/command/key/key.command.d.ts +159 -0
  222. package/dist/service/kms/command/key/key.command.d.ts.map +1 -0
  223. package/dist/service/kms/command/key/key.command.js +2 -0
  224. package/dist/service/kms/command/key/key.command.js.map +1 -0
  225. package/dist/service/kms/command/key/sim-kms-key-commands.d.ts +41 -0
  226. package/dist/service/kms/command/key/sim-kms-key-commands.d.ts.map +1 -0
  227. package/dist/service/kms/command/key/sim-kms-key-commands.js +45 -0
  228. package/dist/service/kms/command/key/sim-kms-key-commands.js.map +1 -0
  229. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts +48 -0
  230. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts.map +1 -0
  231. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js +67 -0
  232. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js.map +1 -0
  233. package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts +39 -0
  234. package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts.map +1 -0
  235. package/dist/service/kms/command/key/sim-kms-key-policy-commands.js +57 -0
  236. package/dist/service/kms/command/key/sim-kms-key-policy-commands.js.map +1 -0
  237. package/dist/service/kms/command/key/sim-kms-key-type.d.ts +14 -0
  238. package/dist/service/kms/command/key/sim-kms-key-type.d.ts.map +1 -0
  239. package/dist/service/kms/command/key/sim-kms-key-type.js +31 -0
  240. package/dist/service/kms/command/key/sim-kms-key-type.js.map +1 -0
  241. package/dist/service/kms/command/key/sim-kms-list-keys.d.ts +29 -0
  242. package/dist/service/kms/command/key/sim-kms-list-keys.d.ts.map +1 -0
  243. package/dist/service/kms/command/key/sim-kms-list-keys.js +31 -0
  244. package/dist/service/kms/command/key/sim-kms-list-keys.js.map +1 -0
  245. package/dist/service/kms/command/key/sim-kms-pending-window.d.ts +17 -0
  246. package/dist/service/kms/command/key/sim-kms-pending-window.d.ts.map +1 -0
  247. package/dist/service/kms/command/key/sim-kms-pending-window.js +37 -0
  248. package/dist/service/kms/command/key/sim-kms-pending-window.js.map +1 -0
  249. package/dist/service/kms/command/sim-kms-command.types.d.ts +10 -0
  250. package/dist/service/kms/command/sim-kms-command.types.d.ts.map +1 -0
  251. package/dist/service/kms/command/sim-kms-command.types.js +2 -0
  252. package/dist/service/kms/command/sim-kms-command.types.js.map +1 -0
  253. package/dist/service/kms/error/sim-kms.error.d.ts +88 -0
  254. package/dist/service/kms/error/sim-kms.error.d.ts.map +1 -0
  255. package/dist/service/kms/error/sim-kms.error.js +101 -0
  256. package/dist/service/kms/error/sim-kms.error.js.map +1 -0
  257. package/dist/service/kms/index.d.ts +8 -0
  258. package/dist/service/kms/index.d.ts.map +1 -0
  259. package/dist/service/kms/index.js +6 -0
  260. package/dist/service/kms/index.js.map +1 -0
  261. package/dist/service/kms/key/sim-kms-alias.d.ts +45 -0
  262. package/dist/service/kms/key/sim-kms-alias.d.ts.map +1 -0
  263. package/dist/service/kms/key/sim-kms-alias.js +59 -0
  264. package/dist/service/kms/key/sim-kms-alias.js.map +1 -0
  265. package/dist/service/kms/key/sim-kms-ciphertext-blob.d.ts +43 -0
  266. package/dist/service/kms/key/sim-kms-ciphertext-blob.d.ts.map +1 -0
  267. package/dist/service/kms/key/sim-kms-ciphertext-blob.js +89 -0
  268. package/dist/service/kms/key/sim-kms-ciphertext-blob.js.map +1 -0
  269. package/dist/service/kms/key/sim-kms-encryption-context.d.ts +34 -0
  270. package/dist/service/kms/key/sim-kms-encryption-context.d.ts.map +1 -0
  271. package/dist/service/kms/key/sim-kms-encryption-context.js +39 -0
  272. package/dist/service/kms/key/sim-kms-encryption-context.js.map +1 -0
  273. package/dist/service/kms/key/sim-kms-key-factory.d.ts +36 -0
  274. package/dist/service/kms/key/sim-kms-key-factory.d.ts.map +1 -0
  275. package/dist/service/kms/key/sim-kms-key-factory.js +47 -0
  276. package/dist/service/kms/key/sim-kms-key-factory.js.map +1 -0
  277. package/dist/service/kms/key/sim-kms-key-identifier.d.ts +44 -0
  278. package/dist/service/kms/key/sim-kms-key-identifier.d.ts.map +1 -0
  279. package/dist/service/kms/key/sim-kms-key-identifier.js +81 -0
  280. package/dist/service/kms/key/sim-kms-key-identifier.js.map +1 -0
  281. package/dist/service/kms/key/sim-kms-key-lifecycle.d.ts +71 -0
  282. package/dist/service/kms/key/sim-kms-key-lifecycle.d.ts.map +1 -0
  283. package/dist/service/kms/key/sim-kms-key-lifecycle.js +106 -0
  284. package/dist/service/kms/key/sim-kms-key-lifecycle.js.map +1 -0
  285. package/dist/service/kms/key/sim-kms-key-material.d.ts +36 -0
  286. package/dist/service/kms/key/sim-kms-key-material.d.ts.map +1 -0
  287. package/dist/service/kms/key/sim-kms-key-material.js +74 -0
  288. package/dist/service/kms/key/sim-kms-key-material.js.map +1 -0
  289. package/dist/service/kms/key/sim-kms-key-metadata.d.ts +45 -0
  290. package/dist/service/kms/key/sim-kms-key-metadata.d.ts.map +1 -0
  291. package/dist/service/kms/key/sim-kms-key-metadata.js +44 -0
  292. package/dist/service/kms/key/sim-kms-key-metadata.js.map +1 -0
  293. package/dist/service/kms/key/sim-kms-key-policy.d.ts +45 -0
  294. package/dist/service/kms/key/sim-kms-key-policy.d.ts.map +1 -0
  295. package/dist/service/kms/key/sim-kms-key-policy.js +69 -0
  296. package/dist/service/kms/key/sim-kms-key-policy.js.map +1 -0
  297. package/dist/service/kms/key/sim-kms-key-store.d.ts +58 -0
  298. package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -0
  299. package/dist/service/kms/key/sim-kms-key-store.js +111 -0
  300. package/dist/service/kms/key/sim-kms-key-store.js.map +1 -0
  301. package/dist/service/kms/key/sim-kms-key.d.ts +88 -0
  302. package/dist/service/kms/key/sim-kms-key.d.ts.map +1 -0
  303. package/dist/service/kms/key/sim-kms-key.js +106 -0
  304. package/dist/service/kms/key/sim-kms-key.js.map +1 -0
  305. package/dist/service/kms/key/sim-kms-policy-document.d.ts +30 -0
  306. package/dist/service/kms/key/sim-kms-policy-document.d.ts.map +1 -0
  307. package/dist/service/kms/key/sim-kms-policy-document.js +54 -0
  308. package/dist/service/kms/key/sim-kms-policy-document.js.map +1 -0
  309. package/dist/service/kms/sdk/sim-kms-sdk-command-router.d.ts +18 -0
  310. package/dist/service/kms/sdk/sim-kms-sdk-command-router.d.ts.map +1 -0
  311. package/dist/service/kms/sdk/sim-kms-sdk-command-router.js +80 -0
  312. package/dist/service/kms/sdk/sim-kms-sdk-command-router.js.map +1 -0
  313. package/dist/service/kms/sim-kms.d.ts +105 -0
  314. package/dist/service/kms/sim-kms.d.ts.map +1 -0
  315. package/dist/service/kms/sim-kms.js +187 -0
  316. package/dist/service/kms/sim-kms.js.map +1 -0
  317. package/dist/service/lambda/command/create-function/create-function.handler.d.ts.map +1 -1
  318. package/dist/service/lambda/command/create-function/create-function.handler.js +3 -0
  319. package/dist/service/lambda/command/create-function/create-function.handler.js.map +1 -1
  320. package/dist/service/lambda/function/code/sim-lambda-code-resolver.d.ts +6 -0
  321. package/dist/service/lambda/function/code/sim-lambda-code-resolver.d.ts.map +1 -1
  322. package/dist/service/lambda/function/code/sim-lambda-code-resolver.js +1 -0
  323. package/dist/service/lambda/function/code/sim-lambda-code-resolver.js.map +1 -1
  324. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +15 -0
  325. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts.map +1 -1
  326. package/dist/service/lambda/function/code/sim-lambda-executable-code.js +5 -0
  327. package/dist/service/lambda/function/code/sim-lambda-executable-code.js.map +1 -1
  328. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.d.ts +3 -0
  329. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.d.ts.map +1 -1
  330. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.js +3 -0
  331. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.js.map +1 -1
  332. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +11 -0
  333. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts.map +1 -1
  334. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +7 -2
  335. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js.map +1 -1
  336. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +6 -5
  337. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts.map +1 -1
  338. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +10 -5
  339. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js.map +1 -1
  340. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.d.ts +53 -0
  341. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.d.ts.map +1 -0
  342. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.js +101 -0
  343. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.js.map +1 -0
  344. package/dist/service/lambda/function/sim-lambda-function.d.ts +8 -0
  345. package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
  346. package/dist/service/lambda/function/sim-lambda-function.js +15 -1
  347. package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
  348. package/dist/service/lambda/serve/sim-lambda-url-router.js +1 -1
  349. package/dist/service/lambda/serve/sim-lambda-url-router.js.map +1 -1
  350. package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts +14 -0
  351. package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts.map +1 -1
  352. package/dist/service/route53/resolve/sim-r53-service-target-resolver.js +38 -0
  353. package/dist/service/route53/resolve/sim-r53-service-target-resolver.js.map +1 -1
  354. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.d.ts +7 -0
  355. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.d.ts.map +1 -0
  356. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.js +73 -0
  357. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.js.map +1 -0
  358. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.d.ts +61 -0
  359. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.d.ts.map +1 -0
  360. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.js +57 -0
  361. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.js.map +1 -0
  362. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.d.ts +19 -0
  363. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.d.ts.map +1 -0
  364. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.js +28 -0
  365. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.js.map +1 -0
  366. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.d.ts +18 -0
  367. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.d.ts.map +1 -0
  368. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.js +35 -0
  369. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.js.map +1 -0
  370. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.d.ts +11 -0
  371. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.d.ts.map +1 -0
  372. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.js +34 -0
  373. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.js.map +1 -0
  374. package/dist/service/s3/bucket/sim-s3-bucket-arn.d.ts +9 -0
  375. package/dist/service/s3/bucket/sim-s3-bucket-arn.d.ts.map +1 -0
  376. package/dist/service/s3/bucket/sim-s3-bucket-arn.js +10 -0
  377. package/dist/service/s3/bucket/sim-s3-bucket-arn.js.map +1 -0
  378. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +25 -0
  379. package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
  380. package/dist/service/s3/bucket/sim-s3-bucket.js +34 -1
  381. package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
  382. package/dist/service/s3/bucket/sim-s3-endpoint-url.d.ts +16 -0
  383. package/dist/service/s3/bucket/sim-s3-endpoint-url.d.ts.map +1 -0
  384. package/dist/service/s3/bucket/sim-s3-endpoint-url.js +19 -0
  385. package/dist/service/s3/bucket/sim-s3-endpoint-url.js.map +1 -0
  386. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.d.ts +13 -0
  387. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.d.ts.map +1 -0
  388. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.js +36 -0
  389. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.js.map +1 -0
  390. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +27 -0
  391. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts.map +1 -0
  392. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +92 -0
  393. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js.map +1 -0
  394. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts +32 -0
  395. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts.map +1 -0
  396. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js +55 -0
  397. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js.map +1 -0
  398. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +2 -4
  399. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts.map +1 -1
  400. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +10 -61
  401. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js.map +1 -1
  402. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.d.ts +11 -0
  403. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.d.ts.map +1 -0
  404. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.js +22 -0
  405. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.js.map +1 -0
  406. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.d.ts +23 -0
  407. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.d.ts.map +1 -0
  408. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js +36 -0
  409. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js.map +1 -0
  410. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.d.ts +20 -0
  411. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.d.ts.map +1 -0
  412. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.js +2 -0
  413. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.js.map +1 -0
  414. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.d.ts +32 -0
  415. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.d.ts.map +1 -0
  416. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.js +37 -0
  417. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.js.map +1 -0
  418. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.d.ts +20 -0
  419. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.d.ts.map +1 -0
  420. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.js +2 -0
  421. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.js.map +1 -0
  422. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.d.ts +30 -0
  423. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.d.ts.map +1 -0
  424. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.js +35 -0
  425. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.js.map +1 -0
  426. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.d.ts +20 -0
  427. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.d.ts.map +1 -0
  428. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js +33 -0
  429. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js.map +1 -0
  430. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.d.ts +24 -0
  431. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.d.ts.map +1 -0
  432. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.js +2 -0
  433. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.js.map +1 -0
  434. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.d.ts +29 -0
  435. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.d.ts.map +1 -0
  436. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.js +40 -0
  437. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.js.map +1 -0
  438. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.d.ts +22 -0
  439. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.d.ts.map +1 -0
  440. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.js +2 -0
  441. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.js.map +1 -0
  442. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.d.ts +32 -0
  443. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.d.ts.map +1 -0
  444. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.js +39 -0
  445. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.js.map +1 -0
  446. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.d.ts +31 -0
  447. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.d.ts.map +1 -0
  448. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js +48 -0
  449. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js.map +1 -0
  450. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts +1 -0
  451. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts.map +1 -1
  452. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js +7 -6
  453. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js.map +1 -1
  454. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.d.ts +22 -0
  455. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.d.ts.map +1 -0
  456. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.js +2 -0
  457. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.js.map +1 -0
  458. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.d.ts +33 -0
  459. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.d.ts.map +1 -0
  460. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.js +40 -0
  461. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.js.map +1 -0
  462. package/dist/service/s3/command/require-sim-s3-bucket.d.ts +10 -0
  463. package/dist/service/s3/command/require-sim-s3-bucket.d.ts.map +1 -0
  464. package/dist/service/s3/command/require-sim-s3-bucket.js +16 -0
  465. package/dist/service/s3/command/require-sim-s3-bucket.js.map +1 -0
  466. package/dist/service/s3/command/sim-s3-command-handlers.d.ts +91 -0
  467. package/dist/service/s3/command/sim-s3-command-handlers.d.ts.map +1 -0
  468. package/dist/service/s3/command/sim-s3-command-handlers.js +115 -0
  469. package/dist/service/s3/command/sim-s3-command-handlers.js.map +1 -0
  470. package/dist/service/s3/command/sim-s3-command.types.d.ts +19 -0
  471. package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -0
  472. package/dist/service/s3/command/sim-s3-command.types.js +8 -0
  473. package/dist/service/s3/command/sim-s3-command.types.js.map +1 -0
  474. package/dist/service/s3/error/sim-s3-checksum.error.d.ts +28 -0
  475. package/dist/service/s3/error/sim-s3-checksum.error.d.ts.map +1 -0
  476. package/dist/service/s3/error/sim-s3-checksum.error.js +32 -0
  477. package/dist/service/s3/error/sim-s3-checksum.error.js.map +1 -0
  478. package/dist/service/s3/error/sim-s3.error.d.ts +20 -0
  479. package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
  480. package/dist/service/s3/error/sim-s3.error.js +24 -0
  481. package/dist/service/s3/error/sim-s3.error.js.map +1 -1
  482. package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
  483. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +20 -0
  484. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
  485. package/dist/service/s3/serve/sim-s3-bucket-locator.d.ts +40 -0
  486. package/dist/service/s3/serve/sim-s3-bucket-locator.d.ts.map +1 -0
  487. package/dist/service/s3/serve/sim-s3-bucket-locator.js +59 -0
  488. package/dist/service/s3/serve/sim-s3-bucket-locator.js.map +1 -0
  489. package/dist/service/s3/serve/sim-s3-controller.d.ts +7 -0
  490. package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
  491. package/dist/service/s3/serve/sim-s3-controller.js +14 -2
  492. package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
  493. package/dist/service/s3/serve/sim-s3-get-object-controller.d.ts +40 -6
  494. package/dist/service/s3/serve/sim-s3-get-object-controller.d.ts.map +1 -1
  495. package/dist/service/s3/serve/sim-s3-get-object-controller.js +80 -49
  496. package/dist/service/s3/serve/sim-s3-get-object-controller.js.map +1 -1
  497. package/dist/service/s3/serve/sim-s3-object-address.d.ts +42 -0
  498. package/dist/service/s3/serve/sim-s3-object-address.d.ts.map +1 -0
  499. package/dist/service/s3/serve/sim-s3-object-address.js +66 -0
  500. package/dist/service/s3/serve/sim-s3-object-address.js.map +1 -0
  501. package/dist/service/s3/serve/sim-s3-request-router.d.ts +18 -13
  502. package/dist/service/s3/serve/sim-s3-request-router.d.ts.map +1 -1
  503. package/dist/service/s3/serve/sim-s3-request-router.js +72 -48
  504. package/dist/service/s3/serve/sim-s3-request-router.js.map +1 -1
  505. package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +36 -0
  506. package/dist/service/s3/serve/sim-s3-rest-controller.d.ts.map +1 -0
  507. package/dist/service/s3/serve/sim-s3-rest-controller.js +92 -0
  508. package/dist/service/s3/serve/sim-s3-rest-controller.js.map +1 -0
  509. package/dist/service/s3/serve/sim-s3-rest-error-response.d.ts +28 -0
  510. package/dist/service/s3/serve/sim-s3-rest-error-response.d.ts.map +1 -0
  511. package/dist/service/s3/serve/sim-s3-rest-error-response.js +63 -0
  512. package/dist/service/s3/serve/sim-s3-rest-error-response.js.map +1 -0
  513. package/dist/service/s3/serve/sim-s3-rest-refusal.d.ts +7 -0
  514. package/dist/service/s3/serve/sim-s3-rest-refusal.d.ts.map +1 -0
  515. package/dist/service/s3/serve/sim-s3-rest-refusal.js +18 -0
  516. package/dist/service/s3/serve/sim-s3-rest-refusal.js.map +1 -0
  517. package/dist/service/s3/serve/sim-s3-route.d.ts +40 -0
  518. package/dist/service/s3/serve/sim-s3-route.d.ts.map +1 -0
  519. package/dist/service/s3/serve/sim-s3-route.js +7 -0
  520. package/dist/service/s3/serve/sim-s3-route.js.map +1 -0
  521. package/dist/service/s3/serve/sim-s3-upload-checksum.d.ts +27 -0
  522. package/dist/service/s3/serve/sim-s3-upload-checksum.d.ts.map +1 -0
  523. package/dist/service/s3/serve/sim-s3-upload-checksum.js +86 -0
  524. package/dist/service/s3/serve/sim-s3-upload-checksum.js.map +1 -0
  525. package/dist/service/s3/serve/website/sim-s3-website-object-loader.d.ts +51 -0
  526. package/dist/service/s3/serve/website/sim-s3-website-object-loader.d.ts.map +1 -0
  527. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +75 -0
  528. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -0
  529. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +18 -0
  530. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -0
  531. package/dist/service/s3/serve/website/sim-s3-website-object.js +28 -0
  532. package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -0
  533. package/dist/service/s3/serve/website/sim-s3-website-responses.d.ts +27 -0
  534. package/dist/service/s3/serve/website/sim-s3-website-responses.d.ts.map +1 -0
  535. package/dist/service/s3/serve/website/sim-s3-website-responses.js +44 -0
  536. package/dist/service/s3/serve/website/sim-s3-website-responses.js.map +1 -0
  537. package/dist/service/s3/sim-s3.d.ts +34 -9
  538. package/dist/service/s3/sim-s3.d.ts.map +1 -1
  539. package/dist/service/s3/sim-s3.js +65 -55
  540. package/dist/service/s3/sim-s3.js.map +1 -1
  541. package/dist/util/clock/sim-clock-date.d.ts +20 -0
  542. package/dist/util/clock/sim-clock-date.d.ts.map +1 -0
  543. package/dist/util/clock/sim-clock-date.js +43 -0
  544. package/dist/util/clock/sim-clock-date.js.map +1 -0
  545. package/package.json +17 -11
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-decision.js","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-decision.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-iam-decision.js","sourceRoot":"","sources":["../../../../src/service/iam/authorize/sim-iam-decision.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { BackgroundScheduler } from "../../../util/background/background.js";
2
+ import type { SimArn } from "../../aws/arn.js";
3
+ import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
4
+ import type { SimIamInterServiceAuthZ } from "../authorize/sim-iam-inter-service-auth-z.js";
5
+ import type { SimIamCredentialRegistry } from "../credential/sim-iam-credential-registry.js";
6
+ import type { SimIamUserCredentialGenerator } from "../credential/user/sim-iam-user-credential-generator.js";
7
+ import type { SimIamManagedPolicy } from "../policy/sim-iam-policy.js";
8
+ import type { SimIamRole, SimIamRoleName } from "../role/sim-iam-role.js";
9
+ import type { SimIamUser, SimIamUsername } from "../user/sim-iam-user.js";
10
+ import { SimIamPolicyCommandHandlers } from "./policy/sim-iam-policy-command-handlers.js";
11
+ import { SimIamRoleCommandHandlers } from "./role/sim-iam-role-command-handlers.js";
12
+ import { SimIamUserCommandHandlers } from "./user/sim-iam-user-command-handlers.js";
13
+ interface SimIamCommandHandlersProperties {
14
+ readonly accountId: SimAwsAccountId;
15
+ readonly policies: Map<SimArn, SimIamManagedPolicy>;
16
+ readonly roles: Map<SimIamRoleName, SimIamRole>;
17
+ readonly users: Map<SimIamUsername, SimIamUser>;
18
+ readonly credentialRegistry: SimIamCredentialRegistry;
19
+ readonly userCredentialGenerator: SimIamUserCredentialGenerator;
20
+ readonly background: BackgroundScheduler;
21
+ /**
22
+ * IAM itself, which authorizes its own control-plane commands.
23
+ */
24
+ readonly iam: SimIamInterServiceAuthZ;
25
+ }
26
+ /**
27
+ * The command handlers of one simulated IAM Account, grouped by resource.
28
+ *
29
+ * Every group authorizes against the same IAM and mutates the same Account
30
+ * state, so they are wired together here rather than one at a time in the
31
+ * service facade. That keeps SimIam what it should be: state maps plus
32
+ * delegation.
33
+ */
34
+ export declare class SimIamCommandHandlers {
35
+ readonly roles: SimIamRoleCommandHandlers;
36
+ readonly users: SimIamUserCommandHandlers;
37
+ readonly policies: SimIamPolicyCommandHandlers;
38
+ constructor(properties: SimIamCommandHandlersProperties);
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=sim-iam-command-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-command-handlers.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/command/sim-iam-command-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AAC5F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AAC7G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAEpF,UAAU,+BAA+B;IACvC,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,uBAAuB,EAAE,6BAA6B,CAAC;IAChE,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,2BAA2B,CAAC;IAE/C,YAAY,UAAU,EAAE,+BAA+B,EAwBtD;CACF"}
@@ -0,0 +1,42 @@
1
+ import { SimIamActionAuthorizer } from "../authorize/sim-iam-action-authorizer.js";
2
+ import { SimIamPolicyCommandHandlers } from "./policy/sim-iam-policy-command-handlers.js";
3
+ import { SimIamRoleCommandHandlers } from "./role/sim-iam-role-command-handlers.js";
4
+ import { SimIamUserCommandHandlers } from "./user/sim-iam-user-command-handlers.js";
5
+ /**
6
+ * The command handlers of one simulated IAM Account, grouped by resource.
7
+ *
8
+ * Every group authorizes against the same IAM and mutates the same Account
9
+ * state, so they are wired together here rather than one at a time in the
10
+ * service facade. That keeps SimIam what it should be: state maps plus
11
+ * delegation.
12
+ */
13
+ export class SimIamCommandHandlers {
14
+ roles;
15
+ users;
16
+ policies;
17
+ constructor(properties) {
18
+ const authorizer = new SimIamActionAuthorizer({ iam: properties.iam });
19
+ this.roles = new SimIamRoleCommandHandlers({
20
+ accountId: properties.accountId,
21
+ roles: properties.roles,
22
+ background: properties.background,
23
+ authorizer,
24
+ });
25
+ this.users = new SimIamUserCommandHandlers({
26
+ accountId: properties.accountId,
27
+ users: properties.users,
28
+ credentialRegistry: properties.credentialRegistry,
29
+ credentialGenerator: properties.userCredentialGenerator,
30
+ background: properties.background,
31
+ authorizer,
32
+ });
33
+ this.policies = new SimIamPolicyCommandHandlers({
34
+ accountId: properties.accountId,
35
+ policies: properties.policies,
36
+ users: properties.users,
37
+ background: properties.background,
38
+ authorizer,
39
+ });
40
+ }
41
+ }
42
+ //# sourceMappingURL=sim-iam-command-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-command-handlers.js","sourceRoot":"","sources":["../../../../src/service/iam/command/sim-iam-command-handlers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAOnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAiBpF;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAqB;IACvB,KAAK,CAA4B;IACjC,KAAK,CAA4B;IACjC,QAAQ,CAA8B;IAE/C,YAAY,UAA2C;QACrD,MAAM,UAAU,GAAG,IAAI,sBAAsB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QAEvE,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAyB,CAAC;YACzC,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,UAAU;SACX,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,yBAAyB,CAAC;YACzC,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;YACjD,mBAAmB,EAAE,UAAU,CAAC,uBAAuB;YACvD,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,UAAU;SACX,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAA2B,CAAC;YAC9C,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,UAAU;SACX,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  export { SimIam } from "./sim-iam.js";
2
+ export { SimIamAccessDenied, SimIamError } from "./error/sim-iam.error.js";
2
3
  export type { SimIamRequestOptions } from "./command/sim-iam-request-options.js";
3
4
  export type { SimIamCredentialIdentity } from "./credential/sim-aws-credentials.js";
4
5
  export { SimIamCredentialScopeMismatch, SimIamExpiredToken, SimIamIncompleteSignature, SimIamInvalidClientTokenId, SimIamSignatureDoesNotMatch, SimIamSigV4Error, type SimIamSigV4ErrorCode, } from "./sigv4/error/sim-iam-sigv4.error.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/iam/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,YAAY,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,KAAK,oBAAoB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,KAAK,uBAAuB,EAC5B,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,wBAAwB,GAC9B,MAAM,+CAA+C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/iam/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC3E,YAAY,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,YAAY,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,EAChB,KAAK,oBAAoB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,KAAK,uBAAuB,EAC5B,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,wBAAwB,GAC9B,MAAM,+CAA+C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { SimIam } from "./sim-iam.js";
2
+ export { SimIamAccessDenied, SimIamError } from "./error/sim-iam.error.js";
2
3
  export { SimIamCredentialScopeMismatch, SimIamExpiredToken, SimIamIncompleteSignature, SimIamInvalidClientTokenId, SimIamSignatureDoesNotMatch, SimIamSigV4Error, } from "./sigv4/error/sim-iam-sigv4.error.js";
3
4
  export { simAwsCallerHeaderName, simAwsCallerHeaderPrincipal, simAwsCallerHeaderValue, } from "./request/sim-aws-caller-header.js";
4
5
  export { SimAwsRequestCaller, } from "./request/sim-aws-request-caller.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/iam/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,GAEjB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEL,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAE1B,MAAM,+CAA+C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/iam/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG3E,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,gBAAgB,GAEjB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAEL,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAE1B,MAAM,+CAA+C,CAAC"}
@@ -12,5 +12,13 @@ export interface SimIamAccountResolver {
12
12
  * registered for the requested Account.
13
13
  */
14
14
  iamForAccount(accountId: SimAwsAccountId): SimIam;
15
+ /**
16
+ * Find simulated IAM for an Account, without requiring it to exist.
17
+ *
18
+ * An Account with no IAM registered is a legitimate answer rather than a
19
+ * fault: a request can name a principal in an Account the simulation was
20
+ * never told about, and that Account grants it nothing.
21
+ */
22
+ findIamForAccount(accountId: SimAwsAccountId): SimIam | undefined;
15
23
  }
16
24
  //# sourceMappingURL=sim-iam-account-resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-account-resolver.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/registry/sim-iam-account-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAAC;CACnD"}
1
+ {"version":3,"file":"sim-iam-account-resolver.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/registry/sim-iam-account-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAAC;IAElD;;;;;;OAMG;IACH,iBAAiB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;CACnE"}
@@ -26,5 +26,9 @@ export declare class SimIamRegistry implements SimIamAccountResolver {
26
26
  * rely on receiving a usable account-scoped service.
27
27
  */
28
28
  iamForAccount(accountId: SimAwsAccountId): SimIam;
29
+ /**
30
+ * Find the registered IAM facade belonging to an Account, if there is one.
31
+ */
32
+ findIamForAccount(accountId: SimAwsAccountId): SimIam | undefined;
29
33
  }
30
34
  //# sourceMappingURL=sim-iam-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-registry.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/registry/sim-iam-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E;;;;;;;GAOG;AACH,qBAAa,cAAe,YAAW,qBAAqB;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsC;IAErE;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CActD;IAED;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAQhD;CACF"}
1
+ {"version":3,"file":"sim-iam-registry.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/registry/sim-iam-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E;;;;;;;GAOG;AACH,qBAAa,cAAe,YAAW,qBAAqB;IAC1D,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsC;IAErE;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CActD;IAED;;;;;OAKG;IACH,aAAa,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAQhD;IAED;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAEhE;CACF"}
@@ -32,11 +32,17 @@ export class SimIamRegistry {
32
32
  * rely on receiving a usable account-scoped service.
33
33
  */
34
34
  iamForAccount(accountId) {
35
- const iam = this.iamByAccountId.get(accountId);
35
+ const iam = this.findIamForAccount(accountId);
36
36
  if (iam === undefined) {
37
37
  throw new Error(`Sim IAM is not registered for Account ${accountId}`);
38
38
  }
39
39
  return iam;
40
40
  }
41
+ /**
42
+ * Find the registered IAM facade belonging to an Account, if there is one.
43
+ */
44
+ findIamForAccount(accountId) {
45
+ return this.iamByAccountId.get(accountId);
46
+ }
41
47
  }
42
48
  //# sourceMappingURL=sim-iam-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-registry.js","sourceRoot":"","sources":["../../../../src/service/iam/registry/sim-iam-registry.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IACR,cAAc,GAAG,IAAI,GAAG,EAA2B,CAAC;IAErE;;;;;;OAMG;IACH,QAAQ,CAAC,SAA0B,EAAE,GAAW;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,wDAAwD,SAAS,EAAE,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,SAA0B;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
1
+ {"version":3,"file":"sim-iam-registry.js","sourceRoot":"","sources":["../../../../src/service/iam/registry/sim-iam-registry.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,MAAM,OAAO,cAAc;IACR,cAAc,GAAG,IAAI,GAAG,EAA2B,CAAC;IAErE;;;;;;OAMG;IACH,QAAQ,CAAC,SAA0B,EAAE,GAAW;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,wDAAwD,SAAS,EAAE,CACpE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,SAA0B;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE9C,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,SAA0B;QAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;CACF"}
@@ -5,6 +5,20 @@ import { SimAwsRequestCaller } from "./sim-aws-request-caller.js";
5
5
  interface SimAwsRequestCallerResolverProperties {
6
6
  readonly signedRequests: SimIamSigV4Verifier;
7
7
  }
8
+ /**
9
+ * What resolving a caller needs beyond the request itself.
10
+ */
11
+ export interface SimAwsCallerResolveOptions {
12
+ /**
13
+ * The service and Region the signature should have been scoped to.
14
+ */
15
+ readonly expectedScope?: SimIamSigV4ExpectedScope | undefined;
16
+ /**
17
+ * Simulated time, which credential expiry and a presigned URL's own expiry
18
+ * are both judged against.
19
+ */
20
+ readonly now?: Date | undefined;
21
+ }
8
22
  /**
9
23
  * The one place an HTTP request into simulated AWS becomes a principal.
10
24
  *
@@ -33,14 +47,16 @@ export declare class SimAwsRequestCallerResolver {
33
47
  * Throws a SimAwsRequestAuthFailure when the request states an identity that
34
48
  * cannot be accepted. Stating none is not a failure; it is anonymous.
35
49
  */
36
- resolve(request: SimIamSigV4SignedRequest, expectedScope?: SimIamSigV4ExpectedScope): SimAwsRequestCaller;
50
+ resolve(request: SimIamSigV4SignedRequest, options?: SimAwsCallerResolveOptions): SimAwsRequestCaller;
37
51
  /**
38
52
  * Whether the request offers a SigV4 signature to verify.
39
53
  *
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.
54
+ * Two things count: an AWS4-HMAC-SHA256 Authorization header, and the
55
+ * `X-Amz-Algorithm` parameter a presigned URL states its signature with. An
56
+ * Authorization header of any other scheme belongs to the application: a
57
+ * bearer token sent to a Function URL with NONE auth is the handler's
58
+ * business, and treating it as a broken signature would refuse a request real
59
+ * AWS delivers.
44
60
  */
45
61
  private carriesSignature;
46
62
  private signedCaller;
@@ -1 +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"}
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":"AAEA,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;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC9D;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;CACjC;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,OAAO,GAAE,0BAA+B,GACvC,mBAAmB,CAerB;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,YAAY;CAerB"}
@@ -1,3 +1,4 @@
1
+ import { SimIamSigV4PresignedQuery } from "../sigv4/presign/sim-iam-sigv4-presigned-query.js";
1
2
  import { simIamSigV4Algorithm } from "../sigv4/sim-iam-sigv4-authorization.js";
2
3
  import { simAwsCallerHeaderName, simAwsCallerHeaderPrincipal, } from "./sim-aws-caller-header.js";
3
4
  import { SimAwsRequestCaller } from "./sim-aws-request-caller.js";
@@ -31,7 +32,7 @@ export class SimAwsRequestCallerResolver {
31
32
  * Throws a SimAwsRequestAuthFailure when the request states an identity that
32
33
  * cannot be accepted. Stating none is not a failure; it is anonymous.
33
34
  */
34
- resolve(request, expectedScope) {
35
+ resolve(request, options = {}) {
35
36
  const named = request.headers.get(simAwsCallerHeaderName);
36
37
  if (named !== null) {
37
38
  return new SimAwsRequestCaller({
@@ -42,22 +43,27 @@ export class SimAwsRequestCallerResolver {
42
43
  if (!this.carriesSignature(request)) {
43
44
  return SimAwsRequestCaller.anonymous();
44
45
  }
45
- return this.signedCaller(request, expectedScope);
46
+ return this.signedCaller(request, options);
46
47
  }
47
48
  /**
48
49
  * Whether the request offers a SigV4 signature to verify.
49
50
  *
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.
51
+ * Two things count: an AWS4-HMAC-SHA256 Authorization header, and the
52
+ * `X-Amz-Algorithm` parameter a presigned URL states its signature with. An
53
+ * Authorization header of any other scheme belongs to the application: a
54
+ * bearer token sent to a Function URL with NONE auth is the handler's
55
+ * business, and treating it as a broken signature would refuse a request real
56
+ * AWS delivers.
54
57
  */
55
58
  carriesSignature(request) {
56
59
  return (request.headers.get("authorization")?.startsWith(simIamSigV4Algorithm) ===
57
- true);
60
+ true || SimIamSigV4PresignedQuery.carriedBy(request.url));
58
61
  }
59
- signedCaller(request, expectedScope) {
60
- const identity = this.signedRequests.verify(request, { expectedScope });
62
+ signedCaller(request, options) {
63
+ const identity = this.signedRequests.verify(request, {
64
+ expectedScope: options.expectedScope,
65
+ now: options.now,
66
+ });
61
67
  return new SimAwsRequestCaller({
62
68
  principal: identity.principal,
63
69
  identityPolicyPrincipal: identity.identityPolicyPrincipal,
@@ -1 +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"}
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,yBAAyB,EAAE,MAAM,mDAAmD,CAAC;AAC9F,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;AAqBlE;;;;;;;;;;;;;;;;;;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,OAAO,GAA+B,EAAE;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,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;;OASG;IACK,gBAAgB,CAAC,OAAiC;QACxD,OAAO,CACL,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,oBAAoB,CAAC;YACpE,IAAI,IAAI,yBAAyB,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAC3D,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,OAAiC,EACjC,OAAmC;QAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE;YACnD,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;QAEH,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"}
@@ -1,4 +1,5 @@
1
1
  import type { SimIamSigV4SignedRequest } from "../sim-iam-sigv4-signed-request.js";
2
+ import { SimIamSigV4PayloadDeclaration } from "./sim-iam-sigv4-payload-hash.js";
2
3
  /**
3
4
  * The canonical form of a signed request: the exact bytes a signature is made
4
5
  * over.
@@ -11,7 +12,8 @@ import type { SimIamSigV4SignedRequest } from "../sim-iam-sigv4-signed-request.j
11
12
  export declare class SimIamSigV4CanonicalRequest {
12
13
  private readonly canonicalHeaders;
13
14
  private readonly signedRequest;
14
- constructor(signedRequest: SimIamSigV4SignedRequest, signedHeaderNames: readonly string[]);
15
+ private readonly payload;
16
+ constructor(signedRequest: SimIamSigV4SignedRequest, signedHeaderNames: readonly string[], payload?: SimIamSigV4PayloadDeclaration);
15
17
  /**
16
18
  * The canonical request string, ready to be hashed into a string to sign.
17
19
  */
@@ -1 +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"}
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;AAInF,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;;;;;;GAQG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IAExD,YACE,aAAa,EAAE,wBAAwB,EACvC,iBAAiB,EAAE,SAAS,MAAM,EAAE,EACpC,OAAO,GAAE,6BAER,EASF;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,CAWjB;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { SimIamSigV4CanonicalHeaders } from "./sim-iam-sigv4-canonical-headers.js";
2
2
  import { simIamSigV4CanonicalPath } from "./sim-iam-sigv4-canonical-path.js";
3
3
  import { simIamSigV4CanonicalQuery } from "./sim-iam-sigv4-canonical-query.js";
4
- import { simIamSigV4PayloadHash } from "./sim-iam-sigv4-payload-hash.js";
4
+ import { SimIamSigV4PayloadDeclaration } from "./sim-iam-sigv4-payload-hash.js";
5
5
  /**
6
6
  * The canonical form of a signed request: the exact bytes a signature is made
7
7
  * over.
@@ -14,22 +14,24 @@ import { simIamSigV4PayloadHash } from "./sim-iam-sigv4-payload-hash.js";
14
14
  export class SimIamSigV4CanonicalRequest {
15
15
  canonicalHeaders;
16
16
  signedRequest;
17
- constructor(signedRequest, signedHeaderNames) {
17
+ payload;
18
+ constructor(signedRequest, signedHeaderNames, payload = SimIamSigV4PayloadDeclaration.fromHeaders(signedRequest.headers)) {
18
19
  this.signedRequest = signedRequest;
20
+ this.payload = payload;
19
21
  this.canonicalHeaders = new SimIamSigV4CanonicalHeaders(signedRequest.headers, signedHeaderNames, signedRequest.url);
20
22
  }
21
23
  /**
22
24
  * The canonical request string, ready to be hashed into a string to sign.
23
25
  */
24
26
  toString() {
25
- const { method, url, headers, body } = this.signedRequest;
27
+ const { method, url, body } = this.signedRequest;
26
28
  return [
27
29
  method.toUpperCase(),
28
30
  simIamSigV4CanonicalPath(url.pathname),
29
31
  simIamSigV4CanonicalQuery(url.search),
30
32
  `${this.canonicalHeaders.toString()}\n`,
31
33
  this.canonicalHeaders.signedHeaderList(),
32
- simIamSigV4PayloadHash(headers, body),
34
+ this.payload.hashFor(body),
33
35
  ].join("\n");
34
36
  }
35
37
  }
@@ -1 +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"}
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,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF;;;;;;;;GAQG;AACH,MAAM,OAAO,2BAA2B;IACrB,gBAAgB,CAA8B;IAC9C,aAAa,CAA2B;IACxC,OAAO,CAAgC;IAExD,YACE,aAAuC,EACvC,iBAAoC,EACpC,OAAO,GAAkC,6BAA6B,CAAC,WAAW,CAChF,aAAa,CAAC,OAAO,CACtB;QAED,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,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,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAEjD,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,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;SAC3B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;CACF"}
@@ -1,19 +1,39 @@
1
1
  export declare const simIamSigV4UnsignedPayload = "UNSIGNED-PAYLOAD";
2
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.
3
+ * What a signed request declares its body hashes to.
5
4
  *
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.
5
+ * A header-signed request states this in `x-amz-content-sha256`. A presigned
6
+ * URL states it in the query parameter of the same name, and a presigned URL
7
+ * that states nothing has an unsigned payload, because a URL is signed before
8
+ * there is a body to hash. Reading the declaration is the one part of building
9
+ * a canonical request that differs between the two.
17
10
  */
18
- export declare function simIamSigV4PayloadHash(headers: Headers, body: Uint8Array | undefined): string;
11
+ export declare class SimIamSigV4PayloadDeclaration {
12
+ private readonly declared;
13
+ private constructor();
14
+ /**
15
+ * The declaration a header-signed request makes.
16
+ */
17
+ static fromHeaders(headers: Headers): SimIamSigV4PayloadDeclaration;
18
+ /**
19
+ * The declaration a presigned URL makes, defaulting to an unsigned payload.
20
+ */
21
+ static fromPresignedQuery(url: URL): SimIamSigV4PayloadDeclaration;
22
+ /**
23
+ * Work out the payload hash the request was signed with, and check that the
24
+ * body it arrived with is the body it claims.
25
+ *
26
+ * The declaration is itself signed, so the claim cannot be altered without
27
+ * breaking the signature. The claim still has to be checked against the bytes
28
+ * received: without that, a signature would cover only the client's assertion
29
+ * about the body, and the body could be replaced freely.
30
+ *
31
+ * `UNSIGNED-PAYLOAD` is the one declaration that deliberately leaves the body
32
+ * uncovered, and is honoured. Any other non-digest value, including the
33
+ * streaming markers that chunked uploads use, is refused rather than passed
34
+ * through: accepting one would mean serving a request whose body nothing had
35
+ * checked, which is worse than saying the simulator does not support it.
36
+ */
37
+ hashFor(body: Uint8Array | undefined): string;
38
+ }
19
39
  //# sourceMappingURL=sim-iam-sigv4-payload-hash.d.ts.map
@@ -1 +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"}
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":"AAQA,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAW7D;;;;;;;;GAQG;AACH,qBAAa,6BAA6B;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IAEzC,OAAO,eAEN;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,6BAA6B,CAElE;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,6BAA6B,CAOjE;IAED;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CA6B5C;CACF"}
@@ -1,47 +1,74 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { SimIamSignatureDoesNotMatch } from "../error/sim-iam-sigv4.error.js";
3
+ import { simIamSigV4PresignedParameter, simIamSigV4PresignedParameters, } from "../presign/sim-iam-sigv4-presigned-parameters.js";
3
4
  export const simIamSigV4UnsignedPayload = "UNSIGNED-PAYLOAD";
4
- const sha256HeaderName = "x-amz-content-sha256";
5
+ const sha256Name = "x-amz-content-sha256";
5
6
  const sha256DigestPattern = /^[\da-f]{64}$/i;
6
7
  /**
7
8
  * The SHA-256 of an empty body, which SigV4 uses when a request has no body.
8
9
  */
9
10
  const emptyBodyHash = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
10
11
  /**
11
- * Work out the payload hash a signed request was signed with, and check the
12
- * body it arrived with is the body it claims.
12
+ * What a signed request declares its body hashes to.
13
13
  *
14
- * A signer states the payload hash in `x-amz-content-sha256`, and that header
15
- * is itself signed, so the claim cannot be altered without breaking the
16
- * signature. The claim still has to be checked against the bytes received:
17
- * without that, a signature would cover only the client's assertion about the
18
- * body, and the body could be replaced freely.
19
- *
20
- * `UNSIGNED-PAYLOAD` is the one declaration that deliberately leaves the body
21
- * uncovered, and is honoured. Any other non-digest value, including the
22
- * streaming markers that chunked uploads use, is refused rather than passed
23
- * through: accepting one would mean serving a request whose body nothing had
24
- * checked, which is worse than saying the simulator does not support it.
14
+ * A header-signed request states this in `x-amz-content-sha256`. A presigned
15
+ * URL states it in the query parameter of the same name, and a presigned URL
16
+ * that states nothing has an unsigned payload, because a URL is signed before
17
+ * there is a body to hash. Reading the declaration is the one part of building
18
+ * a canonical request that differs between the two.
25
19
  */
26
- export function simIamSigV4PayloadHash(headers, body) {
27
- const declared = headers.get(sha256HeaderName);
28
- if (declared === null || declared.length === 0) {
29
- return hashOfBody(body);
20
+ export class SimIamSigV4PayloadDeclaration {
21
+ declared;
22
+ constructor(declared) {
23
+ this.declared = declared;
30
24
  }
31
- if (declared === simIamSigV4UnsignedPayload) {
32
- return declared;
25
+ /**
26
+ * The declaration a header-signed request makes.
27
+ */
28
+ static fromHeaders(headers) {
29
+ return new SimIamSigV4PayloadDeclaration(headers.get(sha256Name));
33
30
  }
34
- if (!sha256DigestPattern.test(declared)) {
35
- throw new SimIamSignatureDoesNotMatch(`Signed ${sha256HeaderName} header declares ${declared}, which is ` +
36
- `neither a SHA-256 digest nor ${simIamSigV4UnsignedPayload}. ` +
37
- `Chunked and streaming payload signing is not simulated.`);
31
+ /**
32
+ * The declaration a presigned URL makes, defaulting to an unsigned payload.
33
+ */
34
+ static fromPresignedQuery(url) {
35
+ return new SimIamSigV4PayloadDeclaration(simIamSigV4PresignedParameter(url, simIamSigV4PresignedParameters.contentSha256) ?? simIamSigV4UnsignedPayload);
38
36
  }
39
- const received = hashOfBody(body);
40
- if (received !== declared.toLowerCase()) {
41
- throw new SimIamSignatureDoesNotMatch(`Request body hashes to ${received}, not the ${declared} its signed ` +
42
- `${sha256HeaderName} header declares`);
37
+ /**
38
+ * Work out the payload hash the request was signed with, and check that the
39
+ * body it arrived with is the body it claims.
40
+ *
41
+ * The declaration is itself signed, so the claim cannot be altered without
42
+ * breaking the signature. The claim still has to be checked against the bytes
43
+ * received: without that, a signature would cover only the client's assertion
44
+ * about the body, and the body could be replaced freely.
45
+ *
46
+ * `UNSIGNED-PAYLOAD` is the one declaration that deliberately leaves the body
47
+ * uncovered, and is honoured. Any other non-digest value, including the
48
+ * streaming markers that chunked uploads use, is refused rather than passed
49
+ * through: accepting one would mean serving a request whose body nothing had
50
+ * checked, which is worse than saying the simulator does not support it.
51
+ */
52
+ hashFor(body) {
53
+ const declared = this.declared;
54
+ if (declared === null || declared.length === 0) {
55
+ return hashOfBody(body);
56
+ }
57
+ if (declared === simIamSigV4UnsignedPayload) {
58
+ return declared;
59
+ }
60
+ if (!sha256DigestPattern.test(declared)) {
61
+ throw new SimIamSignatureDoesNotMatch(`Signed ${sha256Name} declares ${declared}, which is neither a ` +
62
+ `SHA-256 digest nor ${simIamSigV4UnsignedPayload}. Chunked and ` +
63
+ `streaming payload signing is not simulated.`);
64
+ }
65
+ const received = hashOfBody(body);
66
+ if (received !== declared.toLowerCase()) {
67
+ throw new SimIamSignatureDoesNotMatch(`Request body hashes to ${received}, not the ${declared} its signed ` +
68
+ `${sha256Name} declares`);
69
+ }
70
+ return declared;
43
71
  }
44
- return declared;
45
72
  }
46
73
  function hashOfBody(body) {
47
74
  if (body === undefined || body.byteLength === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4-payload-hash.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAE9E,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;AAE7D,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AAChD,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C;;GAEG;AACH,MAAM,aAAa,GACjB,kEAAkE,CAAC;AAErE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,IAA4B;IAE5B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE/C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ,KAAK,0BAA0B,EAAE,CAAC;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,2BAA2B,CACnC,UAAU,gBAAgB,oBAAoB,QAAQ,aAAa;YACjE,gCAAgC,0BAA0B,IAAI;YAC9D,yDAAyD,CAC5D,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAElC,IAAI,QAAQ,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,2BAA2B,CACnC,0BAA0B,QAAQ,aAAa,QAAQ,cAAc;YACnE,GAAG,gBAAgB,kBAAkB,CACxC,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,IAA4B;IAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"sim-iam-sigv4-payload-hash.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,kDAAkD,CAAC;AAE1D,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAAkB,CAAC;AAE7D,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAC1C,MAAM,mBAAmB,GAAG,gBAAgB,CAAC;AAE7C;;GAEG;AACH,MAAM,aAAa,GACjB,kEAAkE,CAAC;AAErE;;;;;;;;GAQG;AACH,MAAM,OAAO,6BAA6B;IACvB,QAAQ,CAAgB;IAEzC,YAAoB,QAAuB;QACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAgB;QACjC,OAAO,IAAI,6BAA6B,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAQ;QAChC,OAAO,IAAI,6BAA6B,CACtC,6BAA6B,CAC3B,GAAG,EACH,8BAA8B,CAAC,aAAa,CAC7C,IAAI,0BAA0B,CAChC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,IAA4B;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE/B,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,QAAQ,KAAK,0BAA0B,EAAE,CAAC;YAC5C,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,2BAA2B,CACnC,UAAU,UAAU,aAAa,QAAQ,uBAAuB;gBAC9D,sBAAsB,0BAA0B,gBAAgB;gBAChE,6CAA6C,CAChD,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,QAAQ,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,2BAA2B,CACnC,0BAA0B,QAAQ,aAAa,QAAQ,cAAc;gBACnE,GAAG,UAAU,WAAW,CAC3B,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,SAAS,UAAU,CAAC,IAA4B;IAC9C,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * These are the codes real AWS returns, so a caller handling a rejection can
5
5
  * treat a simulated one exactly as it treats the real thing.
6
6
  */
7
- export type SimIamSigV4ErrorCode = "ExpiredToken" | "IncompleteSignature" | "InvalidClientTokenId" | "SignatureDoesNotMatch";
7
+ export type SimIamSigV4ErrorCode = "AccessDenied" | "ExpiredToken" | "IncompleteSignature" | "InvalidClientTokenId" | "SignatureDoesNotMatch";
8
8
  /**
9
9
  * Base error for a rejected SigV4 signed request.
10
10
  */
@@ -33,6 +33,18 @@ export declare class SimIamInvalidClientTokenId extends SimIamSigV4Error {
33
33
  export declare class SimIamExpiredToken extends SimIamSigV4Error {
34
34
  constructor(message: string);
35
35
  }
36
+ /**
37
+ * Raised when a presigned URL is used after the window it was signed for.
38
+ *
39
+ * The window is judged in simulated time, so a test that freezes the clock
40
+ * keeps a URL usable however long it spends, and one that advances the clock
41
+ * past `X-Amz-Expires` sees exactly what a real expired link does. The AWS
42
+ * error code is the one real S3 answers an expired presigned URL with, which
43
+ * is `AccessDenied` rather than anything naming expiry.
44
+ */
45
+ export declare class SimIamPresignedRequestExpired extends SimIamSigV4Error {
46
+ constructor(message: string);
47
+ }
36
48
  /**
37
49
  * Raised when a signature was made for a different service or Region than the
38
50
  * endpoint it arrived at.
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4.error.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/error/sim-iam-sigv4.error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,cAAc,GACd,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,CAAC;AAE5B;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,IAAI,EAAE,oBAAoB,CAAC;IAE3C,YAAY,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAItD;CACF;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,gBAAgB;IAC7D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,gBAAgB;IAC9D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;;;;GAUG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;IACjE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,gBAAgB;IAC/D,SAAgB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtD,YAAY,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAGrD;CACF"}
1
+ {"version":3,"file":"sim-iam-sigv4.error.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/error/sim-iam-sigv4.error.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAC5B,cAAc,GACd,cAAc,GACd,qBAAqB,GACrB,sBAAsB,GACtB,uBAAuB,CAAC;AAE5B;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,SAAgB,IAAI,EAAE,oBAAoB,CAAC;IAE3C,YAAY,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAItD;CACF;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,gBAAgB;IAC7D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,gBAAgB;IAC9D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;;GAQG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;IACjE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;;;;GAUG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;IACjE,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;GAKG;AACH,qBAAa,2BAA4B,SAAQ,gBAAgB;IAC/D,SAAgB,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAEtD,YAAY,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAGrD;CACF"}