@kensio/yulin 0.37.0 → 0.39.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 (723) 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 +6 -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-scoped-service-registries.d.ts +31 -0
  11. package/dist/service/aws/factory/sim-aws-scoped-service-registries.d.ts.map +1 -0
  12. package/dist/service/aws/factory/sim-aws-scoped-service-registries.js +31 -0
  13. package/dist/service/aws/factory/sim-aws-scoped-service-registries.js.map +1 -0
  14. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +18 -21
  15. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  16. package/dist/service/aws/factory/sim-aws-service-factory.js +36 -29
  17. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  18. package/dist/service/aws/sim-aws-account-region-scope.d.ts +10 -0
  19. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  20. package/dist/service/aws/sim-aws-account-region-scope.js +12 -0
  21. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  22. package/dist/service/aws/sim-aws-account.d.ts +5 -0
  23. package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
  24. package/dist/service/aws/sim-aws-account.js +6 -0
  25. package/dist/service/aws/sim-aws-account.js.map +1 -1
  26. package/dist/service/aws/sim-aws-region.d.ts +5 -0
  27. package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
  28. package/dist/service/aws/sim-aws-region.js +6 -0
  29. package/dist/service/aws/sim-aws-region.js.map +1 -1
  30. package/dist/service/aws/sim-aws-request-authentication.d.ts +35 -0
  31. package/dist/service/aws/sim-aws-request-authentication.d.ts.map +1 -0
  32. package/dist/service/aws/sim-aws-request-authentication.js +32 -0
  33. package/dist/service/aws/sim-aws-request-authentication.js.map +1 -0
  34. package/dist/service/aws/sim-aws.d.ts +12 -21
  35. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  36. package/dist/service/aws/sim-aws.js +21 -26
  37. package/dist/service/aws/sim-aws.js.map +1 -1
  38. package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.d.ts +6 -0
  39. package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.d.ts.map +1 -0
  40. package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.js +13 -0
  41. package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.js.map +1 -0
  42. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts +6 -0
  43. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts.map +1 -0
  44. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +21 -0
  45. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js.map +1 -0
  46. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.d.ts +6 -0
  47. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.d.ts.map +1 -0
  48. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js +17 -0
  49. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js.map +1 -0
  50. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.d.ts +26 -0
  51. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.d.ts.map +1 -0
  52. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.js +26 -0
  53. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.js.map +1 -0
  54. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.d.ts +6 -0
  55. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.d.ts.map +1 -0
  56. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.js +19 -0
  57. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.js.map +1 -0
  58. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.d.ts +25 -0
  59. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.d.ts.map +1 -0
  60. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.js +34 -0
  61. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.js.map +1 -0
  62. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.d.ts +6 -0
  63. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.d.ts.map +1 -0
  64. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js +19 -0
  65. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js.map +1 -0
  66. package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.d.ts +6 -0
  67. package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.d.ts.map +1 -0
  68. package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.js +13 -0
  69. package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.js.map +1 -0
  70. package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.d.ts +6 -0
  71. package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.d.ts.map +1 -0
  72. package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.js +13 -0
  73. package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.js.map +1 -0
  74. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.d.ts +7 -0
  75. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.d.ts.map +1 -0
  76. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.js +14 -0
  77. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.js.map +1 -0
  78. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.d.ts +24 -0
  79. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.d.ts.map +1 -0
  80. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.js +30 -0
  81. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.js.map +1 -0
  82. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts +11 -2
  83. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
  84. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +24 -71
  85. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
  86. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.d.ts.map +1 -1
  87. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.js +1 -1
  88. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.js.map +1 -1
  89. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.d.ts.map +1 -1
  90. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js +6 -0
  91. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js.map +1 -1
  92. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +1 -1
  93. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
  94. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
  95. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +2 -1
  96. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
  97. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts +56 -0
  98. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts.map +1 -1
  99. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +66 -0
  100. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js.map +1 -1
  101. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts +7 -1
  102. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts.map +1 -1
  103. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js +11 -1
  104. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js.map +1 -1
  105. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.d.ts +17 -0
  106. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.d.ts.map +1 -0
  107. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.js +24 -0
  108. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.js.map +1 -0
  109. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +10 -0
  110. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
  111. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +3 -1
  112. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
  113. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts +6 -1
  114. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts.map +1 -1
  115. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js +25 -16
  116. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js.map +1 -1
  117. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +2 -1
  118. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts.map +1 -1
  119. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +2 -1
  120. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js.map +1 -1
  121. package/dist/service/iam/authorize/match/sim-iam-principal-match.d.ts +39 -0
  122. package/dist/service/iam/authorize/match/sim-iam-principal-match.d.ts.map +1 -0
  123. package/dist/service/iam/authorize/match/sim-iam-principal-match.js +55 -0
  124. package/dist/service/iam/authorize/match/sim-iam-principal-match.js.map +1 -0
  125. package/dist/service/iam/authorize/sim-iam-decision.d.ts.map +1 -1
  126. package/dist/service/iam/authorize/sim-iam-decision.js +3 -2
  127. package/dist/service/iam/authorize/sim-iam-decision.js.map +1 -1
  128. package/dist/service/iam/index.d.ts +1 -0
  129. package/dist/service/iam/index.d.ts.map +1 -1
  130. package/dist/service/iam/index.js +1 -0
  131. package/dist/service/iam/index.js.map +1 -1
  132. package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts +21 -5
  133. package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts.map +1 -1
  134. package/dist/service/iam/request/sim-aws-request-caller-resolver.js +15 -9
  135. package/dist/service/iam/request/sim-aws-request-caller-resolver.js.map +1 -1
  136. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts +3 -1
  137. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts.map +1 -1
  138. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js +6 -4
  139. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js.map +1 -1
  140. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts +34 -14
  141. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts.map +1 -1
  142. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js +56 -29
  143. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js.map +1 -1
  144. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts +13 -1
  145. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts.map +1 -1
  146. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js +14 -0
  147. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js.map +1 -1
  148. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.d.ts +25 -0
  149. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.d.ts.map +1 -0
  150. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.js +41 -0
  151. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.js.map +1 -0
  152. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.d.ts +27 -0
  153. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.d.ts.map +1 -0
  154. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.js +41 -0
  155. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.js.map +1 -0
  156. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.d.ts +39 -0
  157. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.d.ts.map +1 -0
  158. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.js +59 -0
  159. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.js.map +1 -0
  160. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.d.ts +30 -0
  161. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.d.ts.map +1 -0
  162. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.js +64 -0
  163. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.js.map +1 -0
  164. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts +2 -1
  165. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts.map +1 -1
  166. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js.map +1 -1
  167. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts +22 -1
  168. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts.map +1 -1
  169. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js +49 -7
  170. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js.map +1 -1
  171. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts +9 -2
  172. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts.map +1 -1
  173. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js +5 -5
  174. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js.map +1 -1
  175. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.d.ts +16 -0
  176. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.d.ts.map +1 -0
  177. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.js +2 -0
  178. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.js.map +1 -0
  179. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts +12 -3
  180. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts.map +1 -1
  181. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js +9 -5
  182. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js.map +1 -1
  183. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts +20 -4
  184. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts.map +1 -1
  185. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js +52 -6
  186. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js.map +1 -1
  187. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts +25 -0
  188. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts.map +1 -0
  189. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js +36 -0
  190. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js.map +1 -0
  191. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.d.ts +32 -0
  192. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.d.ts.map +1 -0
  193. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.js +35 -0
  194. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.js.map +1 -0
  195. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts +36 -0
  196. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts.map +1 -0
  197. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js +53 -0
  198. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js.map +1 -0
  199. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.d.ts +57 -0
  200. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.d.ts.map +1 -0
  201. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js +74 -0
  202. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js.map +1 -0
  203. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts +49 -0
  204. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts.map +1 -0
  205. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js +72 -0
  206. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js.map +1 -0
  207. package/dist/service/kms/cfn/sim-cfn-kms-property-parser.d.ts +56 -0
  208. package/dist/service/kms/cfn/sim-cfn-kms-property-parser.d.ts.map +1 -0
  209. package/dist/service/kms/cfn/sim-cfn-kms-property-parser.js +95 -0
  210. package/dist/service/kms/cfn/sim-cfn-kms-property-parser.js.map +1 -0
  211. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +23 -0
  212. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts.map +1 -0
  213. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +34 -0
  214. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js.map +1 -0
  215. package/dist/service/kms/command/alias/alias.command.d.ts +43 -0
  216. package/dist/service/kms/command/alias/alias.command.d.ts.map +1 -0
  217. package/dist/service/kms/command/alias/alias.command.js +2 -0
  218. package/dist/service/kms/command/alias/alias.command.js.map +1 -0
  219. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts +34 -0
  220. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts.map +1 -0
  221. package/dist/service/kms/command/alias/sim-kms-alias-commands.js +56 -0
  222. package/dist/service/kms/command/alias/sim-kms-alias-commands.js.map +1 -0
  223. package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts +38 -0
  224. package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts.map +1 -0
  225. package/dist/service/kms/command/authorize/sim-kms-authorizer.js +58 -0
  226. package/dist/service/kms/command/authorize/sim-kms-authorizer.js.map +1 -0
  227. package/dist/service/kms/command/crypto/crypto.command.d.ts +68 -0
  228. package/dist/service/kms/command/crypto/crypto.command.d.ts.map +1 -0
  229. package/dist/service/kms/command/crypto/crypto.command.js +2 -0
  230. package/dist/service/kms/command/crypto/crypto.command.js.map +1 -0
  231. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.d.ts +40 -0
  232. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.d.ts.map +1 -0
  233. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.js +58 -0
  234. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.js.map +1 -0
  235. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts +38 -0
  236. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts.map +1 -0
  237. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js +74 -0
  238. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js.map +1 -0
  239. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.d.ts +16 -0
  240. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.d.ts.map +1 -0
  241. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.js +50 -0
  242. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.js.map +1 -0
  243. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts +31 -0
  244. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts.map +1 -0
  245. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js +35 -0
  246. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js.map +1 -0
  247. package/dist/service/kms/command/key/key.command.d.ts +159 -0
  248. package/dist/service/kms/command/key/key.command.d.ts.map +1 -0
  249. package/dist/service/kms/command/key/key.command.js +2 -0
  250. package/dist/service/kms/command/key/key.command.js.map +1 -0
  251. package/dist/service/kms/command/key/sim-kms-key-commands.d.ts +41 -0
  252. package/dist/service/kms/command/key/sim-kms-key-commands.d.ts.map +1 -0
  253. package/dist/service/kms/command/key/sim-kms-key-commands.js +45 -0
  254. package/dist/service/kms/command/key/sim-kms-key-commands.js.map +1 -0
  255. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts +48 -0
  256. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts.map +1 -0
  257. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js +67 -0
  258. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js.map +1 -0
  259. package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts +39 -0
  260. package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts.map +1 -0
  261. package/dist/service/kms/command/key/sim-kms-key-policy-commands.js +57 -0
  262. package/dist/service/kms/command/key/sim-kms-key-policy-commands.js.map +1 -0
  263. package/dist/service/kms/command/key/sim-kms-key-type.d.ts +14 -0
  264. package/dist/service/kms/command/key/sim-kms-key-type.d.ts.map +1 -0
  265. package/dist/service/kms/command/key/sim-kms-key-type.js +31 -0
  266. package/dist/service/kms/command/key/sim-kms-key-type.js.map +1 -0
  267. package/dist/service/kms/command/key/sim-kms-list-keys.d.ts +29 -0
  268. package/dist/service/kms/command/key/sim-kms-list-keys.d.ts.map +1 -0
  269. package/dist/service/kms/command/key/sim-kms-list-keys.js +31 -0
  270. package/dist/service/kms/command/key/sim-kms-list-keys.js.map +1 -0
  271. package/dist/service/kms/command/key/sim-kms-pending-window.d.ts +17 -0
  272. package/dist/service/kms/command/key/sim-kms-pending-window.d.ts.map +1 -0
  273. package/dist/service/kms/command/key/sim-kms-pending-window.js +37 -0
  274. package/dist/service/kms/command/key/sim-kms-pending-window.js.map +1 -0
  275. package/dist/service/kms/command/sim-kms-command.types.d.ts +10 -0
  276. package/dist/service/kms/command/sim-kms-command.types.d.ts.map +1 -0
  277. package/dist/service/kms/command/sim-kms-command.types.js +2 -0
  278. package/dist/service/kms/command/sim-kms-command.types.js.map +1 -0
  279. package/dist/service/kms/error/sim-kms.error.d.ts +88 -0
  280. package/dist/service/kms/error/sim-kms.error.d.ts.map +1 -0
  281. package/dist/service/kms/error/sim-kms.error.js +101 -0
  282. package/dist/service/kms/error/sim-kms.error.js.map +1 -0
  283. package/dist/service/kms/index.d.ts +8 -0
  284. package/dist/service/kms/index.d.ts.map +1 -0
  285. package/dist/service/kms/index.js +6 -0
  286. package/dist/service/kms/index.js.map +1 -0
  287. package/dist/service/kms/key/sim-kms-alias.d.ts +45 -0
  288. package/dist/service/kms/key/sim-kms-alias.d.ts.map +1 -0
  289. package/dist/service/kms/key/sim-kms-alias.js +59 -0
  290. package/dist/service/kms/key/sim-kms-alias.js.map +1 -0
  291. package/dist/service/kms/key/sim-kms-ciphertext-blob.d.ts +43 -0
  292. package/dist/service/kms/key/sim-kms-ciphertext-blob.d.ts.map +1 -0
  293. package/dist/service/kms/key/sim-kms-ciphertext-blob.js +89 -0
  294. package/dist/service/kms/key/sim-kms-ciphertext-blob.js.map +1 -0
  295. package/dist/service/kms/key/sim-kms-encryption-context.d.ts +34 -0
  296. package/dist/service/kms/key/sim-kms-encryption-context.d.ts.map +1 -0
  297. package/dist/service/kms/key/sim-kms-encryption-context.js +39 -0
  298. package/dist/service/kms/key/sim-kms-encryption-context.js.map +1 -0
  299. package/dist/service/kms/key/sim-kms-key-factory.d.ts +36 -0
  300. package/dist/service/kms/key/sim-kms-key-factory.d.ts.map +1 -0
  301. package/dist/service/kms/key/sim-kms-key-factory.js +47 -0
  302. package/dist/service/kms/key/sim-kms-key-factory.js.map +1 -0
  303. package/dist/service/kms/key/sim-kms-key-identifier.d.ts +44 -0
  304. package/dist/service/kms/key/sim-kms-key-identifier.d.ts.map +1 -0
  305. package/dist/service/kms/key/sim-kms-key-identifier.js +81 -0
  306. package/dist/service/kms/key/sim-kms-key-identifier.js.map +1 -0
  307. package/dist/service/kms/key/sim-kms-key-lifecycle.d.ts +71 -0
  308. package/dist/service/kms/key/sim-kms-key-lifecycle.d.ts.map +1 -0
  309. package/dist/service/kms/key/sim-kms-key-lifecycle.js +106 -0
  310. package/dist/service/kms/key/sim-kms-key-lifecycle.js.map +1 -0
  311. package/dist/service/kms/key/sim-kms-key-material.d.ts +36 -0
  312. package/dist/service/kms/key/sim-kms-key-material.d.ts.map +1 -0
  313. package/dist/service/kms/key/sim-kms-key-material.js +74 -0
  314. package/dist/service/kms/key/sim-kms-key-material.js.map +1 -0
  315. package/dist/service/kms/key/sim-kms-key-metadata.d.ts +45 -0
  316. package/dist/service/kms/key/sim-kms-key-metadata.d.ts.map +1 -0
  317. package/dist/service/kms/key/sim-kms-key-metadata.js +44 -0
  318. package/dist/service/kms/key/sim-kms-key-metadata.js.map +1 -0
  319. package/dist/service/kms/key/sim-kms-key-policy.d.ts +45 -0
  320. package/dist/service/kms/key/sim-kms-key-policy.d.ts.map +1 -0
  321. package/dist/service/kms/key/sim-kms-key-policy.js +69 -0
  322. package/dist/service/kms/key/sim-kms-key-policy.js.map +1 -0
  323. package/dist/service/kms/key/sim-kms-key-store.d.ts +66 -0
  324. package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -0
  325. package/dist/service/kms/key/sim-kms-key-store.js +121 -0
  326. package/dist/service/kms/key/sim-kms-key-store.js.map +1 -0
  327. package/dist/service/kms/key/sim-kms-key.d.ts +88 -0
  328. package/dist/service/kms/key/sim-kms-key.d.ts.map +1 -0
  329. package/dist/service/kms/key/sim-kms-key.js +106 -0
  330. package/dist/service/kms/key/sim-kms-key.js.map +1 -0
  331. package/dist/service/kms/key/sim-kms-policy-document.d.ts +30 -0
  332. package/dist/service/kms/key/sim-kms-policy-document.d.ts.map +1 -0
  333. package/dist/service/kms/key/sim-kms-policy-document.js +54 -0
  334. package/dist/service/kms/key/sim-kms-policy-document.js.map +1 -0
  335. package/dist/service/kms/sdk/sim-kms-sdk-command-router.d.ts +18 -0
  336. package/dist/service/kms/sdk/sim-kms-sdk-command-router.d.ts.map +1 -0
  337. package/dist/service/kms/sdk/sim-kms-sdk-command-router.js +80 -0
  338. package/dist/service/kms/sdk/sim-kms-sdk-command-router.js.map +1 -0
  339. package/dist/service/kms/sim-kms.d.ts +120 -0
  340. package/dist/service/kms/sim-kms.d.ts.map +1 -0
  341. package/dist/service/kms/sim-kms.js +205 -0
  342. package/dist/service/kms/sim-kms.js.map +1 -0
  343. package/dist/service/lambda/command/create-function/create-function.handler.d.ts.map +1 -1
  344. package/dist/service/lambda/command/create-function/create-function.handler.js +3 -0
  345. package/dist/service/lambda/command/create-function/create-function.handler.js.map +1 -1
  346. package/dist/service/lambda/function/code/sim-lambda-code-resolver.d.ts +6 -0
  347. package/dist/service/lambda/function/code/sim-lambda-code-resolver.d.ts.map +1 -1
  348. package/dist/service/lambda/function/code/sim-lambda-code-resolver.js +1 -0
  349. package/dist/service/lambda/function/code/sim-lambda-code-resolver.js.map +1 -1
  350. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +15 -0
  351. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts.map +1 -1
  352. package/dist/service/lambda/function/code/sim-lambda-executable-code.js +5 -0
  353. package/dist/service/lambda/function/code/sim-lambda-executable-code.js.map +1 -1
  354. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.d.ts +3 -0
  355. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.d.ts.map +1 -1
  356. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.js +3 -0
  357. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.js.map +1 -1
  358. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +11 -0
  359. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts.map +1 -1
  360. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +7 -2
  361. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js.map +1 -1
  362. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +6 -5
  363. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts.map +1 -1
  364. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +10 -5
  365. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js.map +1 -1
  366. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.d.ts +53 -0
  367. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.d.ts.map +1 -0
  368. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.js +101 -0
  369. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.js.map +1 -0
  370. package/dist/service/lambda/function/sim-lambda-function.d.ts +8 -0
  371. package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
  372. package/dist/service/lambda/function/sim-lambda-function.js +15 -1
  373. package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
  374. package/dist/service/lambda/serve/sim-lambda-url-router.js +1 -1
  375. package/dist/service/lambda/serve/sim-lambda-url-router.js.map +1 -1
  376. package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts +14 -0
  377. package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts.map +1 -1
  378. package/dist/service/route53/resolve/sim-r53-service-target-resolver.js +38 -0
  379. package/dist/service/route53/resolve/sim-r53-service-target-resolver.js.map +1 -1
  380. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.d.ts +7 -0
  381. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.d.ts.map +1 -0
  382. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.js +73 -0
  383. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.js.map +1 -0
  384. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.d.ts +61 -0
  385. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.d.ts.map +1 -0
  386. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.js +57 -0
  387. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.js.map +1 -0
  388. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.d.ts +19 -0
  389. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.d.ts.map +1 -0
  390. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.js +28 -0
  391. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.js.map +1 -0
  392. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.d.ts +18 -0
  393. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.d.ts.map +1 -0
  394. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.js +35 -0
  395. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.js.map +1 -0
  396. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.d.ts +11 -0
  397. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.d.ts.map +1 -0
  398. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.js +34 -0
  399. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.js.map +1 -0
  400. package/dist/service/s3/bucket/sim-s3-bucket-arn.d.ts +9 -0
  401. package/dist/service/s3/bucket/sim-s3-bucket-arn.d.ts.map +1 -0
  402. package/dist/service/s3/bucket/sim-s3-bucket-arn.js +10 -0
  403. package/dist/service/s3/bucket/sim-s3-bucket-arn.js.map +1 -0
  404. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +25 -0
  405. package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
  406. package/dist/service/s3/bucket/sim-s3-bucket.js +34 -1
  407. package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
  408. package/dist/service/s3/bucket/sim-s3-endpoint-url.d.ts +16 -0
  409. package/dist/service/s3/bucket/sim-s3-endpoint-url.d.ts.map +1 -0
  410. package/dist/service/s3/bucket/sim-s3-endpoint-url.js +19 -0
  411. package/dist/service/s3/bucket/sim-s3-endpoint-url.js.map +1 -0
  412. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.d.ts +13 -0
  413. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.d.ts.map +1 -0
  414. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.js +36 -0
  415. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.js.map +1 -0
  416. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +27 -0
  417. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts.map +1 -0
  418. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +92 -0
  419. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js.map +1 -0
  420. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts +32 -0
  421. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts.map +1 -0
  422. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js +55 -0
  423. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js.map +1 -0
  424. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +2 -4
  425. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts.map +1 -1
  426. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +10 -61
  427. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js.map +1 -1
  428. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.d.ts +11 -0
  429. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.d.ts.map +1 -0
  430. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.js +22 -0
  431. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.js.map +1 -0
  432. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.d.ts +23 -0
  433. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.d.ts.map +1 -0
  434. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js +36 -0
  435. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js.map +1 -0
  436. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.d.ts +20 -0
  437. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.d.ts.map +1 -0
  438. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.js +2 -0
  439. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.js.map +1 -0
  440. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.d.ts +32 -0
  441. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.d.ts.map +1 -0
  442. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.js +37 -0
  443. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.js.map +1 -0
  444. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.d.ts +20 -0
  445. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.d.ts.map +1 -0
  446. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.js +2 -0
  447. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.js.map +1 -0
  448. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.d.ts +30 -0
  449. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.d.ts.map +1 -0
  450. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.js +35 -0
  451. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.js.map +1 -0
  452. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.d.ts +20 -0
  453. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.d.ts.map +1 -0
  454. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js +33 -0
  455. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js.map +1 -0
  456. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.d.ts +24 -0
  457. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.d.ts.map +1 -0
  458. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.js +2 -0
  459. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.js.map +1 -0
  460. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.d.ts +29 -0
  461. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.d.ts.map +1 -0
  462. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.js +40 -0
  463. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.js.map +1 -0
  464. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.d.ts +22 -0
  465. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.d.ts.map +1 -0
  466. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.js +2 -0
  467. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.js.map +1 -0
  468. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.d.ts +32 -0
  469. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.d.ts.map +1 -0
  470. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.js +39 -0
  471. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.js.map +1 -0
  472. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.d.ts +31 -0
  473. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.d.ts.map +1 -0
  474. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js +48 -0
  475. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js.map +1 -0
  476. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts +1 -0
  477. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts.map +1 -1
  478. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js +7 -6
  479. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js.map +1 -1
  480. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.d.ts +22 -0
  481. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.d.ts.map +1 -0
  482. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.js +2 -0
  483. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.js.map +1 -0
  484. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.d.ts +33 -0
  485. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.d.ts.map +1 -0
  486. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.js +40 -0
  487. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.js.map +1 -0
  488. package/dist/service/s3/command/require-sim-s3-bucket.d.ts +10 -0
  489. package/dist/service/s3/command/require-sim-s3-bucket.d.ts.map +1 -0
  490. package/dist/service/s3/command/require-sim-s3-bucket.js +16 -0
  491. package/dist/service/s3/command/require-sim-s3-bucket.js.map +1 -0
  492. package/dist/service/s3/command/sim-s3-command-handlers.d.ts +91 -0
  493. package/dist/service/s3/command/sim-s3-command-handlers.d.ts.map +1 -0
  494. package/dist/service/s3/command/sim-s3-command-handlers.js +115 -0
  495. package/dist/service/s3/command/sim-s3-command-handlers.js.map +1 -0
  496. package/dist/service/s3/command/sim-s3-command.types.d.ts +19 -0
  497. package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -0
  498. package/dist/service/s3/command/sim-s3-command.types.js +8 -0
  499. package/dist/service/s3/command/sim-s3-command.types.js.map +1 -0
  500. package/dist/service/s3/error/sim-s3-checksum.error.d.ts +28 -0
  501. package/dist/service/s3/error/sim-s3-checksum.error.d.ts.map +1 -0
  502. package/dist/service/s3/error/sim-s3-checksum.error.js +32 -0
  503. package/dist/service/s3/error/sim-s3-checksum.error.js.map +1 -0
  504. package/dist/service/s3/error/sim-s3.error.d.ts +20 -0
  505. package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
  506. package/dist/service/s3/error/sim-s3.error.js +24 -0
  507. package/dist/service/s3/error/sim-s3.error.js.map +1 -1
  508. package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
  509. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +20 -0
  510. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
  511. package/dist/service/s3/serve/sim-s3-bucket-locator.d.ts +40 -0
  512. package/dist/service/s3/serve/sim-s3-bucket-locator.d.ts.map +1 -0
  513. package/dist/service/s3/serve/sim-s3-bucket-locator.js +59 -0
  514. package/dist/service/s3/serve/sim-s3-bucket-locator.js.map +1 -0
  515. package/dist/service/s3/serve/sim-s3-controller.d.ts +7 -0
  516. package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
  517. package/dist/service/s3/serve/sim-s3-controller.js +14 -2
  518. package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
  519. package/dist/service/s3/serve/sim-s3-get-object-controller.d.ts +40 -6
  520. package/dist/service/s3/serve/sim-s3-get-object-controller.d.ts.map +1 -1
  521. package/dist/service/s3/serve/sim-s3-get-object-controller.js +80 -49
  522. package/dist/service/s3/serve/sim-s3-get-object-controller.js.map +1 -1
  523. package/dist/service/s3/serve/sim-s3-object-address.d.ts +42 -0
  524. package/dist/service/s3/serve/sim-s3-object-address.d.ts.map +1 -0
  525. package/dist/service/s3/serve/sim-s3-object-address.js +66 -0
  526. package/dist/service/s3/serve/sim-s3-object-address.js.map +1 -0
  527. package/dist/service/s3/serve/sim-s3-request-router.d.ts +18 -13
  528. package/dist/service/s3/serve/sim-s3-request-router.d.ts.map +1 -1
  529. package/dist/service/s3/serve/sim-s3-request-router.js +72 -48
  530. package/dist/service/s3/serve/sim-s3-request-router.js.map +1 -1
  531. package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +36 -0
  532. package/dist/service/s3/serve/sim-s3-rest-controller.d.ts.map +1 -0
  533. package/dist/service/s3/serve/sim-s3-rest-controller.js +92 -0
  534. package/dist/service/s3/serve/sim-s3-rest-controller.js.map +1 -0
  535. package/dist/service/s3/serve/sim-s3-rest-error-response.d.ts +28 -0
  536. package/dist/service/s3/serve/sim-s3-rest-error-response.d.ts.map +1 -0
  537. package/dist/service/s3/serve/sim-s3-rest-error-response.js +63 -0
  538. package/dist/service/s3/serve/sim-s3-rest-error-response.js.map +1 -0
  539. package/dist/service/s3/serve/sim-s3-rest-refusal.d.ts +7 -0
  540. package/dist/service/s3/serve/sim-s3-rest-refusal.d.ts.map +1 -0
  541. package/dist/service/s3/serve/sim-s3-rest-refusal.js +18 -0
  542. package/dist/service/s3/serve/sim-s3-rest-refusal.js.map +1 -0
  543. package/dist/service/s3/serve/sim-s3-route.d.ts +40 -0
  544. package/dist/service/s3/serve/sim-s3-route.d.ts.map +1 -0
  545. package/dist/service/s3/serve/sim-s3-route.js +7 -0
  546. package/dist/service/s3/serve/sim-s3-route.js.map +1 -0
  547. package/dist/service/s3/serve/sim-s3-upload-checksum.d.ts +27 -0
  548. package/dist/service/s3/serve/sim-s3-upload-checksum.d.ts.map +1 -0
  549. package/dist/service/s3/serve/sim-s3-upload-checksum.js +86 -0
  550. package/dist/service/s3/serve/sim-s3-upload-checksum.js.map +1 -0
  551. package/dist/service/s3/serve/website/sim-s3-website-object-loader.d.ts +51 -0
  552. package/dist/service/s3/serve/website/sim-s3-website-object-loader.d.ts.map +1 -0
  553. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +75 -0
  554. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -0
  555. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +18 -0
  556. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -0
  557. package/dist/service/s3/serve/website/sim-s3-website-object.js +28 -0
  558. package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -0
  559. package/dist/service/s3/serve/website/sim-s3-website-responses.d.ts +27 -0
  560. package/dist/service/s3/serve/website/sim-s3-website-responses.d.ts.map +1 -0
  561. package/dist/service/s3/serve/website/sim-s3-website-responses.js +44 -0
  562. package/dist/service/s3/serve/website/sim-s3-website-responses.js.map +1 -0
  563. package/dist/service/s3/sim-s3.d.ts +34 -9
  564. package/dist/service/s3/sim-s3.d.ts.map +1 -1
  565. package/dist/service/s3/sim-s3.js +65 -55
  566. package/dist/service/s3/sim-s3.js.map +1 -1
  567. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.d.ts +22 -0
  568. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.d.ts.map +1 -0
  569. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.js +47 -0
  570. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.js.map +1 -0
  571. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts +24 -0
  572. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts.map +1 -0
  573. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js +38 -0
  574. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js.map +1 -0
  575. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts +54 -0
  576. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts.map +1 -0
  577. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.js +82 -0
  578. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.js.map +1 -0
  579. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.d.ts +58 -0
  580. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.d.ts.map +1 -0
  581. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.js +122 -0
  582. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.js.map +1 -0
  583. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +24 -0
  584. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts.map +1 -0
  585. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +31 -0
  586. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js.map +1 -0
  587. package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.d.ts +29 -0
  588. package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.d.ts.map +1 -0
  589. package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.js +47 -0
  590. package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.js.map +1 -0
  591. package/dist/service/secretsmanager/command/secret/secret.command.d.ts +144 -0
  592. package/dist/service/secretsmanager/command/secret/secret.command.d.ts.map +1 -0
  593. package/dist/service/secretsmanager/command/secret/secret.command.js +2 -0
  594. package/dist/service/secretsmanager/command/secret/secret.command.js.map +1 -0
  595. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.d.ts +44 -0
  596. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.d.ts.map +1 -0
  597. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.js +61 -0
  598. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.js.map +1 -0
  599. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.d.ts +44 -0
  600. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.d.ts.map +1 -0
  601. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.js +61 -0
  602. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.js.map +1 -0
  603. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts +48 -0
  604. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts.map +1 -0
  605. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js +62 -0
  606. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js.map +1 -0
  607. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.d.ts +26 -0
  608. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.d.ts.map +1 -0
  609. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.js +38 -0
  610. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.js.map +1 -0
  611. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.d.ts +29 -0
  612. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.d.ts.map +1 -0
  613. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.js +55 -0
  614. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.js.map +1 -0
  615. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts +46 -0
  616. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts.map +1 -0
  617. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js +67 -0
  618. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js.map +1 -0
  619. package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.d.ts +6 -0
  620. package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.d.ts.map +1 -0
  621. package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.js +2 -0
  622. package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.js.map +1 -0
  623. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts +39 -0
  624. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts.map +1 -0
  625. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js +61 -0
  626. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js.map +1 -0
  627. package/dist/service/secretsmanager/command/value/value.command.d.ts +47 -0
  628. package/dist/service/secretsmanager/command/value/value.command.d.ts.map +1 -0
  629. package/dist/service/secretsmanager/command/value/value.command.js +2 -0
  630. package/dist/service/secretsmanager/command/value/value.command.js.map +1 -0
  631. package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts +55 -0
  632. package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts.map +1 -0
  633. package/dist/service/secretsmanager/error/sim-secrets-manager.error.js +60 -0
  634. package/dist/service/secretsmanager/error/sim-secrets-manager.error.js.map +1 -0
  635. package/dist/service/secretsmanager/index.d.ts +7 -0
  636. package/dist/service/secretsmanager/index.d.ts.map +1 -0
  637. package/dist/service/secretsmanager/index.js +7 -0
  638. package/dist/service/secretsmanager/index.js.map +1 -0
  639. package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.d.ts +19 -0
  640. package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.d.ts.map +1 -0
  641. package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.js +57 -0
  642. package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.js.map +1 -0
  643. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.d.ts +37 -0
  644. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.d.ts.map +1 -0
  645. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.js +70 -0
  646. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.js.map +1 -0
  647. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.d.ts +53 -0
  648. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.d.ts.map +1 -0
  649. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.js +65 -0
  650. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.js.map +1 -0
  651. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.d.ts +40 -0
  652. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.d.ts.map +1 -0
  653. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.js +66 -0
  654. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.js.map +1 -0
  655. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.d.ts +31 -0
  656. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.d.ts.map +1 -0
  657. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.js +52 -0
  658. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.js.map +1 -0
  659. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.d.ts +35 -0
  660. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.d.ts.map +1 -0
  661. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.js +64 -0
  662. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.js.map +1 -0
  663. package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.d.ts +33 -0
  664. package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.d.ts.map +1 -0
  665. package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.js +60 -0
  666. package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.js.map +1 -0
  667. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.d.ts +42 -0
  668. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.d.ts.map +1 -0
  669. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.js +64 -0
  670. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.js.map +1 -0
  671. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.d.ts +30 -0
  672. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.d.ts.map +1 -0
  673. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.js +32 -0
  674. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.js.map +1 -0
  675. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.d.ts +31 -0
  676. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.d.ts.map +1 -0
  677. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.js +35 -0
  678. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.js.map +1 -0
  679. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.d.ts +27 -0
  680. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.d.ts.map +1 -0
  681. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.js +48 -0
  682. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.js.map +1 -0
  683. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.d.ts +23 -0
  684. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.d.ts.map +1 -0
  685. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.js +50 -0
  686. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.js.map +1 -0
  687. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts +53 -0
  688. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts.map +1 -0
  689. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js +92 -0
  690. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js.map +1 -0
  691. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts +47 -0
  692. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts.map +1 -0
  693. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js +81 -0
  694. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js.map +1 -0
  695. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts +56 -0
  696. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts.map +1 -0
  697. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js +62 -0
  698. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js.map +1 -0
  699. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.d.ts +47 -0
  700. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.d.ts.map +1 -0
  701. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.js +83 -0
  702. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.js.map +1 -0
  703. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.d.ts +75 -0
  704. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.d.ts.map +1 -0
  705. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.js +86 -0
  706. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.js.map +1 -0
  707. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.d.ts +28 -0
  708. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.d.ts.map +1 -0
  709. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.js +43 -0
  710. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.js.map +1 -0
  711. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts +42 -0
  712. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts.map +1 -0
  713. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js +60 -0
  714. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js.map +1 -0
  715. package/dist/service/secretsmanager/sim-secrets-manager.d.ts +85 -0
  716. package/dist/service/secretsmanager/sim-secrets-manager.d.ts.map +1 -0
  717. package/dist/service/secretsmanager/sim-secrets-manager.js +156 -0
  718. package/dist/service/secretsmanager/sim-secrets-manager.js.map +1 -0
  719. package/dist/util/clock/sim-clock-date.d.ts +20 -0
  720. package/dist/util/clock/sim-clock-date.d.ts.map +1 -0
  721. package/dist/util/clock/sim-clock-date.js +43 -0
  722. package/dist/util/clock/sim-clock-date.js.map +1 -0
  723. package/package.json +22 -11
@@ -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"}
@@ -36,6 +36,20 @@ export class SimIamExpiredToken extends SimIamSigV4Error {
36
36
  super("ExpiredToken", message);
37
37
  }
38
38
  }
39
+ /**
40
+ * Raised when a presigned URL is used after the window it was signed for.
41
+ *
42
+ * The window is judged in simulated time, so a test that freezes the clock
43
+ * keeps a URL usable however long it spends, and one that advances the clock
44
+ * past `X-Amz-Expires` sees exactly what a real expired link does. The AWS
45
+ * error code is the one real S3 answers an expired presigned URL with, which
46
+ * is `AccessDenied` rather than anything naming expiry.
47
+ */
48
+ export class SimIamPresignedRequestExpired extends SimIamSigV4Error {
49
+ constructor(message) {
50
+ super("AccessDenied", message);
51
+ }
52
+ }
39
53
  /**
40
54
  * Raised when a signature was made for a different service or Region than the
41
55
  * endpoint it arrived at.
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4.error.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/error/sim-iam-sigv4.error.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzB,IAAI,CAAuB;IAE3C,YAAY,IAA0B,EAAE,OAAe;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,gBAAgB;IAC7D,YAAY,OAAe;QACzB,KAAK,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IAC9D,YAAY,OAAe;QACzB,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,6BAA8B,SAAQ,gBAAgB;IACjE,YAAY,OAAe;QACzB,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,gBAAgB;IAC/C,gBAAgB,CAAsB;IAEtD,YAAY,OAAe,EAAE,gBAAyB;QACpD,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF"}
1
+ {"version":3,"file":"sim-iam-sigv4.error.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/error/sim-iam-sigv4.error.ts"],"names":[],"mappings":"AAaA;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzB,IAAI,CAAuB;IAE3C,YAAY,IAA0B,EAAE,OAAe;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,yBAA0B,SAAQ,gBAAgB;IAC7D,YAAY,OAAe;QACzB,KAAK,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,gBAAgB;IAC9D,YAAY,OAAe;QACzB,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,6BAA8B,SAAQ,gBAAgB;IACjE,YAAY,OAAe;QACzB,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,6BAA8B,SAAQ,gBAAgB;IACjE,YAAY,OAAe;QACzB,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,gBAAgB;IAC/C,gBAAgB,CAAsB;IAEtD,YAAY,OAAe,EAAE,gBAAyB;QACpD,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC3C,CAAC;CACF"}
@@ -0,0 +1,25 @@
1
+ import { SimIamSigV4CredentialScope } from "../sim-iam-sigv4-credential-scope.js";
2
+ /**
3
+ * The access key and scope a presigned URL's `X-Amz-Credential` names.
4
+ *
5
+ * The same `<access-key-id>/<scope>` pair an Authorization header carries,
6
+ * written into a query parameter instead.
7
+ */
8
+ export declare class SimIamSigV4PresignedCredential {
9
+ readonly accessKeyId: string;
10
+ readonly scope: SimIamSigV4CredentialScope;
11
+ private constructor();
12
+ /**
13
+ * Split a credential value, or fail saying what shape it should have been.
14
+ */
15
+ static parse(value: string): SimIamSigV4PresignedCredential;
16
+ }
17
+ /**
18
+ * Refuse a presigned URL made with a signing algorithm that is not simulated.
19
+ *
20
+ * Naming the algorithm is worth doing because the alternative is a signature
21
+ * mismatch with nothing to act on: SigV4A URLs look identical apart from this
22
+ * parameter.
23
+ */
24
+ export declare function simIamSigV4CheckPresignedAlgorithm(algorithm: string): void;
25
+ //# sourceMappingURL=sim-iam-sigv4-presigned-credential.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-presigned-credential.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF;;;;;GAKG;AACH,qBAAa,8BAA8B;IACzC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,KAAK,EAAE,0BAA0B,CAAC;IAElD,OAAO,eAGN;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,8BAA8B,CAc1D;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAQ1E"}
@@ -0,0 +1,41 @@
1
+ import { SimIamIncompleteSignature } from "../error/sim-iam-sigv4.error.js";
2
+ import { simIamSigV4Algorithm } from "../sim-iam-sigv4-authorization.js";
3
+ import { SimIamSigV4CredentialScope } from "../sim-iam-sigv4-credential-scope.js";
4
+ /**
5
+ * The access key and scope a presigned URL's `X-Amz-Credential` names.
6
+ *
7
+ * The same `<access-key-id>/<scope>` pair an Authorization header carries,
8
+ * written into a query parameter instead.
9
+ */
10
+ export class SimIamSigV4PresignedCredential {
11
+ accessKeyId;
12
+ scope;
13
+ constructor(accessKeyId, scope) {
14
+ this.accessKeyId = accessKeyId;
15
+ this.scope = scope;
16
+ }
17
+ /**
18
+ * Split a credential value, or fail saying what shape it should have been.
19
+ */
20
+ static parse(value) {
21
+ const separator = value.indexOf("/");
22
+ if (separator < 1) {
23
+ throw new SimIamIncompleteSignature(`Presigned URL X-Amz-Credential ${value} must be ` +
24
+ `<access-key-id>/<scope>`);
25
+ }
26
+ return new SimIamSigV4PresignedCredential(value.slice(0, separator), SimIamSigV4CredentialScope.parse(value.slice(separator + 1)));
27
+ }
28
+ }
29
+ /**
30
+ * Refuse a presigned URL made with a signing algorithm that is not simulated.
31
+ *
32
+ * Naming the algorithm is worth doing because the alternative is a signature
33
+ * mismatch with nothing to act on: SigV4A URLs look identical apart from this
34
+ * parameter.
35
+ */
36
+ export function simIamSigV4CheckPresignedAlgorithm(algorithm) {
37
+ if (algorithm !== simIamSigV4Algorithm) {
38
+ throw new SimIamIncompleteSignature(`Presigned URL X-Amz-Algorithm ${algorithm} is not ${simIamSigV4Algorithm}`);
39
+ }
40
+ }
41
+ //# sourceMappingURL=sim-iam-sigv4-presigned-credential.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-presigned-credential.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAElF;;;;;GAKG;AACH,MAAM,OAAO,8BAA8B;IACzB,WAAW,CAAS;IACpB,KAAK,CAA6B;IAElD,YAAoB,WAAmB,EAAE,KAAiC;QACxE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,KAAa;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,yBAAyB,CACjC,kCAAkC,KAAK,WAAW;gBAChD,yBAAyB,CAC5B,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,8BAA8B,CACvC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EACzB,0BAA0B,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAC7D,CAAC;IACJ,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kCAAkC,CAAC,SAAiB;IAClE,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;QACvC,MAAM,IAAI,yBAAyB,CACjC,iCAAiC,SAAS,WACxC,oBACF,EAAE,CACH,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The query parameters a presigned URL states its signature in.
3
+ *
4
+ * Names are matched without regard to case, as the canonical query builder
5
+ * already excludes the signature parameter without regard to case. Signers
6
+ * emit the `X-Amz-` spelling, and nothing is gained by refusing a client that
7
+ * lower-cases them on the way.
8
+ */
9
+ export declare const simIamSigV4PresignedParameters: {
10
+ readonly algorithm: "x-amz-algorithm";
11
+ readonly credential: "x-amz-credential";
12
+ readonly date: "x-amz-date";
13
+ readonly expires: "x-amz-expires";
14
+ readonly signedHeaders: "x-amz-signedheaders";
15
+ readonly signature: "x-amz-signature";
16
+ readonly securityToken: "x-amz-security-token";
17
+ readonly contentSha256: "x-amz-content-sha256";
18
+ };
19
+ /**
20
+ * Read a parameter the signature cannot be rebuilt without.
21
+ */
22
+ export declare function simIamSigV4RequiredPresignedParameter(url: URL, name: string): string;
23
+ /**
24
+ * Read one presigned parameter from a URL, whatever case it was written in.
25
+ */
26
+ export declare function simIamSigV4PresignedParameter(url: URL, name: string): string | undefined;
27
+ //# sourceMappingURL=sim-iam-sigv4-presigned-parameters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-presigned-parameters.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B;aACzC,SAAS,EAAE,iBAAiB;aAC5B,UAAU,EAAE,kBAAkB;aAC9B,IAAI,EAAE,YAAY;aAClB,OAAO,EAAE,eAAe;aACxB,aAAa,EAAE,qBAAqB;aACpC,SAAS,EAAE,iBAAiB;aAC5B,aAAa,EAAE,sBAAsB;aACrC,aAAa,EAAE,sBAAsB;CAC7B,CAAC;AAEX;;GAEG;AACH,wBAAgB,qCAAqC,CACnD,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,GACX,MAAM,CAUR;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,GACX,MAAM,GAAG,SAAS,CAQpB"}
@@ -0,0 +1,41 @@
1
+ import { SimIamIncompleteSignature } from "../error/sim-iam-sigv4.error.js";
2
+ /**
3
+ * The query parameters a presigned URL states its signature in.
4
+ *
5
+ * Names are matched without regard to case, as the canonical query builder
6
+ * already excludes the signature parameter without regard to case. Signers
7
+ * emit the `X-Amz-` spelling, and nothing is gained by refusing a client that
8
+ * lower-cases them on the way.
9
+ */
10
+ export const simIamSigV4PresignedParameters = {
11
+ algorithm: "x-amz-algorithm",
12
+ credential: "x-amz-credential",
13
+ date: "x-amz-date",
14
+ expires: "x-amz-expires",
15
+ signedHeaders: "x-amz-signedheaders",
16
+ signature: "x-amz-signature",
17
+ securityToken: "x-amz-security-token",
18
+ contentSha256: "x-amz-content-sha256",
19
+ };
20
+ /**
21
+ * Read a parameter the signature cannot be rebuilt without.
22
+ */
23
+ export function simIamSigV4RequiredPresignedParameter(url, name) {
24
+ const value = simIamSigV4PresignedParameter(url, name);
25
+ if (value === undefined || value.length === 0) {
26
+ throw new SimIamIncompleteSignature(`Presigned URL is missing its ${name} parameter`);
27
+ }
28
+ return value;
29
+ }
30
+ /**
31
+ * Read one presigned parameter from a URL, whatever case it was written in.
32
+ */
33
+ export function simIamSigV4PresignedParameter(url, name) {
34
+ for (const [key, value] of url.searchParams) {
35
+ if (key.toLowerCase() === name) {
36
+ return value;
37
+ }
38
+ }
39
+ return undefined;
40
+ }
41
+ //# sourceMappingURL=sim-iam-sigv4-presigned-parameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-presigned-parameters.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,SAAS,EAAE,iBAAiB;IAC5B,UAAU,EAAE,kBAAkB;IAC9B,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,eAAe;IACxB,aAAa,EAAE,qBAAqB;IACpC,SAAS,EAAE,iBAAiB;IAC5B,aAAa,EAAE,sBAAsB;IACrC,aAAa,EAAE,sBAAsB;CAC7B,CAAC;AAEX;;GAEG;AACH,MAAM,UAAU,qCAAqC,CACnD,GAAQ,EACR,IAAY;IAEZ,MAAM,KAAK,GAAG,6BAA6B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEvD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,yBAAyB,CACjC,gCAAgC,IAAI,YAAY,CACjD,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAC3C,GAAQ,EACR,IAAY;IAEZ,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}