@kensio/yulin 0.37.0 → 0.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
  3. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  4. package/dist/serve/controller/sim-service-controller.d.ts +13 -0
  5. package/dist/serve/controller/sim-service-controller.d.ts.map +1 -1
  6. package/dist/serve/controller/sim-service-controller.js.map +1 -1
  7. package/dist/serve/http/url/sim-aws-local-url.d.ts.map +1 -1
  8. package/dist/serve/http/url/sim-aws-local-url.js +5 -1
  9. package/dist/serve/http/url/sim-aws-local-url.js.map +1 -1
  10. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +8 -0
  11. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  12. package/dist/service/aws/factory/sim-aws-service-factory.js +14 -0
  13. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  14. package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
  15. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  16. package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
  17. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  18. package/dist/service/aws/sim-aws-account.d.ts +5 -0
  19. package/dist/service/aws/sim-aws-account.d.ts.map +1 -1
  20. package/dist/service/aws/sim-aws-account.js +6 -0
  21. package/dist/service/aws/sim-aws-account.js.map +1 -1
  22. package/dist/service/aws/sim-aws-region.d.ts +5 -0
  23. package/dist/service/aws/sim-aws-region.d.ts.map +1 -1
  24. package/dist/service/aws/sim-aws-region.js +6 -0
  25. package/dist/service/aws/sim-aws-region.js.map +1 -1
  26. package/dist/service/aws/sim-aws-request-authentication.d.ts +35 -0
  27. package/dist/service/aws/sim-aws-request-authentication.d.ts.map +1 -0
  28. package/dist/service/aws/sim-aws-request-authentication.js +32 -0
  29. package/dist/service/aws/sim-aws-request-authentication.js.map +1 -0
  30. package/dist/service/aws/sim-aws.d.ts +7 -21
  31. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  32. package/dist/service/aws/sim-aws.js +15 -26
  33. package/dist/service/aws/sim-aws.js.map +1 -1
  34. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.d.ts.map +1 -1
  35. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.js +1 -1
  36. package/dist/service/cloudformation/resource/dependency/sim-cfn-resource-dependencies.js.map +1 -1
  37. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +1 -1
  38. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js.map +1 -1
  39. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.d.ts.map +1 -1
  40. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js +2 -1
  41. package/dist/service/cloudfront/router/sim-cloud-front-distro-router.js.map +1 -1
  42. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts +56 -0
  43. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts.map +1 -1
  44. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +66 -0
  45. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js.map +1 -1
  46. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts +7 -1
  47. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts.map +1 -1
  48. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js +11 -1
  49. package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js.map +1 -1
  50. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.d.ts +17 -0
  51. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.d.ts.map +1 -0
  52. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.js +24 -0
  53. package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.js.map +1 -0
  54. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +10 -0
  55. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
  56. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +3 -1
  57. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
  58. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts +6 -1
  59. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts.map +1 -1
  60. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js +25 -16
  61. package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js.map +1 -1
  62. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts +2 -1
  63. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.d.ts.map +1 -1
  64. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js +2 -1
  65. package/dist/service/iam/authorize/match/sim-iam-policy-statement-matcher.js.map +1 -1
  66. package/dist/service/iam/authorize/match/sim-iam-principal-match.d.ts +39 -0
  67. package/dist/service/iam/authorize/match/sim-iam-principal-match.d.ts.map +1 -0
  68. package/dist/service/iam/authorize/match/sim-iam-principal-match.js +55 -0
  69. package/dist/service/iam/authorize/match/sim-iam-principal-match.js.map +1 -0
  70. package/dist/service/iam/authorize/sim-iam-decision.d.ts.map +1 -1
  71. package/dist/service/iam/authorize/sim-iam-decision.js +3 -2
  72. package/dist/service/iam/authorize/sim-iam-decision.js.map +1 -1
  73. package/dist/service/iam/index.d.ts +1 -0
  74. package/dist/service/iam/index.d.ts.map +1 -1
  75. package/dist/service/iam/index.js +1 -0
  76. package/dist/service/iam/index.js.map +1 -1
  77. package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts +21 -5
  78. package/dist/service/iam/request/sim-aws-request-caller-resolver.d.ts.map +1 -1
  79. package/dist/service/iam/request/sim-aws-request-caller-resolver.js +15 -9
  80. package/dist/service/iam/request/sim-aws-request-caller-resolver.js.map +1 -1
  81. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts +3 -1
  82. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.d.ts.map +1 -1
  83. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js +6 -4
  84. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-canonical-request.js.map +1 -1
  85. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts +34 -14
  86. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.d.ts.map +1 -1
  87. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js +56 -29
  88. package/dist/service/iam/sigv4/canonical/sim-iam-sigv4-payload-hash.js.map +1 -1
  89. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts +13 -1
  90. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.d.ts.map +1 -1
  91. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js +14 -0
  92. package/dist/service/iam/sigv4/error/sim-iam-sigv4.error.js.map +1 -1
  93. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.d.ts +25 -0
  94. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.d.ts.map +1 -0
  95. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.js +41 -0
  96. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-credential.js.map +1 -0
  97. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.d.ts +27 -0
  98. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.d.ts.map +1 -0
  99. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.js +41 -0
  100. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-parameters.js.map +1 -0
  101. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.d.ts +39 -0
  102. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.d.ts.map +1 -0
  103. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.js +59 -0
  104. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-query.js.map +1 -0
  105. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.d.ts +30 -0
  106. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.d.ts.map +1 -0
  107. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.js +64 -0
  108. package/dist/service/iam/sigv4/presign/sim-iam-sigv4-presigned-window.js.map +1 -0
  109. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts +2 -1
  110. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.d.ts.map +1 -1
  111. package/dist/service/iam/sigv4/sim-iam-sigv4-authorization.js.map +1 -1
  112. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts +22 -1
  113. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.d.ts.map +1 -1
  114. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js +49 -7
  115. package/dist/service/iam/sigv4/sim-iam-sigv4-request-date.js.map +1 -1
  116. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts +9 -2
  117. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.d.ts.map +1 -1
  118. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js +5 -5
  119. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-check.js.map +1 -1
  120. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.d.ts +16 -0
  121. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.d.ts.map +1 -0
  122. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.js +2 -0
  123. package/dist/service/iam/sigv4/sim-iam-sigv4-signature-statement.js.map +1 -0
  124. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts +12 -3
  125. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.d.ts.map +1 -1
  126. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js +9 -5
  127. package/dist/service/iam/sigv4/sim-iam-sigv4-signing-credentials.js.map +1 -1
  128. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts +20 -4
  129. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.d.ts.map +1 -1
  130. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js +52 -6
  131. package/dist/service/iam/sigv4/sim-iam-sigv4-verifier.js.map +1 -1
  132. package/dist/service/kms/command/alias/alias.command.d.ts +43 -0
  133. package/dist/service/kms/command/alias/alias.command.d.ts.map +1 -0
  134. package/dist/service/kms/command/alias/alias.command.js +2 -0
  135. package/dist/service/kms/command/alias/alias.command.js.map +1 -0
  136. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts +34 -0
  137. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts.map +1 -0
  138. package/dist/service/kms/command/alias/sim-kms-alias-commands.js +56 -0
  139. package/dist/service/kms/command/alias/sim-kms-alias-commands.js.map +1 -0
  140. package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts +38 -0
  141. package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts.map +1 -0
  142. package/dist/service/kms/command/authorize/sim-kms-authorizer.js +58 -0
  143. package/dist/service/kms/command/authorize/sim-kms-authorizer.js.map +1 -0
  144. package/dist/service/kms/command/crypto/crypto.command.d.ts +68 -0
  145. package/dist/service/kms/command/crypto/crypto.command.d.ts.map +1 -0
  146. package/dist/service/kms/command/crypto/crypto.command.js +2 -0
  147. package/dist/service/kms/command/crypto/crypto.command.js.map +1 -0
  148. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.d.ts +40 -0
  149. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.d.ts.map +1 -0
  150. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.js +58 -0
  151. package/dist/service/kms/command/crypto/sim-kms-ciphertext-key.js.map +1 -0
  152. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts +38 -0
  153. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts.map +1 -0
  154. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js +74 -0
  155. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js.map +1 -0
  156. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.d.ts +16 -0
  157. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.d.ts.map +1 -0
  158. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.js +50 -0
  159. package/dist/service/kms/command/crypto/sim-kms-data-key-spec.js.map +1 -0
  160. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts +31 -0
  161. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts.map +1 -0
  162. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js +35 -0
  163. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js.map +1 -0
  164. package/dist/service/kms/command/key/key.command.d.ts +159 -0
  165. package/dist/service/kms/command/key/key.command.d.ts.map +1 -0
  166. package/dist/service/kms/command/key/key.command.js +2 -0
  167. package/dist/service/kms/command/key/key.command.js.map +1 -0
  168. package/dist/service/kms/command/key/sim-kms-key-commands.d.ts +41 -0
  169. package/dist/service/kms/command/key/sim-kms-key-commands.d.ts.map +1 -0
  170. package/dist/service/kms/command/key/sim-kms-key-commands.js +45 -0
  171. package/dist/service/kms/command/key/sim-kms-key-commands.js.map +1 -0
  172. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts +48 -0
  173. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts.map +1 -0
  174. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js +67 -0
  175. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js.map +1 -0
  176. package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts +39 -0
  177. package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts.map +1 -0
  178. package/dist/service/kms/command/key/sim-kms-key-policy-commands.js +57 -0
  179. package/dist/service/kms/command/key/sim-kms-key-policy-commands.js.map +1 -0
  180. package/dist/service/kms/command/key/sim-kms-key-type.d.ts +14 -0
  181. package/dist/service/kms/command/key/sim-kms-key-type.d.ts.map +1 -0
  182. package/dist/service/kms/command/key/sim-kms-key-type.js +31 -0
  183. package/dist/service/kms/command/key/sim-kms-key-type.js.map +1 -0
  184. package/dist/service/kms/command/key/sim-kms-list-keys.d.ts +29 -0
  185. package/dist/service/kms/command/key/sim-kms-list-keys.d.ts.map +1 -0
  186. package/dist/service/kms/command/key/sim-kms-list-keys.js +31 -0
  187. package/dist/service/kms/command/key/sim-kms-list-keys.js.map +1 -0
  188. package/dist/service/kms/command/key/sim-kms-pending-window.d.ts +17 -0
  189. package/dist/service/kms/command/key/sim-kms-pending-window.d.ts.map +1 -0
  190. package/dist/service/kms/command/key/sim-kms-pending-window.js +37 -0
  191. package/dist/service/kms/command/key/sim-kms-pending-window.js.map +1 -0
  192. package/dist/service/kms/command/sim-kms-command.types.d.ts +10 -0
  193. package/dist/service/kms/command/sim-kms-command.types.d.ts.map +1 -0
  194. package/dist/service/kms/command/sim-kms-command.types.js +2 -0
  195. package/dist/service/kms/command/sim-kms-command.types.js.map +1 -0
  196. package/dist/service/kms/error/sim-kms.error.d.ts +88 -0
  197. package/dist/service/kms/error/sim-kms.error.d.ts.map +1 -0
  198. package/dist/service/kms/error/sim-kms.error.js +101 -0
  199. package/dist/service/kms/error/sim-kms.error.js.map +1 -0
  200. package/dist/service/kms/index.d.ts +8 -0
  201. package/dist/service/kms/index.d.ts.map +1 -0
  202. package/dist/service/kms/index.js +6 -0
  203. package/dist/service/kms/index.js.map +1 -0
  204. package/dist/service/kms/key/sim-kms-alias.d.ts +45 -0
  205. package/dist/service/kms/key/sim-kms-alias.d.ts.map +1 -0
  206. package/dist/service/kms/key/sim-kms-alias.js +59 -0
  207. package/dist/service/kms/key/sim-kms-alias.js.map +1 -0
  208. package/dist/service/kms/key/sim-kms-ciphertext-blob.d.ts +43 -0
  209. package/dist/service/kms/key/sim-kms-ciphertext-blob.d.ts.map +1 -0
  210. package/dist/service/kms/key/sim-kms-ciphertext-blob.js +89 -0
  211. package/dist/service/kms/key/sim-kms-ciphertext-blob.js.map +1 -0
  212. package/dist/service/kms/key/sim-kms-encryption-context.d.ts +34 -0
  213. package/dist/service/kms/key/sim-kms-encryption-context.d.ts.map +1 -0
  214. package/dist/service/kms/key/sim-kms-encryption-context.js +39 -0
  215. package/dist/service/kms/key/sim-kms-encryption-context.js.map +1 -0
  216. package/dist/service/kms/key/sim-kms-key-factory.d.ts +36 -0
  217. package/dist/service/kms/key/sim-kms-key-factory.d.ts.map +1 -0
  218. package/dist/service/kms/key/sim-kms-key-factory.js +47 -0
  219. package/dist/service/kms/key/sim-kms-key-factory.js.map +1 -0
  220. package/dist/service/kms/key/sim-kms-key-identifier.d.ts +44 -0
  221. package/dist/service/kms/key/sim-kms-key-identifier.d.ts.map +1 -0
  222. package/dist/service/kms/key/sim-kms-key-identifier.js +81 -0
  223. package/dist/service/kms/key/sim-kms-key-identifier.js.map +1 -0
  224. package/dist/service/kms/key/sim-kms-key-lifecycle.d.ts +71 -0
  225. package/dist/service/kms/key/sim-kms-key-lifecycle.d.ts.map +1 -0
  226. package/dist/service/kms/key/sim-kms-key-lifecycle.js +106 -0
  227. package/dist/service/kms/key/sim-kms-key-lifecycle.js.map +1 -0
  228. package/dist/service/kms/key/sim-kms-key-material.d.ts +36 -0
  229. package/dist/service/kms/key/sim-kms-key-material.d.ts.map +1 -0
  230. package/dist/service/kms/key/sim-kms-key-material.js +74 -0
  231. package/dist/service/kms/key/sim-kms-key-material.js.map +1 -0
  232. package/dist/service/kms/key/sim-kms-key-metadata.d.ts +45 -0
  233. package/dist/service/kms/key/sim-kms-key-metadata.d.ts.map +1 -0
  234. package/dist/service/kms/key/sim-kms-key-metadata.js +44 -0
  235. package/dist/service/kms/key/sim-kms-key-metadata.js.map +1 -0
  236. package/dist/service/kms/key/sim-kms-key-policy.d.ts +45 -0
  237. package/dist/service/kms/key/sim-kms-key-policy.d.ts.map +1 -0
  238. package/dist/service/kms/key/sim-kms-key-policy.js +69 -0
  239. package/dist/service/kms/key/sim-kms-key-policy.js.map +1 -0
  240. package/dist/service/kms/key/sim-kms-key-store.d.ts +58 -0
  241. package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -0
  242. package/dist/service/kms/key/sim-kms-key-store.js +111 -0
  243. package/dist/service/kms/key/sim-kms-key-store.js.map +1 -0
  244. package/dist/service/kms/key/sim-kms-key.d.ts +88 -0
  245. package/dist/service/kms/key/sim-kms-key.d.ts.map +1 -0
  246. package/dist/service/kms/key/sim-kms-key.js +106 -0
  247. package/dist/service/kms/key/sim-kms-key.js.map +1 -0
  248. package/dist/service/kms/key/sim-kms-policy-document.d.ts +30 -0
  249. package/dist/service/kms/key/sim-kms-policy-document.d.ts.map +1 -0
  250. package/dist/service/kms/key/sim-kms-policy-document.js +54 -0
  251. package/dist/service/kms/key/sim-kms-policy-document.js.map +1 -0
  252. package/dist/service/kms/sdk/sim-kms-sdk-command-router.d.ts +18 -0
  253. package/dist/service/kms/sdk/sim-kms-sdk-command-router.d.ts.map +1 -0
  254. package/dist/service/kms/sdk/sim-kms-sdk-command-router.js +80 -0
  255. package/dist/service/kms/sdk/sim-kms-sdk-command-router.js.map +1 -0
  256. package/dist/service/kms/sim-kms.d.ts +105 -0
  257. package/dist/service/kms/sim-kms.d.ts.map +1 -0
  258. package/dist/service/kms/sim-kms.js +187 -0
  259. package/dist/service/kms/sim-kms.js.map +1 -0
  260. package/dist/service/lambda/command/create-function/create-function.handler.d.ts.map +1 -1
  261. package/dist/service/lambda/command/create-function/create-function.handler.js +3 -0
  262. package/dist/service/lambda/command/create-function/create-function.handler.js.map +1 -1
  263. package/dist/service/lambda/function/code/sim-lambda-code-resolver.d.ts +6 -0
  264. package/dist/service/lambda/function/code/sim-lambda-code-resolver.d.ts.map +1 -1
  265. package/dist/service/lambda/function/code/sim-lambda-code-resolver.js +1 -0
  266. package/dist/service/lambda/function/code/sim-lambda-code-resolver.js.map +1 -1
  267. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +15 -0
  268. package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts.map +1 -1
  269. package/dist/service/lambda/function/code/sim-lambda-executable-code.js +5 -0
  270. package/dist/service/lambda/function/code/sim-lambda-executable-code.js.map +1 -1
  271. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.d.ts +3 -0
  272. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.d.ts.map +1 -1
  273. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.js +3 -0
  274. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.js.map +1 -1
  275. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +11 -0
  276. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts.map +1 -1
  277. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +7 -2
  278. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js.map +1 -1
  279. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +6 -5
  280. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts.map +1 -1
  281. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +10 -5
  282. package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js.map +1 -1
  283. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.d.ts +53 -0
  284. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.d.ts.map +1 -0
  285. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.js +101 -0
  286. package/dist/service/lambda/function/invoke/sim-lambda-process-clock.js.map +1 -0
  287. package/dist/service/lambda/function/sim-lambda-function.d.ts +8 -0
  288. package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
  289. package/dist/service/lambda/function/sim-lambda-function.js +15 -1
  290. package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
  291. package/dist/service/lambda/serve/sim-lambda-url-router.js +1 -1
  292. package/dist/service/lambda/serve/sim-lambda-url-router.js.map +1 -1
  293. package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts +14 -0
  294. package/dist/service/route53/resolve/sim-r53-service-target-resolver.d.ts.map +1 -1
  295. package/dist/service/route53/resolve/sim-r53-service-target-resolver.js +38 -0
  296. package/dist/service/route53/resolve/sim-r53-service-target-resolver.js.map +1 -1
  297. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.d.ts +7 -0
  298. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.d.ts.map +1 -0
  299. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.js +73 -0
  300. package/dist/service/s3/bucket/public-access/sim-s3-pinning-condition.js.map +1 -0
  301. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.d.ts +61 -0
  302. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.d.ts.map +1 -0
  303. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.js +57 -0
  304. package/dist/service/s3/bucket/public-access/sim-s3-public-access-block.js.map +1 -0
  305. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.d.ts +19 -0
  306. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.d.ts.map +1 -0
  307. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.js +28 -0
  308. package/dist/service/s3/bucket/public-access/sim-s3-public-policy-guard.js.map +1 -0
  309. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.d.ts +18 -0
  310. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.d.ts.map +1 -0
  311. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.js +35 -0
  312. package/dist/service/s3/bucket/public-access/sim-s3-public-policy.js.map +1 -0
  313. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.d.ts +11 -0
  314. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.d.ts.map +1 -0
  315. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.js +34 -0
  316. package/dist/service/s3/bucket/public-access/sim-s3-public-principal.js.map +1 -0
  317. package/dist/service/s3/bucket/sim-s3-bucket-arn.d.ts +9 -0
  318. package/dist/service/s3/bucket/sim-s3-bucket-arn.d.ts.map +1 -0
  319. package/dist/service/s3/bucket/sim-s3-bucket-arn.js +10 -0
  320. package/dist/service/s3/bucket/sim-s3-bucket-arn.js.map +1 -0
  321. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +25 -0
  322. package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
  323. package/dist/service/s3/bucket/sim-s3-bucket.js +34 -1
  324. package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
  325. package/dist/service/s3/bucket/sim-s3-endpoint-url.d.ts +16 -0
  326. package/dist/service/s3/bucket/sim-s3-endpoint-url.d.ts.map +1 -0
  327. package/dist/service/s3/bucket/sim-s3-endpoint-url.js +19 -0
  328. package/dist/service/s3/bucket/sim-s3-endpoint-url.js.map +1 -0
  329. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.d.ts +13 -0
  330. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.d.ts.map +1 -0
  331. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.js +36 -0
  332. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.js.map +1 -0
  333. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +27 -0
  334. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts.map +1 -0
  335. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +92 -0
  336. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js.map +1 -0
  337. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts +32 -0
  338. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.d.ts.map +1 -0
  339. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js +55 -0
  340. package/dist/service/s3/cfn/bucket-policy/sim-cfn-s3-bucket-policy-creator.js.map +1 -0
  341. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts +2 -4
  342. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.d.ts.map +1 -1
  343. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js +10 -61
  344. package/dist/service/s3/cfn/sim-cfn-s3-resource-factory.js.map +1 -1
  345. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.d.ts +11 -0
  346. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.d.ts.map +1 -0
  347. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.js +22 -0
  348. package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.js.map +1 -0
  349. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.d.ts +23 -0
  350. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.d.ts.map +1 -0
  351. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js +36 -0
  352. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js.map +1 -0
  353. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.d.ts +20 -0
  354. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.d.ts.map +1 -0
  355. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.js +2 -0
  356. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.command.js.map +1 -0
  357. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.d.ts +32 -0
  358. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.d.ts.map +1 -0
  359. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.js +37 -0
  360. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.js.map +1 -0
  361. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.d.ts +20 -0
  362. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.d.ts.map +1 -0
  363. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.js +2 -0
  364. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.command.js.map +1 -0
  365. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.d.ts +30 -0
  366. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.d.ts.map +1 -0
  367. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.js +35 -0
  368. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.js.map +1 -0
  369. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.d.ts +20 -0
  370. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.d.ts.map +1 -0
  371. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js +33 -0
  372. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js.map +1 -0
  373. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.d.ts +24 -0
  374. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.d.ts.map +1 -0
  375. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.js +2 -0
  376. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.command.js.map +1 -0
  377. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.d.ts +29 -0
  378. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.d.ts.map +1 -0
  379. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.js +40 -0
  380. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.js.map +1 -0
  381. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.d.ts +22 -0
  382. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.d.ts.map +1 -0
  383. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.js +2 -0
  384. package/dist/service/s3/command/get-public-access-block/get-public-access-block.command.js.map +1 -0
  385. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.d.ts +32 -0
  386. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.d.ts.map +1 -0
  387. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.js +39 -0
  388. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.js.map +1 -0
  389. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.d.ts +31 -0
  390. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.d.ts.map +1 -0
  391. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js +48 -0
  392. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js.map +1 -0
  393. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts +1 -0
  394. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts.map +1 -1
  395. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js +7 -6
  396. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js.map +1 -1
  397. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.d.ts +22 -0
  398. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.d.ts.map +1 -0
  399. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.js +2 -0
  400. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.js.map +1 -0
  401. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.d.ts +33 -0
  402. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.d.ts.map +1 -0
  403. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.js +40 -0
  404. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.js.map +1 -0
  405. package/dist/service/s3/command/require-sim-s3-bucket.d.ts +10 -0
  406. package/dist/service/s3/command/require-sim-s3-bucket.d.ts.map +1 -0
  407. package/dist/service/s3/command/require-sim-s3-bucket.js +16 -0
  408. package/dist/service/s3/command/require-sim-s3-bucket.js.map +1 -0
  409. package/dist/service/s3/command/sim-s3-command-handlers.d.ts +91 -0
  410. package/dist/service/s3/command/sim-s3-command-handlers.d.ts.map +1 -0
  411. package/dist/service/s3/command/sim-s3-command-handlers.js +115 -0
  412. package/dist/service/s3/command/sim-s3-command-handlers.js.map +1 -0
  413. package/dist/service/s3/command/sim-s3-command.types.d.ts +19 -0
  414. package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -0
  415. package/dist/service/s3/command/sim-s3-command.types.js +8 -0
  416. package/dist/service/s3/command/sim-s3-command.types.js.map +1 -0
  417. package/dist/service/s3/error/sim-s3-checksum.error.d.ts +28 -0
  418. package/dist/service/s3/error/sim-s3-checksum.error.d.ts.map +1 -0
  419. package/dist/service/s3/error/sim-s3-checksum.error.js +32 -0
  420. package/dist/service/s3/error/sim-s3-checksum.error.js.map +1 -0
  421. package/dist/service/s3/error/sim-s3.error.d.ts +20 -0
  422. package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
  423. package/dist/service/s3/error/sim-s3.error.js +24 -0
  424. package/dist/service/s3/error/sim-s3.error.js.map +1 -1
  425. package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
  426. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +20 -0
  427. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
  428. package/dist/service/s3/serve/sim-s3-bucket-locator.d.ts +40 -0
  429. package/dist/service/s3/serve/sim-s3-bucket-locator.d.ts.map +1 -0
  430. package/dist/service/s3/serve/sim-s3-bucket-locator.js +59 -0
  431. package/dist/service/s3/serve/sim-s3-bucket-locator.js.map +1 -0
  432. package/dist/service/s3/serve/sim-s3-controller.d.ts +7 -0
  433. package/dist/service/s3/serve/sim-s3-controller.d.ts.map +1 -1
  434. package/dist/service/s3/serve/sim-s3-controller.js +14 -2
  435. package/dist/service/s3/serve/sim-s3-controller.js.map +1 -1
  436. package/dist/service/s3/serve/sim-s3-get-object-controller.d.ts +40 -6
  437. package/dist/service/s3/serve/sim-s3-get-object-controller.d.ts.map +1 -1
  438. package/dist/service/s3/serve/sim-s3-get-object-controller.js +80 -49
  439. package/dist/service/s3/serve/sim-s3-get-object-controller.js.map +1 -1
  440. package/dist/service/s3/serve/sim-s3-object-address.d.ts +42 -0
  441. package/dist/service/s3/serve/sim-s3-object-address.d.ts.map +1 -0
  442. package/dist/service/s3/serve/sim-s3-object-address.js +66 -0
  443. package/dist/service/s3/serve/sim-s3-object-address.js.map +1 -0
  444. package/dist/service/s3/serve/sim-s3-request-router.d.ts +18 -13
  445. package/dist/service/s3/serve/sim-s3-request-router.d.ts.map +1 -1
  446. package/dist/service/s3/serve/sim-s3-request-router.js +72 -48
  447. package/dist/service/s3/serve/sim-s3-request-router.js.map +1 -1
  448. package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +36 -0
  449. package/dist/service/s3/serve/sim-s3-rest-controller.d.ts.map +1 -0
  450. package/dist/service/s3/serve/sim-s3-rest-controller.js +92 -0
  451. package/dist/service/s3/serve/sim-s3-rest-controller.js.map +1 -0
  452. package/dist/service/s3/serve/sim-s3-rest-error-response.d.ts +28 -0
  453. package/dist/service/s3/serve/sim-s3-rest-error-response.d.ts.map +1 -0
  454. package/dist/service/s3/serve/sim-s3-rest-error-response.js +63 -0
  455. package/dist/service/s3/serve/sim-s3-rest-error-response.js.map +1 -0
  456. package/dist/service/s3/serve/sim-s3-rest-refusal.d.ts +7 -0
  457. package/dist/service/s3/serve/sim-s3-rest-refusal.d.ts.map +1 -0
  458. package/dist/service/s3/serve/sim-s3-rest-refusal.js +18 -0
  459. package/dist/service/s3/serve/sim-s3-rest-refusal.js.map +1 -0
  460. package/dist/service/s3/serve/sim-s3-route.d.ts +40 -0
  461. package/dist/service/s3/serve/sim-s3-route.d.ts.map +1 -0
  462. package/dist/service/s3/serve/sim-s3-route.js +7 -0
  463. package/dist/service/s3/serve/sim-s3-route.js.map +1 -0
  464. package/dist/service/s3/serve/sim-s3-upload-checksum.d.ts +27 -0
  465. package/dist/service/s3/serve/sim-s3-upload-checksum.d.ts.map +1 -0
  466. package/dist/service/s3/serve/sim-s3-upload-checksum.js +86 -0
  467. package/dist/service/s3/serve/sim-s3-upload-checksum.js.map +1 -0
  468. package/dist/service/s3/serve/website/sim-s3-website-object-loader.d.ts +51 -0
  469. package/dist/service/s3/serve/website/sim-s3-website-object-loader.d.ts.map +1 -0
  470. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +75 -0
  471. package/dist/service/s3/serve/website/sim-s3-website-object-loader.js.map +1 -0
  472. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +18 -0
  473. package/dist/service/s3/serve/website/sim-s3-website-object.d.ts.map +1 -0
  474. package/dist/service/s3/serve/website/sim-s3-website-object.js +28 -0
  475. package/dist/service/s3/serve/website/sim-s3-website-object.js.map +1 -0
  476. package/dist/service/s3/serve/website/sim-s3-website-responses.d.ts +27 -0
  477. package/dist/service/s3/serve/website/sim-s3-website-responses.d.ts.map +1 -0
  478. package/dist/service/s3/serve/website/sim-s3-website-responses.js +44 -0
  479. package/dist/service/s3/serve/website/sim-s3-website-responses.js.map +1 -0
  480. package/dist/service/s3/sim-s3.d.ts +34 -9
  481. package/dist/service/s3/sim-s3.d.ts.map +1 -1
  482. package/dist/service/s3/sim-s3.js +65 -55
  483. package/dist/service/s3/sim-s3.js.map +1 -1
  484. package/dist/util/clock/sim-clock-date.d.ts +20 -0
  485. package/dist/util/clock/sim-clock-date.d.ts.map +1 -0
  486. package/dist/util/clock/sim-clock-date.js +43 -0
  487. package/dist/util/clock/sim-clock-date.js.map +1 -0
  488. package/package.json +17 -11
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The recovery window between scheduling a KMS key's deletion and it happening.
3
+ *
4
+ * Real KMS will not take less than seven days or more than thirty, because the
5
+ * window is the only protection against destroying every ciphertext ever
6
+ * produced under the key.
7
+ */
8
+ export declare class SimKmsPendingWindow {
9
+ readonly days: number;
10
+ constructor(days: number | undefined);
11
+ private static validated;
12
+ /**
13
+ * When a deletion scheduled now would fall due.
14
+ */
15
+ deletionDateFrom(now: Date): Date;
16
+ }
17
+ //# sourceMappingURL=sim-kms-pending-window.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-pending-window.d.ts","sourceRoot":"","sources":["../../../../../src/service/kms/command/key/sim-kms-pending-window.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,YAAY,IAAI,EAAE,MAAM,GAAG,SAAS,EAEnC;IAED,OAAO,CAAC,MAAM,CAAC,SAAS;IAcxB;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,IAAI,GAAG,IAAI,CAEhC;CACF"}
@@ -0,0 +1,37 @@
1
+ import { SimKmsValidationException } from "../../error/sim-kms.error.js";
2
+ /**
3
+ * The deletion recovery window real KMS allows, and the one it defaults to.
4
+ */
5
+ const minDays = 7;
6
+ const maxDays = 30;
7
+ const defaultDays = 30;
8
+ const millisecondsPerDay = 24 * 60 * 60 * 1000;
9
+ /**
10
+ * The recovery window between scheduling a KMS key's deletion and it happening.
11
+ *
12
+ * Real KMS will not take less than seven days or more than thirty, because the
13
+ * window is the only protection against destroying every ciphertext ever
14
+ * produced under the key.
15
+ */
16
+ export class SimKmsPendingWindow {
17
+ days;
18
+ constructor(days) {
19
+ this.days = SimKmsPendingWindow.validated(days);
20
+ }
21
+ static validated(days) {
22
+ if (days === undefined) {
23
+ return defaultDays;
24
+ }
25
+ if (!Number.isSafeInteger(days) || days < minDays || days > maxDays) {
26
+ throw new SimKmsValidationException(`PendingWindowInDays must be a whole number between ${String(minDays)} and ${String(maxDays)}`);
27
+ }
28
+ return days;
29
+ }
30
+ /**
31
+ * When a deletion scheduled now would fall due.
32
+ */
33
+ deletionDateFrom(now) {
34
+ return new Date(now.getTime() + this.days * millisecondsPerDay);
35
+ }
36
+ }
37
+ //# sourceMappingURL=sim-kms-pending-window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-pending-window.js","sourceRoot":"","sources":["../../../../../src/service/kms/command/key/sim-kms-pending-window.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;GAEG;AACH,MAAM,OAAO,GAAG,CAAC,CAAC;AAClB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IACd,IAAI,CAAS;IAE7B,YAAY,IAAwB;QAClC,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,IAAwB;QAC/C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,OAAO,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;YACpE,MAAM,IAAI,yBAAyB,CACjC,sDAAsD,MAAM,CAAC,OAAO,CAAC,QAAQ,MAAM,CAAC,OAAO,CAAC,EAAE,CAC/F,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,GAAS;QACxB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,CAAC;IAClE,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * The command types of every simulated KMS operation, in one place.
3
+ *
4
+ * The SimKms facade handles all of them, so gathering the types here keeps it
5
+ * a delegation rather than a page of imports.
6
+ */
7
+ export type { SimCreateAliasCommand, SimCreateAliasCommandOutput, SimListAliasesCommand, SimListAliasesCommandOutput, } from "./alias/alias.command.js";
8
+ export type { SimDecryptCommand, SimDecryptCommandOutput, SimEncryptCommand, SimEncryptCommandOutput, SimGenerateDataKeyCommand, SimGenerateDataKeyCommandOutput, } from "./crypto/crypto.command.js";
9
+ export type { SimCancelKeyDeletionCommand, SimCancelKeyDeletionCommandOutput, SimCreateKeyCommand, SimCreateKeyCommandOutput, SimDescribeKeyCommand, SimDescribeKeyCommandOutput, SimDisableKeyCommand, SimDisableKeyCommandOutput, SimEnableKeyCommand, SimEnableKeyCommandOutput, SimGetKeyPolicyCommand, SimGetKeyPolicyCommandOutput, SimListKeysCommand, SimListKeysCommandOutput, SimPutKeyPolicyCommand, SimPutKeyPolicyCommandOutput, SimScheduleKeyDeletionCommand, SimScheduleKeyDeletionCommandOutput, } from "./key/key.command.js";
10
+ //# sourceMappingURL=sim-kms-command.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-command.types.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/command/sim-kms-command.types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,YAAY,EACV,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,2BAA2B,EAC3B,iCAAiC,EACjC,mBAAmB,EACnB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,yBAAyB,EACzB,sBAAsB,EACtB,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,4BAA4B,EAC5B,6BAA6B,EAC7B,mCAAmC,GACpC,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sim-kms-command.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-command.types.js","sourceRoot":"","sources":["../../../../src/service/kms/command/sim-kms-command.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Minimal metadata shape for simulated KMS errors.
3
+ */
4
+ export interface SimKmsErrorMetadata {
5
+ readonly httpStatusCode?: number;
6
+ }
7
+ /**
8
+ * Base class for simulated KMS errors.
9
+ */
10
+ export declare class SimKmsError extends Error {
11
+ readonly $metadata: SimKmsErrorMetadata;
12
+ constructor(message: string, $metadata?: SimKmsErrorMetadata);
13
+ }
14
+ /**
15
+ * Simulated KMS NotFoundException error.
16
+ *
17
+ * Real KMS reports a key, alias or key ARN it cannot find this way, whether
18
+ * the identifier is unknown or belongs to another Account or Region.
19
+ */
20
+ export declare class SimKmsNotFoundException extends SimKmsError {
21
+ readonly name = "NotFoundException";
22
+ constructor(message: string);
23
+ }
24
+ /**
25
+ * Simulated KMS AlreadyExistsException error.
26
+ */
27
+ export declare class SimKmsAlreadyExistsException extends SimKmsError {
28
+ readonly name = "AlreadyExistsException";
29
+ constructor(message: string);
30
+ }
31
+ /**
32
+ * Simulated KMS DisabledException error.
33
+ *
34
+ * Real KMS distinguishes a disabled key from one pending deletion: a
35
+ * cryptographic operation on a disabled key fails this way, while a key
36
+ * pending deletion fails with KMSInvalidStateException.
37
+ */
38
+ export declare class SimKmsDisabledException extends SimKmsError {
39
+ readonly name = "DisabledException";
40
+ constructor(message: string);
41
+ }
42
+ /**
43
+ * Simulated KMS KMSInvalidStateException error.
44
+ */
45
+ export declare class SimKmsInvalidStateException extends SimKmsError {
46
+ readonly name = "KMSInvalidStateException";
47
+ constructor(message: string);
48
+ }
49
+ /**
50
+ * Simulated KMS InvalidCiphertextException error.
51
+ *
52
+ * This covers every reason a ciphertext will not open: it was not produced by
53
+ * this simulation, it was produced under a different key, or the encryption
54
+ * context does not match the one it was encrypted with. Real KMS is equally
55
+ * uninformative here on purpose, because saying more would leak something
56
+ * about the key or the plaintext.
57
+ */
58
+ export declare class SimKmsInvalidCiphertextException extends SimKmsError {
59
+ readonly name = "InvalidCiphertextException";
60
+ constructor(message?: string);
61
+ }
62
+ /**
63
+ * Simulated KMS IncorrectKeyException error.
64
+ *
65
+ * Decrypt was given a KeyId, and the ciphertext was produced under a different
66
+ * key. Naming the key is optional for a symmetric ciphertext precisely because
67
+ * the blob already says which key made it, so a mismatch means the caller's
68
+ * expectation was wrong rather than the ciphertext being unreadable.
69
+ */
70
+ export declare class SimKmsIncorrectKeyException extends SimKmsError {
71
+ readonly name = "IncorrectKeyException";
72
+ constructor(message: string);
73
+ }
74
+ /**
75
+ * Simulated KMS ValidationException error.
76
+ */
77
+ export declare class SimKmsValidationException extends SimKmsError {
78
+ readonly name = "ValidationException";
79
+ constructor(message: string);
80
+ }
81
+ /**
82
+ * Simulated KMS InvalidKeyUsageException error.
83
+ */
84
+ export declare class SimKmsInvalidKeyUsageException extends SimKmsError {
85
+ readonly name = "InvalidKeyUsageException";
86
+ constructor(message: string);
87
+ }
88
+ //# sourceMappingURL=sim-kms.error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms.error.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/error/sim-kms.error.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;aAGlB,SAAS,EAAE,mBAAmB;IAFhD,YACE,OAAO,EAAE,MAAM,EACC,SAAS,GAAE,mBAAwB,EAGpD;CACF;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,SAAyB,IAAI,uBAAuB;IAEpD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,WAAW;IAC3D,SAAyB,IAAI,4BAA4B;IAEzD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,SAAyB,IAAI,uBAAuB;IAEpD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,WAAW;IAC1D,SAAyB,IAAI,8BAA8B;IAE3D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;;;;;;;GAQG;AACH,qBAAa,gCAAiC,SAAQ,WAAW;IAC/D,SAAyB,IAAI,gCAAgC;IAE7D,YAAY,OAAO,SAAuD,EAEzE;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,2BAA4B,SAAQ,WAAW;IAC1D,SAAyB,IAAI,2BAA2B;IAExD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,WAAW;IACxD,SAAyB,IAAI,yBAAyB;IAEtD,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF;AAED;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,WAAW;IAC7D,SAAyB,IAAI,8BAA8B;IAE3D,YAAY,OAAO,EAAE,MAAM,EAE1B;CACF"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Base class for simulated KMS errors.
3
+ */
4
+ export class SimKmsError extends Error {
5
+ $metadata;
6
+ constructor(message, $metadata = {}) {
7
+ super(message);
8
+ this.$metadata = $metadata;
9
+ }
10
+ }
11
+ /**
12
+ * Simulated KMS NotFoundException error.
13
+ *
14
+ * Real KMS reports a key, alias or key ARN it cannot find this way, whether
15
+ * the identifier is unknown or belongs to another Account or Region.
16
+ */
17
+ export class SimKmsNotFoundException extends SimKmsError {
18
+ name = "NotFoundException";
19
+ constructor(message) {
20
+ super(message, { httpStatusCode: 400 });
21
+ }
22
+ }
23
+ /**
24
+ * Simulated KMS AlreadyExistsException error.
25
+ */
26
+ export class SimKmsAlreadyExistsException extends SimKmsError {
27
+ name = "AlreadyExistsException";
28
+ constructor(message) {
29
+ super(message, { httpStatusCode: 400 });
30
+ }
31
+ }
32
+ /**
33
+ * Simulated KMS DisabledException error.
34
+ *
35
+ * Real KMS distinguishes a disabled key from one pending deletion: a
36
+ * cryptographic operation on a disabled key fails this way, while a key
37
+ * pending deletion fails with KMSInvalidStateException.
38
+ */
39
+ export class SimKmsDisabledException extends SimKmsError {
40
+ name = "DisabledException";
41
+ constructor(message) {
42
+ super(message, { httpStatusCode: 400 });
43
+ }
44
+ }
45
+ /**
46
+ * Simulated KMS KMSInvalidStateException error.
47
+ */
48
+ export class SimKmsInvalidStateException extends SimKmsError {
49
+ name = "KMSInvalidStateException";
50
+ constructor(message) {
51
+ super(message, { httpStatusCode: 400 });
52
+ }
53
+ }
54
+ /**
55
+ * Simulated KMS InvalidCiphertextException error.
56
+ *
57
+ * This covers every reason a ciphertext will not open: it was not produced by
58
+ * this simulation, it was produced under a different key, or the encryption
59
+ * context does not match the one it was encrypted with. Real KMS is equally
60
+ * uninformative here on purpose, because saying more would leak something
61
+ * about the key or the plaintext.
62
+ */
63
+ export class SimKmsInvalidCiphertextException extends SimKmsError {
64
+ name = "InvalidCiphertextException";
65
+ constructor(message = "The ciphertext refers to a key that does not exist") {
66
+ super(message, { httpStatusCode: 400 });
67
+ }
68
+ }
69
+ /**
70
+ * Simulated KMS IncorrectKeyException error.
71
+ *
72
+ * Decrypt was given a KeyId, and the ciphertext was produced under a different
73
+ * key. Naming the key is optional for a symmetric ciphertext precisely because
74
+ * the blob already says which key made it, so a mismatch means the caller's
75
+ * expectation was wrong rather than the ciphertext being unreadable.
76
+ */
77
+ export class SimKmsIncorrectKeyException extends SimKmsError {
78
+ name = "IncorrectKeyException";
79
+ constructor(message) {
80
+ super(message, { httpStatusCode: 400 });
81
+ }
82
+ }
83
+ /**
84
+ * Simulated KMS ValidationException error.
85
+ */
86
+ export class SimKmsValidationException extends SimKmsError {
87
+ name = "ValidationException";
88
+ constructor(message) {
89
+ super(message, { httpStatusCode: 400 });
90
+ }
91
+ }
92
+ /**
93
+ * Simulated KMS InvalidKeyUsageException error.
94
+ */
95
+ export class SimKmsInvalidKeyUsageException extends SimKmsError {
96
+ name = "InvalidKeyUsageException";
97
+ constructor(message) {
98
+ super(message, { httpStatusCode: 400 });
99
+ }
100
+ }
101
+ //# sourceMappingURL=sim-kms.error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms.error.js","sourceRoot":"","sources":["../../../../src/service/kms/error/sim-kms.error.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGlB,SAAS;IAF3B,YACE,OAAe,EACC,SAAS,GAAwB,EAAE;QAEnD,KAAK,CAAC,OAAO,CAAC,CAAC;yBAFC,SAAS;IAG3B,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IAC7B,IAAI,GAAG,mBAAmB,CAAC;IAEpD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,WAAW;IAClC,IAAI,GAAG,wBAAwB,CAAC;IAEzD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IAC7B,IAAI,GAAG,mBAAmB,CAAC;IAEpD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,WAAW;IACjC,IAAI,GAAG,0BAA0B,CAAC;IAE3D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,gCAAiC,SAAQ,WAAW;IACtC,IAAI,GAAG,4BAA4B,CAAC;IAE7D,YAAY,OAAO,GAAG,oDAAoD;QACxE,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA4B,SAAQ,WAAW;IACjC,IAAI,GAAG,uBAAuB,CAAC;IAExD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IAC/B,IAAI,GAAG,qBAAqB,CAAC;IAEtD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,WAAW;IACpC,IAAI,GAAG,0BAA0B,CAAC;IAE3D,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF"}
@@ -0,0 +1,8 @@
1
+ export { SimKms, type SimKmsRequestOptions } from "./sim-kms.js";
2
+ export { SimKmsKey, SimKmsKeyManager, SimKmsKeyState, type SimKmsKeyId, } from "./key/sim-kms-key.js";
3
+ export { SimKmsAlias } from "./key/sim-kms-alias.js";
4
+ export { SimKmsKeyPolicy } from "./key/sim-kms-key-policy.js";
5
+ export type { SimKmsEncryptionContext } from "./key/sim-kms-encryption-context.js";
6
+ export type { SimKmsKeyMetadata } from "./key/sim-kms-key-metadata.js";
7
+ export { SimKmsAlreadyExistsException, SimKmsDisabledException, SimKmsError, SimKmsIncorrectKeyException, SimKmsInvalidCiphertextException, SimKmsInvalidKeyUsageException, SimKmsInvalidStateException, SimKmsNotFoundException, SimKmsValidationException, } from "./error/sim-kms.error.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/kms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,KAAK,WAAW,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AACnF,YAAY,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,WAAW,EACX,2BAA2B,EAC3B,gCAAgC,EAChC,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { SimKms } from "./sim-kms.js";
2
+ export { SimKmsKey, SimKmsKeyManager, SimKmsKeyState, } from "./key/sim-kms-key.js";
3
+ export { SimKmsAlias } from "./key/sim-kms-alias.js";
4
+ export { SimKmsKeyPolicy } from "./key/sim-kms-key-policy.js";
5
+ export { SimKmsAlreadyExistsException, SimKmsDisabledException, SimKmsError, SimKmsIncorrectKeyException, SimKmsInvalidCiphertextException, SimKmsInvalidKeyUsageException, SimKmsInvalidStateException, SimKmsNotFoundException, SimKmsValidationException, } from "./error/sim-kms.error.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/kms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,cAAc,CAAC;AACjE,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,cAAc,GAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,WAAW,EACX,2BAA2B,EAC3B,gCAAgC,EAChC,8BAA8B,EAC9B,2BAA2B,EAC3B,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,45 @@
1
+ import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
2
+ import type { SimKmsKeyId } from "./sim-kms-key.js";
3
+ /**
4
+ * The prefix every KMS alias name carries.
5
+ */
6
+ export declare const simKmsAliasPrefix = "alias/";
7
+ /**
8
+ * The prefix reserved for aliases of AWS managed keys, such as
9
+ * `alias/aws/s3`. Real KMS refuses to let a customer create one.
10
+ */
11
+ export declare const simKmsAwsAliasPrefix = "alias/aws/";
12
+ interface SimKmsAliasProperties {
13
+ readonly aliasName: string;
14
+ readonly targetKeyId: SimKmsKeyId;
15
+ readonly accountRegionScope: SimAwsAccountRegionScope;
16
+ }
17
+ /**
18
+ * An alias pointing at one simulated KMS key.
19
+ *
20
+ * An alias is a mutable name for a key rather than part of the key, so it is
21
+ * stored separately: retargeting an alias must not disturb the key, and
22
+ * deleting an alias must leave the key alone.
23
+ */
24
+ export declare class SimKmsAlias {
25
+ readonly aliasName: string;
26
+ readonly arn: string;
27
+ readonly targetKeyId: SimKmsKeyId;
28
+ constructor(properties: SimKmsAliasProperties);
29
+ }
30
+ /**
31
+ * Checks alias names against the rules real KMS applies.
32
+ *
33
+ * Failing an invalid name here rather than storing it keeps a test from
34
+ * passing on an alias that CreateAlias would reject on real AWS.
35
+ */
36
+ export declare class SimKmsAliasName {
37
+ private static readonly allowed;
38
+ private static readonly maxLength;
39
+ /**
40
+ * Validate an alias name a customer asked to create.
41
+ */
42
+ validateCustomerAlias(aliasName: string): void;
43
+ }
44
+ export {};
45
+ //# sourceMappingURL=sim-kms-alias.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-alias.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-alias.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAE1F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAAe,CAAC;AAEjD,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;CACvD;AAED;;;;;;GAMG;AACH,qBAAa,WAAW;IACtB,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,WAAW,EAAE,WAAW,CAAC;IAEzC,YAAY,UAAU,EAAE,qBAAqB,EAM5C;CACF;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAgB;IAC/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAO;IAExC;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CA8B7C;CACF"}
@@ -0,0 +1,59 @@
1
+ import { SimKmsValidationException } from "../error/sim-kms.error.js";
2
+ /**
3
+ * The prefix every KMS alias name carries.
4
+ */
5
+ export const simKmsAliasPrefix = "alias/";
6
+ /**
7
+ * The prefix reserved for aliases of AWS managed keys, such as
8
+ * `alias/aws/s3`. Real KMS refuses to let a customer create one.
9
+ */
10
+ export const simKmsAwsAliasPrefix = "alias/aws/";
11
+ /**
12
+ * An alias pointing at one simulated KMS key.
13
+ *
14
+ * An alias is a mutable name for a key rather than part of the key, so it is
15
+ * stored separately: retargeting an alias must not disturb the key, and
16
+ * deleting an alias must leave the key alone.
17
+ */
18
+ export class SimKmsAlias {
19
+ aliasName;
20
+ arn;
21
+ targetKeyId;
22
+ constructor(properties) {
23
+ const { accountRegionScope } = properties;
24
+ this.aliasName = properties.aliasName;
25
+ this.arn = `arn:aws:kms:${accountRegionScope.regionName}:${accountRegionScope.accountId}:${properties.aliasName}`;
26
+ this.targetKeyId = properties.targetKeyId;
27
+ }
28
+ }
29
+ /**
30
+ * Checks alias names against the rules real KMS applies.
31
+ *
32
+ * Failing an invalid name here rather than storing it keeps a test from
33
+ * passing on an alias that CreateAlias would reject on real AWS.
34
+ */
35
+ export class SimKmsAliasName {
36
+ static allowed = /^[\w/-]+$/u;
37
+ static maxLength = 256;
38
+ /**
39
+ * Validate an alias name a customer asked to create.
40
+ */
41
+ validateCustomerAlias(aliasName) {
42
+ if (aliasName.length > SimKmsAliasName.maxLength) {
43
+ throw new SimKmsValidationException(`Alias '${aliasName}' is longer than the ${String(SimKmsAliasName.maxLength)} character limit`);
44
+ }
45
+ if (aliasName === simKmsAliasPrefix) {
46
+ throw new SimKmsValidationException(`Alias must name something after '${simKmsAliasPrefix}'`);
47
+ }
48
+ if (!aliasName.startsWith(simKmsAliasPrefix)) {
49
+ throw new SimKmsValidationException(`Alias must start with '${simKmsAliasPrefix}': ${aliasName}`);
50
+ }
51
+ if (aliasName.startsWith(simKmsAwsAliasPrefix)) {
52
+ throw new SimKmsValidationException(`Alias '${aliasName}' is reserved for AWS managed keys`);
53
+ }
54
+ if (!SimKmsAliasName.allowed.test(aliasName)) {
55
+ throw new SimKmsValidationException(`Alias '${aliasName}' contains characters KMS does not allow`);
56
+ }
57
+ }
58
+ }
59
+ //# sourceMappingURL=sim-kms-alias.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-alias.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-alias.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAGtE;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAQjD;;;;;;GAMG;AACH,MAAM,OAAO,WAAW;IACN,SAAS,CAAS;IAClB,GAAG,CAAS;IACZ,WAAW,CAAc;IAEzC,YAAY,UAAiC;QAC3C,MAAM,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC;QAE1C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,eAAe,kBAAkB,CAAC,UAAU,IAAI,kBAAkB,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;QAClH,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC5C,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAClB,MAAM,CAAU,OAAO,GAAG,YAAY,CAAC;IACvC,MAAM,CAAU,SAAS,GAAG,GAAG,CAAC;IAExC;;OAEG;IACH,qBAAqB,CAAC,SAAiB;QACrC,IAAI,SAAS,CAAC,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,CAAC;YACjD,MAAM,IAAI,yBAAyB,CACjC,UAAU,SAAS,wBAAwB,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,kBAAkB,CAC/F,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,KAAK,iBAAiB,EAAE,CAAC;YACpC,MAAM,IAAI,yBAAyB,CACjC,oCAAoC,iBAAiB,GAAG,CACzD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,yBAAyB,CACjC,0BAA0B,iBAAiB,MAAM,SAAS,EAAE,CAC7D,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,yBAAyB,CACjC,UAAU,SAAS,oCAAoC,CACxD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,yBAAyB,CACjC,UAAU,SAAS,0CAA0C,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,43 @@
1
+ interface SimKmsCiphertextBlobPartsProperties {
2
+ readonly keyArn: string;
3
+ readonly iv: Uint8Array;
4
+ readonly authTag: Uint8Array;
5
+ readonly ciphertext: Uint8Array;
6
+ }
7
+ /**
8
+ * The parts of one ciphertext blob.
9
+ */
10
+ export declare class SimKmsCiphertextBlobParts {
11
+ readonly keyArn: string;
12
+ readonly iv: Uint8Array;
13
+ readonly authTag: Uint8Array;
14
+ readonly ciphertext: Uint8Array;
15
+ constructor(properties: SimKmsCiphertextBlobPartsProperties);
16
+ }
17
+ /**
18
+ * Encodes and decodes the opaque ciphertext blob KMS hands back.
19
+ *
20
+ * Real KMS blobs are opaque to the caller but not to KMS: a blob names the key
21
+ * that produced it, which is why Decrypt needs no KeyId for a symmetric key.
22
+ * This layout keeps that property, carrying the key ARN alongside the AES-GCM
23
+ * initialisation vector and authentication tag.
24
+ *
25
+ * Opaque means callers must not read it. It is not encrypted, and it is not
26
+ * portable to real AWS or between simulations.
27
+ */
28
+ export declare class SimKmsCiphertextBlob {
29
+ /**
30
+ * Encode the parts of an encryption into one blob.
31
+ */
32
+ encode(parts: SimKmsCiphertextBlobParts): Uint8Array;
33
+ /**
34
+ * Read the parts back out of a blob.
35
+ *
36
+ * Anything that is not a blob this simulation produced is an invalid
37
+ * ciphertext, which is the same answer real KMS gives for bytes it cannot
38
+ * make sense of.
39
+ */
40
+ decode(blob: Uint8Array): SimKmsCiphertextBlobParts;
41
+ }
42
+ export {};
43
+ //# sourceMappingURL=sim-kms-ciphertext-blob.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-ciphertext-blob.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-ciphertext-blob.ts"],"names":[],"mappings":"AAkBA,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;CACjC;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,EAAE,EAAE,UAAU,CAAC;IAC/B,SAAgB,OAAO,EAAE,UAAU,CAAC;IACpC,SAAgB,UAAU,EAAE,UAAU,CAAC;IAEvC,YAAY,UAAU,EAAE,mCAAmC,EAK1D;CACF;AAED;;;;;;;;;;GAUG;AACH,qBAAa,oBAAoB;IAC/B;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,yBAAyB,GAAG,UAAU,CAgBnD;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,yBAAyB,CA2BlD;CACF"}
@@ -0,0 +1,89 @@
1
+ import { SimKmsInvalidCiphertextException } from "../error/sim-kms.error.js";
2
+ /**
3
+ * Marks a byte string as one of this simulation's ciphertext blobs, so that
4
+ * arbitrary bytes handed to Decrypt are rejected rather than misread as a
5
+ * short blob.
6
+ */
7
+ const magic = Buffer.from("YULINKMS", "ascii");
8
+ /**
9
+ * Blob layout version, so a future change to the layout can be told apart
10
+ * from a blob this simulation cannot read at all.
11
+ */
12
+ const version = 1;
13
+ const ivLength = 12;
14
+ const authTagLength = 16;
15
+ /**
16
+ * The parts of one ciphertext blob.
17
+ */
18
+ export class SimKmsCiphertextBlobParts {
19
+ keyArn;
20
+ iv;
21
+ authTag;
22
+ ciphertext;
23
+ constructor(properties) {
24
+ this.keyArn = properties.keyArn;
25
+ this.iv = properties.iv;
26
+ this.authTag = properties.authTag;
27
+ this.ciphertext = properties.ciphertext;
28
+ }
29
+ }
30
+ /**
31
+ * Encodes and decodes the opaque ciphertext blob KMS hands back.
32
+ *
33
+ * Real KMS blobs are opaque to the caller but not to KMS: a blob names the key
34
+ * that produced it, which is why Decrypt needs no KeyId for a symmetric key.
35
+ * This layout keeps that property, carrying the key ARN alongside the AES-GCM
36
+ * initialisation vector and authentication tag.
37
+ *
38
+ * Opaque means callers must not read it. It is not encrypted, and it is not
39
+ * portable to real AWS or between simulations.
40
+ */
41
+ export class SimKmsCiphertextBlob {
42
+ /**
43
+ * Encode the parts of an encryption into one blob.
44
+ */
45
+ encode(parts) {
46
+ const keyArn = Buffer.from(parts.keyArn, "utf8");
47
+ const header = Buffer.alloc(2);
48
+ header.writeUInt8(version, 0);
49
+ header.writeUInt8(keyArn.length, 1);
50
+ return Uint8Array.from(Buffer.concat([
51
+ magic,
52
+ header,
53
+ keyArn,
54
+ parts.iv,
55
+ parts.authTag,
56
+ parts.ciphertext,
57
+ ]));
58
+ }
59
+ /**
60
+ * Read the parts back out of a blob.
61
+ *
62
+ * Anything that is not a blob this simulation produced is an invalid
63
+ * ciphertext, which is the same answer real KMS gives for bytes it cannot
64
+ * make sense of.
65
+ */
66
+ decode(blob) {
67
+ const buffer = Buffer.from(blob);
68
+ const keyArnStart = magic.length + 2;
69
+ if (buffer.length < keyArnStart ||
70
+ !buffer.subarray(0, magic.length).equals(magic) ||
71
+ buffer.readUInt8(magic.length) !== version) {
72
+ throw new SimKmsInvalidCiphertextException();
73
+ }
74
+ const keyArnLength = buffer.readUInt8(magic.length + 1);
75
+ const ivStart = keyArnStart + keyArnLength;
76
+ const authTagStart = ivStart + ivLength;
77
+ const ciphertextStart = authTagStart + authTagLength;
78
+ if (buffer.length < ciphertextStart) {
79
+ throw new SimKmsInvalidCiphertextException();
80
+ }
81
+ return new SimKmsCiphertextBlobParts({
82
+ keyArn: buffer.subarray(keyArnStart, ivStart).toString("utf8"),
83
+ iv: Uint8Array.from(buffer.subarray(ivStart, authTagStart)),
84
+ authTag: Uint8Array.from(buffer.subarray(authTagStart, ciphertextStart)),
85
+ ciphertext: Uint8Array.from(buffer.subarray(ciphertextStart)),
86
+ });
87
+ }
88
+ }
89
+ //# sourceMappingURL=sim-kms-ciphertext-blob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-ciphertext-blob.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-ciphertext-blob.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAE7E;;;;GAIG;AACH,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAE/C;;;GAGG;AACH,MAAM,OAAO,GAAG,CAAC,CAAC;AAElB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,aAAa,GAAG,EAAE,CAAC;AASzB;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACpB,MAAM,CAAS;IACf,EAAE,CAAa;IACf,OAAO,CAAa;IACpB,UAAU,CAAa;IAEvC,YAAY,UAA+C;QACzD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAoB;IAC/B;;OAEG;IACH,MAAM,CAAC,KAAgC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAEpC,OAAO,UAAU,CAAC,IAAI,CACpB,MAAM,CAAC,MAAM,CAAC;YACZ,KAAK;YACL,MAAM;YACN,MAAM;YACN,KAAK,CAAC,EAAE;YACR,KAAK,CAAC,OAAO;YACb,KAAK,CAAC,UAAU;SACjB,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,IAAgB;QACrB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAErC,IACE,MAAM,CAAC,MAAM,GAAG,WAAW;YAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/C,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,OAAO,EAC1C,CAAC;YACD,MAAM,IAAI,gCAAgC,EAAE,CAAC;QAC/C,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,WAAW,GAAG,YAAY,CAAC;QAC3C,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC;QACxC,MAAM,eAAe,GAAG,YAAY,GAAG,aAAa,CAAC;QAErD,IAAI,MAAM,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACpC,MAAM,IAAI,gCAAgC,EAAE,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,yBAAyB,CAAC;YACnC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9D,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC3D,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YACxE,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;SAC9D,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * An AWS KMS encryption context: non-secret key/value pairs bound to a
3
+ * ciphertext.
4
+ */
5
+ export type SimKmsEncryptionContext = Readonly<Record<string, string>>;
6
+ /**
7
+ * Serialises an encryption context into the additional authenticated data of
8
+ * an AES-GCM operation.
9
+ *
10
+ * The encryption context is exactly what AAD is for: it is not secret, it is
11
+ * not stored in the ciphertext, and supplying a different one on decryption
12
+ * has to fail. Binding it as AAD gets that behaviour from the cipher itself
13
+ * rather than from a comparison the simulator would have to remember to make.
14
+ *
15
+ * Real KMS treats the context as an unordered map, so the serialisation sorts
16
+ * by key. Two contexts with the same pairs written in a different order have
17
+ * to produce the same AAD, or a decryption that AWS would allow would fail
18
+ * here.
19
+ */
20
+ export declare class SimKmsEncryptionContextAad {
21
+ /**
22
+ * Serialise an encryption context to the bytes bound into the ciphertext.
23
+ */
24
+ serialise(context: SimKmsEncryptionContext | undefined): Uint8Array;
25
+ /**
26
+ * The canonical string form of an encryption context.
27
+ *
28
+ * Pairs are sorted by key and both halves are escaped, so that no pair of
29
+ * distinct contexts can serialise to the same string by placing a separator
30
+ * inside a key or a value.
31
+ */
32
+ private canonical;
33
+ }
34
+ //# sourceMappingURL=sim-kms-encryption-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-encryption-context.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-encryption-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvE;;;;;;;;;;;;;GAaG;AACH,qBAAa,0BAA0B;IACrC;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,GAAG,UAAU,CAElE;IAED;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;CAalB"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Serialises an encryption context into the additional authenticated data of
3
+ * an AES-GCM operation.
4
+ *
5
+ * The encryption context is exactly what AAD is for: it is not secret, it is
6
+ * not stored in the ciphertext, and supplying a different one on decryption
7
+ * has to fail. Binding it as AAD gets that behaviour from the cipher itself
8
+ * rather than from a comparison the simulator would have to remember to make.
9
+ *
10
+ * Real KMS treats the context as an unordered map, so the serialisation sorts
11
+ * by key. Two contexts with the same pairs written in a different order have
12
+ * to produce the same AAD, or a decryption that AWS would allow would fail
13
+ * here.
14
+ */
15
+ export class SimKmsEncryptionContextAad {
16
+ /**
17
+ * Serialise an encryption context to the bytes bound into the ciphertext.
18
+ */
19
+ serialise(context) {
20
+ return Buffer.from(this.canonical(context), "utf8");
21
+ }
22
+ /**
23
+ * The canonical string form of an encryption context.
24
+ *
25
+ * Pairs are sorted by key and both halves are escaped, so that no pair of
26
+ * distinct contexts can serialise to the same string by placing a separator
27
+ * inside a key or a value.
28
+ */
29
+ canonical(context) {
30
+ if (context === undefined) {
31
+ return "";
32
+ }
33
+ return Object.entries(context)
34
+ .toSorted(([left], [right]) => left.localeCompare(right))
35
+ .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
36
+ .join("&");
37
+ }
38
+ }
39
+ //# sourceMappingURL=sim-kms-encryption-context.js.map