@kensio/yulin 0.38.0 → 0.40.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 (260) hide show
  1. package/README.md +3 -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-scoped-service-registries.d.ts +31 -0
  6. package/dist/service/aws/factory/sim-aws-scoped-service-registries.d.ts.map +1 -0
  7. package/dist/service/aws/factory/sim-aws-scoped-service-registries.js +31 -0
  8. package/dist/service/aws/factory/sim-aws-scoped-service-registries.js.map +1 -0
  9. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +10 -21
  10. package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
  11. package/dist/service/aws/factory/sim-aws-service-factory.js +22 -29
  12. package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
  13. package/dist/service/aws/sim-aws-account-region-scope.d.ts +5 -0
  14. package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
  15. package/dist/service/aws/sim-aws-account-region-scope.js +6 -0
  16. package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
  17. package/dist/service/aws/sim-aws.d.ts +5 -0
  18. package/dist/service/aws/sim-aws.d.ts.map +1 -1
  19. package/dist/service/aws/sim-aws.js +6 -0
  20. package/dist/service/aws/sim-aws.js.map +1 -1
  21. package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.d.ts +6 -0
  22. package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.d.ts.map +1 -0
  23. package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.js +13 -0
  24. package/dist/service/cloudformation/resource/cfn/acm/sim-acm-cfn-value-adapter.js.map +1 -0
  25. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts +6 -0
  26. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts.map +1 -0
  27. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +21 -0
  28. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js.map +1 -0
  29. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.d.ts +6 -0
  30. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.d.ts.map +1 -0
  31. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js +17 -0
  32. package/dist/service/cloudformation/resource/cfn/iam/sim-iam-cfn-value-adapter.js.map +1 -0
  33. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.d.ts +26 -0
  34. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.d.ts.map +1 -0
  35. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.js +26 -0
  36. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-alias-cfn.js.map +1 -0
  37. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.d.ts +6 -0
  38. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.d.ts.map +1 -0
  39. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.js +19 -0
  40. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-cfn-value-adapter.js.map +1 -0
  41. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.d.ts +25 -0
  42. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.d.ts.map +1 -0
  43. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.js +34 -0
  44. package/dist/service/cloudformation/resource/cfn/kms/sim-kms-key-cfn.js.map +1 -0
  45. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.d.ts +6 -0
  46. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.d.ts.map +1 -0
  47. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js +19 -0
  48. package/dist/service/cloudformation/resource/cfn/lambda/sim-lambda-cfn-value-adapter.js.map +1 -0
  49. package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.d.ts +6 -0
  50. package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.d.ts.map +1 -0
  51. package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.js +13 -0
  52. package/dist/service/cloudformation/resource/cfn/route53/sim-route53-cfn-value-adapter.js.map +1 -0
  53. package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.d.ts +6 -0
  54. package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.d.ts.map +1 -0
  55. package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.js +13 -0
  56. package/dist/service/cloudformation/resource/cfn/s3/sim-s3-cfn-value-adapter.js.map +1 -0
  57. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.d.ts +7 -0
  58. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.d.ts.map +1 -0
  59. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.js +14 -0
  60. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-cfn-value-adapter.js.map +1 -0
  61. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.d.ts +24 -0
  62. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.d.ts.map +1 -0
  63. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.js +30 -0
  64. package/dist/service/cloudformation/resource/cfn/secretsmanager/sim-secrets-manager-secret-cfn.js.map +1 -0
  65. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts +11 -2
  66. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.d.ts.map +1 -1
  67. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js +24 -71
  68. package/dist/service/cloudformation/resource/cfn/sim-cfn-resource-value-adapter.js.map +1 -1
  69. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.d.ts.map +1 -1
  70. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js +6 -0
  71. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js.map +1 -1
  72. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts +25 -0
  73. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.d.ts.map +1 -0
  74. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js +36 -0
  75. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-creator.js.map +1 -0
  76. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.d.ts +32 -0
  77. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.d.ts.map +1 -0
  78. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.js +35 -0
  79. package/dist/service/kms/cfn/alias/sim-cfn-kms-alias-properties.js.map +1 -0
  80. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts +36 -0
  81. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.d.ts.map +1 -0
  82. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js +53 -0
  83. package/dist/service/kms/cfn/key/sim-cfn-kms-key-creator.js.map +1 -0
  84. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.d.ts +57 -0
  85. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.d.ts.map +1 -0
  86. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js +74 -0
  87. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js.map +1 -0
  88. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts +49 -0
  89. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts.map +1 -0
  90. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js +72 -0
  91. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js.map +1 -0
  92. package/dist/service/kms/cfn/sim-cfn-kms-property-parser.d.ts +56 -0
  93. package/dist/service/kms/cfn/sim-cfn-kms-property-parser.d.ts.map +1 -0
  94. package/dist/service/kms/cfn/sim-cfn-kms-property-parser.js +95 -0
  95. package/dist/service/kms/cfn/sim-cfn-kms-property-parser.js.map +1 -0
  96. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts +23 -0
  97. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.d.ts.map +1 -0
  98. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js +34 -0
  99. package/dist/service/kms/cfn/sim-cfn-kms-resource-factory.js.map +1 -0
  100. package/dist/service/kms/key/sim-kms-key-store.d.ts +8 -0
  101. package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -1
  102. package/dist/service/kms/key/sim-kms-key-store.js +10 -0
  103. package/dist/service/kms/key/sim-kms-key-store.js.map +1 -1
  104. package/dist/service/kms/sim-kms.d.ts +15 -0
  105. package/dist/service/kms/sim-kms.d.ts.map +1 -1
  106. package/dist/service/kms/sim-kms.js +18 -0
  107. package/dist/service/kms/sim-kms.js.map +1 -1
  108. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.d.ts +22 -0
  109. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.d.ts.map +1 -0
  110. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.js +47 -0
  111. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generate-secret-string-parser.js.map +1 -0
  112. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts +24 -0
  113. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.d.ts.map +1 -0
  114. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js +38 -0
  115. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-creator.js.map +1 -0
  116. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts +54 -0
  117. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts.map +1 -0
  118. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.js +82 -0
  119. package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.js.map +1 -0
  120. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.d.ts +58 -0
  121. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.d.ts.map +1 -0
  122. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.js +122 -0
  123. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.js.map +1 -0
  124. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts +24 -0
  125. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.d.ts.map +1 -0
  126. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js +31 -0
  127. package/dist/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.js.map +1 -0
  128. package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.d.ts +29 -0
  129. package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.d.ts.map +1 -0
  130. package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.js +47 -0
  131. package/dist/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.js.map +1 -0
  132. package/dist/service/secretsmanager/command/secret/secret.command.d.ts +144 -0
  133. package/dist/service/secretsmanager/command/secret/secret.command.d.ts.map +1 -0
  134. package/dist/service/secretsmanager/command/secret/secret.command.js +2 -0
  135. package/dist/service/secretsmanager/command/secret/secret.command.js.map +1 -0
  136. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.d.ts +44 -0
  137. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.d.ts.map +1 -0
  138. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.js +61 -0
  139. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.js.map +1 -0
  140. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.d.ts +44 -0
  141. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.d.ts.map +1 -0
  142. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.js +61 -0
  143. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.js.map +1 -0
  144. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts +48 -0
  145. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.d.ts.map +1 -0
  146. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js +62 -0
  147. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-commands.js.map +1 -0
  148. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.d.ts +26 -0
  149. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.d.ts.map +1 -0
  150. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.js +38 -0
  151. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-detail.js.map +1 -0
  152. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.d.ts +29 -0
  153. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.d.ts.map +1 -0
  154. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.js +55 -0
  155. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-secret-page.js.map +1 -0
  156. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts +46 -0
  157. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.d.ts.map +1 -0
  158. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js +67 -0
  159. package/dist/service/secretsmanager/command/secret/sim-secrets-manager-update-secret.js.map +1 -0
  160. package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.d.ts +6 -0
  161. package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.d.ts.map +1 -0
  162. package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.js +2 -0
  163. package/dist/service/secretsmanager/command/sim-secrets-manager-command.types.js.map +1 -0
  164. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts +39 -0
  165. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.d.ts.map +1 -0
  166. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js +61 -0
  167. package/dist/service/secretsmanager/command/value/sim-secrets-manager-value-commands.js.map +1 -0
  168. package/dist/service/secretsmanager/command/value/value.command.d.ts +47 -0
  169. package/dist/service/secretsmanager/command/value/value.command.d.ts.map +1 -0
  170. package/dist/service/secretsmanager/command/value/value.command.js +2 -0
  171. package/dist/service/secretsmanager/command/value/value.command.js.map +1 -0
  172. package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts +55 -0
  173. package/dist/service/secretsmanager/error/sim-secrets-manager.error.d.ts.map +1 -0
  174. package/dist/service/secretsmanager/error/sim-secrets-manager.error.js +60 -0
  175. package/dist/service/secretsmanager/error/sim-secrets-manager.error.js.map +1 -0
  176. package/dist/service/secretsmanager/index.d.ts +7 -0
  177. package/dist/service/secretsmanager/index.d.ts.map +1 -0
  178. package/dist/service/secretsmanager/index.js +7 -0
  179. package/dist/service/secretsmanager/index.js.map +1 -0
  180. package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.d.ts +19 -0
  181. package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.d.ts.map +1 -0
  182. package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.js +57 -0
  183. package/dist/service/secretsmanager/sdk/sim-secrets-manager-sdk-command-router.js.map +1 -0
  184. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.d.ts +37 -0
  185. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.d.ts.map +1 -0
  186. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.js +70 -0
  187. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-generated-secret-string.js.map +1 -0
  188. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.d.ts +53 -0
  189. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.d.ts.map +1 -0
  190. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.js +65 -0
  191. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.js.map +1 -0
  192. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.d.ts +40 -0
  193. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.d.ts.map +1 -0
  194. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.js +66 -0
  195. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-sets.js.map +1 -0
  196. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.d.ts +31 -0
  197. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.d.ts.map +1 -0
  198. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.js +52 -0
  199. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-generator.js.map +1 -0
  200. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.d.ts +35 -0
  201. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.d.ts.map +1 -0
  202. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.js +64 -0
  203. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-spec.js.map +1 -0
  204. package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.d.ts +33 -0
  205. package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.d.ts.map +1 -0
  206. package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.js +60 -0
  207. package/dist/service/secretsmanager/secret/sim-secrets-manager-deletion-schedule.js.map +1 -0
  208. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.d.ts +42 -0
  209. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.d.ts.map +1 -0
  210. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.js +64 -0
  211. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.js.map +1 -0
  212. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.d.ts +30 -0
  213. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.d.ts.map +1 -0
  214. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.js +32 -0
  215. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-expiry.js.map +1 -0
  216. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.d.ts +31 -0
  217. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.d.ts.map +1 -0
  218. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.js +35 -0
  219. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-factory.js.map +1 -0
  220. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.d.ts +27 -0
  221. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.d.ts.map +1 -0
  222. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.js +48 -0
  223. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-id.js.map +1 -0
  224. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.d.ts +23 -0
  225. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.d.ts.map +1 -0
  226. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.js +50 -0
  227. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.js.map +1 -0
  228. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts +53 -0
  229. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.d.ts.map +1 -0
  230. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js +92 -0
  231. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-store.js.map +1 -0
  232. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts +47 -0
  233. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.d.ts.map +1 -0
  234. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js +81 -0
  235. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-value.js.map +1 -0
  236. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts +56 -0
  237. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.d.ts.map +1 -0
  238. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js +62 -0
  239. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-version.js.map +1 -0
  240. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.d.ts +47 -0
  241. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.d.ts.map +1 -0
  242. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.js +83 -0
  243. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-versions.js.map +1 -0
  244. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.d.ts +75 -0
  245. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.d.ts.map +1 -0
  246. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.js +86 -0
  247. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret.js.map +1 -0
  248. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.d.ts +28 -0
  249. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.d.ts.map +1 -0
  250. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.js +43 -0
  251. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-selector.js.map +1 -0
  252. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts +42 -0
  253. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.d.ts.map +1 -0
  254. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js +60 -0
  255. package/dist/service/secretsmanager/secret/sim-secrets-manager-version-writer.js.map +1 -0
  256. package/dist/service/secretsmanager/sim-secrets-manager.d.ts +85 -0
  257. package/dist/service/secretsmanager/sim-secrets-manager.d.ts.map +1 -0
  258. package/dist/service/secretsmanager/sim-secrets-manager.js +156 -0
  259. package/dist/service/secretsmanager/sim-secrets-manager.js.map +1 -0
  260. package/package.json +6 -1
@@ -0,0 +1,35 @@
1
+ import { SimCfnKmsPropertyParser } from "../sim-cfn-kms-property-parser.js";
2
+ /**
3
+ * Reads AWS::KMS::Alias CloudFormation properties into the shape the alias
4
+ * creator needs.
5
+ *
6
+ * Both properties are required, as they are on real CloudFormation: an alias
7
+ * with no name names nothing, and an alias with no target points at nothing.
8
+ */
9
+ export class SimCfnKmsAliasProperties {
10
+ resource;
11
+ properties;
12
+ propertyParser = new SimCfnKmsPropertyParser({
13
+ resourceType: "AWS::KMS::Alias",
14
+ });
15
+ constructor(properties) {
16
+ this.resource = properties.resource;
17
+ this.properties = properties.properties;
18
+ }
19
+ /**
20
+ * The alias name, including its `alias/` prefix.
21
+ */
22
+ aliasName() {
23
+ return this.propertyParser.requiredString(this.resource, this.properties["AliasName"], "AliasName");
24
+ }
25
+ /**
26
+ * The key the alias points at, in any of the forms KMS accepts as a KeyId.
27
+ *
28
+ * A template usually gets here through `!Ref` on its AWS::KMS::Key, which
29
+ * resolves to that key's key ID.
30
+ */
31
+ targetKeyId() {
32
+ return this.propertyParser.requiredString(this.resource, this.properties["TargetKeyId"], "TargetKeyId");
33
+ }
34
+ }
35
+ //# sourceMappingURL=sim-cfn-kms-alias-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-alias-properties.js","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/alias/sim-cfn-kms-alias-properties.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAO5E;;;;;;GAMG;AACH,MAAM,OAAO,wBAAwB;IAClB,QAAQ,CAAiB;IACzB,UAAU,CAA4B;IACtC,cAAc,GAAG,IAAI,uBAAuB,CAAC;QAC5D,YAAY,EAAE,iBAAiB;KAChC,CAAC,CAAC;IAEH,YAAY,UAA8C;QACxD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CACvC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAC5B,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CACvC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAC9B,aAAa,CACd,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,36 @@
1
+ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ import type { SimKmsKey } from "../../key/sim-kms-key.js";
4
+ import type { SimKms } from "../../sim-kms.js";
5
+ interface SimCfnKmsKeyCreatorProperties {
6
+ readonly kms: SimKms;
7
+ }
8
+ /**
9
+ * Creates simulated KMS keys from AWS::KMS::Key Resources.
10
+ *
11
+ * The key is created through the ordinary CreateKey command rather than
12
+ * constructed directly, so a key a template deployed is the same thing an SDK
13
+ * caller would have got: real key material, the same key policy handling, and
14
+ * the same refusal of key types this simulation does not model.
15
+ */
16
+ export declare class SimCfnKmsKeyCreator {
17
+ private readonly kms;
18
+ constructor(properties: SimCfnKmsKeyCreatorProperties);
19
+ /**
20
+ * Create a key from an AWS::KMS::Key Resource.
21
+ */
22
+ create(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): Promise<SimKmsKey>;
23
+ /**
24
+ * Apply `Enabled: false`, which asks for a key that is disabled the moment
25
+ * it exists.
26
+ *
27
+ * CreateKey has no input for that, as the real API has none either: real
28
+ * CloudFormation makes the key and then disables it. The key model is
29
+ * disabled directly rather than through DisableKey, because CloudFormation
30
+ * is acting as the key's creator here and has no caller identity of its own
31
+ * to authorize.
32
+ */
33
+ private applyEnabled;
34
+ }
35
+ export {};
36
+ //# sourceMappingURL=sim-cfn-kms-key-creator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-key-creator.d.ts","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-key-creator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kEAAkE,CAAC;AAClH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG/C,UAAU,6BAA6B;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,YAAY,UAAU,EAAE,6BAA6B,EAEpD;IAED;;OAEG;IACG,MAAM,CACV,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,SAAS,CAAC,CAyBpB;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,YAAY;CAKrB"}
@@ -0,0 +1,53 @@
1
+ import { assertDefined } from "../../../../util/type-guard/defined.js";
2
+ import { SimCfnKmsKeyProperties } from "./sim-cfn-kms-key-properties.js";
3
+ /**
4
+ * Creates simulated KMS keys from AWS::KMS::Key Resources.
5
+ *
6
+ * The key is created through the ordinary CreateKey command rather than
7
+ * constructed directly, so a key a template deployed is the same thing an SDK
8
+ * caller would have got: real key material, the same key policy handling, and
9
+ * the same refusal of key types this simulation does not model.
10
+ */
11
+ export class SimCfnKmsKeyCreator {
12
+ kms;
13
+ constructor(properties) {
14
+ this.kms = properties.kms;
15
+ }
16
+ /**
17
+ * Create a key from an AWS::KMS::Key Resource.
18
+ */
19
+ async create(resource, properties) {
20
+ const keyProperties = new SimCfnKmsKeyProperties({ resource, properties });
21
+ const created = await this.kms.createKey({
22
+ input: {
23
+ Description: keyProperties.description(),
24
+ Policy: keyProperties.policy(),
25
+ KeySpec: keyProperties.keySpec(),
26
+ KeyUsage: keyProperties.keyUsage(),
27
+ Origin: keyProperties.origin(),
28
+ },
29
+ });
30
+ const keyId = created.KeyMetadata?.KeyId;
31
+ assertDefined(keyId, `sim KMS key ID after CloudFormation creation for ${resource.logicalId}`);
32
+ const key = this.kms.findKey(keyId);
33
+ assertDefined(key, `sim KMS key ${keyId} after CloudFormation creation`);
34
+ this.applyEnabled(key, keyProperties.enabled());
35
+ return key;
36
+ }
37
+ /**
38
+ * Apply `Enabled: false`, which asks for a key that is disabled the moment
39
+ * it exists.
40
+ *
41
+ * CreateKey has no input for that, as the real API has none either: real
42
+ * CloudFormation makes the key and then disables it. The key model is
43
+ * disabled directly rather than through DisableKey, because CloudFormation
44
+ * is acting as the key's creator here and has no caller identity of its own
45
+ * to authorize.
46
+ */
47
+ applyEnabled(key, enabled) {
48
+ if (!enabled) {
49
+ key.disable();
50
+ }
51
+ }
52
+ }
53
+ //# sourceMappingURL=sim-cfn-kms-key-creator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-key-creator.js","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-key-creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAKvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAMzE;;;;;;;GAOG;AACH,MAAM,OAAO,mBAAmB;IACb,GAAG,CAAS;IAE7B,YAAY,UAAyC;QACnD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,QAAwB,EACxB,UAAqC;QAErC,MAAM,aAAa,GAAG,IAAI,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QAE3E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YACvC,KAAK,EAAE;gBACL,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE;gBACxC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE;gBAC9B,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE;gBAChC,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE;gBAClC,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE;aAC/B;SACF,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC;QACzC,aAAa,CACX,KAAK,EACL,oDAAoD,QAAQ,CAAC,SAAS,EAAE,CACzE,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,aAAa,CAAC,GAAG,EAAE,eAAe,KAAK,gCAAgC,CAAC,CAAC;QAEzE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAEhD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;OASG;IACK,YAAY,CAAC,GAAc,EAAE,OAAgB;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,57 @@
1
+ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ interface SimCfnKmsKeyPropertiesProperties {
4
+ readonly resource: SimCfnResource;
5
+ readonly properties: SimCfnTemplateValueRecord;
6
+ }
7
+ /**
8
+ * Reads AWS::KMS::Key CloudFormation properties into the shape the key creator
9
+ * needs.
10
+ *
11
+ * Keeping the property-shape rules here leaves the creator to do nothing but
12
+ * call CreateKey, and puts the refusals for unmodelled key behaviour in one
13
+ * place beside the properties they belong to.
14
+ *
15
+ * Those refusals run on construction rather than when a property is read, so
16
+ * a Resource asking for something unmodelled cannot get as far as creating a
17
+ * key that would then be wrong.
18
+ */
19
+ export declare class SimCfnKmsKeyProperties {
20
+ private readonly resource;
21
+ private readonly properties;
22
+ private readonly propertyParser;
23
+ constructor(properties: SimCfnKmsKeyPropertiesProperties);
24
+ /**
25
+ * The key Description.
26
+ */
27
+ description(): string | undefined;
28
+ /**
29
+ * The key policy, as the JSON document string CreateKey takes.
30
+ *
31
+ * Omitting it gets the default root-delegation policy KMS applies, which is
32
+ * the same thing CreateKey does with no Policy.
33
+ */
34
+ policy(): string | undefined;
35
+ /**
36
+ * The requested key spec, passed through so CreateKey refuses the specs this
37
+ * simulation does not create.
38
+ */
39
+ keySpec(): string | undefined;
40
+ /**
41
+ * The requested key usage, passed through to CreateKey in the same way.
42
+ */
43
+ keyUsage(): string | undefined;
44
+ /**
45
+ * The requested key material origin, passed through to CreateKey in the same
46
+ * way.
47
+ */
48
+ origin(): string | undefined;
49
+ /**
50
+ * Whether the deployed key is enabled. A key is enabled unless the template
51
+ * says otherwise, as on real CloudFormation.
52
+ */
53
+ enabled(): boolean;
54
+ private string;
55
+ }
56
+ export {};
57
+ //# sourceMappingURL=sim-cfn-kms-key-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-key-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-key-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,kEAAkE,CAAC;AAI1E,UAAU,gCAAgC;IACxC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA4B;IACvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAE5B;IAEH,YAAY,UAAU,EAAE,gCAAgC,EAOvD;IAED;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,SAAS,CAEhC;IAED;;;;;OAKG;IACH,MAAM,IAAI,MAAM,GAAG,SAAS,CAM3B;IAED;;;OAGG;IACH,OAAO,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED;;;OAGG;IACH,MAAM,IAAI,MAAM,GAAG,SAAS,CAE3B;IAED;;;OAGG;IACH,OAAO,IAAI,OAAO,CAQjB;IAED,OAAO,CAAC,MAAM;CAMf"}
@@ -0,0 +1,74 @@
1
+ import { SimCfnKmsPropertyParser } from "../sim-cfn-kms-property-parser.js";
2
+ import { SimCfnKmsUnsimulatedKeyProperties } from "./sim-cfn-kms-unsimulated-key-properties.js";
3
+ /**
4
+ * Reads AWS::KMS::Key CloudFormation properties into the shape the key creator
5
+ * needs.
6
+ *
7
+ * Keeping the property-shape rules here leaves the creator to do nothing but
8
+ * call CreateKey, and puts the refusals for unmodelled key behaviour in one
9
+ * place beside the properties they belong to.
10
+ *
11
+ * Those refusals run on construction rather than when a property is read, so
12
+ * a Resource asking for something unmodelled cannot get as far as creating a
13
+ * key that would then be wrong.
14
+ */
15
+ export class SimCfnKmsKeyProperties {
16
+ resource;
17
+ properties;
18
+ propertyParser = new SimCfnKmsPropertyParser({
19
+ resourceType: "AWS::KMS::Key",
20
+ });
21
+ constructor(properties) {
22
+ this.resource = properties.resource;
23
+ this.properties = properties.properties;
24
+ new SimCfnKmsUnsimulatedKeyProperties({
25
+ propertyParser: this.propertyParser,
26
+ }).require(this.resource, this.properties);
27
+ }
28
+ /**
29
+ * The key Description.
30
+ */
31
+ description() {
32
+ return this.string(this.properties["Description"], "Description");
33
+ }
34
+ /**
35
+ * The key policy, as the JSON document string CreateKey takes.
36
+ *
37
+ * Omitting it gets the default root-delegation policy KMS applies, which is
38
+ * the same thing CreateKey does with no Policy.
39
+ */
40
+ policy() {
41
+ return this.propertyParser.optionalPolicyJson(this.resource, this.properties["KeyPolicy"], "KeyPolicy");
42
+ }
43
+ /**
44
+ * The requested key spec, passed through so CreateKey refuses the specs this
45
+ * simulation does not create.
46
+ */
47
+ keySpec() {
48
+ return this.string(this.properties["KeySpec"], "KeySpec");
49
+ }
50
+ /**
51
+ * The requested key usage, passed through to CreateKey in the same way.
52
+ */
53
+ keyUsage() {
54
+ return this.string(this.properties["KeyUsage"], "KeyUsage");
55
+ }
56
+ /**
57
+ * The requested key material origin, passed through to CreateKey in the same
58
+ * way.
59
+ */
60
+ origin() {
61
+ return this.string(this.properties["Origin"], "Origin");
62
+ }
63
+ /**
64
+ * Whether the deployed key is enabled. A key is enabled unless the template
65
+ * says otherwise, as on real CloudFormation.
66
+ */
67
+ enabled() {
68
+ return (this.propertyParser.optionalBoolean(this.resource, this.properties["Enabled"], "Enabled") ?? true);
69
+ }
70
+ string(value, name) {
71
+ return this.propertyParser.optionalString(this.resource, value, name);
72
+ }
73
+ }
74
+ //# sourceMappingURL=sim-cfn-kms-key-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-key-properties.js","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-key-properties.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAOhG;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,sBAAsB;IAChB,QAAQ,CAAiB;IACzB,UAAU,CAA4B;IACtC,cAAc,GAAG,IAAI,uBAAuB,CAAC;QAC5D,YAAY,EAAE,eAAe;KAC9B,CAAC,CAAC;IAEH,YAAY,UAA4C;QACtD,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QAExC,IAAI,iCAAiC,CAAC;YACpC,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAC3C,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAC5B,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,CACL,IAAI,CAAC,cAAc,CAAC,eAAe,CACjC,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAC1B,SAAS,CACV,IAAI,IAAI,CACV,CAAC;IACJ,CAAC;IAEO,MAAM,CACZ,KAAsC,EACtC,IAAY;QAEZ,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;CACF"}
@@ -0,0 +1,49 @@
1
+ import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCfnTemplateValueRecord } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ import type { SimCfnKmsPropertyParser } from "../sim-cfn-kms-property-parser.js";
4
+ interface SimCfnKmsUnsimulatedKeyPropertiesProperties {
5
+ readonly propertyParser: SimCfnKmsPropertyParser;
6
+ }
7
+ /**
8
+ * Refuses AWS::KMS::Key properties that ask for behaviour simulated KMS does
9
+ * not model.
10
+ *
11
+ * Each of these changes what the key is, not merely how it is described, so
12
+ * quietly ignoring one would leave a template deploying a key that behaves
13
+ * differently here than it would on AWS: rotation that never happens, a
14
+ * multi-Region key whose replica cannot exist, or tags no policy can match.
15
+ * Refusing at deploy time makes that visible where it was declared.
16
+ */
17
+ export declare class SimCfnKmsUnsimulatedKeyProperties {
18
+ private readonly propertyParser;
19
+ constructor(properties: SimCfnKmsUnsimulatedKeyPropertiesProperties);
20
+ /**
21
+ * Refuse the Resource if it asks for something unmodelled.
22
+ *
23
+ * KeySpec, KeyUsage and Origin are not checked here: they go through to
24
+ * CreateKey, which already refuses the types this simulation does not
25
+ * create.
26
+ */
27
+ require(resource: SimCfnResource, properties: SimCfnTemplateValueRecord): void;
28
+ /**
29
+ * Automatic key rotation is not simulated.
30
+ *
31
+ * `EnableKeyRotation: false` is the AWS default and says nothing, so it is
32
+ * accepted.
33
+ */
34
+ private requireNoRotation;
35
+ /**
36
+ * Multi-Region keys are not simulated. A simulated key belongs to one
37
+ * account and region, and a ciphertext produced under it cannot be decrypted
38
+ * elsewhere.
39
+ */
40
+ private requireSingleRegion;
41
+ /**
42
+ * Tags are not simulated on KMS keys, so a template declaring them is
43
+ * refused rather than deploying a key whose tags nothing can read and no
44
+ * `aws:ResourceTag` condition can match.
45
+ */
46
+ private requireNoTags;
47
+ }
48
+ export {};
49
+ //# sourceMappingURL=sim-cfn-kms-unsimulated-key-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-unsimulated-key-properties.d.ts","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,kEAAkE,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,UAAU,2CAA2C;IACnD,QAAQ,CAAC,cAAc,EAAE,uBAAuB,CAAC;CAClD;AAED;;;;;;;;;GASG;AACH,qBAAa,iCAAiC;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA0B;IAEzD,YAAY,UAAU,EAAE,2CAA2C,EAElE;IAED;;;;;;OAMG;IACH,OAAO,CACL,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,yBAAyB,GACpC,IAAI,CAIN;IAED;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;;;OAIG;IACH,OAAO,CAAC,aAAa;CActB"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Refuses AWS::KMS::Key properties that ask for behaviour simulated KMS does
3
+ * not model.
4
+ *
5
+ * Each of these changes what the key is, not merely how it is described, so
6
+ * quietly ignoring one would leave a template deploying a key that behaves
7
+ * differently here than it would on AWS: rotation that never happens, a
8
+ * multi-Region key whose replica cannot exist, or tags no policy can match.
9
+ * Refusing at deploy time makes that visible where it was declared.
10
+ */
11
+ export class SimCfnKmsUnsimulatedKeyProperties {
12
+ propertyParser;
13
+ constructor(properties) {
14
+ this.propertyParser = properties.propertyParser;
15
+ }
16
+ /**
17
+ * Refuse the Resource if it asks for something unmodelled.
18
+ *
19
+ * KeySpec, KeyUsage and Origin are not checked here: they go through to
20
+ * CreateKey, which already refuses the types this simulation does not
21
+ * create.
22
+ */
23
+ require(resource, properties) {
24
+ this.requireNoRotation(resource, properties);
25
+ this.requireSingleRegion(resource, properties);
26
+ this.requireNoTags(resource, properties);
27
+ }
28
+ /**
29
+ * Automatic key rotation is not simulated.
30
+ *
31
+ * `EnableKeyRotation: false` is the AWS default and says nothing, so it is
32
+ * accepted.
33
+ */
34
+ requireNoRotation(resource, properties) {
35
+ const enabled = this.propertyParser.optionalBoolean(resource, properties["EnableKeyRotation"], "EnableKeyRotation");
36
+ if (enabled === true) {
37
+ throw this.propertyParser.propertyError(resource, "EnableKeyRotation is not simulated: simulated KMS keys keep the " +
38
+ "same key material for their lifetime, so a rotated ciphertext " +
39
+ "would not be modelled");
40
+ }
41
+ if (properties["RotationPeriodInDays"] !== undefined) {
42
+ throw this.propertyParser.propertyError(resource, "RotationPeriodInDays is not simulated: simulated KMS does not " +
43
+ "rotate key material");
44
+ }
45
+ }
46
+ /**
47
+ * Multi-Region keys are not simulated. A simulated key belongs to one
48
+ * account and region, and a ciphertext produced under it cannot be decrypted
49
+ * elsewhere.
50
+ */
51
+ requireSingleRegion(resource, properties) {
52
+ const multiRegion = this.propertyParser.optionalBoolean(resource, properties["MultiRegion"], "MultiRegion");
53
+ if (multiRegion === true) {
54
+ throw this.propertyParser.propertyError(resource, "MultiRegion is not simulated: a simulated key belongs to one " +
55
+ "account and region, and its ciphertext cannot be decrypted in " +
56
+ "another");
57
+ }
58
+ }
59
+ /**
60
+ * Tags are not simulated on KMS keys, so a template declaring them is
61
+ * refused rather than deploying a key whose tags nothing can read and no
62
+ * `aws:ResourceTag` condition can match.
63
+ */
64
+ requireNoTags(resource, properties) {
65
+ const tags = properties["Tags"];
66
+ if (tags !== undefined) {
67
+ throw this.propertyParser.propertyError(resource, "Tags are not simulated on KMS keys: ListResourceTags and the " +
68
+ "aws:ResourceTag condition key would not see them");
69
+ }
70
+ }
71
+ }
72
+ //# sourceMappingURL=sim-cfn-kms-unsimulated-key-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-unsimulated-key-properties.js","sourceRoot":"","sources":["../../../../../src/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.ts"],"names":[],"mappings":"AAWA;;;;;;;;;GASG;AACH,MAAM,OAAO,iCAAiC;IAC3B,cAAc,CAA0B;IAEzD,YAAY,UAAuD;QACjE,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CACL,QAAwB,EACxB,UAAqC;QAErC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7C,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CACvB,QAAwB,EACxB,UAAqC;QAErC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CACjD,QAAQ,EACR,UAAU,CAAC,mBAAmB,CAAC,EAC/B,mBAAmB,CACpB,CAAC;QAEF,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,QAAQ,EACR,kEAAkE;gBAChE,gEAAgE;gBAChE,uBAAuB,CAC1B,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,CAAC,sBAAsB,CAAC,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,QAAQ,EACR,gEAAgE;gBAC9D,qBAAqB,CACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CACzB,QAAwB,EACxB,UAAqC;QAErC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CACrD,QAAQ,EACR,UAAU,CAAC,aAAa,CAAC,EACzB,aAAa,CACd,CAAC;QAEF,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,QAAQ,EACR,+DAA+D;gBAC7D,gEAAgE;gBAChE,SAAS,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,aAAa,CACnB,QAAwB,EACxB,UAAqC;QAErC,MAAM,IAAI,GAAoC,UAAU,CAAC,MAAM,CAAC,CAAC;QAEjE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CACrC,QAAQ,EACR,+DAA+D;gBAC7D,kDAAkD,CACrD,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,56 @@
1
+ import type { SimCfnResource } from "../../cloudformation/resource/sim-cfn-resource.js";
2
+ import type { SimCfnTemplateValue } from "../../cloudformation/template/value/sim-cfn-template-value.js";
3
+ interface SimCfnKmsPropertyParserProperties {
4
+ readonly resourceType: string;
5
+ }
6
+ /**
7
+ * Validates individual AWS::KMS::* CloudFormation property values, failing
8
+ * with a diagnostic naming the Resource type, the property and the logical ID.
9
+ *
10
+ * The Resource type is carried here because KMS creates two of them, and a
11
+ * message naming the wrong one would send a reader to the wrong template
12
+ * entry.
13
+ */
14
+ export declare class SimCfnKmsPropertyParser {
15
+ private readonly resourceType;
16
+ constructor(properties: SimCfnKmsPropertyParserProperties);
17
+ /**
18
+ * Parse a property value that must be a string when present.
19
+ */
20
+ optionalString(resource: SimCfnResource, value: SimCfnTemplateValue | undefined, label: string): string | undefined;
21
+ /**
22
+ * Parse a property value that has to be there and has to be a string.
23
+ */
24
+ requiredString(resource: SimCfnResource, value: SimCfnTemplateValue | undefined, label: string): string;
25
+ /**
26
+ * Parse a property value that must be a boolean when present.
27
+ *
28
+ * CloudFormation carries template booleans as the strings "true" and "false"
29
+ * in places, so both forms are accepted, as CloudFormation itself accepts
30
+ * them.
31
+ */
32
+ optionalBoolean(resource: SimCfnResource, value: SimCfnTemplateValue | undefined, label: string): boolean | undefined;
33
+ /**
34
+ * Parse a policy document property, which CloudFormation carries as an
35
+ * object but which the KMS API takes as a JSON string.
36
+ *
37
+ * A string is passed through so a template that inlined the JSON itself
38
+ * still works, which is what CDK's `PolicyDocument.toJSON` output and a
39
+ * hand-written `!Sub` both end up producing.
40
+ */
41
+ optionalPolicyJson(resource: SimCfnResource, value: SimCfnTemplateValue | undefined, label: string): string | undefined;
42
+ /**
43
+ * Build the diagnostic error for a malformed property value.
44
+ */
45
+ invalidPropertyError(resource: SimCfnResource, label: string, expected: string): TypeError;
46
+ /**
47
+ * Build the diagnostic error for a Resource this simulator refuses.
48
+ */
49
+ propertyError(resource: SimCfnResource, reason: string): Error;
50
+ /**
51
+ * Narrow a template value to an object, refusing anything else.
52
+ */
53
+ private record;
54
+ }
55
+ export {};
56
+ //# sourceMappingURL=sim-cfn-kms-property-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-property-parser.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-property-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,+DAA+D,CAAC;AAEvE,UAAU,iCAAiC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,YAAY,UAAU,EAAE,iCAAiC,EAExD;IAED;;OAEG;IACH,cAAc,CACZ,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CAUpB;IAED;;OAEG;IACH,cAAc,CACZ,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GACZ,MAAM,CAQR;IAED;;;;;;OAMG;IACH,eAAe,CACb,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GACZ,OAAO,GAAG,SAAS,CAcrB;IAED;;;;;;;OAOG;IACH,kBAAkB,CAChB,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GAAG,SAAS,EACtC,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,SAAS,CAUpB;IAED;;OAEG;IACH,oBAAoB,CAClB,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,SAAS,CAKX;IAED;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,CAI7D;IAED;;OAEG;IACH,OAAO,CAAC,MAAM;CAWf"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Validates individual AWS::KMS::* CloudFormation property values, failing
3
+ * with a diagnostic naming the Resource type, the property and the logical ID.
4
+ *
5
+ * The Resource type is carried here because KMS creates two of them, and a
6
+ * message naming the wrong one would send a reader to the wrong template
7
+ * entry.
8
+ */
9
+ export class SimCfnKmsPropertyParser {
10
+ resourceType;
11
+ constructor(properties) {
12
+ this.resourceType = properties.resourceType;
13
+ }
14
+ /**
15
+ * Parse a property value that must be a string when present.
16
+ */
17
+ optionalString(resource, value, label) {
18
+ if (value === undefined) {
19
+ return undefined;
20
+ }
21
+ if (typeof value !== "string") {
22
+ throw this.invalidPropertyError(resource, label, "a string");
23
+ }
24
+ return value;
25
+ }
26
+ /**
27
+ * Parse a property value that has to be there and has to be a string.
28
+ */
29
+ requiredString(resource, value, label) {
30
+ const parsed = this.optionalString(resource, value, label);
31
+ if (parsed === undefined) {
32
+ throw this.invalidPropertyError(resource, label, "a string");
33
+ }
34
+ return parsed;
35
+ }
36
+ /**
37
+ * Parse a property value that must be a boolean when present.
38
+ *
39
+ * CloudFormation carries template booleans as the strings "true" and "false"
40
+ * in places, so both forms are accepted, as CloudFormation itself accepts
41
+ * them.
42
+ */
43
+ optionalBoolean(resource, value, label) {
44
+ if (value === undefined) {
45
+ return undefined;
46
+ }
47
+ if (typeof value === "boolean") {
48
+ return value;
49
+ }
50
+ if (value === "true" || value === "false") {
51
+ return value === "true";
52
+ }
53
+ throw this.invalidPropertyError(resource, label, "a boolean");
54
+ }
55
+ /**
56
+ * Parse a policy document property, which CloudFormation carries as an
57
+ * object but which the KMS API takes as a JSON string.
58
+ *
59
+ * A string is passed through so a template that inlined the JSON itself
60
+ * still works, which is what CDK's `PolicyDocument.toJSON` output and a
61
+ * hand-written `!Sub` both end up producing.
62
+ */
63
+ optionalPolicyJson(resource, value, label) {
64
+ if (value === undefined) {
65
+ return undefined;
66
+ }
67
+ if (typeof value === "string") {
68
+ return value;
69
+ }
70
+ return JSON.stringify(this.record(resource, value, label));
71
+ }
72
+ /**
73
+ * Build the diagnostic error for a malformed property value.
74
+ */
75
+ invalidPropertyError(resource, label, expected) {
76
+ return new TypeError(`Invalid ${this.resourceType} ${resource.logicalId}: ` +
77
+ `${label} must be ${expected}`);
78
+ }
79
+ /**
80
+ * Build the diagnostic error for a Resource this simulator refuses.
81
+ */
82
+ propertyError(resource, reason) {
83
+ return new Error(`Invalid ${this.resourceType} Resource ${resource.logicalId}: ${reason}`);
84
+ }
85
+ /**
86
+ * Narrow a template value to an object, refusing anything else.
87
+ */
88
+ record(resource, value, label) {
89
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
90
+ throw this.invalidPropertyError(resource, label, "an object");
91
+ }
92
+ return value;
93
+ }
94
+ }
95
+ //# sourceMappingURL=sim-cfn-kms-property-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-property-parser.js","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-property-parser.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,MAAM,OAAO,uBAAuB;IACjB,YAAY,CAAS;IAEtC,YAAY,UAA6C;QACvD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,QAAwB,EACxB,KAAsC,EACtC,KAAa;QAEb,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,QAAwB,EACxB,KAAsC,EACtC,KAAa;QAEb,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAE3D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CACb,QAAwB,EACxB,KAAsC,EACtC,KAAa;QAEb,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC1C,OAAO,KAAK,KAAK,MAAM,CAAC;QAC1B,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAChB,QAAwB,EACxB,KAAsC,EACtC,KAAa;QAEb,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,oBAAoB,CAClB,QAAwB,EACxB,KAAa,EACb,QAAgB;QAEhB,OAAO,IAAI,SAAS,CAClB,WAAW,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,SAAS,IAAI;YACpD,GAAG,KAAK,YAAY,QAAQ,EAAE,CACjC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAwB,EAAE,MAAc;QACpD,OAAO,IAAI,KAAK,CACd,WAAW,IAAI,CAAC,YAAY,aAAa,QAAQ,CAAC,SAAS,KAAK,MAAM,EAAE,CACzE,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,MAAM,CACZ,QAAwB,EACxB,KAA0B,EAC1B,KAAa;QAEb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
@@ -0,0 +1,23 @@
1
+ import type { SimCfnServiceResourceFactory } from "../../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
2
+ import type { SimCfnResource, SimCloudFormationResourceCreateContext } from "../../cloudformation/resource/sim-cfn-resource.js";
3
+ import type { SimKms } from "../sim-kms.js";
4
+ interface SimKmsCfnResourceFactoryProperties {
5
+ readonly kms: SimKms;
6
+ }
7
+ /**
8
+ * CloudFormation Resource factory for simulated KMS resources.
9
+ */
10
+ export declare class SimKmsCfnResourceFactory implements SimCfnServiceResourceFactory {
11
+ private readonly keyCreator;
12
+ private readonly aliasCreator;
13
+ constructor(properties: SimKmsCfnResourceFactoryProperties);
14
+ /**
15
+ * Create a simulated KMS resource from a CloudFormation Resource.
16
+ *
17
+ * Grants and replica keys are not simulated, so their Resource types are
18
+ * reported as unsupported rather than quietly treated as deployed.
19
+ */
20
+ create(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<object | undefined>;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=sim-cfn-kms-resource-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-resource-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,wEAAwE,CAAC;AAC3H,OAAO,KAAK,EACV,cAAc,EACd,sCAAsC,EACvC,MAAM,mDAAmD,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAI5C,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,wBAAyB,YAAW,4BAA4B;IAC3E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAErD,YAAY,UAAU,EAAE,kCAAkC,EAGzD;IAED;;;;;OAKG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgB7B;CACF"}
@@ -0,0 +1,34 @@
1
+ import { SimCfnKmsAliasCreator } from "./alias/sim-cfn-kms-alias-creator.js";
2
+ import { SimCfnKmsKeyCreator } from "./key/sim-cfn-kms-key-creator.js";
3
+ /**
4
+ * CloudFormation Resource factory for simulated KMS resources.
5
+ */
6
+ export class SimKmsCfnResourceFactory {
7
+ keyCreator;
8
+ aliasCreator;
9
+ constructor(properties) {
10
+ this.keyCreator = new SimCfnKmsKeyCreator({ kms: properties.kms });
11
+ this.aliasCreator = new SimCfnKmsAliasCreator({ kms: properties.kms });
12
+ }
13
+ /**
14
+ * Create a simulated KMS resource from a CloudFormation Resource.
15
+ *
16
+ * Grants and replica keys are not simulated, so their Resource types are
17
+ * reported as unsupported rather than quietly treated as deployed.
18
+ */
19
+ async create(resourceTypeName, resource, context) {
20
+ const properties = context.resolvedProperties ?? resource.properties;
21
+ switch (resourceTypeName) {
22
+ case "Key": {
23
+ return await this.keyCreator.create(resource, properties);
24
+ }
25
+ case "Alias": {
26
+ return await this.aliasCreator.create(resource, properties);
27
+ }
28
+ default: {
29
+ throw new Error(`Unsupported sim KMS CloudFormation Resource ${resourceTypeName}`);
30
+ }
31
+ }
32
+ }
33
+ }
34
+ //# sourceMappingURL=sim-cfn-kms-resource-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-kms-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/kms/cfn/sim-cfn-kms-resource-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAMvE;;GAEG;AACH,MAAM,OAAO,wBAAwB;IAClB,UAAU,CAAsB;IAChC,YAAY,CAAwB;IAErD,YAAY,UAA8C;QACxD,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAqB,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAAC;QAErE,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,KAAK,EAAE,CAAC;gBACX,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC5D,CAAC;YACD,KAAK,OAAO,EAAE,CAAC;gBACb,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9D,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,+CAA+C,gBAAgB,EAAE,CAClE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}