@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
@@ -0,0 +1,39 @@
1
+ import type { SimIamSigV4CredentialScope } from "../sim-iam-sigv4-credential-scope.js";
2
+ import type { SimIamSigV4SignatureStatement } from "../sim-iam-sigv4-signature-statement.js";
3
+ /**
4
+ * The signature a presigned URL carries in its query string.
5
+ *
6
+ * A presigned URL states in query parameters exactly what an `Authorization`
7
+ * header states, plus the lifetime it was signed for. That is the whole of the
8
+ * difference: the canonical request, the signing key and the comparison are
9
+ * the same work, which is why this is a second way of reading a signature
10
+ * rather than a second way of verifying one.
11
+ */
12
+ export declare class SimIamSigV4PresignedQuery implements SimIamSigV4SignatureStatement {
13
+ readonly accessKeyId: string;
14
+ readonly scope: SimIamSigV4CredentialScope;
15
+ readonly signedHeaderNames: readonly string[];
16
+ readonly signature: string;
17
+ readonly amzDate: string;
18
+ readonly sessionToken: string | undefined;
19
+ private readonly window;
20
+ private constructor();
21
+ /**
22
+ * Whether a URL offers a presigned signature to verify.
23
+ *
24
+ * Presence of `X-Amz-Algorithm` is the test, not its value. A request
25
+ * carrying that parameter is unambiguously an attempt at a presigned URL, so
26
+ * an unsupported algorithm belongs in a refusal that says so rather than in
27
+ * a silent fall through to anonymous.
28
+ */
29
+ static carriedBy(url: URL): boolean;
30
+ /**
31
+ * Read a presigned URL's signature, or fail describing what was missing.
32
+ */
33
+ static parse(url: URL): SimIamSigV4PresignedQuery;
34
+ /**
35
+ * Refuse this URL if simulated time has passed the window it was signed for.
36
+ */
37
+ checkNotExpired(now: Date): void;
38
+ }
39
+ //# sourceMappingURL=sim-iam-sigv4-presigned-query.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-presigned-query.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAY7F;;;;;;;;GAQG;AACH,qBAAa,yBAA0B,YAAW,6BAA6B;IAC7E,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,KAAK,EAAE,0BAA0B,CAAC;IAClD,SAAgB,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAEjD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IAEpD,OAAO,eA4BN;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAIlC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,yBAAyB,CAEhD;IAED;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAE/B;CACF"}
@@ -0,0 +1,59 @@
1
+ import { simIamSigV4CheckedAmzDate } from "../sim-iam-sigv4-request-date.js";
2
+ import { simIamSigV4CheckPresignedAlgorithm, SimIamSigV4PresignedCredential, } from "./sim-iam-sigv4-presigned-credential.js";
3
+ import { simIamSigV4PresignedParameter, simIamSigV4PresignedParameters as parameters, simIamSigV4RequiredPresignedParameter as required, } from "./sim-iam-sigv4-presigned-parameters.js";
4
+ import { SimIamSigV4PresignedWindow } from "./sim-iam-sigv4-presigned-window.js";
5
+ /**
6
+ * The signature a presigned URL carries in its query string.
7
+ *
8
+ * A presigned URL states in query parameters exactly what an `Authorization`
9
+ * header states, plus the lifetime it was signed for. That is the whole of the
10
+ * difference: the canonical request, the signing key and the comparison are
11
+ * the same work, which is why this is a second way of reading a signature
12
+ * rather than a second way of verifying one.
13
+ */
14
+ export class SimIamSigV4PresignedQuery {
15
+ accessKeyId;
16
+ scope;
17
+ signedHeaderNames;
18
+ signature;
19
+ amzDate;
20
+ sessionToken;
21
+ window;
22
+ constructor(url) {
23
+ simIamSigV4CheckPresignedAlgorithm(required(url, parameters.algorithm));
24
+ const credential = SimIamSigV4PresignedCredential.parse(required(url, parameters.credential));
25
+ this.accessKeyId = credential.accessKeyId;
26
+ this.scope = credential.scope;
27
+ this.amzDate = simIamSigV4CheckedAmzDate(simIamSigV4PresignedParameter(url, parameters.date) ?? null, this.scope, "X-Amz-Date parameter");
28
+ this.signedHeaderNames = required(url, parameters.signedHeaders)
29
+ .split(";")
30
+ .map((name) => name.toLowerCase());
31
+ this.signature = required(url, parameters.signature);
32
+ this.sessionToken = simIamSigV4PresignedParameter(url, parameters.securityToken);
33
+ this.window = new SimIamSigV4PresignedWindow(this.amzDate, SimIamSigV4PresignedWindow.expirySeconds(simIamSigV4PresignedParameter(url, parameters.expires)));
34
+ }
35
+ /**
36
+ * Whether a URL offers a presigned signature to verify.
37
+ *
38
+ * Presence of `X-Amz-Algorithm` is the test, not its value. A request
39
+ * carrying that parameter is unambiguously an attempt at a presigned URL, so
40
+ * an unsupported algorithm belongs in a refusal that says so rather than in
41
+ * a silent fall through to anonymous.
42
+ */
43
+ static carriedBy(url) {
44
+ return (simIamSigV4PresignedParameter(url, parameters.algorithm) !== undefined);
45
+ }
46
+ /**
47
+ * Read a presigned URL's signature, or fail describing what was missing.
48
+ */
49
+ static parse(url) {
50
+ return new SimIamSigV4PresignedQuery(url);
51
+ }
52
+ /**
53
+ * Refuse this URL if simulated time has passed the window it was signed for.
54
+ */
55
+ checkNotExpired(now) {
56
+ this.window.checkNotExpired(now);
57
+ }
58
+ }
59
+ //# sourceMappingURL=sim-iam-sigv4-presigned-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-presigned-query.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EACL,kCAAkC,EAClC,8BAA8B,GAC/B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,IAAI,UAAU,EAC5C,qCAAqC,IAAI,QAAQ,GAClD,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEjF;;;;;;;;GAQG;AACH,MAAM,OAAO,yBAAyB;IACpB,WAAW,CAAS;IACpB,KAAK,CAA6B;IAClC,iBAAiB,CAAoB;IACrC,SAAS,CAAS;IAClB,OAAO,CAAS;IAChB,YAAY,CAAqB;IAEhC,MAAM,CAA6B;IAEpD,YAAoB,GAAQ;QAC1B,kCAAkC,CAAC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QAExE,MAAM,UAAU,GAAG,8BAA8B,CAAC,KAAK,CACrD,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,CACrC,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,yBAAyB,CACtC,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,EAC3D,IAAI,CAAC,KAAK,EACV,sBAAsB,CACvB,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,aAAa,CAAC;aAC7D,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,6BAA6B,CAC/C,GAAG,EACH,UAAU,CAAC,aAAa,CACzB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,0BAA0B,CAC1C,IAAI,CAAC,OAAO,EACZ,0BAA0B,CAAC,aAAa,CACtC,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC,CACvD,CACF,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,SAAS,CAAC,GAAQ;QACvB,OAAO,CACL,6BAA6B,CAAC,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,KAAK,SAAS,CACvE,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAQ;QACnB,OAAO,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,GAAS;QACvB,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;CACF"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The window of time a presigned URL is usable in.
3
+ *
4
+ * A presigned URL is the one signed request that carries its own lifetime:
5
+ * `X-Amz-Expires` says how many seconds after `X-Amz-Date` it stops working.
6
+ * Both are signed, so neither can be stretched by whoever holds the URL.
7
+ */
8
+ export declare class SimIamSigV4PresignedWindow {
9
+ private readonly signedAt;
10
+ private readonly expiresSeconds;
11
+ constructor(amzDate: string, expiresSeconds: number);
12
+ /**
13
+ * Read the stated lifetime, refusing one AWS would not have signed.
14
+ *
15
+ * AWS caps a presigned lifetime at seven days, so a longer one cannot have
16
+ * come from a signer this simulation should accept. Refusing it here is the
17
+ * fail-closed answer: honouring it would let a test prove a URL works that
18
+ * real S3 would never have issued.
19
+ */
20
+ static expirySeconds(value: string | undefined): number;
21
+ /**
22
+ * The instant this URL stops working.
23
+ */
24
+ expiresAt(): Date;
25
+ /**
26
+ * Refuse a URL used after its window, in simulated time.
27
+ */
28
+ checkNotExpired(now: Date): void;
29
+ }
30
+ //# sourceMappingURL=sim-iam-sigv4-presigned-window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-presigned-window.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.ts"],"names":[],"mappings":"AAaA;;;;;;GAMG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAO;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,YAAY,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAGlD;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAuBtD;IAED;;OAEG;IACH,SAAS,IAAI,IAAI,CAEhB;IAED;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAa/B;CACF"}
@@ -0,0 +1,64 @@
1
+ import { SimIamIncompleteSignature, SimIamPresignedRequestExpired, } from "../error/sim-iam-sigv4.error.js";
2
+ import { simIamSigV4SignedAt } from "../sim-iam-sigv4-request-date.js";
3
+ /**
4
+ * The longest window AWS will presign for, seven days in seconds.
5
+ */
6
+ const maximumExpirySeconds = 604_800;
7
+ const secondsPattern = /^\d+$/;
8
+ /**
9
+ * The window of time a presigned URL is usable in.
10
+ *
11
+ * A presigned URL is the one signed request that carries its own lifetime:
12
+ * `X-Amz-Expires` says how many seconds after `X-Amz-Date` it stops working.
13
+ * Both are signed, so neither can be stretched by whoever holds the URL.
14
+ */
15
+ export class SimIamSigV4PresignedWindow {
16
+ signedAt;
17
+ expiresSeconds;
18
+ constructor(amzDate, expiresSeconds) {
19
+ this.signedAt = simIamSigV4SignedAt(amzDate);
20
+ this.expiresSeconds = expiresSeconds;
21
+ }
22
+ /**
23
+ * Read the stated lifetime, refusing one AWS would not have signed.
24
+ *
25
+ * AWS caps a presigned lifetime at seven days, so a longer one cannot have
26
+ * come from a signer this simulation should accept. Refusing it here is the
27
+ * fail-closed answer: honouring it would let a test prove a URL works that
28
+ * real S3 would never have issued.
29
+ */
30
+ static expirySeconds(value) {
31
+ if (value === undefined || value.length === 0) {
32
+ throw new SimIamIncompleteSignature("Presigned URL carries no X-Amz-Expires parameter");
33
+ }
34
+ if (!secondsPattern.test(value)) {
35
+ throw new SimIamIncompleteSignature(`Presigned URL X-Amz-Expires ${value} must be a whole number of seconds`);
36
+ }
37
+ const seconds = Number(value);
38
+ if (seconds < 1 || seconds > maximumExpirySeconds) {
39
+ throw new SimIamIncompleteSignature(`Presigned URL X-Amz-Expires ${value} is outside the 1 to ` +
40
+ `${String(maximumExpirySeconds)} seconds AWS signs for`);
41
+ }
42
+ return seconds;
43
+ }
44
+ /**
45
+ * The instant this URL stops working.
46
+ */
47
+ expiresAt() {
48
+ return new Date(this.signedAt.getTime() + this.expiresSeconds * 1000);
49
+ }
50
+ /**
51
+ * Refuse a URL used after its window, in simulated time.
52
+ */
53
+ checkNotExpired(now) {
54
+ const expiresAt = this.expiresAt();
55
+ if (now.getTime() <= expiresAt.getTime()) {
56
+ return;
57
+ }
58
+ throw new SimIamPresignedRequestExpired(`Request has expired. The presigned URL was signed at ` +
59
+ `${this.signedAt.toISOString()} for ${String(this.expiresSeconds)} ` +
60
+ `seconds, so it expired at ${expiresAt.toISOString()}, and simulated ` +
61
+ `time is now ${now.toISOString()}.`);
62
+ }
63
+ }
64
+ //# sourceMappingURL=sim-iam-sigv4-presigned-window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-presigned-window.js","sourceRoot":"","sources":["../../../../../src/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE;;GAEG;AACH,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAErC,MAAM,cAAc,GAAG,OAAO,CAAC;AAE/B;;;;;;GAMG;AACH,MAAM,OAAO,0BAA0B;IACpB,QAAQ,CAAO;IACf,cAAc,CAAS;IAExC,YAAY,OAAe,EAAE,cAAsB;QACjD,IAAI,CAAC,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,aAAa,CAAC,KAAyB;QAC5C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,yBAAyB,CACjC,kDAAkD,CACnD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,yBAAyB,CACjC,+BAA+B,KAAK,oCAAoC,CACzE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAE9B,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,oBAAoB,EAAE,CAAC;YAClD,MAAM,IAAI,yBAAyB,CACjC,+BAA+B,KAAK,uBAAuB;gBACzD,GAAG,MAAM,CAAC,oBAAoB,CAAC,wBAAwB,CAC1D,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,GAAS;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEnC,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,6BAA6B,CACrC,uDAAuD;YACrD,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG;YACpE,6BAA6B,SAAS,CAAC,WAAW,EAAE,kBAAkB;YACtE,eAAe,GAAG,CAAC,WAAW,EAAE,GAAG,CACtC,CAAC;IACJ,CAAC;CACF"}
@@ -1,4 +1,5 @@
1
1
  import { SimIamSigV4CredentialScope } from "./sim-iam-sigv4-credential-scope.js";
2
+ import type { SimIamSigV4SignatureStatement } from "./sim-iam-sigv4-signature-statement.js";
2
3
  export declare const simIamSigV4Algorithm = "AWS4-HMAC-SHA256";
3
4
  interface SimIamSigV4AuthorizationProperties {
4
5
  readonly accessKeyId: string;
@@ -13,7 +14,7 @@ interface SimIamSigV4AuthorizationProperties {
13
14
  * canonicalize exactly the headers the signer chose, not whichever headers the
14
15
  * request happens to carry now.
15
16
  */
16
- export declare class SimIamSigV4Authorization {
17
+ export declare class SimIamSigV4Authorization implements SimIamSigV4SignatureStatement {
17
18
  readonly accessKeyId: string;
18
19
  readonly scope: SimIamSigV4CredentialScope;
19
20
  readonly signedHeaderNames: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4-authorization.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-authorization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEjF,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,qBAAa,wBAAwB;IACnC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,KAAK,EAAE,0BAA0B,CAAC;IAClD,SAAgB,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,YAAY,UAAU,EAAE,kCAAkC,EAKzD;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,wBAAwB,CAoCjE;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,MAAM;IAiBrB,OAAO,CAAC,MAAM,CAAC,KAAK;CAcrB"}
1
+ {"version":3,"file":"sim-iam-sigv4-authorization.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-authorization.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AAE5F,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,qBAAa,wBAAyB,YAAW,6BAA6B;IAC5E,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,KAAK,EAAE,0BAA0B,CAAC;IAClD,SAAgB,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrD,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC,YAAY,UAAU,EAAE,kCAAkC,EAKzD;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,wBAAwB,CAoCjE;IAED;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,MAAM;IAiBrB,OAAO,CAAC,MAAM,CAAC,KAAK;CAcrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4-authorization.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEjF,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AASvD;;;;;;GAMG;AACH,MAAM,OAAO,wBAAwB;IACnB,WAAW,CAAS;IACpB,KAAK,CAA6B;IAClC,iBAAiB,CAAoB;IACrC,SAAS,CAAS;IAElC,YAAY,UAA8C;QACxD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,iBAAiB,CAAC;QACtD,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAA0B;QACrC,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,yBAAyB,CACjC,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;YACvC,MAAM,IAAI,yBAAyB,CACjC,kCAAkC,MAAM,CAAC,SAAS,CAAC,WACjD,oBACF,EAAE,CACH,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE1C,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,yBAAyB,CACjC,mCAAmC,UAAU,WAAW;gBACtD,yBAAyB,CAC5B,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,wBAAwB,CAAC;YAClC,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;YAC3C,KAAK,EAAE,0BAA0B,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YACxE,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC;iBACnD,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC;SAC3C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,MAAM,CAAC,KAAa;QACjC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAErC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,CAAC,GAAG,CACR,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,EAChC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAClC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,KAAK,CAClB,MAAmC,EACnC,IAAY;QAEZ,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,yBAAyB,CACjC,uCAAuC,IAAI,QAAQ,CACpD,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"sim-iam-sigv4-authorization.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-authorization.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,28 @@ import type { SimIamSigV4CredentialScope } from "./sim-iam-sigv4-credential-scop
10
10
  * would buy nothing a caller could assert on, and would break every client that
11
11
  * stamps real time and has no way to know what time this simulation is keeping.
12
12
  * This is a documented divergence from real AWS, which enforces a five minute
13
- * window.
13
+ * window. A presigned URL is the exception: it states its own lifetime in
14
+ * `X-Amz-Expires`, and that lifetime is enforced, in simulated time.
14
15
  */
15
16
  export declare function simIamSigV4RequestDate(headers: Headers, scope: SimIamSigV4CredentialScope): string;
17
+ /**
18
+ * Check a signing stamp from wherever the request carried it.
19
+ *
20
+ * A presigned URL states the same value in its query string rather than in a
21
+ * header, so the source is named by the caller and appears in any complaint
22
+ * about the stamp.
23
+ */
24
+ export declare function simIamSigV4CheckedAmzDate(amzDate: string | null, scope: SimIamSigV4CredentialScope, source: string): string;
25
+ /**
26
+ * The instant an `X-Amz-Date` stamp names.
27
+ *
28
+ * The stamp is ISO 8601 basic form, which `Date` does not parse, so the
29
+ * separators of the extended form are put back before it is read.
30
+ *
31
+ * The result is checked to name the day and time it was built from. Digits
32
+ * alone do not make a date: `Date` reads 24:60:00 as no instant at all, and
33
+ * quietly rolls February 30th forward into March, which would give a presigned
34
+ * URL a window nothing signed. Both are refused rather than honoured.
35
+ */
36
+ export declare function simIamSigV4SignedAt(amzDate: string): Date;
16
37
  //# sourceMappingURL=sim-iam-sigv4-request-date.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4-request-date.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-request-date.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAItF;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,0BAA0B,GAChC,MAAM,CA2BR"}
1
+ {"version":3,"file":"sim-iam-sigv4-request-date.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-request-date.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAItF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,0BAA0B,GAChC,MAAM,CAMR;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,KAAK,EAAE,0BAA0B,EACjC,MAAM,EAAE,MAAM,GACb,MAAM,CAsBR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAiCzD"}
@@ -1,5 +1,5 @@
1
1
  import { SimIamIncompleteSignature } from "./error/sim-iam-sigv4.error.js";
2
- const amzDatePattern = /^(?<dateStamp>\d{8})T\d{6}Z$/;
2
+ const amzDatePattern = /^(?<dateStamp>\d{8})T(?<time>\d{6})Z$/;
3
3
  /**
4
4
  * Read the `X-Amz-Date` a request was signed at.
5
5
  *
@@ -11,21 +11,63 @@ const amzDatePattern = /^(?<dateStamp>\d{8})T\d{6}Z$/;
11
11
  * would buy nothing a caller could assert on, and would break every client that
12
12
  * stamps real time and has no way to know what time this simulation is keeping.
13
13
  * This is a documented divergence from real AWS, which enforces a five minute
14
- * window.
14
+ * window. A presigned URL is the exception: it states its own lifetime in
15
+ * `X-Amz-Expires`, and that lifetime is enforced, in simulated time.
15
16
  */
16
17
  export function simIamSigV4RequestDate(headers, scope) {
17
- const amzDate = headers.get("x-amz-date");
18
+ return simIamSigV4CheckedAmzDate(headers.get("x-amz-date"), scope, "X-Amz-Date header");
19
+ }
20
+ /**
21
+ * Check a signing stamp from wherever the request carried it.
22
+ *
23
+ * A presigned URL states the same value in its query string rather than in a
24
+ * header, so the source is named by the caller and appears in any complaint
25
+ * about the stamp.
26
+ */
27
+ export function simIamSigV4CheckedAmzDate(amzDate, scope, source) {
18
28
  if (amzDate === null || amzDate.length === 0) {
19
- throw new SimIamIncompleteSignature("Signed request carries no X-Amz-Date header");
29
+ throw new SimIamIncompleteSignature(`Signed request carries no ${source}`);
20
30
  }
21
31
  const dateStamp = amzDatePattern.exec(amzDate)?.groups?.["dateStamp"];
22
32
  if (dateStamp === undefined) {
23
- throw new SimIamIncompleteSignature(`X-Amz-Date ${amzDate} must be an ISO 8601 basic stamp, ` +
24
- `YYYYMMDDTHHMMSSZ`);
33
+ throw new SimIamIncompleteSignature(`${source} ${amzDate} must be an ISO 8601 basic stamp, YYYYMMDDTHHMMSSZ`);
25
34
  }
26
35
  if (dateStamp !== scope.dateStamp) {
27
- throw new SimIamIncompleteSignature(`X-Amz-Date ${amzDate} is not on the day its credential scope names, ${scope.dateStamp}`);
36
+ throw new SimIamIncompleteSignature(`${source} ${amzDate} is not on the day its credential scope names, ${scope.dateStamp}`);
28
37
  }
29
38
  return amzDate;
30
39
  }
40
+ /**
41
+ * The instant an `X-Amz-Date` stamp names.
42
+ *
43
+ * The stamp is ISO 8601 basic form, which `Date` does not parse, so the
44
+ * separators of the extended form are put back before it is read.
45
+ *
46
+ * The result is checked to name the day and time it was built from. Digits
47
+ * alone do not make a date: `Date` reads 24:60:00 as no instant at all, and
48
+ * quietly rolls February 30th forward into March, which would give a presigned
49
+ * URL a window nothing signed. Both are refused rather than honoured.
50
+ */
51
+ export function simIamSigV4SignedAt(amzDate) {
52
+ const parts = amzDatePattern.exec(amzDate)?.groups;
53
+ /* v8 ignore if -- a stamp is always checked before it is read */
54
+ if (parts === undefined) {
55
+ throw new SimIamIncompleteSignature(`X-Amz-Date ${amzDate} is not an ISO 8601 basic stamp`);
56
+ }
57
+ const dateStamp = String(parts["dateStamp"]);
58
+ const time = String(parts["time"]);
59
+ const date = [
60
+ dateStamp.slice(0, 4),
61
+ dateStamp.slice(4, 6),
62
+ dateStamp.slice(6, 8),
63
+ ].join("-");
64
+ const clockTime = [time.slice(0, 2), time.slice(2, 4), time.slice(4, 6)].join(":");
65
+ const signedAt = new Date(`${date}T${clockTime}Z`);
66
+ if (Number.isNaN(signedAt.getTime()) ||
67
+ signedAt.toISOString() !== `${date}T${clockTime}.000Z`) {
68
+ throw new SimIamIncompleteSignature(`X-Amz-Date ${amzDate} is not a real instant: there is no ` +
69
+ `${clockTime} on ${date}`);
70
+ }
71
+ return signedAt;
72
+ }
31
73
  //# sourceMappingURL=sim-iam-sigv4-request-date.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4-request-date.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-request-date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,MAAM,cAAc,GAAG,8BAA8B,CAAC;AAEtD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,KAAiC;IAEjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAE1C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,yBAAyB,CACjC,6CAA6C,CAC9C,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;IAEtE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,yBAAyB,CACjC,cAAc,OAAO,oCAAoC;YACvD,kBAAkB,CACrB,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,yBAAyB,CACjC,cAAc,OAAO,kDACnB,KAAK,CAAC,SACR,EAAE,CACH,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"sim-iam-sigv4-request-date.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-request-date.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAG3E,MAAM,cAAc,GAAG,uCAAuC,CAAC;AAE/D;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAgB,EAChB,KAAiC;IAEjC,OAAO,yBAAyB,CAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EACzB,KAAK,EACL,mBAAmB,CACpB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAsB,EACtB,KAAiC,EACjC,MAAc;IAEd,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,yBAAyB,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,WAAW,CAAC,CAAC;IAEtE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,yBAAyB,CACjC,GAAG,MAAM,IAAI,OAAO,oDAAoD,CACzE,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,yBAAyB,CACjC,GAAG,MAAM,IAAI,OAAO,kDAClB,KAAK,CAAC,SACR,EAAE,CACH,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe;IACjD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEnD,iEAAiE;IACjE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,yBAAyB,CACjC,cAAc,OAAO,iCAAiC,CACvD,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG;QACX,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACrB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;KACtB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3E,GAAG,CACJ,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,SAAS,GAAG,CAAC,CAAC;IAEnD,IACE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QAChC,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,IAAI,SAAS,OAAO,EACtD,CAAC;QACD,MAAM,IAAI,yBAAyB,CACjC,cAAc,OAAO,sCAAsC;YACzD,GAAG,SAAS,OAAO,IAAI,EAAE,CAC5B,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,10 +1,17 @@
1
- import type { SimIamSigV4Authorization } from "./sim-iam-sigv4-authorization.js";
1
+ import type { SimIamSigV4PayloadDeclaration } from "./canonical/sim-iam-sigv4-payload-hash.js";
2
+ import type { SimIamSigV4SignatureStatement } from "./sim-iam-sigv4-signature-statement.js";
2
3
  import type { SimIamSigV4SignedRequest } from "./sim-iam-sigv4-signed-request.js";
3
4
  interface SimIamSigV4SignatureCheckInput {
4
5
  readonly signedRequest: SimIamSigV4SignedRequest;
5
- readonly authorization: SimIamSigV4Authorization;
6
+ readonly statement: SimIamSigV4SignatureStatement;
6
7
  readonly signingKey: Buffer;
7
8
  readonly amzDate: string;
9
+ /**
10
+ * How the request declared its payload hash. Omitted for a header-signed
11
+ * request, which declares it in a header the canonical request can read for
12
+ * itself.
13
+ */
14
+ readonly payload?: SimIamSigV4PayloadDeclaration | undefined;
8
15
  }
9
16
  /**
10
17
  * Rebuild the signature the request should carry, and refuse it otherwise.
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4-signature-check.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-signature-check.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAMlF,UAAU,8BAA8B;IACtC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,GACpC,IAAI,CAwBN"}
1
+ {"version":3,"file":"sim-iam-sigv4-signature-check.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-signature-check.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAG/F,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAMlF,UAAU,8BAA8B;IACtC,QAAQ,CAAC,aAAa,EAAE,wBAAwB,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAC;CAC9D;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,GACpC,IAAI,CAyBN"}
@@ -10,16 +10,16 @@ import { simIamSigV4Signature, simIamSigV4StringToSign, } from "./sim-iam-sigv4-
10
10
  * the bytes the simulator signed over.
11
11
  */
12
12
  export function simIamSigV4CheckSignature(input) {
13
- const { signedRequest, authorization, signingKey, amzDate } = input;
14
- const canonicalRequest = new SimIamSigV4CanonicalRequest(signedRequest, authorization.signedHeaderNames).toString();
13
+ const { signedRequest, statement, signingKey, amzDate, payload } = input;
14
+ const canonicalRequest = new SimIamSigV4CanonicalRequest(signedRequest, statement.signedHeaderNames, payload).toString();
15
15
  const expected = simIamSigV4Signature(signingKey, simIamSigV4StringToSign({
16
16
  amzDate,
17
- scope: authorization.scope,
17
+ scope: statement.scope,
18
18
  canonicalRequest,
19
19
  }));
20
- if (!simIamSigV4SignaturesMatch(expected, authorization.signature)) {
20
+ if (!simIamSigV4SignaturesMatch(expected, statement.signature)) {
21
21
  throw new SimIamSignatureDoesNotMatch(`Request signature does not match the signature the simulator ` +
22
- `calculated for access key ${authorization.accessKeyId}`, canonicalRequest);
22
+ `calculated for access key ${statement.accessKeyId}`, canonicalRequest);
23
23
  }
24
24
  }
25
25
  //# sourceMappingURL=sim-iam-sigv4-signature-check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4-signature-check.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-signature-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAE7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AASxC;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAqC;IAErC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEpE,MAAM,gBAAgB,GAAG,IAAI,2BAA2B,CACtD,aAAa,EACb,aAAa,CAAC,iBAAiB,CAChC,CAAC,QAAQ,EAAE,CAAC;IAEb,MAAM,QAAQ,GAAG,oBAAoB,CACnC,UAAU,EACV,uBAAuB,CAAC;QACtB,OAAO;QACP,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,gBAAgB;KACjB,CAAC,CACH,CAAC;IAEF,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,2BAA2B,CACnC,+DAA+D;YAC7D,6BAA6B,aAAa,CAAC,WAAW,EAAE,EAC1D,gBAAgB,CACjB,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"sim-iam-sigv4-signature-check.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-signature-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAE7F,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGhF,OAAO,EACL,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AAexC;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAqC;IAErC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEzE,MAAM,gBAAgB,GAAG,IAAI,2BAA2B,CACtD,aAAa,EACb,SAAS,CAAC,iBAAiB,EAC3B,OAAO,CACR,CAAC,QAAQ,EAAE,CAAC;IAEb,MAAM,QAAQ,GAAG,oBAAoB,CACnC,UAAU,EACV,uBAAuB,CAAC;QACtB,OAAO;QACP,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,gBAAgB;KACjB,CAAC,CACH,CAAC;IAEF,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,2BAA2B,CACnC,+DAA+D;YAC7D,6BAA6B,SAAS,CAAC,WAAW,EAAE,EACtD,gBAAgB,CACjB,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { SimIamSigV4CredentialScope } from "./sim-iam-sigv4-credential-scope.js";
2
+ /**
3
+ * What a request states about the signature it carries.
4
+ *
5
+ * SigV4 offers the same facts in two places: an `Authorization` header, or the
6
+ * query string of a presigned URL. Everything downstream of parsing needs only
7
+ * these four, so verification is written against this rather than against
8
+ * either form, and the two differ only in how they are read off the request.
9
+ */
10
+ export interface SimIamSigV4SignatureStatement {
11
+ readonly accessKeyId: string;
12
+ readonly scope: SimIamSigV4CredentialScope;
13
+ readonly signedHeaderNames: readonly string[];
14
+ readonly signature: string;
15
+ }
16
+ //# sourceMappingURL=sim-iam-sigv4-signature-statement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-signature-statement.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-signature-statement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AAEtF;;;;;;;GAOG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,0BAA0B,CAAC;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sim-iam-sigv4-signature-statement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-iam-sigv4-signature-statement.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-signature-statement.ts"],"names":[],"mappings":""}
@@ -1,6 +1,11 @@
1
1
  import type { SimIamSigningCredential, SimIamSigningCredentialResolver } from "../credential/sim-iam-signing-credential.js";
2
- import type { SimIamSigV4Authorization } from "./sim-iam-sigv4-authorization.js";
3
- import type { SimIamSigV4SignedRequest } from "./sim-iam-sigv4-signed-request.js";
2
+ import type { SimIamSigV4SignatureStatement } from "./sim-iam-sigv4-signature-statement.js";
3
+ interface SimIamSigV4SigningCredentialInput {
4
+ readonly credentials: SimIamSigningCredentialResolver;
5
+ readonly statement: SimIamSigV4SignatureStatement;
6
+ readonly sessionToken: string | undefined;
7
+ readonly now: Date | undefined;
8
+ }
4
9
  /**
5
10
  * Find the signing key the request claims to have been signed with.
6
11
  *
@@ -8,6 +13,10 @@ import type { SimIamSigV4SignedRequest } from "./sim-iam-sigv4-signed-request.js
8
13
  * named access key would have derived rather than for the secret itself, and
9
14
  * the signature comparison settles whether the signer really held it. Any
10
15
  * rejection is restated in the vocabulary a signed request is answered in.
16
+ *
17
+ * The session token comes from wherever the request carried it: a header on a
18
+ * header-signed request, a query parameter on a presigned URL.
11
19
  */
12
- export declare function simIamSigV4SigningCredential(credentials: SimIamSigningCredentialResolver, signedRequest: SimIamSigV4SignedRequest, authorization: SimIamSigV4Authorization, now: Date | undefined): SimIamSigningCredential;
20
+ export declare function simIamSigV4SigningCredential(input: SimIamSigV4SigningCredentialInput): SimIamSigningCredential;
21
+ export {};
13
22
  //# sourceMappingURL=sim-iam-sigv4-signing-credentials.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4-signing-credentials.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-signing-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,+BAA+B,EAChC,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAElF;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,+BAA+B,EAC5C,aAAa,EAAE,wBAAwB,EACvC,aAAa,EAAE,wBAAwB,EACvC,GAAG,EAAE,IAAI,GAAG,SAAS,GACpB,uBAAuB,CAUzB"}
1
+ {"version":3,"file":"sim-iam-sigv4-signing-credentials.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-signing-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,+BAA+B,EAChC,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AAE5F,UAAU,iCAAiC;IACzC,QAAQ,CAAC,WAAW,EAAE,+BAA+B,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iCAAiC,GACvC,uBAAuB,CAWzB"}
@@ -6,12 +6,16 @@ import { simIamSigV4CredentialFailure } from "./sim-iam-sigv4-credential-failure
6
6
  * named access key would have derived rather than for the secret itself, and
7
7
  * the signature comparison settles whether the signer really held it. Any
8
8
  * rejection is restated in the vocabulary a signed request is answered in.
9
+ *
10
+ * The session token comes from wherever the request carried it: a header on a
11
+ * header-signed request, a query parameter on a presigned URL.
9
12
  */
10
- export function simIamSigV4SigningCredential(credentials, signedRequest, authorization, now) {
11
- return simIamSigV4CredentialFailure(authorization.accessKeyId, () => credentials.signingCredentialFor({
12
- accessKeyId: authorization.accessKeyId,
13
- sessionToken: signedRequest.headers.get("x-amz-security-token") ?? undefined,
14
- scope: authorization.scope,
13
+ export function simIamSigV4SigningCredential(input) {
14
+ const { credentials, statement, sessionToken, now } = input;
15
+ return simIamSigV4CredentialFailure(statement.accessKeyId, () => credentials.signingCredentialFor({
16
+ accessKeyId: statement.accessKeyId,
17
+ sessionToken,
18
+ scope: statement.scope,
15
19
  now,
16
20
  }));
17
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4-signing-credentials.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-signing-credentials.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAGrF;;;;;;;GAOG;AACH,MAAM,UAAU,4BAA4B,CAC1C,WAA4C,EAC5C,aAAuC,EACvC,aAAuC,EACvC,GAAqB;IAErB,OAAO,4BAA4B,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAClE,WAAW,CAAC,oBAAoB,CAAC;QAC/B,WAAW,EAAE,aAAa,CAAC,WAAW;QACtC,YAAY,EACV,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,SAAS;QAChE,KAAK,EAAE,aAAa,CAAC,KAAK;QAC1B,GAAG;KACJ,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"sim-iam-sigv4-signing-credentials.js","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-signing-credentials.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAUrF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAAwC;IAExC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IAE5D,OAAO,4BAA4B,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,CAC9D,WAAW,CAAC,oBAAoB,CAAC;QAC/B,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,YAAY;QACZ,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,GAAG;KACJ,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -12,10 +12,16 @@ interface SimIamSigV4VerifierProperties {
12
12
  * principal made the request, which is exactly the question the IAM
13
13
  * authorization already built has no way to ask of an HTTP request.
14
14
  *
15
- * Verification needs no clock. The signing date is an input to the signing key
16
- * and comes from the request, so a correctly signed request verifies whenever
17
- * it arrives. Only the credentials behind it can go stale, and that is judged in
18
- * simulated time by the registry.
15
+ * A signature arrives in one of two forms, an `Authorization` header or the
16
+ * query string of a presigned URL, and both are verified here. The work either
17
+ * way is the same canonical request against the same signing key; only where
18
+ * the claims are read from, and whether a lifetime is stated, differ.
19
+ *
20
+ * Verifying a header-signed request needs no clock. The signing date is an
21
+ * input to the signing key and comes from the request, so a correctly signed
22
+ * request verifies whenever it arrives. Only the credentials behind it can go
23
+ * stale, and that is judged in simulated time by the registry. A presigned URL
24
+ * is the exception, because it states its own expiry.
19
25
  */
20
26
  export declare class SimIamSigV4Verifier {
21
27
  private readonly credentials;
@@ -27,6 +33,16 @@ export declare class SimIamSigV4Verifier {
27
33
  * with when the request cannot be attributed to a registered access key.
28
34
  */
29
35
  verify(signedRequest: SimIamSigV4SignedRequest, options?: SimIamSigV4VerifyOptions): SimIamCredentialIdentity;
36
+ private verifyHeaderSigned;
37
+ /**
38
+ * Verify a presigned URL.
39
+ *
40
+ * Expiry is checked before the signature, because an expired URL is the
41
+ * likeliest reason a presigned request fails and "this expired" is a far
42
+ * more useful thing to be told than "this signature does not match". The
43
+ * expiry is signed, so a URL cannot claim a longer life than it was given.
44
+ */
45
+ private verifyPresigned;
30
46
  }
31
47
  export {};
32
48
  //# sourceMappingURL=sim-iam-sigv4-verifier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-sigv4-verifier.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-verifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAKnG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAElF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAElF,UAAU,6BAA6B;IACrC,QAAQ,CAAC,WAAW,EAAE,+BAA+B,CAAC;CACvD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAE9D,YAAY,UAAU,EAAE,6BAA6B,EAEpD;IAED;;;;;OAKG;IACH,MAAM,CACJ,aAAa,EAAE,wBAAwB,EACvC,OAAO,GAAE,wBAA6B,GACrC,wBAAwB,CA4B1B;CACF"}
1
+ {"version":3,"file":"sim-iam-sigv4-verifier.d.ts","sourceRoot":"","sources":["../../../../src/service/iam/sigv4/sim-iam-sigv4-verifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAOnG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAElF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAElF,UAAU,6BAA6B;IACrC,QAAQ,CAAC,WAAW,EAAE,+BAA+B,CAAC;CACvD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAE9D,YAAY,UAAU,EAAE,6BAA6B,EAEpD;IAED;;;;;OAKG;IACH,MAAM,CACJ,aAAa,EAAE,wBAAwB,EACvC,OAAO,GAAE,wBAA6B,GACrC,wBAAwB,CAM1B;IAED,OAAO,CAAC,kBAAkB;IAkC1B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;CA4BxB"}