@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,122 @@
1
+ /**
2
+ * Validates individual AWS::SecretsManager::* CloudFormation property values,
3
+ * failing with a diagnostic naming the Resource type, the property and the
4
+ * logical ID.
5
+ */
6
+ export class SimCfnSecretsManagerPropertyParser {
7
+ /**
8
+ * Parse a property value that must be a string when present.
9
+ */
10
+ optionalString(resource, value, label) {
11
+ if (value === undefined) {
12
+ return undefined;
13
+ }
14
+ if (typeof value !== "string") {
15
+ throw this.invalidPropertyError(resource, label, "a string");
16
+ }
17
+ return value;
18
+ }
19
+ /**
20
+ * Parse a property value that has to be there and has to be a string.
21
+ */
22
+ requiredString(resource, value, label) {
23
+ const parsed = this.optionalString(resource, value, label);
24
+ if (parsed === undefined) {
25
+ throw this.invalidPropertyError(resource, label, "a string");
26
+ }
27
+ return parsed;
28
+ }
29
+ /**
30
+ * Parse a property value that must be a number when present.
31
+ *
32
+ * CloudFormation carries template numbers as strings often enough that a
33
+ * numeric string is accepted here, as CloudFormation itself accepts one.
34
+ */
35
+ optionalNumber(resource, value, label) {
36
+ if (value === undefined) {
37
+ return undefined;
38
+ }
39
+ if (typeof value === "number") {
40
+ return value;
41
+ }
42
+ if (typeof value === "string" && value.trim() !== "") {
43
+ const parsed = Number(value);
44
+ if (!Number.isNaN(parsed)) {
45
+ return parsed;
46
+ }
47
+ }
48
+ throw this.invalidPropertyError(resource, label, "a number");
49
+ }
50
+ /**
51
+ * Parse a property value that must be a boolean when present.
52
+ *
53
+ * CloudFormation carries template booleans as the strings "true" and
54
+ * "false" in places, so both forms are accepted, as CloudFormation itself
55
+ * accepts them.
56
+ */
57
+ optionalBoolean(resource, value, label) {
58
+ if (value === undefined) {
59
+ return undefined;
60
+ }
61
+ if (typeof value === "boolean") {
62
+ return value;
63
+ }
64
+ if (value === "true" || value === "false") {
65
+ return value === "true";
66
+ }
67
+ throw this.invalidPropertyError(resource, label, "a boolean");
68
+ }
69
+ /**
70
+ * Parse a property value that must be an object when present.
71
+ */
72
+ optionalRecord(resource, value, label) {
73
+ if (value === undefined) {
74
+ return undefined;
75
+ }
76
+ return this.record(resource, value, label);
77
+ }
78
+ /**
79
+ * Parse the Tags property, which CloudFormation carries as a list of
80
+ * Key/Value pairs.
81
+ *
82
+ * Both parts of a pair are required, as they are on real CloudFormation. A
83
+ * half-written tag is refused rather than stored with an absent key or
84
+ * value, which nothing downstream could match on.
85
+ */
86
+ optionalTags(resource, value, label) {
87
+ if (value === undefined) {
88
+ return undefined;
89
+ }
90
+ if (!Array.isArray(value)) {
91
+ throw this.invalidPropertyError(resource, label, "a list");
92
+ }
93
+ return value.map((entry, index) => {
94
+ const entryLabel = `${label}.${String(index)}`;
95
+ const tag = this.record(resource, entry, entryLabel);
96
+ return {
97
+ Key: this.requiredString(resource, tag["Key"], `${entryLabel}.Key`),
98
+ Value: this.requiredString(resource, tag["Value"], `${entryLabel}.Value`),
99
+ };
100
+ });
101
+ }
102
+ /**
103
+ * Build the diagnostic error for a malformed property value.
104
+ *
105
+ * AWS::SecretsManager::Secret is the only Resource type this simulator
106
+ * creates, so it is named here rather than read from the Resource.
107
+ */
108
+ invalidPropertyError(resource, label, expected) {
109
+ return new TypeError(`Invalid AWS::SecretsManager::Secret ${resource.logicalId}: ` +
110
+ `${label} must be ${expected}`);
111
+ }
112
+ /**
113
+ * Narrow a template value to an object, refusing anything else.
114
+ */
115
+ record(resource, value, label) {
116
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
117
+ throw this.invalidPropertyError(resource, label, "an object");
118
+ }
119
+ return value;
120
+ }
121
+ }
122
+ //# sourceMappingURL=sim-cfn-secrets-manager-property-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-secrets-manager-property-parser.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/cfn/sim-cfn-secrets-manager-property-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
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 { SimSecretsManager } from "../sim-secrets-manager.js";
4
+ interface SimSecretsManagerCfnResourceFactoryProperties {
5
+ readonly secretsManager: SimSecretsManager;
6
+ }
7
+ /**
8
+ * CloudFormation Resource factory for simulated Secrets Manager resources.
9
+ */
10
+ export declare class SimSecretsManagerCfnResourceFactory implements SimCfnServiceResourceFactory {
11
+ private readonly secretCreator;
12
+ constructor(properties: SimSecretsManagerCfnResourceFactoryProperties);
13
+ /**
14
+ * Create a simulated Secrets Manager resource from a CloudFormation
15
+ * Resource.
16
+ *
17
+ * Rotation, resource policies and target attachments are not simulated, so
18
+ * their Resource types are reported as unsupported and skipped rather than
19
+ * quietly treated as deployed.
20
+ */
21
+ create(resourceTypeName: string, resource: SimCfnResource, context: SimCloudFormationResourceCreateContext): Promise<object | undefined>;
22
+ }
23
+ export {};
24
+ //# sourceMappingURL=sim-cfn-secrets-manager-resource-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-secrets-manager-resource-factory.d.ts","sourceRoot":"","sources":["../../../../src/service/secretsmanager/cfn/sim-cfn-secrets-manager-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,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGnE,UAAU,6CAA6C;IACrD,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;CAC5C;AAED;;GAEG;AACH,qBAAa,mCAAoC,YAAW,4BAA4B;IACtF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoC;IAElE,YAAY,UAAU,EAAE,6CAA6C,EAIpE;IAED;;;;;;;OAOG;IACG,MAAM,CACV,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAc7B;CACF"}
@@ -0,0 +1,31 @@
1
+ import { SimCfnSecretsManagerSecretCreator } from "./secret/sim-cfn-secrets-manager-secret-creator.js";
2
+ /**
3
+ * CloudFormation Resource factory for simulated Secrets Manager resources.
4
+ */
5
+ export class SimSecretsManagerCfnResourceFactory {
6
+ secretCreator;
7
+ constructor(properties) {
8
+ this.secretCreator = new SimCfnSecretsManagerSecretCreator({
9
+ secretsManager: properties.secretsManager,
10
+ });
11
+ }
12
+ /**
13
+ * Create a simulated Secrets Manager resource from a CloudFormation
14
+ * Resource.
15
+ *
16
+ * Rotation, resource policies and target attachments are not simulated, so
17
+ * their Resource types are reported as unsupported and skipped rather than
18
+ * quietly treated as deployed.
19
+ */
20
+ async create(resourceTypeName, resource, context) {
21
+ switch (resourceTypeName) {
22
+ case "Secret": {
23
+ return await this.secretCreator.create(resource, context.resolvedProperties ?? resource.properties);
24
+ }
25
+ default: {
26
+ throw new Error(`Unsupported sim Secrets Manager CloudFormation Resource ${resourceTypeName}`);
27
+ }
28
+ }
29
+ }
30
+ }
31
+ //# sourceMappingURL=sim-cfn-secrets-manager-resource-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cfn-secrets-manager-resource-factory.js","sourceRoot":"","sources":["../../../../src/service/secretsmanager/cfn/sim-cfn-secrets-manager-resource-factory.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iCAAiC,EAAE,MAAM,oDAAoD,CAAC;AAMvG;;GAEG;AACH,MAAM,OAAO,mCAAmC;IAC7B,aAAa,CAAoC;IAElE,YAAY,UAAyD;QACnE,IAAI,CAAC,aAAa,GAAG,IAAI,iCAAiC,CAAC;YACzD,cAAc,EAAE,UAAU,CAAC,cAAc;SAC1C,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,gBAAwB,EACxB,QAAwB,EACxB,OAA+C;QAE/C,QAAQ,gBAAgB,EAAE,CAAC;YACzB,KAAK,QAAQ,EAAE,CAAC;gBACd,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CACpC,QAAQ,EACR,OAAO,CAAC,kBAAkB,IAAI,QAAQ,CAAC,UAAU,CAClD,CAAC;YACJ,CAAC;YACD,SAAS,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,2DAA2D,gBAAgB,EAAE,CAC9E,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,29 @@
1
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
2
+ import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
3
+ import type { SimSecretsManagerSecret } from "../../secret/sim-secrets-manager-secret.js";
4
+ interface SimSecretsManagerAuthorizerProperties {
5
+ readonly iam: SimIamInterServiceAuthZ;
6
+ }
7
+ /**
8
+ * Applies simulated IAM authorization to Secrets Manager requests.
9
+ *
10
+ * Every operation authorizes the IAM action real Secrets Manager names for it,
11
+ * against the secret's full ARN. That ARN carries the six random characters
12
+ * Secrets Manager appends, so a policy written against the bare name reaches
13
+ * nothing, exactly as on real AWS.
14
+ */
15
+ export declare class SimSecretsManagerAuthorizer {
16
+ private readonly iam;
17
+ constructor(properties: SimSecretsManagerAuthorizerProperties);
18
+ /**
19
+ * Ensure the caller may perform an action on one secret.
20
+ */
21
+ authorizeSecret(action: string, secret: SimSecretsManagerSecret, caller?: SimAwsCaller): void;
22
+ /**
23
+ * Ensure the caller may perform an action that names no particular secret.
24
+ */
25
+ authorizeAny(action: string, caller?: SimAwsCaller): void;
26
+ private authorizeResource;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=sim-secrets-manager-authorizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-secrets-manager-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAEtG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAY1F,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAE9C,YAAY,UAAU,EAAE,qCAAqC,EAE5D;IAED;;OAEG;IACH,eAAe,CACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,uBAAuB,EAC/B,MAAM,CAAC,EAAE,YAAY,GACpB,IAAI,CAEN;IAED;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAExD;IAED,OAAO,CAAC,iBAAiB;CAe1B"}
@@ -0,0 +1,47 @@
1
+ import { SimIamAccessDenied } from "../../../iam/error/sim-iam.error.js";
2
+ /**
3
+ * The resource an operation with no particular secret authorizes against.
4
+ *
5
+ * Real Secrets Manager gives ListSecrets no resource-level permissions, so a
6
+ * policy allowing it has to use a resource of `*`. Authorizing against `*`
7
+ * here is what makes a policy naming individual secret ARNs fail the same way
8
+ * it would on real AWS.
9
+ */
10
+ const anyResource = "*";
11
+ /**
12
+ * Applies simulated IAM authorization to Secrets Manager requests.
13
+ *
14
+ * Every operation authorizes the IAM action real Secrets Manager names for it,
15
+ * against the secret's full ARN. That ARN carries the six random characters
16
+ * Secrets Manager appends, so a policy written against the bare name reaches
17
+ * nothing, exactly as on real AWS.
18
+ */
19
+ export class SimSecretsManagerAuthorizer {
20
+ iam;
21
+ constructor(properties) {
22
+ this.iam = properties.iam;
23
+ }
24
+ /**
25
+ * Ensure the caller may perform an action on one secret.
26
+ */
27
+ authorizeSecret(action, secret, caller) {
28
+ this.authorizeResource(action, secret.arn.value, caller);
29
+ }
30
+ /**
31
+ * Ensure the caller may perform an action that names no particular secret.
32
+ */
33
+ authorizeAny(action, caller) {
34
+ this.authorizeResource(action, anyResource, caller);
35
+ }
36
+ authorizeResource(action, resource, caller) {
37
+ const decision = this.iam.authorize({ action, resource, caller });
38
+ if (decision.isDenied) {
39
+ throw new SimIamAccessDenied({
40
+ principal: decision.caller.principal,
41
+ action,
42
+ resource,
43
+ });
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=sim-secrets-manager-authorizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-secrets-manager-authorizer.js","sourceRoot":"","sources":["../../../../../src/service/secretsmanager/command/authorize/sim-secrets-manager-authorizer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGzE;;;;;;;GAOG;AACH,MAAM,WAAW,GAAG,GAAG,CAAC;AAMxB;;;;;;;GAOG;AACH,MAAM,OAAO,2BAA2B;IACrB,GAAG,CAA0B;IAE9C,YAAY,UAAiD;QAC3D,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,eAAe,CACb,MAAc,EACd,MAA+B,EAC/B,MAAqB;QAErB,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,MAAc,EAAE,MAAqB;QAChD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAEO,iBAAiB,CACvB,MAAc,EACd,QAAgB,EAChB,MAAgC;QAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAElE,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,CAAC;gBAC3B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;gBACpC,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,144 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ import type { SimSecretsManagerTag } from "../../secret/sim-secrets-manager-secret.js";
3
+ /**
4
+ * Minimal structural sim Secrets Manager CreateSecret command.
5
+ *
6
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/secrets-manager/command/CreateSecretCommand/
7
+ */
8
+ export interface SimCreateSecretCommand {
9
+ readonly input: SimCreateSecretCommandInput;
10
+ }
11
+ export interface SimCreateSecretCommandInput {
12
+ readonly Name?: string | undefined;
13
+ readonly Description?: string | undefined;
14
+ readonly KmsKeyId?: string | undefined;
15
+ readonly SecretString?: string | undefined;
16
+ readonly SecretBinary?: Uint8Array | undefined;
17
+ readonly ClientRequestToken?: string | undefined;
18
+ readonly Tags?: readonly SimSecretsManagerTag[] | undefined;
19
+ }
20
+ export interface SimCreateSecretCommandOutput {
21
+ readonly ARN?: string | undefined;
22
+ readonly Name?: string | undefined;
23
+ readonly VersionId?: string | undefined;
24
+ readonly $metadata: SimResponseMetadata;
25
+ }
26
+ /**
27
+ * Minimal structural sim Secrets Manager DescribeSecret command.
28
+ *
29
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/secrets-manager/command/DescribeSecretCommand/
30
+ */
31
+ export interface SimDescribeSecretCommand {
32
+ readonly input: SimDescribeSecretCommandInput;
33
+ }
34
+ export interface SimDescribeSecretCommandInput {
35
+ readonly SecretId?: string | undefined;
36
+ }
37
+ export interface SimDescribeSecretCommandOutput {
38
+ readonly ARN?: string | undefined;
39
+ readonly Name?: string | undefined;
40
+ readonly Description?: string | undefined;
41
+ readonly KmsKeyId?: string | undefined;
42
+ readonly RotationEnabled?: boolean | undefined;
43
+ readonly CreatedDate?: Date | undefined;
44
+ readonly LastChangedDate?: Date | undefined;
45
+ readonly DeletedDate?: Date | undefined;
46
+ readonly Tags?: readonly SimSecretsManagerTag[] | undefined;
47
+ readonly VersionIdsToStages?: Record<string, string[]> | undefined;
48
+ readonly $metadata: SimResponseMetadata;
49
+ }
50
+ /**
51
+ * Minimal structural sim Secrets Manager UpdateSecret command.
52
+ *
53
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/secrets-manager/command/UpdateSecretCommand/
54
+ */
55
+ export interface SimUpdateSecretCommand {
56
+ readonly input: SimUpdateSecretCommandInput;
57
+ }
58
+ export interface SimUpdateSecretCommandInput {
59
+ readonly SecretId?: string | undefined;
60
+ readonly Description?: string | undefined;
61
+ readonly KmsKeyId?: string | undefined;
62
+ readonly SecretString?: string | undefined;
63
+ readonly SecretBinary?: Uint8Array | undefined;
64
+ readonly ClientRequestToken?: string | undefined;
65
+ }
66
+ export interface SimUpdateSecretCommandOutput {
67
+ readonly ARN?: string | undefined;
68
+ readonly Name?: string | undefined;
69
+ readonly VersionId?: string | undefined;
70
+ readonly $metadata: SimResponseMetadata;
71
+ }
72
+ /**
73
+ * Minimal structural sim Secrets Manager DeleteSecret command.
74
+ *
75
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/secrets-manager/command/DeleteSecretCommand/
76
+ */
77
+ export interface SimDeleteSecretCommand {
78
+ readonly input: SimDeleteSecretCommandInput;
79
+ }
80
+ export interface SimDeleteSecretCommandInput {
81
+ readonly SecretId?: string | undefined;
82
+ readonly RecoveryWindowInDays?: number | undefined;
83
+ readonly ForceDeleteWithoutRecovery?: boolean | undefined;
84
+ }
85
+ export interface SimDeleteSecretCommandOutput {
86
+ readonly ARN?: string | undefined;
87
+ readonly Name?: string | undefined;
88
+ readonly DeletionDate?: Date | undefined;
89
+ readonly $metadata: SimResponseMetadata;
90
+ }
91
+ /**
92
+ * Minimal structural sim Secrets Manager RestoreSecret command.
93
+ *
94
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/secrets-manager/command/RestoreSecretCommand/
95
+ */
96
+ export interface SimRestoreSecretCommand {
97
+ readonly input: SimRestoreSecretCommandInput;
98
+ }
99
+ export interface SimRestoreSecretCommandInput {
100
+ readonly SecretId?: string | undefined;
101
+ }
102
+ export interface SimRestoreSecretCommandOutput {
103
+ readonly ARN?: string | undefined;
104
+ readonly Name?: string | undefined;
105
+ readonly $metadata: SimResponseMetadata;
106
+ }
107
+ /**
108
+ * Minimal structural sim Secrets Manager ListSecrets command.
109
+ *
110
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/secrets-manager/command/ListSecretsCommand/
111
+ */
112
+ export interface SimListSecretsCommand {
113
+ readonly input?: SimListSecretsCommandInput | undefined;
114
+ }
115
+ export interface SimListSecretsFilter {
116
+ readonly Key?: string | undefined;
117
+ readonly Values?: readonly string[] | undefined;
118
+ }
119
+ export interface SimListSecretsCommandInput {
120
+ readonly IncludePlannedDeletion?: boolean | undefined;
121
+ readonly MaxResults?: number | undefined;
122
+ readonly NextToken?: string | undefined;
123
+ readonly Filters?: readonly SimListSecretsFilter[] | undefined;
124
+ readonly SortOrder?: string | undefined;
125
+ readonly SortBy?: string | undefined;
126
+ }
127
+ export interface SimSecretsManagerSecretListEntry {
128
+ readonly ARN?: string | undefined;
129
+ readonly Name?: string | undefined;
130
+ readonly Description?: string | undefined;
131
+ readonly KmsKeyId?: string | undefined;
132
+ readonly RotationEnabled?: boolean | undefined;
133
+ readonly CreatedDate?: Date | undefined;
134
+ readonly LastChangedDate?: Date | undefined;
135
+ readonly DeletedDate?: Date | undefined;
136
+ readonly Tags?: readonly SimSecretsManagerTag[] | undefined;
137
+ readonly SecretVersionsToStages?: Record<string, string[]> | undefined;
138
+ }
139
+ export interface SimListSecretsCommandOutput {
140
+ readonly SecretList?: readonly SimSecretsManagerSecretListEntry[] | undefined;
141
+ readonly NextToken?: string | undefined;
142
+ readonly $metadata: SimResponseMetadata;
143
+ }
144
+ //# sourceMappingURL=secret.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/secretsmanager/command/secret/secret.command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=secret.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret.command.js","sourceRoot":"","sources":["../../../../../src/service/secretsmanager/command/secret/secret.command.ts"],"names":[],"mappings":""}
@@ -0,0 +1,44 @@
1
+ import type { SimClock } from "../../../../util/clock/sim-clock.js";
2
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
3
+ import type { SimSecretsManagerSecretExpiry } from "../../secret/sim-secrets-manager-secret-expiry.js";
4
+ import type { SimSecretsManagerSecretStore } from "../../secret/sim-secrets-manager-secret-store.js";
5
+ import type { SimSecretsManagerAuthorizer } from "../authorize/sim-secrets-manager-authorizer.js";
6
+ import type { SimDeleteSecretCommand, SimDeleteSecretCommandOutput, SimRestoreSecretCommand, SimRestoreSecretCommandOutput } from "./secret.command.js";
7
+ interface SimSecretsManagerLifecycleCommandsProperties {
8
+ readonly secrets: SimSecretsManagerSecretStore;
9
+ readonly expiry: SimSecretsManagerSecretExpiry;
10
+ readonly authorizer: SimSecretsManagerAuthorizer;
11
+ readonly clock: SimClock;
12
+ }
13
+ interface SimSecretsManagerLifecycleCommandOptions {
14
+ readonly caller?: SimAwsCaller;
15
+ }
16
+ /**
17
+ * The commands that delete a simulated secret and take it back.
18
+ *
19
+ * Deletion is the part of Secrets Manager most worth simulating properly,
20
+ * because a scheduled secret still holds its name. Redeploying a stack that
21
+ * deleted a secret is where that bites on real AWS, and it only reproduces
22
+ * here if the recovery window really has to elapse.
23
+ */
24
+ export declare class SimSecretsManagerLifecycleCommands {
25
+ private readonly secrets;
26
+ private readonly expiry;
27
+ private readonly authorizer;
28
+ private readonly clock;
29
+ constructor(properties: SimSecretsManagerLifecycleCommandsProperties);
30
+ /**
31
+ * Schedule a secret for deletion, or delete it outright.
32
+ *
33
+ * The secret stays in the store while it is scheduled, because that is what
34
+ * recoverable means: it is still there, refusing to be read or written, and
35
+ * still holding its name, until the window runs out.
36
+ */
37
+ delete(command: SimDeleteSecretCommand, options?: SimSecretsManagerLifecycleCommandOptions): SimDeleteSecretCommandOutput;
38
+ /**
39
+ * Cancel a scheduled deletion, leaving the secret as it was.
40
+ */
41
+ restore(command: SimRestoreSecretCommand, options?: SimSecretsManagerLifecycleCommandOptions): SimRestoreSecretCommandOutput;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=sim-secrets-manager-lifecycle-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-secrets-manager-lifecycle-commands.d.ts","sourceRoot":"","sources":["../../../../../src/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAE1E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAC;AACvG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAClG,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,qBAAqB,CAAC;AAE7B,UAAU,4CAA4C;IACpD,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;CAC1B;AAED,UAAU,wCAAwC;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,qBAAa,kCAAkC;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAW;IAEjC,YAAY,UAAU,EAAE,4CAA4C,EAKnE;IAED;;;;;;OAMG;IACH,MAAM,CACJ,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,wCAAwC,GACjD,4BAA4B,CAyB9B;IAED;;OAEG;IACH,OAAO,CACL,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,wCAAwC,GACjD,6BAA6B,CAe/B;CACF"}
@@ -0,0 +1,61 @@
1
+ import { SimSecretsManagerDeletionSchedule } from "../../secret/sim-secrets-manager-deletion-schedule.js";
2
+ /**
3
+ * The commands that delete a simulated secret and take it back.
4
+ *
5
+ * Deletion is the part of Secrets Manager most worth simulating properly,
6
+ * because a scheduled secret still holds its name. Redeploying a stack that
7
+ * deleted a secret is where that bites on real AWS, and it only reproduces
8
+ * here if the recovery window really has to elapse.
9
+ */
10
+ export class SimSecretsManagerLifecycleCommands {
11
+ secrets;
12
+ expiry;
13
+ authorizer;
14
+ clock;
15
+ constructor(properties) {
16
+ this.secrets = properties.secrets;
17
+ this.expiry = properties.expiry;
18
+ this.authorizer = properties.authorizer;
19
+ this.clock = properties.clock;
20
+ }
21
+ /**
22
+ * Schedule a secret for deletion, or delete it outright.
23
+ *
24
+ * The secret stays in the store while it is scheduled, because that is what
25
+ * recoverable means: it is still there, refusing to be read or written, and
26
+ * still holding its name, until the window runs out.
27
+ */
28
+ delete(command, options) {
29
+ const schedule = new SimSecretsManagerDeletionSchedule(command.input);
30
+ const secret = this.secrets.require(command.input.SecretId);
31
+ this.authorizer.authorizeSecret("secretsmanager:DeleteSecret", secret, options?.caller);
32
+ const deletionDate = schedule.deletionDateFrom(this.clock.now());
33
+ if (schedule.isImmediate) {
34
+ this.secrets.remove(secret);
35
+ }
36
+ else {
37
+ secret.scheduleDeletion(deletionDate);
38
+ this.expiry.scheduleRemoval(secret, deletionDate);
39
+ }
40
+ return {
41
+ $metadata: {},
42
+ ARN: secret.arn.value,
43
+ Name: secret.name,
44
+ DeletionDate: deletionDate,
45
+ };
46
+ }
47
+ /**
48
+ * Cancel a scheduled deletion, leaving the secret as it was.
49
+ */
50
+ restore(command, options) {
51
+ const secret = this.secrets.require(command.input.SecretId);
52
+ this.authorizer.authorizeSecret("secretsmanager:RestoreSecret", secret, options?.caller);
53
+ secret.cancelDeletion();
54
+ return {
55
+ $metadata: {},
56
+ ARN: secret.arn.value,
57
+ Name: secret.name,
58
+ };
59
+ }
60
+ }
61
+ //# sourceMappingURL=sim-secrets-manager-lifecycle-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-secrets-manager-lifecycle-commands.js","sourceRoot":"","sources":["../../../../../src/service/secretsmanager/command/secret/sim-secrets-manager-lifecycle-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iCAAiC,EAAE,MAAM,uDAAuD,CAAC;AAsB1G;;;;;;;GAOG;AACH,MAAM,OAAO,kCAAkC;IAC5B,OAAO,CAA+B;IACtC,MAAM,CAAgC;IACtC,UAAU,CAA8B;IACxC,KAAK,CAAW;IAEjC,YAAY,UAAwD;QAClE,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CACJ,OAA+B,EAC/B,OAAkD;QAElD,MAAM,QAAQ,GAAG,IAAI,iCAAiC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE5D,IAAI,CAAC,UAAU,CAAC,eAAe,CAC7B,6BAA6B,EAC7B,MAAM,EACN,OAAO,EAAE,MAAM,CAChB,CAAC;QAEF,MAAM,YAAY,GAAG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAEjE,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,OAAO;YACL,SAAS,EAAE,EAAE;YACb,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EAAE,YAAY;SAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,OAAO,CACL,OAAgC,EAChC,OAAkD;QAElD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAE5D,IAAI,CAAC,UAAU,CAAC,eAAe,CAC7B,8BAA8B,EAC9B,MAAM,EACN,OAAO,EAAE,MAAM,CAChB,CAAC;QACF,MAAM,CAAC,cAAc,EAAE,CAAC;QAExB,OAAO;YACL,SAAS,EAAE,EAAE;YACb,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,44 @@
1
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
2
+ import type { SimSecretsManagerSecretStore } from "../../secret/sim-secrets-manager-secret-store.js";
3
+ import type { SimSecretsManagerAuthorizer } from "../authorize/sim-secrets-manager-authorizer.js";
4
+ import type { SimListSecretsCommand, SimListSecretsCommandOutput } from "./secret.command.js";
5
+ interface SimSecretsManagerListSecretsProperties {
6
+ readonly secrets: SimSecretsManagerSecretStore;
7
+ readonly authorizer: SimSecretsManagerAuthorizer;
8
+ }
9
+ interface SimSecretsManagerListSecretsOptions {
10
+ readonly caller?: SimAwsCaller;
11
+ }
12
+ /**
13
+ * The ListSecrets command.
14
+ *
15
+ * Real Secrets Manager gives this action no resource-level permissions, so it
16
+ * authorizes against `*` rather than against each secret, and it does not
17
+ * filter the list by what the caller can read.
18
+ *
19
+ * Secrets scheduled for deletion are left out unless asked for, as real
20
+ * Secrets Manager leaves them out.
21
+ */
22
+ export declare class SimSecretsManagerListSecrets {
23
+ private readonly secrets;
24
+ private readonly authorizer;
25
+ private readonly detail;
26
+ constructor(properties: SimSecretsManagerListSecretsProperties);
27
+ /**
28
+ * List the secrets in this scope.
29
+ */
30
+ handle(command: SimListSecretsCommand, options?: SimSecretsManagerListSecretsOptions): SimListSecretsCommandOutput;
31
+ /**
32
+ * Refuse the request inputs this simulation does not model.
33
+ *
34
+ * Ignoring a filter would quietly return more secrets than real Secrets
35
+ * Manager would, and ignoring a sort would return them in an order the
36
+ * caller did not ask for. Either is the kind of divergence that makes a
37
+ * passing test mean nothing, so both are refused outright, which is stricter
38
+ * than AWS and deliberate.
39
+ */
40
+ private refuseUnsimulatedInput;
41
+ private listedSecrets;
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=sim-secrets-manager-list-secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-secrets-manager-list-secrets.d.ts","sourceRoot":"","sources":["../../../../../src/service/secretsmanager/command/secret/sim-secrets-manager-list-secrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAG1E,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,kDAAkD,CAAC;AACrG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAGlG,OAAO,KAAK,EACV,qBAAqB,EAErB,2BAA2B,EAC5B,MAAM,qBAAqB,CAAC;AAE7B,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,2BAA2B,CAAC;CAClD;AAED,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8B;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D,YAAY,UAAU,EAAE,sCAAsC,EAG7D;IAED;;OAEG;IACH,MAAM,CACJ,OAAO,EAAE,qBAAqB,EAC9B,OAAO,CAAC,EAAE,mCAAmC,GAC5C,2BAA2B,CAgB7B;IAED;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,aAAa;CAStB"}