@kensio/yulin 0.41.0 → 0.42.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 (424) hide show
  1. package/README.md +1 -0
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
  3. package/dist/sdk/router/resolve-sim-sdk-command-router.js +3 -0
  4. package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
  5. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +18 -27
  6. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  7. package/dist/service/aws/factory/sim-aws-service-factory.js +26 -27
  8. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  9. package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
  10. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  11. package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
  12. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  13. package/dist/service/aws/sim-aws.d.ts +15 -36
  14. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  15. package/dist/service/aws/sim-aws.js +16 -36
  16. package/dist/service/aws/sim-aws.js.map +1 -1
  17. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
  18. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +2 -0
  19. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
  20. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.d.ts +6 -0
  21. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.d.ts.map +1 -0
  22. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.js +13 -0
  23. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-cfn-value-adapter.js.map +1 -0
  24. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.d.ts +27 -0
  25. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.d.ts.map +1 -0
  26. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.js +36 -0
  27. package/dist/service/cloudformation/resource/cfn/ssm/sim-ssm-parameter-cfn.js.map +1 -0
  28. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.d.ts.map +1 -1
  29. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js +3 -0
  30. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js.map +1 -1
  31. package/dist/service/cognito/command/authorize/sim-cognito-authorizer.d.ts +36 -0
  32. package/dist/service/cognito/command/authorize/sim-cognito-authorizer.d.ts.map +1 -0
  33. package/dist/service/cognito/command/authorize/sim-cognito-authorizer.js +54 -0
  34. package/dist/service/cognito/command/authorize/sim-cognito-authorizer.js.map +1 -0
  35. package/dist/service/cognito/command/client/list-user-pool-clients.command.d.ts +29 -0
  36. package/dist/service/cognito/command/client/list-user-pool-clients.command.d.ts.map +1 -0
  37. package/dist/service/cognito/command/client/list-user-pool-clients.command.js +2 -0
  38. package/dist/service/cognito/command/client/list-user-pool-clients.command.js.map +1 -0
  39. package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.d.ts +30 -0
  40. package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.d.ts.map +1 -0
  41. package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.js +44 -0
  42. package/dist/service/cognito/command/client/sim-cognito-list-user-pool-clients.js.map +1 -0
  43. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts +16 -0
  44. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.d.ts.map +1 -0
  45. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js +28 -0
  46. package/dist/service/cognito/command/client/sim-cognito-unsimulated-client-options.js.map +1 -0
  47. package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.d.ts +23 -0
  48. package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.d.ts.map +1 -0
  49. package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.js +51 -0
  50. package/dist/service/cognito/command/client/sim-cognito-unsimulated-managed-login.js.map +1 -0
  51. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.d.ts +50 -0
  52. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.d.ts.map +1 -0
  53. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.js +75 -0
  54. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-commands.js.map +1 -0
  55. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.d.ts +27 -0
  56. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.d.ts.map +1 -0
  57. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.js +45 -0
  58. package/dist/service/cognito/command/client/sim-cognito-user-pool-client-view.js.map +1 -0
  59. package/dist/service/cognito/command/client/user-pool-client.command.d.ts +97 -0
  60. package/dist/service/cognito/command/client/user-pool-client.command.d.ts.map +1 -0
  61. package/dist/service/cognito/command/client/user-pool-client.command.js +2 -0
  62. package/dist/service/cognito/command/client/user-pool-client.command.js.map +1 -0
  63. package/dist/service/cognito/command/sim-cognito-command.types.d.ts +8 -0
  64. package/dist/service/cognito/command/sim-cognito-command.types.d.ts.map +1 -0
  65. package/dist/service/cognito/command/sim-cognito-command.types.js +2 -0
  66. package/dist/service/cognito/command/sim-cognito-command.types.js.map +1 -0
  67. package/dist/service/cognito/command/sim-cognito-page.d.ts +29 -0
  68. package/dist/service/cognito/command/sim-cognito-page.d.ts.map +1 -0
  69. package/dist/service/cognito/command/sim-cognito-page.js +59 -0
  70. package/dist/service/cognito/command/sim-cognito-page.js.map +1 -0
  71. package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts +21 -0
  72. package/dist/service/cognito/command/sim-cognito-unsimulated-input.d.ts.map +1 -0
  73. package/dist/service/cognito/command/sim-cognito-unsimulated-input.js +37 -0
  74. package/dist/service/cognito/command/sim-cognito-unsimulated-input.js.map +1 -0
  75. package/dist/service/cognito/command/user-pool/list-user-pools.command.d.ts +29 -0
  76. package/dist/service/cognito/command/user-pool/list-user-pools.command.d.ts.map +1 -0
  77. package/dist/service/cognito/command/user-pool/list-user-pools.command.js +2 -0
  78. package/dist/service/cognito/command/user-pool/list-user-pools.command.js.map +1 -0
  79. package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.d.ts +37 -0
  80. package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.d.ts.map +1 -0
  81. package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.js +48 -0
  82. package/dist/service/cognito/command/user-pool/sim-cognito-list-user-pools.js.map +1 -0
  83. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.d.ts +16 -0
  84. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.d.ts.map +1 -0
  85. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.js +30 -0
  86. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-features.js.map +1 -0
  87. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts +16 -0
  88. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.d.ts.map +1 -0
  89. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js +24 -0
  90. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-messaging.js.map +1 -0
  91. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.d.ts +28 -0
  92. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.d.ts.map +1 -0
  93. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.js +47 -0
  94. package/dist/service/cognito/command/user-pool/sim-cognito-unsimulated-pool-options.js.map +1 -0
  95. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.d.ts +41 -0
  96. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.d.ts.map +1 -0
  97. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.js +65 -0
  98. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-commands.js.map +1 -0
  99. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts +25 -0
  100. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.d.ts.map +1 -0
  101. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js +41 -0
  102. package/dist/service/cognito/command/user-pool/sim-cognito-user-pool-view.js.map +1 -0
  103. package/dist/service/cognito/command/user-pool/user-pool.command.d.ts +94 -0
  104. package/dist/service/cognito/command/user-pool/user-pool.command.d.ts.map +1 -0
  105. package/dist/service/cognito/command/user-pool/user-pool.command.js +2 -0
  106. package/dist/service/cognito/command/user-pool/user-pool.command.js.map +1 -0
  107. package/dist/service/cognito/error/sim-cognito.error.d.ts +34 -0
  108. package/dist/service/cognito/error/sim-cognito.error.d.ts.map +1 -0
  109. package/dist/service/cognito/error/sim-cognito.error.js +35 -0
  110. package/dist/service/cognito/error/sim-cognito.error.js.map +1 -0
  111. package/dist/service/cognito/index.d.ts +13 -0
  112. package/dist/service/cognito/index.d.ts.map +1 -0
  113. package/dist/service/cognito/index.js +11 -0
  114. package/dist/service/cognito/index.js.map +1 -0
  115. package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.d.ts +18 -0
  116. package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.d.ts.map +1 -0
  117. package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.js +56 -0
  118. package/dist/service/cognito/sdk/sim-cognito-sdk-command-router.js.map +1 -0
  119. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +81 -0
  120. package/dist/service/cognito/sim-cognito-identity-provider.d.ts.map +1 -0
  121. package/dist/service/cognito/sim-cognito-identity-provider.js +132 -0
  122. package/dist/service/cognito/sim-cognito-identity-provider.js.map +1 -0
  123. package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.d.ts +10 -0
  124. package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.d.ts.map +1 -0
  125. package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.js +22 -0
  126. package/dist/service/cognito/user-pool/client/sim-cognito-client-secret.js.map +1 -0
  127. package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.d.ts +23 -0
  128. package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.d.ts.map +1 -0
  129. package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.js +77 -0
  130. package/dist/service/cognito/user-pool/client/sim-cognito-explicit-auth-flows.js.map +1 -0
  131. package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.d.ts +13 -0
  132. package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.d.ts.map +1 -0
  133. package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.js +28 -0
  134. package/dist/service/cognito/user-pool/client/sim-cognito-refresh-token-lifetime.js.map +1 -0
  135. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.d.ts +29 -0
  136. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.d.ts.map +1 -0
  137. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.js +41 -0
  138. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime-specs.js.map +1 -0
  139. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.d.ts +49 -0
  140. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.d.ts.map +1 -0
  141. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.js +66 -0
  142. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.js.map +1 -0
  143. package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.d.ts +41 -0
  144. package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.d.ts.map +1 -0
  145. package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.js +40 -0
  146. package/dist/service/cognito/user-pool/client/sim-cognito-token-validity.js.map +1 -0
  147. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts +32 -0
  148. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.d.ts.map +1 -0
  149. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js +44 -0
  150. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-factory.js.map +1 -0
  151. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.d.ts +11 -0
  152. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.d.ts.map +1 -0
  153. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.js +39 -0
  154. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-id.js.map +1 -0
  155. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.d.ts +37 -0
  156. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.d.ts.map +1 -0
  157. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.js +52 -0
  158. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client-store.js.map +1 -0
  159. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.d.ts +50 -0
  160. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.d.ts.map +1 -0
  161. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.js +47 -0
  162. package/dist/service/cognito/user-pool/client/sim-cognito-user-pool-client.js.map +1 -0
  163. package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.d.ts +18 -0
  164. package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.d.ts.map +1 -0
  165. package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.js +31 -0
  166. package/dist/service/cognito/user-pool/sim-cognito-deletion-protection.js.map +1 -0
  167. package/dist/service/cognito/user-pool/sim-cognito-name.d.ts +22 -0
  168. package/dist/service/cognito/user-pool/sim-cognito-name.d.ts.map +1 -0
  169. package/dist/service/cognito/user-pool/sim-cognito-name.js +29 -0
  170. package/dist/service/cognito/user-pool/sim-cognito-name.js.map +1 -0
  171. package/dist/service/cognito/user-pool/sim-cognito-password-policy.d.ts +56 -0
  172. package/dist/service/cognito/user-pool/sim-cognito-password-policy.d.ts.map +1 -0
  173. package/dist/service/cognito/user-pool/sim-cognito-password-policy.js +51 -0
  174. package/dist/service/cognito/user-pool/sim-cognito-password-policy.js.map +1 -0
  175. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts +26 -0
  176. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.d.ts.map +1 -0
  177. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js +26 -0
  178. package/dist/service/cognito/user-pool/sim-cognito-user-pool-arn.js.map +1 -0
  179. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts +34 -0
  180. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.d.ts.map +1 -0
  181. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js +44 -0
  182. package/dist/service/cognito/user-pool/sim-cognito-user-pool-factory.js.map +1 -0
  183. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts +20 -0
  184. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.d.ts.map +1 -0
  185. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js +48 -0
  186. package/dist/service/cognito/user-pool/sim-cognito-user-pool-id.js.map +1 -0
  187. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts +36 -0
  188. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.d.ts.map +1 -0
  189. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js +51 -0
  190. package/dist/service/cognito/user-pool/sim-cognito-user-pool-store.js.map +1 -0
  191. package/dist/service/cognito/user-pool/sim-cognito-user-pool.d.ts +65 -0
  192. package/dist/service/cognito/user-pool/sim-cognito-user-pool.d.ts.map +1 -0
  193. package/dist/service/cognito/user-pool/sim-cognito-user-pool.js +71 -0
  194. package/dist/service/cognito/user-pool/sim-cognito-user-pool.js.map +1 -0
  195. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +23 -4
  196. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
  197. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +22 -9
  198. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
  199. package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.d.ts +21 -0
  200. package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.d.ts.map +1 -0
  201. package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.js +2 -0
  202. package/dist/service/iam/authorize/context/sim-iam-caller-condition-source.js.map +1 -0
  203. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts +3 -6
  204. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts.map +1 -1
  205. package/dist/service/kms/command/alias/sim-kms-alias-commands.js +2 -2
  206. package/dist/service/kms/command/alias/sim-kms-alias-commands.js.map +1 -1
  207. package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts +16 -3
  208. package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts.map +1 -1
  209. package/dist/service/kms/command/authorize/sim-kms-authorizer.js +32 -4
  210. package/dist/service/kms/command/authorize/sim-kms-authorizer.js.map +1 -1
  211. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts +3 -6
  212. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.d.ts.map +1 -1
  213. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js +2 -2
  214. package/dist/service/kms/command/crypto/sim-kms-crypto-commands.js.map +1 -1
  215. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts +2 -5
  216. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.d.ts.map +1 -1
  217. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js +1 -1
  218. package/dist/service/kms/command/crypto/sim-kms-generate-data-key.js.map +1 -1
  219. package/dist/service/kms/command/key/sim-kms-key-commands.d.ts +3 -6
  220. package/dist/service/kms/command/key/sim-kms-key-commands.d.ts.map +1 -1
  221. package/dist/service/kms/command/key/sim-kms-key-commands.js +2 -2
  222. package/dist/service/kms/command/key/sim-kms-key-commands.js.map +1 -1
  223. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts +5 -8
  224. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.d.ts.map +1 -1
  225. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js +4 -4
  226. package/dist/service/kms/command/key/sim-kms-key-lifecycle-commands.js.map +1 -1
  227. package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts +3 -6
  228. package/dist/service/kms/command/key/sim-kms-key-policy-commands.d.ts.map +1 -1
  229. package/dist/service/kms/command/key/sim-kms-key-policy-commands.js +2 -2
  230. package/dist/service/kms/command/key/sim-kms-key-policy-commands.js.map +1 -1
  231. package/dist/service/kms/command/key/sim-kms-list-keys.d.ts +2 -5
  232. package/dist/service/kms/command/key/sim-kms-list-keys.d.ts.map +1 -1
  233. package/dist/service/kms/command/key/sim-kms-list-keys.js +1 -1
  234. package/dist/service/kms/command/key/sim-kms-list-keys.js.map +1 -1
  235. package/dist/service/kms/command/sim-kms-request-options.d.ts +24 -0
  236. package/dist/service/kms/command/sim-kms-request-options.d.ts.map +1 -0
  237. package/dist/service/kms/command/sim-kms-request-options.js +2 -0
  238. package/dist/service/kms/command/sim-kms-request-options.js.map +1 -0
  239. package/dist/service/kms/index.d.ts +2 -1
  240. package/dist/service/kms/index.d.ts.map +1 -1
  241. package/dist/service/kms/index.js.map +1 -1
  242. package/dist/service/kms/key/sim-kms-caller-account.d.ts +25 -0
  243. package/dist/service/kms/key/sim-kms-caller-account.d.ts.map +1 -0
  244. package/dist/service/kms/key/sim-kms-caller-account.js +27 -0
  245. package/dist/service/kms/key/sim-kms-caller-account.js.map +1 -0
  246. package/dist/service/kms/key/sim-kms-key-factory.d.ts +17 -2
  247. package/dist/service/kms/key/sim-kms-key-factory.d.ts.map +1 -1
  248. package/dist/service/kms/key/sim-kms-key-factory.js +25 -7
  249. package/dist/service/kms/key/sim-kms-key-factory.js.map +1 -1
  250. package/dist/service/kms/key/sim-kms-key-policy.d.ts +14 -0
  251. package/dist/service/kms/key/sim-kms-key-policy.d.ts.map +1 -1
  252. package/dist/service/kms/key/sim-kms-key-policy.js +49 -0
  253. package/dist/service/kms/key/sim-kms-key-policy.js.map +1 -1
  254. package/dist/service/kms/key/sim-kms-key-store.d.ts +5 -1
  255. package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -1
  256. package/dist/service/kms/key/sim-kms-key-store.js +7 -3
  257. package/dist/service/kms/key/sim-kms-key-store.js.map +1 -1
  258. package/dist/service/kms/key/sim-kms-via-service.d.ts +37 -0
  259. package/dist/service/kms/key/sim-kms-via-service.d.ts.map +1 -0
  260. package/dist/service/kms/key/sim-kms-via-service.js +50 -0
  261. package/dist/service/kms/key/sim-kms-via-service.js.map +1 -0
  262. package/dist/service/kms/sim-kms.d.ts +1 -4
  263. package/dist/service/kms/sim-kms.d.ts.map +1 -1
  264. package/dist/service/kms/sim-kms.js.map +1 -1
  265. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.d.ts +24 -0
  266. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.d.ts.map +1 -0
  267. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.js +27 -0
  268. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-metadata-update.js.map +1 -0
  269. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts +1 -1
  270. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts.map +1 -1
  271. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js +26 -10
  272. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js.map +1 -1
  273. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts +6 -6
  274. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts.map +1 -1
  275. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js +21 -19
  276. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js.map +1 -1
  277. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts +10 -2
  278. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts.map +1 -1
  279. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js +19 -5
  280. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js.map +1 -1
  281. package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts +22 -0
  282. package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts.map +1 -1
  283. package/dist/service/secretsmanager/error/sim-secrets-manager.error.js +26 -0
  284. package/dist/service/secretsmanager/error/sim-secrets-manager.error.js.map +1 -1
  285. package/dist/service/secretsmanager/index.d.ts +2 -1
  286. package/dist/service/secretsmanager/index.d.ts.map +1 -1
  287. package/dist/service/secretsmanager/index.js +2 -1
  288. package/dist/service/secretsmanager/index.js.map +1 -1
  289. package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.d.ts +35 -0
  290. package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.d.ts.map +1 -0
  291. package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.js +34 -0
  292. package/dist/service/secretsmanager/secret/sim-secrets-manager-encrypted-value.js.map +1 -0
  293. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.d.ts +63 -0
  294. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.d.ts.map +1 -0
  295. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.js +24 -0
  296. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-crypto.js.map +1 -0
  297. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.d.ts +17 -0
  298. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.d.ts.map +1 -0
  299. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.js +30 -0
  300. package/dist/service/secretsmanager/secret/sim-secrets-manager-kms-key-problems.js.map +1 -0
  301. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts +21 -0
  302. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts.map +1 -1
  303. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js +29 -0
  304. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js.map +1 -1
  305. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts +16 -4
  306. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts.map +1 -1
  307. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js +40 -11
  308. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js.map +1 -1
  309. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts +7 -3
  310. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts.map +1 -1
  311. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js +4 -0
  312. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js.map +1 -1
  313. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.d.ts +5 -5
  314. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.js +5 -5
  315. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.d.ts +20 -0
  316. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.d.ts.map +1 -0
  317. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.js +53 -0
  318. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-cipher.js.map +1 -0
  319. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.d.ts +45 -0
  320. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.d.ts.map +1 -0
  321. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.js +56 -0
  322. package/dist/service/secretsmanager/secret/sim-secrets-manager-value-encryption.js.map +1 -0
  323. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.d.ts +37 -0
  324. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.d.ts.map +1 -0
  325. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.js +2 -0
  326. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-write.js.map +1 -0
  327. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts +13 -14
  328. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts.map +1 -1
  329. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js +14 -7
  330. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js.map +1 -1
  331. package/dist/service/secretsmanager/sim-secrets-manager.d.ts +7 -0
  332. package/dist/service/secretsmanager/sim-secrets-manager.d.ts.map +1 -1
  333. package/dist/service/secretsmanager/sim-secrets-manager.js +10 -4
  334. package/dist/service/secretsmanager/sim-secrets-manager.js.map +1 -1
  335. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts +30 -0
  336. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.d.ts.map +1 -0
  337. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js +48 -0
  338. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-creator.js.map +1 -0
  339. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.d.ts +77 -0
  340. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.d.ts.map +1 -0
  341. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.js +125 -0
  342. package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.js.map +1 -0
  343. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts +23 -0
  344. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.d.ts.map +1 -0
  345. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js +30 -0
  346. package/dist/service/ssm/cfn/sim-cfn-ssm-resource-factory.js.map +1 -0
  347. package/dist/service/ssm/command/parameter/parameter.command.d.ts +1 -0
  348. package/dist/service/ssm/command/parameter/parameter.command.d.ts.map +1 -1
  349. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.d.ts +7 -5
  350. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.d.ts.map +1 -1
  351. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.js +19 -8
  352. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.js.map +1 -1
  353. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.d.ts +8 -1
  354. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.d.ts.map +1 -1
  355. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.js +12 -2
  356. package/dist/service/ssm/command/parameter/sim-ssm-get-parameters-by-path.js.map +1 -1
  357. package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.d.ts +23 -0
  358. package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.d.ts.map +1 -0
  359. package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.js +2 -0
  360. package/dist/service/ssm/command/parameter/sim-ssm-parameter-read.js.map +1 -0
  361. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.d.ts +8 -16
  362. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.d.ts.map +1 -1
  363. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.js +12 -7
  364. package/dist/service/ssm/command/parameter/sim-ssm-parameter-reader.js.map +1 -1
  365. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.d.ts +5 -1
  366. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.d.ts.map +1 -1
  367. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.js +7 -2
  368. package/dist/service/ssm/command/parameter/sim-ssm-parameter-view.js.map +1 -1
  369. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.d.ts +1 -1
  370. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.d.ts.map +1 -1
  371. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.js +4 -2
  372. package/dist/service/ssm/command/parameter/sim-ssm-put-parameter.js.map +1 -1
  373. package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.d.ts.map +1 -1
  374. package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.js +0 -1
  375. package/dist/service/ssm/command/parameter/sim-ssm-unsimulated-put-options.js.map +1 -1
  376. package/dist/service/ssm/error/sim-ssm.error.d.ts +11 -0
  377. package/dist/service/ssm/error/sim-ssm.error.d.ts.map +1 -1
  378. package/dist/service/ssm/error/sim-ssm.error.js +13 -0
  379. package/dist/service/ssm/error/sim-ssm.error.js.map +1 -1
  380. package/dist/service/ssm/index.d.ts +3 -1
  381. package/dist/service/ssm/index.d.ts.map +1 -1
  382. package/dist/service/ssm/index.js +3 -1
  383. package/dist/service/ssm/index.js.map +1 -1
  384. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts +55 -0
  385. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts.map +1 -0
  386. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.js +20 -0
  387. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.js.map +1 -0
  388. package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.d.ts +12 -0
  389. package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.d.ts.map +1 -0
  390. package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.js +24 -0
  391. package/dist/service/ssm/parameter/sim-ssm-kms-key-problems.js.map +1 -0
  392. package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.d.ts +42 -0
  393. package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.d.ts.map +1 -0
  394. package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.js +52 -0
  395. package/dist/service/ssm/parameter/sim-ssm-parameter-encryption.js.map +1 -0
  396. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts +43 -0
  397. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts.map +1 -0
  398. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js +68 -0
  399. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js.map +1 -0
  400. package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.d.ts +34 -0
  401. package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.d.ts.map +1 -0
  402. package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.js +48 -0
  403. package/dist/service/ssm/parameter/sim-ssm-parameter-overwrite.js.map +1 -0
  404. package/dist/service/ssm/parameter/sim-ssm-parameter-type.d.ts +9 -5
  405. package/dist/service/ssm/parameter/sim-ssm-parameter-type.d.ts.map +1 -1
  406. package/dist/service/ssm/parameter/sim-ssm-parameter-type.js +17 -13
  407. package/dist/service/ssm/parameter/sim-ssm-parameter-type.js.map +1 -1
  408. package/dist/service/ssm/parameter/sim-ssm-parameter-value.d.ts +19 -3
  409. package/dist/service/ssm/parameter/sim-ssm-parameter-value.d.ts.map +1 -1
  410. package/dist/service/ssm/parameter/sim-ssm-parameter-value.js +22 -4
  411. package/dist/service/ssm/parameter/sim-ssm-parameter-value.js.map +1 -1
  412. package/dist/service/ssm/parameter/sim-ssm-parameter-version.d.ts +7 -1
  413. package/dist/service/ssm/parameter/sim-ssm-parameter-version.d.ts.map +1 -1
  414. package/dist/service/ssm/parameter/sim-ssm-parameter-version.js +2 -0
  415. package/dist/service/ssm/parameter/sim-ssm-parameter-version.js.map +1 -1
  416. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.d.ts +35 -15
  417. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.d.ts.map +1 -1
  418. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.js +31 -45
  419. package/dist/service/ssm/parameter/sim-ssm-parameter-writer.js.map +1 -1
  420. package/dist/service/ssm/sim-ssm.d.ts +13 -0
  421. package/dist/service/ssm/sim-ssm.d.ts.map +1 -1
  422. package/dist/service/ssm/sim-ssm.js +19 -4
  423. package/dist/service/ssm/sim-ssm.js.map +1 -1
  424. package/package.json +6 -1
@@ -23,7 +23,7 @@ export class SimKmsKeyPolicyCommands {
23
23
  get(command, options) {
24
24
  this.requireDefaultPolicyName(command.input.PolicyName);
25
25
  const key = this.keys.require(command.input.KeyId);
26
- this.authorizer.authorizeKey("kms:GetKeyPolicy", key, options?.caller);
26
+ this.authorizer.authorizeKey("kms:GetKeyPolicy", key, options);
27
27
  return {
28
28
  $metadata: {},
29
29
  PolicyName: simKmsKeyPolicyName,
@@ -41,7 +41,7 @@ export class SimKmsKeyPolicyCommands {
41
41
  }
42
42
  const document = this.policyDocument.parse(policy);
43
43
  const key = this.keys.require(command.input.KeyId);
44
- this.authorizer.authorizeKey("kms:PutKeyPolicy", key, options?.caller);
44
+ this.authorizer.authorizeKey("kms:PutKeyPolicy", key, options);
45
45
  key.policy.replaceWith(document);
46
46
  return { $metadata: {} };
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-kms-key-policy-commands.js","sourceRoot":"","sources":["../../../../../src/service/kms/command/key/sim-kms-key-policy-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAkB5E;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAuB;IACjB,IAAI,CAAiB;IACrB,UAAU,CAAmB;IAC7B,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7D,YAAY,UAA6C;QACvD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,GAAG,CACD,OAA+B,EAC/B,OAAuC;QAEvC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEvE,OAAO;YACL,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,mBAAmB;YAC/B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,GAAG,CACD,OAA+B,EAC/B,OAAuC;QAEvC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,yBAAyB,CAAC,oBAAoB,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACvE,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEjC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,UAA8B;QAC7D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,mBAAmB,EAAE,CAAC;YACnE,MAAM,IAAI,yBAAyB,CACjC,uBAAuB,mBAAmB,qCAAqC,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"sim-kms-key-policy-commands.js","sourceRoot":"","sources":["../../../../../src/service/kms/command/key/sim-kms-key-policy-commands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAc5E;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAuB;IACjB,IAAI,CAAiB;IACrB,UAAU,CAAmB;IAC7B,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7D,YAAY,UAA6C;QACvD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,GAAG,CACD,OAA+B,EAC/B,OAA8B;QAE9B,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAE/D,OAAO;YACL,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,mBAAmB;YAC/B,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,GAAG,CACD,OAA+B,EAC/B,OAA8B;QAE9B,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAEpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,yBAAyB,CAAC,oBAAoB,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/D,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEjC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,UAA8B;QAC7D,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,mBAAmB,EAAE,CAAC;YACnE,MAAM,IAAI,yBAAyB,CACjC,uBAAuB,mBAAmB,qCAAqC,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
1
+ import type { SimKmsRequestOptions } from "../sim-kms-request-options.js";
2
2
  import type { SimKmsKeyStore } from "../../key/sim-kms-key-store.js";
3
3
  import type { SimKmsAuthorizer } from "../authorize/sim-kms-authorizer.js";
4
4
  import type { SimListKeysCommand, SimListKeysCommandOutput } from "./key.command.js";
@@ -6,9 +6,6 @@ interface SimKmsListKeysProperties {
6
6
  readonly keys: SimKmsKeyStore;
7
7
  readonly authorizer: SimKmsAuthorizer;
8
8
  }
9
- interface SimKmsListKeysOptions {
10
- readonly caller?: SimAwsCaller;
11
- }
12
9
  /**
13
10
  * The ListKeys command of one simulated KMS scope.
14
11
  *
@@ -23,7 +20,7 @@ export declare class SimKmsListKeys {
23
20
  /**
24
21
  * List the keys in this scope, up to any requested limit.
25
22
  */
26
- handle(command: SimListKeysCommand, options?: SimKmsListKeysOptions): SimListKeysCommandOutput;
23
+ handle(command: SimListKeysCommand, options?: SimKmsRequestOptions): SimListKeysCommandOutput;
27
24
  }
28
25
  export {};
29
26
  //# sourceMappingURL=sim-kms-list-keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-kms-list-keys.d.ts","sourceRoot":"","sources":["../../../../../src/service/kms/command/key/sim-kms-list-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC;AAED,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAE9C,YAAY,UAAU,EAAE,wBAAwB,EAG/C;IAED;;OAEG;IACH,MAAM,CACJ,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,wBAAwB,CAc1B;CACF"}
1
+ {"version":3,"file":"sim-kms-list-keys.d.ts","sourceRoot":"","sources":["../../../../../src/service/kms/command/key/sim-kms-list-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,UAAU,wBAAwB;IAChC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC;AAED;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAE9C,YAAY,UAAU,EAAE,wBAAwB,EAG/C;IAED;;OAEG;IACH,MAAM,CACJ,OAAO,EAAE,kBAAkB,EAC3B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,wBAAwB,CAc1B;CACF"}
@@ -16,7 +16,7 @@ export class SimKmsListKeys {
16
16
  * List the keys in this scope, up to any requested limit.
17
17
  */
18
18
  handle(command, options) {
19
- this.authorizer.authorizeAccount("kms:ListKeys", options?.caller);
19
+ this.authorizer.authorizeAccount("kms:ListKeys", options);
20
20
  const limit = command.input?.Limit;
21
21
  const entries = this.keys.keys
22
22
  .values()
@@ -1 +1 @@
1
- {"version":3,"file":"sim-kms-list-keys.js","sourceRoot":"","sources":["../../../../../src/service/kms/command/key/sim-kms-list-keys.ts"],"names":[],"mappings":"AAiBA;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IACR,IAAI,CAAiB;IACrB,UAAU,CAAmB;IAE9C,YAAY,UAAoC;QAC9C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,OAA2B,EAC3B,OAA+B;QAE/B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAElE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI;aAC3B,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;aACrD,OAAO,EAAE,CAAC;QAEb,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACnD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC5D,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3E,CAAC;CACF"}
1
+ {"version":3,"file":"sim-kms-list-keys.js","sourceRoot":"","sources":["../../../../../src/service/kms/command/key/sim-kms-list-keys.ts"],"names":[],"mappings":"AAaA;;;;;;GAMG;AACH,MAAM,OAAO,cAAc;IACR,IAAI,CAAiB;IACrB,UAAU,CAAmB;IAE9C,YAAY,UAAoC;QAC9C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,OAA2B,EAC3B,OAA8B;QAE9B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI;aAC3B,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;aACrD,OAAO,EAAE,CAAC;QAEb,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;YACnD,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC5D,CAAC;QAED,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3E,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
2
+ /**
3
+ * The request context a simulated KMS operation is made in.
4
+ *
5
+ * Both parts are request metadata the simulator takes on trust, in the way a
6
+ * real KMS request carries them: who is making the call, and whether it
7
+ * arrived through another AWS service rather than from the caller directly.
8
+ */
9
+ export interface SimKmsRequestOptions {
10
+ /**
11
+ * The principal making the request. Defaults to the Account root.
12
+ */
13
+ readonly caller?: SimAwsCaller | undefined;
14
+ /**
15
+ * The service making the request on the caller's behalf, named as a service
16
+ * such as `ssm` rather than as an endpoint.
17
+ *
18
+ * It becomes the `kms:ViaService` condition value for the request, using the
19
+ * region the key belongs to. A caller reaching KMS directly leaves it unset,
20
+ * and a policy conditioned on `kms:ViaService` then does not match.
21
+ */
22
+ readonly viaService?: string | undefined;
23
+ }
24
+ //# sourceMappingURL=sim-kms-request-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-request-options.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/command/sim-kms-request-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAE3C;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sim-kms-request-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-request-options.js","sourceRoot":"","sources":["../../../../src/service/kms/command/sim-kms-request-options.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
- export { SimKms, type SimKmsRequestOptions } from "./sim-kms.js";
1
+ export { SimKms } from "./sim-kms.js";
2
+ export type { SimKmsRequestOptions } from "./command/sim-kms-request-options.js";
2
3
  export { SimKmsKey, SimKmsKeyManager, SimKmsKeyState, type SimKmsKeyId, } from "./key/sim-kms-key.js";
3
4
  export { SimKmsAlias } from "./key/sim-kms-alias.js";
4
5
  export { SimKmsKeyPolicy } from "./key/sim-kms-key-policy.js";
@@ -1 +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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/kms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,YAAY,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,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"}
@@ -1 +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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/kms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,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,25 @@
1
+ import type { SimAwsResolvedCaller } from "../../aws/caller/sim-aws-caller-resolver.js";
2
+ import type { SimIamCallerConditionSource } from "../../iam/authorize/context/sim-iam-caller-condition-source.js";
3
+ import type { SimIamConditionValue } from "../../iam/policy/sim-iam-policy.js";
4
+ /**
5
+ * The condition key naming the Account a KMS request came from.
6
+ */
7
+ export declare const simKmsCallerAccountConditionKey = "kms:CallerAccount";
8
+ /**
9
+ * Supplies `kms:CallerAccount` from the caller IAM resolved.
10
+ *
11
+ * This is the other half of the AWS managed key policy: the policy admits any
12
+ * principal reaching the key through the owning service, so it has to say
13
+ * which Account those principals may belong to.
14
+ *
15
+ * A caller with no Account, such as an anonymous or service principal, leaves
16
+ * the key out of the condition context, and a policy conditioned on it then
17
+ * fails to match rather than matching anything.
18
+ */
19
+ export declare class SimKmsCallerAccountCondition implements SimIamCallerConditionSource {
20
+ /**
21
+ * The Account of the resolved caller, where it has one.
22
+ */
23
+ conditionValuesFor(caller: SimAwsResolvedCaller): Readonly<Record<string, SimIamConditionValue>>;
24
+ }
25
+ //# sourceMappingURL=sim-kms-caller-account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-caller-account.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-caller-account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gEAAgE,CAAC;AAClH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,qBAAa,4BAA6B,YAAW,2BAA2B;IAC9E;;OAEG;IACH,kBAAkB,CAChB,MAAM,EAAE,oBAAoB,GAC3B,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAMhD;CACF"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * The condition key naming the Account a KMS request came from.
3
+ */
4
+ export const simKmsCallerAccountConditionKey = "kms:CallerAccount";
5
+ /**
6
+ * Supplies `kms:CallerAccount` from the caller IAM resolved.
7
+ *
8
+ * This is the other half of the AWS managed key policy: the policy admits any
9
+ * principal reaching the key through the owning service, so it has to say
10
+ * which Account those principals may belong to.
11
+ *
12
+ * A caller with no Account, such as an anonymous or service principal, leaves
13
+ * the key out of the condition context, and a policy conditioned on it then
14
+ * fails to match rather than matching anything.
15
+ */
16
+ export class SimKmsCallerAccountCondition {
17
+ /**
18
+ * The Account of the resolved caller, where it has one.
19
+ */
20
+ conditionValuesFor(caller) {
21
+ if (caller.accountId === undefined) {
22
+ return {};
23
+ }
24
+ return { [simKmsCallerAccountConditionKey]: caller.accountId };
25
+ }
26
+ }
27
+ //# sourceMappingURL=sim-kms-caller-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-caller-account.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-caller-account.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,mBAAmB,CAAC;AAEnE;;;;;;;;;;GAUG;AACH,MAAM,OAAO,4BAA4B;IACvC;;OAEG;IACH,kBAAkB,CAChB,MAA4B;QAE5B,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,EAAE,CAAC,+BAA+B,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;IACjE,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import type { SimClock } from "../../../util/clock/sim-clock.js";
2
2
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
3
3
  import type { SimIamPolicyDocument } from "../../iam/policy/sim-iam-policy.js";
4
- import { SimKmsKey, type SimKmsKeyManager } from "./sim-kms-key.js";
4
+ import { SimKmsKey } from "./sim-kms-key.js";
5
5
  interface SimKmsKeyFactoryProperties {
6
6
  readonly accountRegionScope: SimAwsAccountRegionScope;
7
7
  readonly clock: SimClock;
@@ -9,7 +9,14 @@ interface SimKmsKeyFactoryProperties {
9
9
  interface SimKmsMakeKeyProperties {
10
10
  readonly description?: string | undefined;
11
11
  readonly policy?: SimIamPolicyDocument | undefined;
12
- readonly keyManager?: SimKmsKeyManager | undefined;
12
+ /**
13
+ * The service an AWS managed key belongs to, such as `ssm`.
14
+ *
15
+ * Naming it is what makes the key an AWS managed one: it decides both the
16
+ * key manager and the via-service-scoped policy real AWS gives such a key,
17
+ * so the two cannot disagree.
18
+ */
19
+ readonly awsManagedService?: string | undefined;
13
20
  }
14
21
  /**
15
22
  * Builds simulated KMS keys, including their key material.
@@ -30,6 +37,14 @@ export declare class SimKmsKeyFactory {
30
37
  * these are real UUIDs rather than a shorter simulator-only identifier.
31
38
  */
32
39
  make(properties?: SimKmsMakeKeyProperties): SimKmsKey;
40
+ /**
41
+ * Who manages the key, which is decided by whether a service owns it.
42
+ */
43
+ private keyManager;
44
+ /**
45
+ * The policy the key starts with: the one asked for, the AWS managed one, or
46
+ * the customer default.
47
+ */
33
48
  private keyPolicy;
34
49
  }
35
50
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"sim-kms-key-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpE,UAAU,0BAA0B;IAClC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CACpD;AAED;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA8B;IAEnD,YAAY,UAAU,EAAE,0BAA0B,EAGjD;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAU,GAAE,uBAA4B,GAAG,SAAS,CAaxD;IAED,OAAO,CAAC,SAAS;CAUlB"}
1
+ {"version":3,"file":"sim-kms-key-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAE,SAAS,EAAoB,MAAM,kBAAkB,CAAC;AAK/D,UAAU,0BAA0B;IAClC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAEnD;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjD;AAED;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA8B;IAEnD,YAAY,UAAU,EAAE,0BAA0B,EAGjD;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAU,GAAE,uBAA4B,GAAG,SAAS,CAaxD;IAED;;OAEG;IACH,OAAO,CAAC,UAAU;IAUlB;;;OAGG;IACH,OAAO,CAAC,SAAS;CAuBlB"}
@@ -1,8 +1,9 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { SimKmsCiphertextBlob } from "./sim-kms-ciphertext-blob.js";
3
- import { SimKmsKey } from "./sim-kms-key.js";
3
+ import { SimKmsKey, SimKmsKeyManager } from "./sim-kms-key.js";
4
4
  import { SimKmsKeyMaterial } from "./sim-kms-key-material.js";
5
5
  import { SimKmsKeyPolicy } from "./sim-kms-key-policy.js";
6
+ import { SimKmsViaService } from "./sim-kms-via-service.js";
6
7
  /**
7
8
  * Builds simulated KMS keys, including their key material.
8
9
  *
@@ -31,17 +32,34 @@ export class SimKmsKeyFactory {
31
32
  keyId,
32
33
  accountRegionScope: this.accountRegionScope,
33
34
  material: new SimKmsKeyMaterial({ keyArn: arn, blob: this.blob }),
34
- policy: this.keyPolicy(arn, properties.policy),
35
+ policy: this.keyPolicy(arn, properties),
35
36
  creationDate: this.clock.now(),
36
37
  description: properties.description,
37
- keyManager: properties.keyManager,
38
+ keyManager: this.keyManager(properties),
38
39
  });
39
40
  }
40
- keyPolicy(keyArn, document) {
41
- if (document === undefined) {
42
- return SimKmsKeyPolicy.default(keyArn, this.accountRegionScope.accountId);
41
+ /**
42
+ * Who manages the key, which is decided by whether a service owns it.
43
+ */
44
+ keyManager(properties) {
45
+ if (properties.awsManagedService === undefined) {
46
+ return undefined;
47
+ }
48
+ return SimKmsKeyManager.Aws;
49
+ }
50
+ /**
51
+ * The policy the key starts with: the one asked for, the AWS managed one, or
52
+ * the customer default.
53
+ */
54
+ keyPolicy(keyArn, properties) {
55
+ if (properties.policy !== undefined) {
56
+ return new SimKmsKeyPolicy(keyArn, properties.policy);
57
+ }
58
+ const accountId = this.accountRegionScope.accountId;
59
+ if (properties.awsManagedService !== undefined) {
60
+ return SimKmsKeyPolicy.awsManaged(keyArn, accountId, new SimKmsViaService(properties.awsManagedService, this.accountRegionScope.regionName));
43
61
  }
44
- return new SimKmsKeyPolicy(keyArn, document);
62
+ return SimKmsKeyPolicy.default(keyArn, accountId);
45
63
  }
46
64
  }
47
65
  //# sourceMappingURL=sim-kms-key-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-kms-key-factory.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAyB,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAa1D;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IACV,kBAAkB,CAA2B;IAC7C,KAAK,CAAW;IAChB,IAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAEnD,YAAY,UAAsC;QAChD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAU,GAA4B,EAAE;QAC3C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,eAAe,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,QAAQ,KAAK,EAAE,CAAC;QAElH,OAAO,IAAI,SAAS,CAAC;YACnB,KAAK;YACL,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,QAAQ,EAAE,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACjE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC;YAC9C,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YAC9B,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,UAAU,EAAE,UAAU,CAAC,UAAU;SAClC,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CACf,MAAc,EACd,QAA0C;QAE1C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;CACF"}
1
+ {"version":3,"file":"sim-kms-key-factory.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAqB5D;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IACV,kBAAkB,CAA2B;IAC7C,KAAK,CAAW;IAChB,IAAI,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAEnD,YAAY,UAAsC;QAChD,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,UAAU,GAA4B,EAAE;QAC3C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,eAAe,IAAI,CAAC,kBAAkB,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,QAAQ,KAAK,EAAE,CAAC;QAElH,OAAO,IAAI,SAAS,CAAC;YACnB,KAAK;YACL,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,QAAQ,EAAE,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;YACjE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC;YACvC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YAC9B,WAAW,EAAE,UAAU,CAAC,WAAW;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,UAAU,CAChB,UAAmC;QAEnC,IAAI,UAAU,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,gBAAgB,CAAC,GAAG,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACK,SAAS,CACf,MAAc,EACd,UAAmC;QAEnC,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC;QAEpD,IAAI,UAAU,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,eAAe,CAAC,UAAU,CAC/B,MAAM,EACN,SAAS,EACT,IAAI,gBAAgB,CAClB,UAAU,CAAC,iBAAiB,EAC5B,IAAI,CAAC,kBAAkB,CAAC,UAAU,CACnC,CACF,CAAC;QACJ,CAAC;QAED,OAAO,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
2
2
  import type { SimIamResourcePolicyInput } from "../../iam/authorize/context/sim-iam-auth-z-context-builder.js";
3
3
  import type { SimIamPolicyDocument } from "../../iam/policy/sim-iam-policy.js";
4
+ import { type SimKmsViaService } from "./sim-kms-via-service.js";
4
5
  /**
5
6
  * The name real KMS reports a key's policy under. A KMS key has exactly one
6
7
  * policy and it is always called this.
@@ -29,6 +30,19 @@ export declare class SimKmsKeyPolicy {
29
30
  * IAM policy will widen that.
30
31
  */
31
32
  static default(keyArn: string, accountId: SimAwsAccountId): SimKmsKeyPolicy;
33
+ /**
34
+ * Build the policy real AWS gives an AWS managed key.
35
+ *
36
+ * It is not the customer default with a different name on it. It grants use
37
+ * of the key to the Account's principals only when the request reaches KMS
38
+ * through the service that owns the key, and it delegates nothing else to
39
+ * IAM: the second statement covers reading the key's metadata and no more.
40
+ *
41
+ * That is what makes an AWS managed key usable by a caller holding no KMS
42
+ * permission at all, and unusable by a caller holding kms:Decrypt on it who
43
+ * calls KMS directly.
44
+ */
45
+ static awsManaged(keyArn: string, accountId: SimAwsAccountId, viaService: SimKmsViaService): SimKmsKeyPolicy;
32
46
  /**
33
47
  * The stored policy document.
34
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-kms-key-policy.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,cAAc,CAAuB;IAE7C,YAAY,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAGzD;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,eAAe,CAc1E;IAED;;OAEG;IACH,QAAQ,IAAI,oBAAoB,CAE/B;IAED;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAEhD;IAED;;OAEG;IACH,gBAAgB,IAAI,yBAAyB,CAM5C;CACF"}
1
+ {"version":3,"file":"sim-kms-key-policy.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC/G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAElC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,YAAY,CAAC;AAE7C;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,cAAc,CAAuB;IAE7C,YAAY,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,oBAAoB,EAGzD;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,eAAe,CAc1E;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,UAAU,CACf,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,gBAAgB,GAC3B,eAAe,CAkCjB;IAED;;OAEG;IACH,QAAQ,IAAI,oBAAoB,CAE/B;IAED;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAEhD;IAED;;OAEG;IACH,gBAAgB,IAAI,yBAAyB,CAM5C;CACF"}
@@ -1,3 +1,5 @@
1
+ import { simKmsCallerAccountConditionKey } from "./sim-kms-caller-account.js";
2
+ import { simKmsViaServiceConditionKey, } from "./sim-kms-via-service.js";
1
3
  /**
2
4
  * The name real KMS reports a key's policy under. A KMS key has exactly one
3
5
  * policy and it is always called this.
@@ -43,6 +45,53 @@ export class SimKmsKeyPolicy {
43
45
  ],
44
46
  });
45
47
  }
48
+ /**
49
+ * Build the policy real AWS gives an AWS managed key.
50
+ *
51
+ * It is not the customer default with a different name on it. It grants use
52
+ * of the key to the Account's principals only when the request reaches KMS
53
+ * through the service that owns the key, and it delegates nothing else to
54
+ * IAM: the second statement covers reading the key's metadata and no more.
55
+ *
56
+ * That is what makes an AWS managed key usable by a caller holding no KMS
57
+ * permission at all, and unusable by a caller holding kms:Decrypt on it who
58
+ * calls KMS directly.
59
+ */
60
+ static awsManaged(keyArn, accountId, viaService) {
61
+ return new SimKmsKeyPolicy(keyArn, {
62
+ Version: "2012-10-17",
63
+ Id: `auto-${viaService.serviceName}-1`,
64
+ Statement: [
65
+ {
66
+ Sid: `Allow access through ${viaService.serviceName} for all principals in the account that are authorized to use ${viaService.serviceName}`,
67
+ Effect: "Allow",
68
+ Principal: { AWS: "*" },
69
+ Action: [
70
+ "kms:Encrypt",
71
+ "kms:Decrypt",
72
+ "kms:ReEncrypt*",
73
+ "kms:GenerateDataKey*",
74
+ "kms:CreateGrant",
75
+ "kms:DescribeKey",
76
+ ],
77
+ Resource: "*",
78
+ Condition: {
79
+ StringEquals: {
80
+ [simKmsCallerAccountConditionKey]: accountId,
81
+ [simKmsViaServiceConditionKey]: viaService.value,
82
+ },
83
+ },
84
+ },
85
+ {
86
+ Sid: "Allow direct access to key metadata to the account",
87
+ Effect: "Allow",
88
+ Principal: { AWS: `arn:aws:iam::${accountId}:root` },
89
+ Action: ["kms:Describe*", "kms:Get*", "kms:List*", "kms:RevokeGrant"],
90
+ Resource: "*",
91
+ },
92
+ ],
93
+ });
94
+ }
46
95
  /**
47
96
  * The stored policy document.
48
97
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-kms-key-policy.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-policy.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAe;IACT,MAAM,CAAS;IACxB,cAAc,CAAuB;IAE7C,YAAY,MAAc,EAAE,QAA8B;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,SAA0B;QACvD,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE;YACjC,OAAO,EAAE,YAAY;YACrB,EAAE,EAAE,eAAe;YACnB,SAAS,EAAE;gBACT;oBACE,GAAG,EAAE,6BAA6B;oBAClC,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,EAAE,GAAG,EAAE,gBAAgB,SAAS,OAAO,EAAE;oBACpD,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,GAAG;iBACd;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAA8B;QACxC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,cAAc;YAC7B,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,IAAI,CAAC,MAAM;SACzB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sim-kms-key-policy.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-policy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EACL,4BAA4B,GAE7B,MAAM,0BAA0B,CAAC;AAElC;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAE7C;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAe;IACT,MAAM,CAAS;IACxB,cAAc,CAAuB;IAE7C,YAAY,MAAc,EAAE,QAA8B;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,SAA0B;QACvD,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE;YACjC,OAAO,EAAE,YAAY;YACrB,EAAE,EAAE,eAAe;YACnB,SAAS,EAAE;gBACT;oBACE,GAAG,EAAE,6BAA6B;oBAClC,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,EAAE,GAAG,EAAE,gBAAgB,SAAS,OAAO,EAAE;oBACpD,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,GAAG;iBACd;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,UAAU,CACf,MAAc,EACd,SAA0B,EAC1B,UAA4B;QAE5B,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE;YACjC,OAAO,EAAE,YAAY;YACrB,EAAE,EAAE,QAAQ,UAAU,CAAC,WAAW,IAAI;YACtC,SAAS,EAAE;gBACT;oBACE,GAAG,EAAE,wBAAwB,UAAU,CAAC,WAAW,iEAAiE,UAAU,CAAC,WAAW,EAAE;oBAC5I,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;oBACvB,MAAM,EAAE;wBACN,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,sBAAsB;wBACtB,iBAAiB;wBACjB,iBAAiB;qBAClB;oBACD,QAAQ,EAAE,GAAG;oBACb,SAAS,EAAE;wBACT,YAAY,EAAE;4BACZ,CAAC,+BAA+B,CAAC,EAAE,SAAS;4BAC5C,CAAC,4BAA4B,CAAC,EAAE,UAAU,CAAC,KAAK;yBACjD;qBACF;iBACF;gBACD;oBACE,GAAG,EAAE,oDAAoD;oBACzD,MAAM,EAAE,OAAO;oBACf,SAAS,EAAE,EAAE,GAAG,EAAE,gBAAgB,SAAS,OAAO,EAAE;oBACpD,MAAM,EAAE,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,CAAC;oBACrE,QAAQ,EAAE,GAAG;iBACd;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAA8B;QACxC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,cAAc;YAC7B,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,IAAI,CAAC,MAAM;SACzB,CAAC;IACJ,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
2
2
  import { SimKmsAlias } from "./sim-kms-alias.js";
3
- import { type SimKmsKey, type SimKmsKeyId } from "./sim-kms-key.js";
3
+ import type { SimKmsKey, SimKmsKeyId } from "./sim-kms-key.js";
4
4
  import type { SimKmsKeyFactory } from "./sim-kms-key-factory.js";
5
5
  interface SimKmsKeyStoreProperties {
6
6
  readonly accountRegionScope: SimAwsAccountRegionScope;
@@ -59,6 +59,10 @@ export declare class SimKmsKeyStore {
59
59
  private findByAlias;
60
60
  /**
61
61
  * Create an AWS managed key on first reference to its reserved alias.
62
+ *
63
+ * The service that owns the key is the part of the alias after the reserved
64
+ * prefix, so `alias/aws/ssm` is the key Systems Manager owns. That is also
65
+ * the service its policy is scoped to through `kms:ViaService`.
62
66
  */
63
67
  private makeAwsManagedKey;
64
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-kms-key-store.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAM1F,OAAO,EAAE,WAAW,EAAwB,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAEL,KAAK,SAAS,EACd,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,UAAU,wBAAwB;IAChC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC;AAED;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,SAAgB,IAAI,yBAAqC;IACzD,SAAgB,OAAO,2BAAkC;IAEzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IAExD,YAAY,UAAU,EAAE,wBAAwB,EAM/C;IAED;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAExB;IAED;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAc5C;IAED;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAYzC;IAED;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,WAAW,CAgB7D;IAED;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEpD;IAED;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,WAAW,EAAE,CAQjE;IAED;;;OAGG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAW1B"}
1
+ {"version":3,"file":"sim-kms-key-store.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAM1F,OAAO,EAAE,WAAW,EAAwB,MAAM,oBAAoB,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,UAAU,wBAAwB;IAChC,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;CACvC;AAED;;;;;;GAMG;AACH,qBAAa,cAAc;IACzB,SAAgB,IAAI,yBAAqC;IACzD,SAAgB,OAAO,2BAAkC;IAEzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IAExD,YAAY,UAAU,EAAE,wBAAwB,EAM/C;IAED;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAExB;IAED;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAc5C;IAED;;;;;;OAMG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAYzC;IAED;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,WAAW,CAgB7D;IAED;;;;;;OAMG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEpD;IAED;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,WAAW,EAAE,CAQjE;IAED;;;OAGG;IACH,OAAO,CAAC,WAAW;IAcnB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;CAa1B"}
@@ -1,7 +1,6 @@
1
1
  import { SimKmsAlreadyExistsException, SimKmsNotFoundException, SimKmsValidationException, } from "../error/sim-kms.error.js";
2
2
  import { SimKmsAlias, simKmsAwsAliasPrefix } from "./sim-kms-alias.js";
3
3
  import { SimKmsKeyIdentifierParser } from "./sim-kms-key-identifier.js";
4
- import { SimKmsKeyManager, } from "./sim-kms-key.js";
5
4
  /**
6
5
  * The keys and aliases of one simulated KMS scope, and how a KeyId resolves.
7
6
  *
@@ -107,11 +106,16 @@ export class SimKmsKeyStore {
107
106
  }
108
107
  /**
109
108
  * Create an AWS managed key on first reference to its reserved alias.
109
+ *
110
+ * The service that owns the key is the part of the alias after the reserved
111
+ * prefix, so `alias/aws/ssm` is the key Systems Manager owns. That is also
112
+ * the service its policy is scoped to through `kms:ViaService`.
110
113
  */
111
114
  makeAwsManagedKey(aliasName) {
115
+ const serviceName = aliasName.slice(simKmsAwsAliasPrefix.length);
112
116
  const key = this.keyFactory.make({
113
- description: `Default key that protects my ${aliasName.slice(simKmsAwsAliasPrefix.length)} resources when no other key is defined`,
114
- keyManager: SimKmsKeyManager.Aws,
117
+ description: `Default key that protects my ${serviceName} resources when no other key is defined`,
118
+ awsManagedService: serviceName,
115
119
  });
116
120
  this.add(key);
117
121
  this.addAlias(aliasName, key);
@@ -1 +1 @@
1
- {"version":3,"file":"sim-kms-key-store.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sim-kms-key-store.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-key-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * The condition key naming the service a KMS request was made through.
3
+ */
4
+ export declare const simKmsViaServiceConditionKey = "kms:ViaService";
5
+ /**
6
+ * The service a KMS request reached KMS through, as `kms:ViaService` names it.
7
+ *
8
+ * A request a caller makes itself has no value for this key. It is set when
9
+ * another service calls KMS on the caller's behalf, which is how a caller with
10
+ * no KMS permission of its own can use an AWS managed key through the service
11
+ * that owns it, and only through that service.
12
+ *
13
+ * The value is always the service's endpoint in the key's own region, since a
14
+ * key can only be used in the region it belongs to.
15
+ */
16
+ export declare class SimKmsViaService {
17
+ readonly serviceName: string;
18
+ private readonly regionName;
19
+ constructor(serviceName: string, regionName: string);
20
+ /**
21
+ * The `kms:ViaService` condition value, such as `ssm.eu-west-2.amazonaws.com`.
22
+ */
23
+ get value(): string;
24
+ /**
25
+ * This value as a condition context entry.
26
+ */
27
+ asConditionContext(): Readonly<Record<string, string>>;
28
+ /**
29
+ * Refuse a whole endpoint where a service name is wanted.
30
+ *
31
+ * The region is the key's own, so a caller passing `ssm.us-east-1.amazonaws.com`
32
+ * would otherwise produce a value naming a region twice, and every policy
33
+ * condition would quietly stop matching.
34
+ */
35
+ private refuseEndpoint;
36
+ }
37
+ //# sourceMappingURL=sim-kms-via-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-via-service.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-via-service.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAC3B,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,YAAY,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAKlD;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,kBAAkB,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAErD;IAED;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;CAQvB"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * The condition key naming the service a KMS request was made through.
3
+ */
4
+ export const simKmsViaServiceConditionKey = "kms:ViaService";
5
+ /**
6
+ * The service a KMS request reached KMS through, as `kms:ViaService` names it.
7
+ *
8
+ * A request a caller makes itself has no value for this key. It is set when
9
+ * another service calls KMS on the caller's behalf, which is how a caller with
10
+ * no KMS permission of its own can use an AWS managed key through the service
11
+ * that owns it, and only through that service.
12
+ *
13
+ * The value is always the service's endpoint in the key's own region, since a
14
+ * key can only be used in the region it belongs to.
15
+ */
16
+ export class SimKmsViaService {
17
+ serviceName;
18
+ regionName;
19
+ constructor(serviceName, regionName) {
20
+ this.refuseEndpoint(serviceName);
21
+ this.serviceName = serviceName;
22
+ this.regionName = regionName;
23
+ }
24
+ /**
25
+ * The `kms:ViaService` condition value, such as `ssm.eu-west-2.amazonaws.com`.
26
+ */
27
+ get value() {
28
+ return `${this.serviceName}.${this.regionName}.amazonaws.com`;
29
+ }
30
+ /**
31
+ * This value as a condition context entry.
32
+ */
33
+ asConditionContext() {
34
+ return { [simKmsViaServiceConditionKey]: this.value };
35
+ }
36
+ /**
37
+ * Refuse a whole endpoint where a service name is wanted.
38
+ *
39
+ * The region is the key's own, so a caller passing `ssm.us-east-1.amazonaws.com`
40
+ * would otherwise produce a value naming a region twice, and every policy
41
+ * condition would quietly stop matching.
42
+ */
43
+ refuseEndpoint(serviceName) {
44
+ if (serviceName.includes(".")) {
45
+ throw new Error(`A simulated KMS request names the service it came through by name, ` +
46
+ `such as 'ssm', rather than by endpoint: ${serviceName}`);
47
+ }
48
+ }
49
+ }
50
+ //# sourceMappingURL=sim-kms-via-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-kms-via-service.js","sourceRoot":"","sources":["../../../../src/service/kms/key/sim-kms-via-service.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,gBAAgB,CAAC;AAE7D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,gBAAgB;IACX,WAAW,CAAS;IAEnB,UAAU,CAAS;IAEpC,YAAY,WAAmB,EAAE,UAAkB;QACjD,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAEjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,gBAAgB,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,EAAE,CAAC,4BAA4B,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACxD,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,WAAmB;QACxC,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,qEAAqE;gBACnE,2CAA2C,WAAW,EAAE,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -1,15 +1,12 @@
1
1
  import { type BackgroundScheduler } from "../../util/background/background.js";
2
- import type { SimAwsCaller } from "../aws/caller/sim-aws-caller.js";
3
2
  import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
4
3
  import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
5
4
  import type { SimSdkCommandRouter } from "../../sdk/router/sim-sdk-command-router.type.js";
6
5
  import type * as simKmsCommands from "./command/sim-kms-command.types.js";
6
+ import type { SimKmsRequestOptions } from "./command/sim-kms-request-options.js";
7
7
  import { SimKmsCfnResourceFactory } from "./cfn/sim-cfn-kms-resource-factory.js";
8
8
  import type { SimKmsAlias } from "./key/sim-kms-alias.js";
9
9
  import type { SimKmsKey } from "./key/sim-kms-key.js";
10
- export interface SimKmsRequestOptions {
11
- readonly caller?: SimAwsCaller;
12
- }
13
10
  interface SimKmsProperties {
14
11
  readonly accountRegionScope?: SimAwsAccountRegionScope;
15
12
  readonly iam?: SimIamInterServiceAuthZ;