@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm-parameter-overwrite.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-overwrite.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;CACzC;AAED;;;;;;GAMG;AACH,qBAAa,wBAAwB;IACnC;;;OAGG;IACH,OAAO,CACL,OAAO,EAAE,+BAA+B,EACxC,QAAQ,EAAE,eAAe,GAAG,SAAS,GACpC,mBAAmB,CAQrB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;CA4BvB"}
@@ -0,0 +1,48 @@
1
+ import { SimSsmHierarchyTypeMismatchException, SimSsmParameterAlreadyExists, } from "../error/sim-ssm.error.js";
2
+ import { SimSsmParameterType } from "./sim-ssm-parameter-type.js";
3
+ /**
4
+ * The rules that only exist where a create and an overwrite meet.
5
+ *
6
+ * A name already in use and a type that cannot change are both about the
7
+ * relationship between a request and a stored parameter, rather than about
8
+ * either on its own, so they live together and away from the write itself.
9
+ */
10
+ export class SimSsmParameterOverwrite {
11
+ /**
12
+ * The type the written version will belong to, refusing a request that may
13
+ * not replace the parameter it names.
14
+ */
15
+ typeFor(request, existing) {
16
+ if (existing === undefined) {
17
+ return SimSsmParameterType.forNewParameter(request.type);
18
+ }
19
+ this.requireAllowed(request, existing);
20
+ return existing.type;
21
+ }
22
+ /**
23
+ * Refuse an overwrite that real Parameter Store refuses.
24
+ *
25
+ * A request that leaves out Overwrite is a create, so a name already in use
26
+ * fails rather than quietly replacing what is there. A request naming a
27
+ * different type fails too: Parameter Store has no way to convert a stored
28
+ * parameter, so the caller has to delete it and make a new one.
29
+ */
30
+ requireAllowed(request, existing) {
31
+ if (request.overwrite !== true) {
32
+ throw new SimSsmParameterAlreadyExists(`The parameter '${existing.name.value}' already exists. To overwrite ` +
33
+ `this value, set the Overwrite option in the request to true.`);
34
+ }
35
+ if (request.type === undefined) {
36
+ return;
37
+ }
38
+ const requested = new SimSsmParameterType(request.type);
39
+ if (requested.value === existing.type.value) {
40
+ return;
41
+ }
42
+ throw new SimSsmHierarchyTypeMismatchException(`Parameter '${existing.name.value}' is a ${existing.type.value} ` +
43
+ `parameter and cannot be changed to ${requested.value}. Parameter ` +
44
+ `Store does not support changing a parameter type: create a new, ` +
45
+ `unique parameter instead.`);
46
+ }
47
+ }
48
+ //# sourceMappingURL=sim-ssm-parameter-overwrite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-ssm-parameter-overwrite.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-overwrite.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oCAAoC,EACpC,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAWlE;;;;;;GAMG;AACH,MAAM,OAAO,wBAAwB;IACnC;;;OAGG;IACH,OAAO,CACL,OAAwC,EACxC,QAAqC;QAErC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEvC,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CACpB,OAAwC,EACxC,QAAyB;QAEzB,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,4BAA4B,CACpC,kBAAkB,QAAQ,CAAC,IAAI,CAAC,KAAK,iCAAiC;gBACpE,8DAA8D,CACjE,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,oCAAoC,CAC5C,cAAc,QAAQ,CAAC,IAAI,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG;YAC/D,sCAAsC,SAAS,CAAC,KAAK,cAAc;YACnE,kEAAkE;YAClE,2BAA2B,CAC9B,CAAC;IACJ,CAAC;CACF"}
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * The parameter types this simulation stores.
3
3
  */
4
- export type SimSsmParameterTypeName = "String" | "StringList";
4
+ export type SimSsmParameterTypeName = "String" | "StringList" | "SecureString";
5
5
  /**
6
6
  * The type of one simulated parameter.
7
7
  *
8
- * `SecureString` is refused rather than stored. Nothing in this simulation
9
- * would encrypt it, so accepting it would let a test pass while proving
10
- * nothing about the KMS key, the `kms:Decrypt` permission or the
11
- * `WithDecryption` flag a real deployment depends on.
8
+ * A `SecureString` is encrypted through simulated KMS rather than stored in
9
+ * the clear, so the two failures a real deployment hits are reproducible here:
10
+ * a caller that may read the parameter but may not decrypt with its key, and
11
+ * a read that forgets `WithDecryption` and gets a ciphertext back.
12
12
  */
13
13
  export declare class SimSsmParameterType {
14
14
  readonly value: SimSsmParameterTypeName;
@@ -21,5 +21,9 @@ export declare class SimSsmParameterType {
21
21
  */
22
22
  static forNewParameter(type: string | undefined): SimSsmParameterType;
23
23
  private static validated;
24
+ /**
25
+ * Whether values of this type are stored encrypted.
26
+ */
27
+ get isSecure(): boolean;
24
28
  }
25
29
  //# sourceMappingURL=sim-ssm-parameter-type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-ssm-parameter-type.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-type.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,YAAY,CAAC;AAI9D;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,KAAK,EAAE,uBAAuB,CAAC;IAE/C,YAAY,IAAI,EAAE,MAAM,EAEvB;IAED;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,CAQpE;IAED,OAAO,CAAC,MAAM,CAAC,SAAS;CAmBzB"}
1
+ {"version":3,"file":"sim-ssm-parameter-type.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-type.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,YAAY,GAAG,cAAc,CAAC;AAQ/E;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,KAAK,EAAE,uBAAuB,CAAC;IAE/C,YAAY,IAAI,EAAE,MAAM,EAEvB;IAED;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,mBAAmB,CAQpE;IAED,OAAO,CAAC,MAAM,CAAC,SAAS;IAWxB;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;CACF"}
@@ -1,12 +1,16 @@
1
1
  import { SimSsmUnsupportedParameterType, SimSsmValidationException, } from "../error/sim-ssm.error.js";
2
- const simulatedTypes = new Set(["String", "StringList"]);
2
+ const simulatedTypes = new Set([
3
+ "String",
4
+ "StringList",
5
+ "SecureString",
6
+ ]);
3
7
  /**
4
8
  * The type of one simulated parameter.
5
9
  *
6
- * `SecureString` is refused rather than stored. Nothing in this simulation
7
- * would encrypt it, so accepting it would let a test pass while proving
8
- * nothing about the KMS key, the `kms:Decrypt` permission or the
9
- * `WithDecryption` flag a real deployment depends on.
10
+ * A `SecureString` is encrypted through simulated KMS rather than stored in
11
+ * the clear, so the two failures a real deployment hits are reproducible here:
12
+ * a caller that may read the parameter but may not decrypt with its key, and
13
+ * a read that forgets `WithDecryption` and gets a ciphertext back.
10
14
  */
11
15
  export class SimSsmParameterType {
12
16
  value;
@@ -26,17 +30,17 @@ export class SimSsmParameterType {
26
30
  return new SimSsmParameterType(type);
27
31
  }
28
32
  static validated(type) {
29
- if (type === "SecureString") {
30
- throw new SimSsmUnsupportedParameterType("SecureString parameters are not simulated: nothing here would " +
31
- "encrypt the value, so a passing test would say nothing about the " +
32
- "KMS key or the kms:Decrypt permission the real parameter needs. " +
33
- "Use String or StringList.");
34
- }
35
33
  if (!simulatedTypes.has(type)) {
36
- throw new SimSsmUnsupportedParameterType(`Parameter type '${type}' is not a Parameter Store type: use String ` +
37
- `or StringList`);
34
+ throw new SimSsmUnsupportedParameterType(`Parameter type '${type}' is not a Parameter Store type: use String, ` +
35
+ `StringList or SecureString`);
38
36
  }
39
37
  return type;
40
38
  }
39
+ /**
40
+ * Whether values of this type are stored encrypted.
41
+ */
42
+ get isSecure() {
43
+ return this.value === "SecureString";
44
+ }
41
45
  }
42
46
  //# sourceMappingURL=sim-ssm-parameter-type.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-ssm-parameter-type.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-type.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAOnC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IACd,KAAK,CAA0B;IAE/C,YAAY,IAAY;QACtB,IAAI,CAAC,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,IAAwB;QAC7C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,yBAAyB,CACjC,wDAAwD,CACzD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,IAAY;QACnC,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,MAAM,IAAI,8BAA8B,CACtC,gEAAgE;gBAC9D,mEAAmE;gBACnE,kEAAkE;gBAClE,2BAA2B,CAC9B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,8BAA8B,CACtC,mBAAmB,IAAI,8CAA8C;gBACnE,eAAe,CAClB,CAAC;QACJ,CAAC;QAED,OAAO,IAA+B,CAAC;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"sim-ssm-parameter-type.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-type.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAOnC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC;IAClD,QAAQ;IACR,YAAY;IACZ,cAAc;CACf,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IACd,KAAK,CAA0B;IAE/C,YAAY,IAAY;QACtB,IAAI,CAAC,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,IAAwB;QAC7C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,yBAAyB,CACjC,wDAAwD,CACzD,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,IAAY;QACnC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,8BAA8B,CACtC,mBAAmB,IAAI,+CAA+C;gBACpE,4BAA4B,CAC/B,CAAC;QACJ,CAAC;QAED,OAAO,IAA+B,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,KAAK,cAAc,CAAC;IACvC,CAAC;CACF"}
@@ -1,14 +1,30 @@
1
1
  /**
2
- * The value held by one version of a simulated parameter.
2
+ * The value held by one version of a simulated parameter, as it is stored.
3
3
  *
4
4
  * A `StringList` value is a single comma-separated string here, as it is on
5
5
  * real Parameter Store. It is stored and returned that way rather than split
6
6
  * into an array, so handler code that splits it on commas is exercising the
7
7
  * same shape it would get from AWS.
8
+ *
9
+ * A `SecureString` value is stored as the base64 ciphertext KMS produced,
10
+ * which is what a read without `WithDecryption` returns. The 4KB limit applies
11
+ * to the plaintext a request submitted rather than to that ciphertext, so the
12
+ * two ways of making one of these are separate.
8
13
  */
9
14
  export declare class SimSsmParameterValue {
10
15
  readonly value: string;
11
- constructor(value: string | undefined);
12
- private static validated;
16
+ private constructor();
17
+ /**
18
+ * The value a request submitted, checked against the standard tier limit.
19
+ */
20
+ static submitted(value: string | undefined): SimSsmParameterValue;
21
+ /**
22
+ * The stored form of an encrypted value.
23
+ *
24
+ * This is longer than the plaintext it came from and is not subject to the
25
+ * limit that plaintext was checked against, because Parameter Store measures
26
+ * the request rather than what it keeps.
27
+ */
28
+ static encrypted(ciphertext: string): SimSsmParameterValue;
13
29
  }
14
30
  //# sourceMappingURL=sim-ssm-parameter-value.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-ssm-parameter-value.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-value.ts"],"names":[],"mappings":"AAWA;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAC/B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B,YAAY,KAAK,EAAE,MAAM,GAAG,SAAS,EAEpC;IAED,OAAO,CAAC,MAAM,CAAC,SAAS;CAmBzB"}
1
+ {"version":3,"file":"sim-ssm-parameter-value.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-value.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;GAYG;AACH,qBAAa,oBAAoB;IAC/B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B,OAAO,eAEN;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,oBAAoB,CAkBhE;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAEzD;CACF"}
@@ -8,19 +8,27 @@ import { SimSsmValidationException } from "../error/sim-ssm.error.js";
8
8
  */
9
9
  const maxValueBytes = 4096;
10
10
  /**
11
- * The value held by one version of a simulated parameter.
11
+ * The value held by one version of a simulated parameter, as it is stored.
12
12
  *
13
13
  * A `StringList` value is a single comma-separated string here, as it is on
14
14
  * real Parameter Store. It is stored and returned that way rather than split
15
15
  * into an array, so handler code that splits it on commas is exercising the
16
16
  * same shape it would get from AWS.
17
+ *
18
+ * A `SecureString` value is stored as the base64 ciphertext KMS produced,
19
+ * which is what a read without `WithDecryption` returns. The 4KB limit applies
20
+ * to the plaintext a request submitted rather than to that ciphertext, so the
21
+ * two ways of making one of these are separate.
17
22
  */
18
23
  export class SimSsmParameterValue {
19
24
  value;
20
25
  constructor(value) {
21
- this.value = SimSsmParameterValue.validated(value);
26
+ this.value = value;
22
27
  }
23
- static validated(value) {
28
+ /**
29
+ * The value a request submitted, checked against the standard tier limit.
30
+ */
31
+ static submitted(value) {
24
32
  if (value === undefined || value === "") {
25
33
  throw new SimSsmValidationException("A parameter Value is required and cannot be empty");
26
34
  }
@@ -30,7 +38,17 @@ export class SimSsmParameterValue {
30
38
  `parameter holds at most ${String(maxValueBytes)} bytes. The ` +
31
39
  `advanced tier is not simulated.`);
32
40
  }
33
- return value;
41
+ return new SimSsmParameterValue(value);
42
+ }
43
+ /**
44
+ * The stored form of an encrypted value.
45
+ *
46
+ * This is longer than the plaintext it came from and is not subject to the
47
+ * limit that plaintext was checked against, because Parameter Store measures
48
+ * the request rather than what it keeps.
49
+ */
50
+ static encrypted(ciphertext) {
51
+ return new SimSsmParameterValue(ciphertext);
34
52
  }
35
53
  }
36
54
  //# sourceMappingURL=sim-ssm-parameter-value.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-ssm-parameter-value.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAoB;IACf,KAAK,CAAS;IAE9B,YAAY,KAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAEO,MAAM,CAAC,SAAS,CAAC,KAAyB;QAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,yBAAyB,CACjC,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEpD,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;YAC/B,MAAM,IAAI,yBAAyB,CACjC,sBAAsB,MAAM,CAAC,UAAU,CAAC,0BAA0B;gBAChE,2BAA2B,MAAM,CAAC,aAAa,CAAC,cAAc;gBAC9D,iCAAiC,CACpC,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"sim-ssm-parameter-value.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,oBAAoB;IACf,KAAK,CAAS;IAE9B,YAAoB,KAAa;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAyB;QACxC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,yBAAyB,CACjC,mDAAmD,CACpD,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEpD,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;YAC/B,MAAM,IAAI,yBAAyB,CACjC,sBAAsB,MAAM,CAAC,UAAU,CAAC,0BAA0B;gBAChE,2BAA2B,MAAM,CAAC,aAAa,CAAC,cAAc;gBAC9D,iCAAiC,CACpC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,UAAkB;QACjC,OAAO,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;CACF"}
@@ -8,12 +8,17 @@ import type { SimSsmParameterValue } from "./sim-ssm-parameter-value.js";
8
8
  */
9
9
  export declare const ssmTextDataType = "text";
10
10
  /**
11
- * The details one write of a parameter carries, beyond its value.
11
+ * The details one stored version of a parameter records, beyond its value.
12
12
  */
13
13
  export interface SimSsmParameterVersionDetails {
14
14
  readonly description?: string | undefined;
15
15
  readonly dataType?: string | undefined;
16
16
  readonly lastModifiedUser?: string | undefined;
17
+ /**
18
+ * The ARN of the KMS key a SecureString value was encrypted under, and
19
+ * undefined for the types that are stored in the clear.
20
+ */
21
+ readonly keyId?: string | undefined;
17
22
  }
18
23
  interface SimSsmParameterVersionProperties extends SimSsmParameterVersionDetails {
19
24
  readonly version: number;
@@ -33,6 +38,7 @@ export declare class SimSsmParameterVersion {
33
38
  readonly lastModifiedDate: Date;
34
39
  readonly lastModifiedUser: string | undefined;
35
40
  readonly description: string | undefined;
41
+ readonly keyId: string | undefined;
36
42
  readonly dataType: string;
37
43
  constructor(properties: SimSsmParameterVersionProperties);
38
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-ssm-parameter-version.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,SAAS,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAED,UAAU,gCAAiC,SAAQ,6BAA6B;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,KAAK,EAAE,oBAAoB,CAAC;IAC5C,SAAgB,gBAAgB,EAAE,IAAI,CAAC;IACvC,SAAgB,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrD,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC,YAAY,UAAU,EAAE,gCAAgC,EAOvD;CACF"}
1
+ {"version":3,"file":"sim-ssm-parameter-version.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-version.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,SAAS,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE/C;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,UAAU,gCAAiC,SAAQ,6BAA6B;IAC9E,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,oBAAoB,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC;CACjC;AAED;;;;;;GAMG;AACH,qBAAa,sBAAsB;IACjC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,SAAgB,KAAK,EAAE,oBAAoB,CAAC;IAC5C,SAAgB,gBAAgB,EAAE,IAAI,CAAC;IACvC,SAAgB,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrD,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC,YAAY,UAAU,EAAE,gCAAgC,EAQvD;CACF"}
@@ -19,6 +19,7 @@ export class SimSsmParameterVersion {
19
19
  lastModifiedDate;
20
20
  lastModifiedUser;
21
21
  description;
22
+ keyId;
22
23
  dataType;
23
24
  constructor(properties) {
24
25
  this.version = properties.version;
@@ -26,6 +27,7 @@ export class SimSsmParameterVersion {
26
27
  this.lastModifiedDate = properties.lastModifiedDate;
27
28
  this.lastModifiedUser = properties.lastModifiedUser;
28
29
  this.description = properties.description;
30
+ this.keyId = properties.keyId;
29
31
  this.dataType = properties.dataType ?? ssmTextDataType;
30
32
  }
31
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-ssm-parameter-version.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-version.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAiBtC;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IACjB,OAAO,CAAS;IAChB,KAAK,CAAuB;IAC5B,gBAAgB,CAAO;IACvB,gBAAgB,CAAqB;IACrC,WAAW,CAAqB;IAChC,QAAQ,CAAS;IAEjC,YAAY,UAA4C;QACtD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,eAAe,CAAC;IACzD,CAAC;CACF"}
1
+ {"version":3,"file":"sim-ssm-parameter-version.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-version.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AAuBtC;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IACjB,OAAO,CAAS;IAChB,KAAK,CAAuB;IAC5B,gBAAgB,CAAO;IACvB,gBAAgB,CAAqB;IACrC,WAAW,CAAqB;IAChC,KAAK,CAAqB;IAC1B,QAAQ,CAAS;IAEjC,YAAY,UAA4C;QACtD,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,eAAe,CAAC;IACzD,CAAC;CACF"}
@@ -1,19 +1,40 @@
1
1
  import type { SimClock } from "../../../util/clock/sim-clock.js";
2
+ import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
2
3
  import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
4
+ import type { SimSsmParameterEncryption } from "./sim-ssm-parameter-encryption.js";
3
5
  import type { SimSsmParameterName } from "./sim-ssm-parameter-name.js";
4
6
  import type { SimSsmParameterStore } from "./sim-ssm-parameter-store.js";
5
- import type { SimSsmParameterVersion, SimSsmParameterVersionDetails } from "./sim-ssm-parameter-version.js";
7
+ import type { SimSsmParameterVersion } from "./sim-ssm-parameter-version.js";
6
8
  /**
7
9
  * One write of a parameter, as PutParameter describes it.
10
+ *
11
+ * This is the request rather than what gets stored, which is why it does not
12
+ * share the version's details: the two differ on the key. Here it is whatever
13
+ * the request asked for, and on the version it is the ARN that answered.
8
14
  */
9
- export interface SimSsmParameterWrite extends SimSsmParameterVersionDetails {
15
+ export interface SimSsmParameterWrite {
10
16
  readonly name: SimSsmParameterName;
11
17
  readonly value: string | undefined;
12
18
  readonly type: string | undefined;
13
19
  readonly overwrite: boolean | undefined;
20
+ readonly description: string | undefined;
21
+ readonly dataType: string | undefined;
22
+ readonly lastModifiedUser: string | undefined;
23
+ /**
24
+ * The key the request asked to encrypt with, in any form KMS accepts: an
25
+ * alias such as `alias/aws/ssm`, a key ID, or a key ARN. Undefined leaves
26
+ * Parameter Store to pick its own AWS managed key.
27
+ */
28
+ readonly keyId: string | undefined;
29
+ /**
30
+ * The caller the KMS call for a SecureString is made as, so that encrypting
31
+ * needs the caller's own `kms:Encrypt` permission on the key.
32
+ */
33
+ readonly caller: SimAwsCaller | undefined;
14
34
  }
15
35
  interface SimSsmParameterWriterProperties {
16
36
  readonly parameters: SimSsmParameterStore;
37
+ readonly encryption: SimSsmParameterEncryption;
17
38
  readonly accountRegionScope: SimAwsAccountRegionScope;
18
39
  readonly clock: SimClock;
19
40
  }
@@ -21,32 +42,31 @@ interface SimSsmParameterWriterProperties {
21
42
  * The single path by which a simulated parameter is created or updated.
22
43
  *
23
44
  * Keeping creation and overwrite in one collaborator is what stops the two
24
- * drifting apart on the rules that only show up when they meet: a name that is
25
- * already taken, and a type that cannot change once the parameter exists.
45
+ * drifting apart on the rules that only show up when they meet.
26
46
  */
27
47
  export declare class SimSsmParameterWriter {
28
48
  private readonly parameters;
49
+ private readonly encryption;
29
50
  private readonly accountRegionScope;
30
51
  private readonly clock;
52
+ private readonly overwrite;
31
53
  constructor(properties: SimSsmParameterWriterProperties);
32
54
  /**
33
55
  * Write a new version of a parameter, creating it if it is new.
34
56
  *
35
- * Everything is validated before anything is stored, so a request refused
36
- * for its value leaves no half-made parameter behind.
57
+ * Everything is validated and encrypted before anything is stored, so a
58
+ * request refused for its value, or for a key the caller may not encrypt
59
+ * with, leaves no half-made parameter behind.
37
60
  */
38
- write(request: SimSsmParameterWrite): SimSsmParameterVersion;
39
- private parameterFor;
40
- private created;
61
+ write(request: SimSsmParameterWrite): Promise<SimSsmParameterVersion>;
41
62
  /**
42
- * Refuse an overwrite that real Parameter Store refuses.
63
+ * The ARN the parameter has or is about to have.
43
64
  *
44
- * A request that leaves out Overwrite is a create, so a name already in use
45
- * fails rather than quietly replacing what is there. A request naming a
46
- * different type fails too: Parameter Store has no way to convert a stored
47
- * parameter, so the caller has to delete it and make a new one.
65
+ * It is needed before the parameter exists, because it is the encryption
66
+ * context a SecureString value is bound to.
48
67
  */
49
- private requireOverwriteAllowed;
68
+ private arnFor;
69
+ private created;
50
70
  }
51
71
  export {};
52
72
  //# sourceMappingURL=sim-ssm-parameter-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-ssm-parameter-writer.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAM1F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,OAAO,KAAK,EACV,sBAAsB,EACtB,6BAA6B,EAC9B,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,6BAA6B;IACzE,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;CACzC;AAED,UAAU,+BAA+B;IACvC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IAEjC,YAAY,UAAU,EAAE,+BAA+B,EAItD;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,oBAAoB,GAAG,sBAAsB,CAS3D;IAED,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,OAAO;IAYf;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;CA4BhC"}
1
+ {"version":3,"file":"sim-ssm-parameter-writer.d.ts","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAG1F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9C;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,SAAS,CAAC;CAC3C;AAED,UAAU,+BAA+B;IACvC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAE5D,YAAY,UAAU,EAAE,+BAA+B,EAKtD;IAED;;;;;;OAMG;IACG,KAAK,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAoB1E;IAED;;;;;OAKG;IACH,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;CAchB"}
@@ -1,79 +1,65 @@
1
- import { SimSsmHierarchyTypeMismatchException, SimSsmParameterAlreadyExists, } from "../error/sim-ssm.error.js";
2
1
  import { SimSsmParameter } from "./sim-ssm-parameter.js";
3
- import { SimSsmParameterType } from "./sim-ssm-parameter-type.js";
2
+ import { SimSsmParameterArn } from "./sim-ssm-parameter-arn.js";
3
+ import { SimSsmParameterOverwrite } from "./sim-ssm-parameter-overwrite.js";
4
4
  import { SimSsmParameterValue } from "./sim-ssm-parameter-value.js";
5
5
  /**
6
6
  * The single path by which a simulated parameter is created or updated.
7
7
  *
8
8
  * Keeping creation and overwrite in one collaborator is what stops the two
9
- * drifting apart on the rules that only show up when they meet: a name that is
10
- * already taken, and a type that cannot change once the parameter exists.
9
+ * drifting apart on the rules that only show up when they meet.
11
10
  */
12
11
  export class SimSsmParameterWriter {
13
12
  parameters;
13
+ encryption;
14
14
  accountRegionScope;
15
15
  clock;
16
+ overwrite = new SimSsmParameterOverwrite();
16
17
  constructor(properties) {
17
18
  this.parameters = properties.parameters;
19
+ this.encryption = properties.encryption;
18
20
  this.accountRegionScope = properties.accountRegionScope;
19
21
  this.clock = properties.clock;
20
22
  }
21
23
  /**
22
24
  * Write a new version of a parameter, creating it if it is new.
23
25
  *
24
- * Everything is validated before anything is stored, so a request refused
25
- * for its value leaves no half-made parameter behind.
26
+ * Everything is validated and encrypted before anything is stored, so a
27
+ * request refused for its value, or for a key the caller may not encrypt
28
+ * with, leaves no half-made parameter behind.
26
29
  */
27
- write(request) {
28
- const value = new SimSsmParameterValue(request.value);
29
- const parameter = this.parameterFor(request);
30
- return parameter.addVersion(value, this.clock.now(), {
30
+ async write(request) {
31
+ const submitted = SimSsmParameterValue.submitted(request.value);
32
+ const existing = this.parameters.find(request.name.value);
33
+ const type = this.overwrite.typeFor(request, existing);
34
+ const stored = await this.encryption.stored(type, this.arnFor(request.name), submitted, request.keyId, request.caller);
35
+ const parameter = existing ?? this.created(request.name, type);
36
+ return parameter.addVersion(stored.value, this.clock.now(), {
31
37
  description: request.description,
32
38
  dataType: request.dataType,
33
39
  lastModifiedUser: request.lastModifiedUser,
40
+ keyId: stored.keyId,
34
41
  });
35
42
  }
36
- parameterFor(request) {
37
- const existing = this.parameters.find(request.name.value);
38
- if (existing === undefined) {
39
- return this.created(request);
40
- }
41
- this.requireOverwriteAllowed(request, existing);
42
- return existing;
43
+ /**
44
+ * The ARN the parameter has or is about to have.
45
+ *
46
+ * It is needed before the parameter exists, because it is the encryption
47
+ * context a SecureString value is bound to.
48
+ */
49
+ arnFor(name) {
50
+ return new SimSsmParameterArn({
51
+ resource: name.resource,
52
+ accountRegionScope: this.accountRegionScope,
53
+ }).value;
43
54
  }
44
- created(request) {
55
+ created(name, type) {
45
56
  const parameter = new SimSsmParameter({
46
- name: request.name,
47
- type: SimSsmParameterType.forNewParameter(request.type),
57
+ name,
58
+ type,
48
59
  accountRegionScope: this.accountRegionScope,
49
60
  });
50
61
  this.parameters.add(parameter);
51
62
  return parameter;
52
63
  }
53
- /**
54
- * Refuse an overwrite that real Parameter Store refuses.
55
- *
56
- * A request that leaves out Overwrite is a create, so a name already in use
57
- * fails rather than quietly replacing what is there. A request naming a
58
- * different type fails too: Parameter Store has no way to convert a stored
59
- * parameter, so the caller has to delete it and make a new one.
60
- */
61
- requireOverwriteAllowed(request, existing) {
62
- if (request.overwrite !== true) {
63
- throw new SimSsmParameterAlreadyExists(`The parameter '${existing.name.value}' already exists. To overwrite ` +
64
- `this value, set the Overwrite option in the request to true.`);
65
- }
66
- if (request.type === undefined) {
67
- return;
68
- }
69
- const requested = new SimSsmParameterType(request.type);
70
- if (requested.value === existing.type.value) {
71
- return;
72
- }
73
- throw new SimSsmHierarchyTypeMismatchException(`Parameter '${existing.name.value}' is a ${existing.type.value} ` +
74
- `parameter and cannot be changed to ${requested.value}. Parameter ` +
75
- `Store does not support changing a parameter type: create a new, ` +
76
- `unique parameter instead.`);
77
- }
78
64
  }
79
65
  //# sourceMappingURL=sim-ssm-parameter-writer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-ssm-parameter-writer.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-writer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oCAAoC,EACpC,4BAA4B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAsBpE;;;;;;GAMG;AACH,MAAM,OAAO,qBAAqB;IACf,UAAU,CAAuB;IACjC,kBAAkB,CAA2B;IAC7C,KAAK,CAAW;IAEjC,YAAY,UAA2C;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAA6B;QACjC,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE7C,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE;YACnD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;IACL,CAAC;IAEO,YAAY,CAAC,OAA6B;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE1D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEhD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,OAAO,CAAC,OAA6B;QAC3C,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC;YACpC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;YACvD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACK,uBAAuB,CAC7B,OAA6B,EAC7B,QAAyB;QAEzB,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,4BAA4B,CACpC,kBAAkB,QAAQ,CAAC,IAAI,CAAC,KAAK,iCAAiC;gBACpE,8DAA8D,CACjE,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,oCAAoC,CAC5C,cAAc,QAAQ,CAAC,IAAI,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG;YAC/D,sCAAsC,SAAS,CAAC,KAAK,cAAc;YACnE,kEAAkE;YAClE,2BAA2B,CAC9B,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sim-ssm-parameter-writer.js","sourceRoot":"","sources":["../../../../src/service/ssm/parameter/sim-ssm-parameter-writer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAG5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAwCpE;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IACf,UAAU,CAAuB;IACjC,UAAU,CAA4B;IACtC,kBAAkB,CAA2B;IAC7C,KAAK,CAAW;IAChB,SAAS,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAE5D,YAAY,UAA2C;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC;QACxD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,OAA6B;QACvC,MAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CACzC,IAAI,EACJ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EACzB,SAAS,EACT,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,MAAM,CACf,CAAC;QACF,MAAM,SAAS,GAAG,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE/D,OAAO,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE;YAC1D,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,IAAyB;QACtC,OAAO,IAAI,kBAAkB,CAAC;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC,KAAK,CAAC;IACX,CAAC;IAEO,OAAO,CACb,IAAyB,EACzB,IAAyB;QAEzB,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC;YACpC,IAAI;YACJ,IAAI;YACJ,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE/B,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
@@ -4,7 +4,9 @@ import type { SimAwsCaller } from "../aws/caller/sim-aws-caller.js";
4
4
  import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
5
5
  import { type SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-service-auth-z.js";
6
6
  import type * as simSsmCommands from "./command/sim-ssm-command.types.js";
7
+ import { SimSsmCfnResourceFactory } from "./cfn/sim-cfn-ssm-resource-factory.js";
7
8
  import type { SimSsmParameter } from "./parameter/sim-ssm-parameter.js";
9
+ import type { SimSsmKmsCrypto } from "./parameter/sim-ssm-kms-crypto.js";
8
10
  export interface SimSsmRequestOptions {
9
11
  readonly caller?: SimAwsCaller;
10
12
  }
@@ -12,6 +14,12 @@ interface SimSsmProperties {
12
14
  readonly accountRegionScope?: SimAwsAccountRegionScope;
13
15
  readonly iam?: SimIamInterServiceAuthZ;
14
16
  readonly background?: BackgroundScheduler;
17
+ /**
18
+ * The simulated KMS that SecureString values are encrypted through. One is
19
+ * created for this scope when none is supplied, so a standalone SimSsm still
20
+ * encrypts rather than quietly storing secrets in the clear.
21
+ */
22
+ readonly kms?: SimSsmKmsCrypto;
15
23
  }
16
24
  /**
17
25
  * Simulated SSM Parameter Store. Handles SDK commands. Emulates AWS behaviour
@@ -32,6 +40,7 @@ export declare class SimSsm {
32
40
  private readonly describeParametersCommand;
33
41
  private readonly background;
34
42
  private readonly sdkRouter;
43
+ private readonly cfnFactory;
35
44
  constructor(properties?: SimSsmProperties);
36
45
  /**
37
46
  * Find a parameter by name, with or without its leading slash.
@@ -68,6 +77,10 @@ export declare class SimSsm {
68
77
  * Handle a DescribeParameters Command from the SDK.
69
78
  */
70
79
  describeParameters(command: simSsmCommands.SimDescribeParametersCommand, options?: SimSsmRequestOptions): Promise<simSsmCommands.SimDescribeParametersCommandOutput>;
80
+ /**
81
+ * Get the CloudFormation Resource factory for AWS::SSM::* Resources.
82
+ */
83
+ cfnResourceFactory(): SimSsmCfnResourceFactory;
71
84
  /**
72
85
  * Get this service's SDK Command router for SDK client interception.
73
86
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-ssm.d.ts","sourceRoot":"","sources":["../../../src/service/ssm/sim-ssm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAEvF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAO1D,OAAO,KAAK,KAAK,cAAc,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAKxE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IACjE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA2B;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAE9D,YAAY,UAAU,GAAE,gBAAqB,EAqC5C;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEvD;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,cAAc,CAAC,sBAAsB,EAC9C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAGtD;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,cAAc,CAAC,sBAAsB,EAC9C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAGtD;IAED;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,cAAc,CAAC,uBAAuB,EAC/C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAGvD;IAED;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,cAAc,CAAC,6BAA6B,EACrD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAG7D;IAED;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,cAAc,CAAC,yBAAyB,EACjD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAGzD;IAED;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,cAAc,CAAC,0BAA0B,EAClD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAG1D;IAED;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,cAAc,CAAC,4BAA4B,EACpD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,kCAAkC,CAAC,CAG5D;IAED;;OAEG;IACH,gBAAgB,IAAI,mBAAmB,CAEtC;CACF"}
1
+ {"version":3,"file":"sim-ssm.d.ts","sourceRoot":"","sources":["../../../src/service/ssm/sim-ssm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAEvF,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,kDAAkD,CAAC;AAQ1D,OAAO,KAAK,KAAK,cAAc,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAKzE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED,UAAU,gBAAgB;IACxB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAE1C;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgC;IACjE,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAA2B;IACrE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+C;IAE1E,YAAY,UAAU,GAAE,gBAAqB,EA4C5C;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEvD;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,cAAc,CAAC,sBAAsB,EAC9C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAGtD;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,cAAc,CAAC,sBAAsB,EAC9C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAGtD;IAED;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,cAAc,CAAC,uBAAuB,EAC/C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAGvD;IAED;;OAEG;IACG,mBAAmB,CACvB,OAAO,EAAE,cAAc,CAAC,6BAA6B,EACrD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAG7D;IAED;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,cAAc,CAAC,yBAAyB,EACjD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAGzD;IAED;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,cAAc,CAAC,0BAA0B,EAClD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,gCAAgC,CAAC,CAG1D;IAED;;OAEG;IACG,kBAAkB,CACtB,OAAO,EAAE,cAAc,CAAC,4BAA4B,EACpD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,kCAAkC,CAAC,CAG5D;IAED;;OAEG;IACH,kBAAkB,IAAI,wBAAwB,CAE7C;IAED;;OAEG;IACH,gBAAgB,IAAI,mBAAmB,CAEtC;CACF"}