@kensio/yulin 1.20.17 → 1.21.1

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 (662) hide show
  1. package/README.md +1 -0
  2. package/dist/sdk/router/resolve-sim-sdk-command-router.js +4 -0
  3. package/dist/service/athena/engine/sim-athena-comparison-shims.d.ts +13 -0
  4. package/dist/service/athena/engine/sim-athena-comparison-shims.js +68 -0
  5. package/dist/service/athena/engine/sim-athena-shims.js +2 -0
  6. package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +3 -0
  7. package/dist/service/aws/factory/sim-aws-lambda-collaborators.d.ts +2 -0
  8. package/dist/service/aws/factory/sim-aws-lambda-collaborators.js +3 -0
  9. package/dist/service/aws/factory/sim-aws-logs-collaborators.d.ts +7 -0
  10. package/dist/service/aws/factory/sim-aws-logs-collaborators.js +10 -0
  11. package/dist/service/aws/factory/sim-aws-self-contained-service-builder.d.ts +3 -0
  12. package/dist/service/aws/factory/sim-aws-self-contained-service-builder.js +5 -0
  13. package/dist/service/aws/factory/sim-aws-service-factory.d.ts +3 -0
  14. package/dist/service/aws/factory/sim-aws-service-factory.js +4 -0
  15. package/dist/service/aws/sim-aws-account-region-scope.d.ts +3 -0
  16. package/dist/service/aws/sim-aws-account-region-scope.js +4 -0
  17. package/dist/service/aws/sim-aws-account.d.ts +3 -0
  18. package/dist/service/aws/sim-aws-account.js +4 -0
  19. package/dist/service/aws/sim-aws-region.d.ts +3 -0
  20. package/dist/service/aws/sim-aws-region.js +4 -0
  21. package/dist/service/aws/sim-aws-service-accessors.d.ts +3 -0
  22. package/dist/service/aws/sim-aws-service-accessors.js +4 -0
  23. package/dist/service/backup/cfn/sim-backup-cfn-plan-creator.d.ts +6 -0
  24. package/dist/service/backup/cfn/sim-backup-cfn-plan-creator.js +12 -0
  25. package/dist/service/backup/cfn/sim-backup-cfn-resource-deleter.d.ts +12 -0
  26. package/dist/service/backup/cfn/sim-backup-cfn-resource-deleter.js +31 -0
  27. package/dist/service/backup/cfn/sim-backup-cfn-resource-factory.d.ts +15 -0
  28. package/dist/service/backup/cfn/sim-backup-cfn-resource-factory.js +38 -0
  29. package/dist/service/backup/cfn/sim-backup-cfn-selection-creator.d.ts +6 -0
  30. package/dist/service/backup/cfn/sim-backup-cfn-selection-creator.js +17 -0
  31. package/dist/service/backup/cfn/sim-backup-cfn-vault-creator.d.ts +6 -0
  32. package/dist/service/backup/cfn/sim-backup-cfn-vault-creator.js +29 -0
  33. package/dist/service/backup/cfn/sim-cfn-backup-plan-properties.d.ts +11 -0
  34. package/dist/service/backup/cfn/sim-cfn-backup-plan-properties.js +37 -0
  35. package/dist/service/backup/cfn/sim-cfn-backup-properties.d.ts +12 -0
  36. package/dist/service/backup/cfn/sim-cfn-backup-properties.js +37 -0
  37. package/dist/service/backup/cfn/sim-cfn-backup-property-reader.d.ts +17 -0
  38. package/dist/service/backup/cfn/sim-cfn-backup-property-reader.js +62 -0
  39. package/dist/service/backup/cfn/sim-cfn-backup-resource-error.d.ts +7 -0
  40. package/dist/service/backup/cfn/sim-cfn-backup-resource-error.js +22 -0
  41. package/dist/service/backup/command/sim-backup-authorizer.d.ts +11 -0
  42. package/dist/service/backup/command/sim-backup-authorizer.js +24 -0
  43. package/dist/service/backup/command/sim-backup-command.types.d.ts +238 -0
  44. package/dist/service/backup/command/sim-backup-command.types.js +1 -0
  45. package/dist/service/backup/command/sim-backup-configuration-commands.d.ts +32 -0
  46. package/dist/service/backup/command/sim-backup-configuration-commands.js +138 -0
  47. package/dist/service/backup/command/sim-backup-job-commands.d.ts +23 -0
  48. package/dist/service/backup/command/sim-backup-job-commands.js +52 -0
  49. package/dist/service/backup/command/sim-backup-recovery-point-commands.d.ts +18 -0
  50. package/dist/service/backup/command/sim-backup-recovery-point-commands.js +38 -0
  51. package/dist/service/backup/command/sim-backup-request-options.d.ts +4 -0
  52. package/dist/service/backup/command/sim-backup-request-options.js +1 -0
  53. package/dist/service/backup/command/sim-backup-required-string.d.ts +2 -0
  54. package/dist/service/backup/command/sim-backup-required-string.js +8 -0
  55. package/dist/service/backup/error/sim-backup.error.d.ts +38 -0
  56. package/dist/service/backup/error/sim-backup.error.js +50 -0
  57. package/dist/service/backup/index.d.ts +9 -0
  58. package/dist/service/backup/index.js +7 -0
  59. package/dist/service/backup/job/sim-backup-job-input.d.ts +11 -0
  60. package/dist/service/backup/job/sim-backup-job-input.js +1 -0
  61. package/dist/service/backup/job/sim-backup-job-page.d.ts +22 -0
  62. package/dist/service/backup/job/sim-backup-job-page.js +54 -0
  63. package/dist/service/backup/job/sim-backup-job.d.ts +25 -0
  64. package/dist/service/backup/job/sim-backup-job.factory.d.ts +10 -0
  65. package/dist/service/backup/job/sim-backup-job.factory.js +24 -0
  66. package/dist/service/backup/job/sim-backup-job.js +54 -0
  67. package/dist/service/backup/job/sim-backup-jobs.d.ts +18 -0
  68. package/dist/service/backup/job/sim-backup-jobs.js +33 -0
  69. package/dist/service/backup/plan/sim-backup-plan-schedules.d.ts +21 -0
  70. package/dist/service/backup/plan/sim-backup-plan-schedules.js +66 -0
  71. package/dist/service/backup/plan/sim-backup-plan.d.ts +22 -0
  72. package/dist/service/backup/plan/sim-backup-plan.js +37 -0
  73. package/dist/service/backup/plan/sim-backup-rule.d.ts +9 -0
  74. package/dist/service/backup/plan/sim-backup-rule.js +71 -0
  75. package/dist/service/backup/recovery-point/sim-backup-recovery-point.d.ts +28 -0
  76. package/dist/service/backup/recovery-point/sim-backup-recovery-point.factory.d.ts +9 -0
  77. package/dist/service/backup/recovery-point/sim-backup-recovery-point.factory.js +23 -0
  78. package/dist/service/backup/recovery-point/sim-backup-recovery-point.js +62 -0
  79. package/dist/service/backup/sdk/sim-backup-sdk-command-router.d.ts +9 -0
  80. package/dist/service/backup/sdk/sim-backup-sdk-command-router.js +37 -0
  81. package/dist/service/backup/selection/sim-backup-selection.d.ts +22 -0
  82. package/dist/service/backup/selection/sim-backup-selection.js +43 -0
  83. package/dist/service/backup/sim-backup-arn.d.ts +7 -0
  84. package/dist/service/backup/sim-backup-arn.js +12 -0
  85. package/dist/service/backup/sim-backup-properties.d.ts +8 -0
  86. package/dist/service/backup/sim-backup-properties.js +1 -0
  87. package/dist/service/backup/sim-backup-resource-resolver.d.ts +24 -0
  88. package/dist/service/backup/sim-backup-resource-resolver.js +44 -0
  89. package/dist/service/backup/sim-backup-store.d.ts +29 -0
  90. package/dist/service/backup/sim-backup-store.js +80 -0
  91. package/dist/service/backup/sim-backup.d.ts +48 -0
  92. package/dist/service/backup/sim-backup.js +139 -0
  93. package/dist/service/backup/vault/sim-backup-vault-description.d.ts +12 -0
  94. package/dist/service/backup/vault/sim-backup-vault-description.js +15 -0
  95. package/dist/service/backup/vault/sim-backup-vault-lock-configuration.d.ts +5 -0
  96. package/dist/service/backup/vault/sim-backup-vault-lock-configuration.js +31 -0
  97. package/dist/service/backup/vault/sim-backup-vault-lock.d.ts +15 -0
  98. package/dist/service/backup/vault/sim-backup-vault-lock.js +23 -0
  99. package/dist/service/backup/vault/sim-backup-vault-recovery-points.d.ts +12 -0
  100. package/dist/service/backup/vault/sim-backup-vault-recovery-points.js +30 -0
  101. package/dist/service/backup/vault/sim-backup-vault-retention.d.ts +4 -0
  102. package/dist/service/backup/vault/sim-backup-vault-retention.js +20 -0
  103. package/dist/service/backup/vault/sim-backup-vault.d.ts +33 -0
  104. package/dist/service/backup/vault/sim-backup-vault.js +49 -0
  105. package/dist/service/cloudformation/resource/cfn/backup/sim-backup-cfn-value-adapter.d.ts +3 -0
  106. package/dist/service/cloudformation/resource/cfn/backup/sim-backup-cfn-value-adapter.js +66 -0
  107. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +8 -0
  108. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.d.ts +24 -0
  109. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.js +31 -0
  110. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.js +6 -0
  111. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-metric-filter-cfn.d.ts +23 -0
  112. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-metric-filter-cfn.js +22 -0
  113. package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js +2 -0
  114. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-properties.d.ts +49 -0
  115. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-properties.js +61 -0
  116. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-property.type.d.ts +51 -0
  117. package/dist/service/cloudformation/resource/ignore/sim-cfn-skipped-property.type.js +1 -0
  118. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +4 -0
  119. package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +12 -1
  120. package/dist/service/cloudfront/cache/sim-cf-accept-encoding.d.ts +11 -0
  121. package/dist/service/cloudfront/cache/sim-cf-accept-encoding.js +27 -0
  122. package/dist/service/cloudfront/cache/sim-cf-cache-control.d.ts +28 -0
  123. package/dist/service/cloudfront/cache/sim-cf-cache-control.js +49 -0
  124. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.d.ts +11 -0
  125. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.js +22 -0
  126. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.d.ts +32 -0
  127. package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.js +112 -0
  128. package/dist/service/cloudfront/cache/sim-cf-cache-status.d.ts +27 -0
  129. package/dist/service/cloudfront/cache/sim-cf-cache-status.js +53 -0
  130. package/dist/service/cloudfront/cache/sim-cf-cache-ttl.d.ts +28 -0
  131. package/dist/service/cloudfront/cache/sim-cf-cache-ttl.js +50 -0
  132. package/dist/service/cloudfront/cache/sim-cf-cacheable-request.d.ts +35 -0
  133. package/dist/service/cloudfront/cache/sim-cf-cacheable-request.js +32 -0
  134. package/dist/service/cloudfront/cache/sim-cf-distribution-cache.d.ts +57 -0
  135. package/dist/service/cloudfront/cache/sim-cf-distribution-cache.js +115 -0
  136. package/dist/service/cloudfront/cache/sim-cf-edge.d.ts +37 -0
  137. package/dist/service/cloudfront/cache/sim-cf-edge.js +34 -0
  138. package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.d.ts +36 -0
  139. package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.js +28 -0
  140. package/dist/service/cloudfront/cache/sim-cf-http-date.d.ts +15 -0
  141. package/dist/service/cloudfront/cache/sim-cf-http-date.js +40 -0
  142. package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.d.ts +63 -0
  143. package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.js +70 -0
  144. package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.d.ts +13 -3
  145. package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.js +31 -3
  146. package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.d.ts +8 -3
  147. package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.js +96 -12
  148. package/dist/service/cloudfront/cff/sim-cff-search-distribution.fixture.js +4 -0
  149. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.d.ts +9 -8
  150. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.js +40 -11
  151. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.d.ts +10 -0
  152. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.js +50 -0
  153. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.d.ts +28 -0
  154. package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.js +29 -0
  155. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.d.ts +16 -0
  156. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.js +23 -0
  157. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-behavior-policies.d.ts +3 -2
  158. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-behavior-policies.js +3 -2
  159. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts +6 -6
  160. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +6 -6
  161. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-policy-drops.js +8 -23
  162. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.d.ts +28 -0
  163. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.js +46 -0
  164. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.d.ts +24 -0
  165. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.js +32 -0
  166. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.d.ts +10 -0
  167. package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.js +51 -0
  168. package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.d.ts +22 -0
  169. package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.js +54 -0
  170. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +1 -0
  171. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +12 -0
  172. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +1 -0
  173. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +2 -0
  174. package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.d.ts +28 -0
  175. package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.js +59 -0
  176. package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.d.ts +19 -0
  177. package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.js +32 -0
  178. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.d.ts +36 -0
  179. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.js +45 -0
  180. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.d.ts +80 -0
  181. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.js +1 -0
  182. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.d.ts +39 -0
  183. package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.js +35 -0
  184. package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.d.ts +23 -0
  185. package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.js +39 -0
  186. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts +2 -0
  187. package/dist/service/cloudfront/controller/content/sim-cf-content-stage.d.ts +51 -0
  188. package/dist/service/cloudfront/controller/content/sim-cf-content-stage.js +65 -0
  189. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +2 -3
  190. package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +4 -4
  191. package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts +4 -0
  192. package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js +12 -8
  193. package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.d.ts +2 -2
  194. package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.js +2 -2
  195. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +6 -6
  196. package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +35 -20
  197. package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts +23 -5
  198. package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js +8 -0
  199. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.d.ts +18 -0
  200. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.js +30 -0
  201. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.d.ts +7 -5
  202. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.js +8 -5
  203. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.js +4 -1
  204. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts +2 -0
  205. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js +6 -2
  206. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts +13 -3
  207. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js +27 -6
  208. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +3 -1
  209. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +4 -1
  210. package/dist/service/cloudfront/distribution/sim-cf-distribution-configuration-state.d.ts +5 -3
  211. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts +2 -0
  212. package/dist/service/cloudfront/distribution/sim-cf-distribution-view.js +1 -1
  213. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +25 -2
  214. package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +24 -0
  215. package/dist/service/cloudfront/error/sim-cf-invalidation.error.d.ts +22 -0
  216. package/dist/service/cloudfront/error/sim-cf-invalidation.error.js +26 -0
  217. package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.d.ts +22 -0
  218. package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.js +26 -0
  219. package/dist/service/cloudfront/index.d.ts +2 -0
  220. package/dist/service/cloudfront/index.js +1 -0
  221. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.d.ts +22 -0
  222. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.js +32 -0
  223. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.d.ts +43 -0
  224. package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.js +33 -0
  225. package/dist/service/cloudfront/invalidation/sim-cf-invalidation.d.ts +55 -0
  226. package/dist/service/cloudfront/invalidation/sim-cf-invalidation.js +56 -0
  227. package/dist/service/cloudfront/invalidation/sim-cf-invalidations.d.ts +41 -0
  228. package/dist/service/cloudfront/invalidation/sim-cf-invalidations.js +58 -0
  229. package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.d.ts +15 -0
  230. package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.js +23 -0
  231. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.d.ts +19 -0
  232. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.js +116 -0
  233. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +15 -5
  234. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +13 -8
  235. package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.js +8 -5
  236. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts +13 -0
  237. package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +8 -0
  238. package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.d.ts +24 -0
  239. package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.js +21 -0
  240. package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.d.ts +57 -0
  241. package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.js +129 -0
  242. package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.d.ts +30 -0
  243. package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.js +121 -0
  244. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.d.ts +56 -0
  245. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.js +67 -0
  246. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.d.ts +38 -0
  247. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.js +51 -0
  248. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.d.ts +32 -0
  249. package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.js +30 -0
  250. package/dist/service/cloudfront/registry/sim-cloud-front-registry.d.ts +25 -0
  251. package/dist/service/cloudfront/registry/sim-cloud-front-registry.js +23 -0
  252. package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js +12 -0
  253. package/dist/service/cloudfront/sim-cloudfront-caching.d.ts +31 -0
  254. package/dist/service/cloudfront/sim-cloudfront-caching.js +38 -0
  255. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +12 -0
  256. package/dist/service/cloudfront/sim-cloudfront-commands.js +12 -0
  257. package/dist/service/cloudfront/sim-cloudfront-distributions.d.ts +21 -0
  258. package/dist/service/cloudfront/sim-cloudfront-distributions.js +23 -0
  259. package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.d.ts +30 -0
  260. package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.js +35 -0
  261. package/dist/service/cloudfront/sim-cloudfront-policies.d.ts +22 -5
  262. package/dist/service/cloudfront/sim-cloudfront-policies.js +27 -5
  263. package/dist/service/cloudfront/sim-cloudfront.d.ts +15 -31
  264. package/dist/service/cloudfront/sim-cloudfront.js +23 -41
  265. package/dist/service/cloudwatch/index.d.ts +1 -0
  266. package/dist/service/cloudwatch/index.js +1 -0
  267. package/dist/service/cloudwatch/sim-cloudwatch-commands.d.ts +2 -0
  268. package/dist/service/cloudwatch/sim-cloudwatch-commands.js +6 -0
  269. package/dist/service/cloudwatch/sim-cloudwatch.d.ts +9 -0
  270. package/dist/service/cloudwatch/sim-cloudwatch.js +10 -0
  271. package/dist/service/cloudwatch/write/sim-cloudwatch-service-writer.d.ts +58 -0
  272. package/dist/service/cloudwatch/write/sim-cloudwatch-service-writer.js +53 -0
  273. package/dist/service/cognito/command/auth/sim-cognito-admin-respond-to-challenge.d.ts +3 -0
  274. package/dist/service/cognito/command/auth/sim-cognito-admin-respond-to-challenge.js +8 -2
  275. package/dist/service/cognito/command/auth/sim-cognito-auth-commands.d.ts +3 -0
  276. package/dist/service/cognito/command/auth/sim-cognito-auth-commands.js +4 -0
  277. package/dist/service/cognito/command/auth/sim-cognito-auth-flow-runner.d.ts +11 -1
  278. package/dist/service/cognito/command/auth/sim-cognito-auth-flow-runner.js +13 -1
  279. package/dist/service/cognito/command/auth/sim-cognito-auth-resolver.d.ts +3 -0
  280. package/dist/service/cognito/command/auth/sim-cognito-auth-resolver.js +16 -4
  281. package/dist/service/cognito/command/auth/sim-cognito-get-tokens-from-refresh-token.d.ts +7 -0
  282. package/dist/service/cognito/command/auth/sim-cognito-get-tokens-from-refresh-token.js +11 -1
  283. package/dist/service/cognito/command/auth/sim-cognito-respond-to-challenge.d.ts +3 -0
  284. package/dist/service/cognito/command/auth/sim-cognito-respond-to-challenge.js +8 -2
  285. package/dist/service/cognito/command/hosted/hosted-auth.command.d.ts +19 -0
  286. package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.d.ts +1 -1
  287. package/dist/service/cognito/command/hosted/sim-cognito-authorize-endpoint.js +3 -2
  288. package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.d.ts +8 -0
  289. package/dist/service/cognito/command/hosted/sim-cognito-hosted-commands.js +11 -3
  290. package/dist/service/cognito/command/hosted/sim-cognito-hosted-passkey-sign-in.d.ts +11 -1
  291. package/dist/service/cognito/command/hosted/sim-cognito-hosted-passkey-sign-in.js +13 -2
  292. package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.d.ts +11 -1
  293. package/dist/service/cognito/command/hosted/sim-cognito-hosted-password-sign-in.js +11 -1
  294. package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.d.ts +7 -1
  295. package/dist/service/cognito/command/hosted/sim-cognito-hosted-sign-in.js +18 -7
  296. package/dist/service/cognito/command/hosted/sim-cognito-hosted-signed-in.d.ts +20 -3
  297. package/dist/service/cognito/command/hosted/sim-cognito-hosted-signed-in.js +19 -3
  298. package/dist/service/cognito/command/hosted/sim-cognito-token-endpoint.d.ts +2 -0
  299. package/dist/service/cognito/command/hosted/sim-cognito-token-grants.d.ts +8 -0
  300. package/dist/service/cognito/command/hosted/sim-cognito-token-grants.js +13 -4
  301. package/dist/service/cognito/command/sim-cognito-commands.d.ts +5 -0
  302. package/dist/service/cognito/command/sim-cognito-commands.js +22 -2
  303. package/dist/service/cognito/command/user/sim-cognito-confirm-sign-up-commands.d.ts +74 -0
  304. package/dist/service/cognito/command/user/sim-cognito-confirm-sign-up-commands.js +110 -0
  305. package/dist/service/cognito/command/user/sim-cognito-sign-up-commands.d.ts +5 -49
  306. package/dist/service/cognito/command/user/sim-cognito-sign-up-commands.js +7 -87
  307. package/dist/service/cognito/command/user/sim-cognito-user-commands.d.ts +4 -0
  308. package/dist/service/cognito/command/user/sim-cognito-user-commands.js +38 -29
  309. package/dist/service/cognito/error/sim-cognito-managed-login.error.d.ts +23 -0
  310. package/dist/service/cognito/error/sim-cognito-managed-login.error.js +36 -0
  311. package/dist/service/cognito/error/sim-cognito-throttle.error.d.ts +13 -0
  312. package/dist/service/cognito/error/sim-cognito-throttle.error.js +15 -0
  313. package/dist/service/cognito/index.d.ts +2 -0
  314. package/dist/service/cognito/index.js +2 -0
  315. package/dist/service/cognito/metric/sim-cognito-counted-request.d.ts +50 -0
  316. package/dist/service/cognito/metric/sim-cognito-counted-request.js +51 -0
  317. package/dist/service/cognito/metric/sim-cognito-metrics.d.ts +22 -0
  318. package/dist/service/cognito/metric/sim-cognito-metrics.js +26 -0
  319. package/dist/service/cognito/metric/sim-cognito-pool-metrics.d.ts +40 -0
  320. package/dist/service/cognito/metric/sim-cognito-pool-metrics.js +51 -0
  321. package/dist/service/cognito/metric/sim-cognito-throttled-request.d.ts +11 -0
  322. package/dist/service/cognito/metric/sim-cognito-throttled-request.js +15 -0
  323. package/dist/service/cognito/serve/page/sim-cognito-managed-login.d.ts +1 -0
  324. package/dist/service/cognito/serve/page/sim-cognito-managed-login.js +6 -1
  325. package/dist/service/cognito/serve/page/sim-cognito-page-markup.d.ts +4 -1
  326. package/dist/service/cognito/serve/page/sim-cognito-page-markup.js +6 -2
  327. package/dist/service/cognito/serve/page/sim-cognito-provider-page.d.ts +35 -0
  328. package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +50 -0
  329. package/dist/service/cognito/sim-cognito-identity-provider.d.ts +6 -0
  330. package/dist/service/cognito/sim-cognito-identity-provider.js +1 -0
  331. package/dist/service/cognito/sim-cognito-user-directory.js +3 -3
  332. package/dist/service/cognito/user-pool/auth/sim-cognito-authorization-code.d.ts +9 -0
  333. package/dist/service/cognito/user-pool/auth/sim-cognito-authorization-code.js +2 -0
  334. package/dist/service/cognito/user-pool/auth/sim-cognito-pool-auth.d.ts +8 -0
  335. package/dist/service/cognito/user-pool/auth/sim-cognito-pool-auth.js +8 -0
  336. package/dist/service/cognito/user-pool/auth/sim-cognito-request-throttle.d.ts +36 -0
  337. package/dist/service/cognito/user-pool/auth/sim-cognito-request-throttle.js +45 -0
  338. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-sign-in.d.ts +42 -9
  339. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-sign-in.js +56 -27
  340. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-triggers.d.ts +52 -0
  341. package/dist/service/cognito/user-pool/idp/sim-cognito-federated-triggers.js +49 -0
  342. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +48 -0
  343. package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +94 -0
  344. package/dist/service/cognito/user-pool/idp/sim-cognito-same-federated-identity.d.ts +13 -0
  345. package/dist/service/cognito/user-pool/idp/sim-cognito-same-federated-identity.js +19 -0
  346. package/dist/service/cognito/user-pool/idp/sim-cognito-user-pool-identity-provider.d.ts +7 -0
  347. package/dist/service/cognito/user-pool/idp/sim-cognito-user-pool-identity-provider.js +9 -0
  348. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-name.d.ts +3 -2
  349. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-name.js +3 -2
  350. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-occasion.d.ts +18 -1
  351. package/dist/service/cognito/user-pool/trigger/sim-cognito-trigger-occasion.js +35 -18
  352. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts +6 -5
  353. package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +6 -5
  354. package/dist/service/iam/authorize/context/sim-iam-auth-z-input.d.ts +6 -4
  355. package/dist/service/kms/command/sim-kms-request-options.d.ts +9 -5
  356. package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
  357. package/dist/service/lambda/command/create-function/create-function.handler.js +4 -1
  358. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
  359. package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +7 -11
  360. package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +7 -8
  361. package/dist/service/lambda/event-source/poll/sim-lambda-stream-iterator-age.d.ts +11 -0
  362. package/dist/service/lambda/event-source/poll/sim-lambda-stream-iterator-age.js +31 -0
  363. package/dist/service/lambda/event-source/poll/sim-lambda-stream-sequence-numbers.d.ts +10 -0
  364. package/dist/service/lambda/event-source/poll/sim-lambda-stream-sequence-numbers.js +12 -0
  365. package/dist/service/lambda/function/sim-lambda-function.d.ts +3 -0
  366. package/dist/service/lambda/function/sim-lambda-function.js +6 -2
  367. package/dist/service/lambda/function/sim-lambda-function.type.d.ts +7 -0
  368. package/dist/service/lambda/metric/sim-lambda-function-metrics.d.ts +47 -0
  369. package/dist/service/lambda/metric/sim-lambda-function-metrics.js +83 -0
  370. package/dist/service/lambda/metric/sim-lambda-iterator-age.d.ts +29 -0
  371. package/dist/service/lambda/metric/sim-lambda-iterator-age.js +41 -0
  372. package/dist/service/lambda/metric/sim-lambda-metrics.d.ts +12 -0
  373. package/dist/service/lambda/metric/sim-lambda-metrics.js +13 -0
  374. package/dist/service/lambda/sim-lambda-commands.d.ts +2 -0
  375. package/dist/service/lambda/sim-lambda-commands.js +2 -1
  376. package/dist/service/logs/cfn/metric/sim-cfn-metric-dimension-values.d.ts +9 -0
  377. package/dist/service/logs/cfn/metric/sim-cfn-metric-dimension-values.js +25 -0
  378. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-creator.d.ts +30 -0
  379. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-creator.js +52 -0
  380. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-properties.d.ts +40 -0
  381. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-properties.js +66 -0
  382. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-property-rules.d.ts +19 -0
  383. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-property-rules.js +40 -0
  384. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-unsimulated-properties.d.ts +5 -0
  385. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-unsimulated-properties.js +23 -0
  386. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-value.d.ts +25 -0
  387. package/dist/service/logs/cfn/metric/sim-cfn-metric-filter-value.js +58 -0
  388. package/dist/service/logs/cfn/metric/sim-cfn-metric-transformation-values.d.ts +6 -0
  389. package/dist/service/logs/cfn/metric/sim-cfn-metric-transformation-values.js +19 -0
  390. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +2 -0
  391. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +4 -0
  392. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +5 -3
  393. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +12 -3
  394. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts +6 -4
  395. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js +13 -4
  396. package/dist/service/logs/command/event/sim-logs-put-log-events.d.ts +3 -0
  397. package/dist/service/logs/command/event/sim-logs-put-log-events.js +3 -0
  398. package/dist/service/logs/command/group/sim-logs-log-group-commands.js +3 -3
  399. package/dist/service/logs/command/metric/metric-filter.command.d.ts +79 -0
  400. package/dist/service/logs/command/metric/metric-filter.command.js +1 -0
  401. package/dist/service/logs/command/metric/sim-logs-metric-filter-commands.d.ts +48 -0
  402. package/dist/service/logs/command/metric/sim-logs-metric-filter-commands.js +95 -0
  403. package/dist/service/logs/command/metric/sim-logs-metric-filter-input.d.ts +11 -0
  404. package/dist/service/logs/command/metric/sim-logs-metric-filter-input.js +79 -0
  405. package/dist/service/logs/command/sim-logs-command.types.d.ts +1 -0
  406. package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.d.ts +23 -0
  407. package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.js +28 -0
  408. package/dist/service/logs/group/sim-logs-log-group.d.ts +6 -0
  409. package/dist/service/logs/group/sim-logs-log-group.js +6 -0
  410. package/dist/service/logs/index.d.ts +6 -0
  411. package/dist/service/logs/index.js +4 -0
  412. package/dist/service/logs/metric/cloudwatch/sim-aws-logs-metric-filter-metrics.d.ts +40 -0
  413. package/dist/service/logs/metric/cloudwatch/sim-aws-logs-metric-filter-metrics.js +78 -0
  414. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-datapoints.d.ts +25 -0
  415. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-datapoints.js +81 -0
  416. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-document.d.ts +57 -0
  417. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-document.js +85 -0
  418. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-json.d.ts +24 -0
  419. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-json.js +41 -0
  420. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-values.d.ts +20 -0
  421. package/dist/service/logs/metric/emf/sim-logs-embedded-metric-values.js +39 -0
  422. package/dist/service/logs/metric/sim-logs-metric-datapoint.d.ts +25 -0
  423. package/dist/service/logs/metric/sim-logs-metric-datapoint.js +1 -0
  424. package/dist/service/logs/metric/sim-logs-metric-fan-out.d.ts +62 -0
  425. package/dist/service/logs/metric/sim-logs-metric-fan-out.js +116 -0
  426. package/dist/service/logs/metric/sim-logs-metric-filter-selection.d.ts +17 -0
  427. package/dist/service/logs/metric/sim-logs-metric-filter-selection.js +17 -0
  428. package/dist/service/logs/metric/sim-logs-metric-filter-store.d.ts +35 -0
  429. package/dist/service/logs/metric/sim-logs-metric-filter-store.js +47 -0
  430. package/dist/service/logs/metric/sim-logs-metric-filter.d.ts +49 -0
  431. package/dist/service/logs/metric/sim-logs-metric-filter.js +95 -0
  432. package/dist/service/logs/metric/sim-logs-metric-publication-failure.d.ts +31 -0
  433. package/dist/service/logs/metric/sim-logs-metric-publication-failure.js +12 -0
  434. package/dist/service/logs/metric/sim-logs-metric-publications.d.ts +11 -0
  435. package/dist/service/logs/metric/sim-logs-metric-publications.js +1 -0
  436. package/dist/service/logs/metric/sim-logs-metric-transformation.d.ts +45 -0
  437. package/dist/service/logs/metric/sim-logs-metric-transformation.js +127 -0
  438. package/dist/service/logs/sdk/sim-logs-sdk-command-router.js +12 -0
  439. package/dist/service/logs/sim-logs-commands.d.ts +12 -0
  440. package/dist/service/logs/sim-logs-commands.js +17 -0
  441. package/dist/service/logs/sim-logs-metric-operations.d.ts +31 -0
  442. package/dist/service/logs/sim-logs-metric-operations.js +37 -0
  443. package/dist/service/logs/sim-logs.d.ts +4 -3
  444. package/dist/service/logs/sim-logs.js +4 -3
  445. package/dist/service/logs/write/sim-logs-service-writer.d.ts +3 -0
  446. package/dist/service/logs/write/sim-logs-service-writer.js +5 -1
  447. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +32 -0
  448. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +31 -1
  449. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +13 -2
  450. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +18 -1
  451. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +17 -1
  452. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +27 -3
  453. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +45 -0
  454. package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +90 -0
  455. package/dist/service/s3/bucket/lock/sim-s3-bucket-object-lock.d.ts +42 -0
  456. package/dist/service/s3/bucket/lock/sim-s3-bucket-object-lock.js +59 -0
  457. package/dist/service/s3/bucket/lock/sim-s3-default-retention.d.ts +8 -0
  458. package/dist/service/s3/bucket/lock/sim-s3-default-retention.js +15 -0
  459. package/dist/service/s3/bucket/lock/sim-s3-object-lock-configuration.d.ts +49 -0
  460. package/dist/service/s3/bucket/lock/sim-s3-object-lock-configuration.js +102 -0
  461. package/dist/service/s3/bucket/lock/sim-s3-object-lock-output.d.ts +14 -0
  462. package/dist/service/s3/bucket/lock/sim-s3-object-lock-output.js +1 -0
  463. package/dist/service/s3/bucket/lock/sim-s3-object-lock.d.ts +62 -0
  464. package/dist/service/s3/bucket/lock/sim-s3-object-lock.js +100 -0
  465. package/dist/service/s3/bucket/lock/sim-s3-object-retention.d.ts +55 -0
  466. package/dist/service/s3/bucket/lock/sim-s3-object-retention.js +82 -0
  467. package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
  468. package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +9 -1
  469. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.d.ts +1 -1
  470. package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +1 -2
  471. package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +114 -0
  472. package/dist/service/s3/bucket/sim-s3-bucket-objects.js +148 -0
  473. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +30 -29
  474. package/dist/service/s3/bucket/sim-s3-bucket.js +42 -45
  475. package/dist/service/s3/bucket/sim-s3-object-deletion.d.ts +30 -0
  476. package/dist/service/s3/bucket/sim-s3-object-deletion.js +29 -0
  477. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versioning.d.ts +61 -0
  478. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versioning.js +65 -0
  479. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versions.d.ts +97 -0
  480. package/dist/service/s3/bucket/versioning/sim-s3-bucket-versions.js +176 -0
  481. package/dist/service/s3/bucket/versioning/sim-s3-compare-keys.d.ts +10 -0
  482. package/dist/service/s3/bucket/versioning/sim-s3-compare-keys.js +16 -0
  483. package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +85 -0
  484. package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +101 -0
  485. package/dist/service/s3/bucket/versioning/sim-s3-object-versions.d.ts +52 -0
  486. package/dist/service/s3/bucket/versioning/sim-s3-object-versions.js +91 -0
  487. package/dist/service/s3/bucket/versioning/sim-s3-version-page.d.ts +32 -0
  488. package/dist/service/s3/bucket/versioning/sim-s3-version-page.js +45 -0
  489. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.d.ts +0 -5
  490. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +3 -14
  491. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +18 -1
  492. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +34 -1
  493. package/dist/service/s3/cfn/bucket/lock/sim-cfn-s3-bucket-object-lock-configuration.d.ts +37 -0
  494. package/dist/service/s3/cfn/bucket/lock/sim-cfn-s3-bucket-object-lock-configuration.js +78 -0
  495. package/dist/service/s3/cfn/bucket/replication/sim-cfn-s3-bucket-replication-rules.d.ts +20 -0
  496. package/dist/service/s3/cfn/bucket/replication/sim-cfn-s3-bucket-replication-rules.js +107 -0
  497. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +14 -7
  498. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +29 -37
  499. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +62 -0
  500. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +89 -0
  501. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +9 -5
  502. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +16 -16
  503. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.d.ts +9 -5
  504. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.js +17 -6
  505. package/dist/service/s3/cfn/bucket/versioning/sim-cfn-s3-bucket-versioning-configuration.d.ts +19 -0
  506. package/dist/service/s3/cfn/bucket/versioning/sim-cfn-s3-bucket-versioning-configuration.js +28 -0
  507. package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +24 -0
  508. package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +30 -0
  509. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.command.d.ts +2 -0
  510. package/dist/service/s3/command/complete-multipart-upload/complete-multipart-upload.handler.js +3 -1
  511. package/dist/service/s3/command/copy-object/copy-object.command.d.ts +3 -1
  512. package/dist/service/s3/command/copy-object/copy-object.handler.js +3 -1
  513. package/dist/service/s3/command/delete-object/delete-object-version-removal.d.ts +50 -0
  514. package/dist/service/s3/command/delete-object/delete-object-version-removal.js +52 -0
  515. package/dist/service/s3/command/delete-object/delete-object.command.d.ts +19 -2
  516. package/dist/service/s3/command/delete-object/delete-object.handler.d.ts +7 -1
  517. package/dist/service/s3/command/delete-object/delete-object.handler.js +28 -16
  518. package/dist/service/s3/command/delete-object/sim-s3-notify-deleted.d.ts +24 -0
  519. package/dist/service/s3/command/delete-object/sim-s3-notify-deleted.js +32 -0
  520. package/dist/service/s3/command/delete-objects/delete-object-attempt.d.ts +6 -2
  521. package/dist/service/s3/command/delete-objects/delete-object-attempt.js +6 -2
  522. package/dist/service/s3/command/delete-objects/delete-objects-key-removal.js +10 -9
  523. package/dist/service/s3/command/delete-objects/delete-objects-outcome.js +9 -1
  524. package/dist/service/s3/command/delete-objects/delete-objects.command.d.ts +6 -0
  525. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.command.d.ts +23 -0
  526. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.command.js +1 -0
  527. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.handler.d.ts +31 -0
  528. package/dist/service/s3/command/get-bucket-versioning/get-bucket-versioning.handler.js +40 -0
  529. package/dist/service/s3/command/get-object/get-object-loader.d.ts +3 -2
  530. package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
  531. package/dist/service/s3/command/get-object/get-object.command.d.ts +9 -1
  532. package/dist/service/s3/command/get-object/get-object.handler.js +1 -1
  533. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.command.d.ts +25 -0
  534. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.command.js +1 -0
  535. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.handler.d.ts +31 -0
  536. package/dist/service/s3/command/get-object-lock-configuration/get-object-lock-configuration.handler.js +41 -0
  537. package/dist/service/s3/command/head-object/head-object-loader.d.ts +1 -1
  538. package/dist/service/s3/command/head-object/head-object-loader.js +7 -3
  539. package/dist/service/s3/command/head-object/head-object.command.d.ts +9 -1
  540. package/dist/service/s3/command/head-object/head-object.handler.js +1 -1
  541. package/dist/service/s3/command/list-object-versions/list-object-versions-listing.d.ts +31 -0
  542. package/dist/service/s3/command/list-object-versions/list-object-versions-listing.js +55 -0
  543. package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.d.ts +17 -0
  544. package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +34 -0
  545. package/dist/service/s3/command/list-object-versions/list-object-versions.command.d.ts +59 -0
  546. package/dist/service/s3/command/list-object-versions/list-object-versions.command.js +1 -0
  547. package/dist/service/s3/command/list-object-versions/list-object-versions.handler.d.ts +34 -0
  548. package/dist/service/s3/command/list-object-versions/list-object-versions.handler.js +62 -0
  549. package/dist/service/s3/command/object/sim-s3-read-object-version.d.ts +34 -0
  550. package/dist/service/s3/command/object/sim-s3-read-object-version.js +52 -0
  551. package/dist/service/s3/command/object-lock/sim-s3-locked-version.d.ts +11 -0
  552. package/dist/service/s3/command/object-lock/sim-s3-locked-version.js +27 -0
  553. package/dist/service/s3/command/object-lock/sim-s3-object-lock-authorizer.d.ts +42 -0
  554. package/dist/service/s3/command/object-lock/sim-s3-object-lock-authorizer.js +66 -0
  555. package/dist/service/s3/command/object-lock/sim-s3-object-lock-commands.d.ts +30 -0
  556. package/dist/service/s3/command/object-lock/sim-s3-object-lock-commands.js +41 -0
  557. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.command.d.ts +21 -0
  558. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.command.js +1 -0
  559. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.handler.d.ts +31 -0
  560. package/dist/service/s3/command/put-bucket-versioning/put-bucket-versioning.handler.js +44 -0
  561. package/dist/service/s3/command/put-object/put-object.command.d.ts +3 -0
  562. package/dist/service/s3/command/put-object/put-object.handler.js +10 -10
  563. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.command.d.ts +24 -0
  564. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.command.js +1 -0
  565. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.handler.d.ts +32 -0
  566. package/dist/service/s3/command/put-object-legal-hold/put-object-legal-hold.handler.js +41 -0
  567. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.command.d.ts +21 -0
  568. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.command.js +1 -0
  569. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.handler.d.ts +32 -0
  570. package/dist/service/s3/command/put-object-lock-configuration/put-object-lock-configuration.handler.js +47 -0
  571. package/dist/service/s3/command/put-object-retention/put-object-retention.command.d.ts +29 -0
  572. package/dist/service/s3/command/put-object-retention/put-object-retention.command.js +1 -0
  573. package/dist/service/s3/command/put-object-retention/put-object-retention.handler.d.ts +31 -0
  574. package/dist/service/s3/command/put-object-retention/put-object-retention.handler.js +42 -0
  575. package/dist/service/s3/command/sim-s3-command.types.d.ts +7 -0
  576. package/dist/service/s3/command/versioning/sim-s3-versioning-authorizer.d.ts +35 -0
  577. package/dist/service/s3/command/versioning/sim-s3-versioning-authorizer.js +57 -0
  578. package/dist/service/s3/command/versioning/sim-s3-versioning-commands.d.ts +26 -0
  579. package/dist/service/s3/command/versioning/sim-s3-versioning-commands.js +34 -0
  580. package/dist/service/s3/command/versioning/sim-s3-versioning-configuration-validation.d.ts +13 -0
  581. package/dist/service/s3/command/versioning/sim-s3-versioning-configuration-validation.js +28 -0
  582. package/dist/service/s3/error/sim-s3-object-lock.error.d.ts +22 -0
  583. package/dist/service/s3/error/sim-s3-object-lock.error.js +26 -0
  584. package/dist/service/s3/error/sim-s3.error.d.ts +22 -0
  585. package/dist/service/s3/error/sim-s3.error.js +26 -0
  586. package/dist/service/s3/notification/event/sim-s3-event-records.js +3 -0
  587. package/dist/service/s3/notification/event/sim-s3-event.type.d.ts +5 -3
  588. package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +15 -0
  589. package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +4 -1
  590. package/dist/service/s3/notification/event/sim-s3-object-event.d.ts +6 -0
  591. package/dist/service/s3/notification/event/sim-s3-object-event.js +2 -0
  592. package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +1 -1
  593. package/dist/service/s3/notification/sim-s3-object-notifier.js +2 -2
  594. package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.d.ts +10 -0
  595. package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +84 -0
  596. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +6 -132
  597. package/dist/service/s3/sdk/sim-s3-sdk-object-lock-routes.d.ts +10 -0
  598. package/dist/service/s3/sdk/sim-s3-sdk-object-lock-routes.js +28 -0
  599. package/dist/service/s3/sdk/sim-s3-sdk-object-routes.d.ts +7 -0
  600. package/dist/service/s3/sdk/sim-s3-sdk-object-routes.js +80 -0
  601. package/dist/service/s3/sim-s3-commands.d.ts +4 -0
  602. package/dist/service/s3/sim-s3-commands.js +6 -0
  603. package/dist/service/s3/sim-s3-operations.d.ts +5 -5
  604. package/dist/service/s3/sim-s3-operations.js +5 -6
  605. package/dist/service/s3/sim-s3-version-operations.d.ts +32 -0
  606. package/dist/service/s3/sim-s3-version-operations.js +45 -0
  607. package/dist/service/scheduler/command/schedule/schedule.command.d.ts +9 -2
  608. package/dist/service/scheduler/command/schedule/sim-scheduler-described-schedule.js +2 -0
  609. package/dist/service/scheduler/command/schedule/sim-scheduler-unsimulated-target.js +0 -6
  610. package/dist/service/scheduler/command/sim-scheduler-command.types.d.ts +1 -1
  611. package/dist/service/scheduler/command/sim-scheduler-commands.js +1 -0
  612. package/dist/service/scheduler/delivery/sim-aws-scheduler-dead-letters.d.ts +17 -0
  613. package/dist/service/scheduler/delivery/sim-aws-scheduler-dead-letters.js +29 -0
  614. package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.d.ts +6 -1
  615. package/dist/service/scheduler/delivery/sim-aws-scheduler-delivery-targets.js +9 -0
  616. package/dist/service/scheduler/delivery/sim-scheduler-dead-letter-queue.d.ts +18 -0
  617. package/dist/service/scheduler/delivery/sim-scheduler-dead-letter-queue.js +62 -0
  618. package/dist/service/scheduler/delivery/sim-scheduler-delivery-attempt.d.ts +29 -0
  619. package/dist/service/scheduler/delivery/sim-scheduler-delivery-attempt.js +81 -0
  620. package/dist/service/scheduler/delivery/sim-scheduler-delivery-function.js +9 -5
  621. package/dist/service/scheduler/delivery/sim-scheduler-delivery.d.ts +11 -0
  622. package/dist/service/scheduler/delivery/sim-scheduler-no-delivery-targets.d.ts +5 -1
  623. package/dist/service/scheduler/delivery/sim-scheduler-no-delivery-targets.js +8 -0
  624. package/dist/service/scheduler/delivery/sim-scheduler-target-delivery.d.ts +4 -1
  625. package/dist/service/scheduler/delivery/sim-scheduler-target-delivery.js +20 -15
  626. package/dist/service/scheduler/index.d.ts +1 -1
  627. package/dist/service/scheduler/target/sim-scheduler-dead-letter-config.d.ts +15 -0
  628. package/dist/service/scheduler/target/sim-scheduler-dead-letter-config.js +24 -0
  629. package/dist/service/scheduler/target/sim-scheduler-retry-policy.d.ts +20 -0
  630. package/dist/service/scheduler/target/sim-scheduler-retry-policy.js +37 -0
  631. package/dist/service/scheduler/target/sim-scheduler-target.d.ts +6 -0
  632. package/dist/service/scheduler/target/sim-scheduler-target.js +12 -0
  633. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.d.ts +15 -0
  634. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-encryption-rules.js +33 -0
  635. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts +16 -0
  636. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js +33 -1
  637. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts +12 -6
  638. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js +18 -13
  639. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts +1 -0
  640. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js +9 -1
  641. package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts +7 -10
  642. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts +10 -11
  643. package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js +11 -16
  644. package/dist/terraform/map/sim-tf-map-sqs-redrive.d.ts +4 -3
  645. package/dist/terraform/map/sim-tf-map-sqs-redrive.js +4 -3
  646. package/docs/README.md +1 -0
  647. package/docs/services/athena/README.md +7 -1
  648. package/docs/services/backup/README.md +553 -0
  649. package/docs/services/cloudformation/README.md +18 -7
  650. package/docs/services/cloudfront/README.md +903 -25
  651. package/docs/services/cloudwatch/README.md +159 -3
  652. package/docs/services/cognito/README.md +370 -7
  653. package/docs/services/ecs/README.md +5 -2
  654. package/docs/services/kms/README.md +9 -5
  655. package/docs/services/lambda/README.md +28 -0
  656. package/docs/services/logs/README.md +290 -3
  657. package/docs/services/s3/README.md +463 -20
  658. package/docs/services/scheduler/README.md +48 -9
  659. package/docs/services/sqs/README.md +47 -10
  660. package/docs/services/ssm/README.md +26 -33
  661. package/llms.txt +1 -0
  662. package/package.json +7 -2
@@ -18,15 +18,15 @@ const parameterArnContextKey = "PARAMETER_ARN";
18
18
  * and a decrypting read needs `kms:Decrypt`, each on top of the SSM permission
19
19
  * for the parameter itself.
20
20
  *
21
- * They are also made through the service, which is what reaches the `aws/ssm`
22
- * managed key at all. That key's policy admits the Account's principals when
23
- * `kms:ViaService` names Systems Manager, and Parameter Store is what supplies
24
- * it. Reaching the key is not the same as being allowed to use it, and a
25
- * decrypting read says so with `withCallerPermissions`, because that policy
26
- * admits whoever the request came from rather than the caller behind it. A
27
- * Role holding `ssm:GetParameter` and no `kms:Decrypt` reads the ciphertext
28
- * and not the value. A write under that key asks the caller for no KMS
29
- * permission here, where AWS documents `kms:Encrypt` for one.
21
+ * They are also made through the service, and passing through it is what
22
+ * reaches the `aws/ssm` managed key at all. That key's policy allows the
23
+ * cryptographic actions to a wildcard principal under `kms:ViaService` and
24
+ * `kms:CallerAccount` conditions, and Parameter Store supplies the first of
25
+ * them. A grant of that shape delegates nothing to IAM, and it admits the
26
+ * request by itself. A Role holding `ssm:GetParameter` and nothing on KMS
27
+ * reads the decrypted value, as it does in an account. A caller in another
28
+ * Account fails the `kms:CallerAccount` condition, and a caller reaching KMS
29
+ * directly carries no `kms:ViaService` for the policy to match.
30
30
  *
31
31
  * Standard tier Parameter Store encrypts under the key directly rather than
32
32
  * through a data key, so this is one Encrypt and one Decrypt and nothing more.
@@ -54,8 +54,7 @@ export class SimSsmParameterKms {
54
54
  };
55
55
  }
56
56
  /**
57
- * Decrypt a parameter value, which needs the same binding it was made with,
58
- * and the caller's own permission to use the key.
57
+ * Decrypt a parameter value, which needs the same binding it was made with.
59
58
  */
60
59
  async decrypt(parameterArn, ciphertext, caller) {
61
60
  const decrypted = await reportingKeyProblems(async () => await this.kms.decrypt({
@@ -63,11 +62,7 @@ export class SimSsmParameterKms {
63
62
  CiphertextBlob: Buffer.from(ciphertext, "base64"),
64
63
  EncryptionContext: this.contextFor(parameterArn),
65
64
  },
66
- }, {
67
- caller,
68
- viaService: ssmKmsViaService,
69
- withCallerPermissions: true,
70
- }));
65
+ }, { caller, viaService: ssmKmsViaService }));
71
66
  assertDefined(decrypted.Plaintext, `Simulated KMS decrypted ${parameterArn} to nothing`);
72
67
  return Buffer.from(decrypted.Plaintext).toString("utf8");
73
68
  }
@@ -24,8 +24,9 @@ export declare function jsonDocument(context: TerraformMappingContext, key: stri
24
24
  *
25
25
  * Each names its queue in a `queue_url` attribute, which the queue resolves to
26
26
  * whether or not the URL itself was known at plan time. CloudFormation carries
27
- * both as properties of the `AWS::SQS::Queue`, and simulated SQS records each
28
- * one against the Resource: no message moves to a dead-letter queue here, and
29
- * nothing enforces which queues may name one as theirs.
27
+ * both as properties of the `AWS::SQS::Queue`. `RedrivePolicy` reaches
28
+ * CreateQueue from there and moves a message that has run out of receives.
29
+ * `RedriveAllowPolicy` is recorded against the Resource, since nothing
30
+ * enforces which queues may name this one as their dead-letter queue.
30
31
  */
31
32
  export declare const sqsRedriveFolds: ReadonlyMap<string, TerraformResourceFold>;
@@ -40,9 +40,10 @@ export function jsonDocument(context, key) {
40
40
  *
41
41
  * Each names its queue in a `queue_url` attribute, which the queue resolves to
42
42
  * whether or not the URL itself was known at plan time. CloudFormation carries
43
- * both as properties of the `AWS::SQS::Queue`, and simulated SQS records each
44
- * one against the Resource: no message moves to a dead-letter queue here, and
45
- * nothing enforces which queues may name one as theirs.
43
+ * both as properties of the `AWS::SQS::Queue`. `RedrivePolicy` reaches
44
+ * CreateQueue from there and moves a message that has run out of receives.
45
+ * `RedriveAllowPolicy` is recorded against the Resource, since nothing
46
+ * enforces which queues may name this one as their dead-letter queue.
46
47
  */
47
48
  export const sqsRedriveFolds = new Map([
48
49
  [
package/docs/README.md CHANGED
@@ -9,6 +9,7 @@ behaviour and includes example code that can be copied into tests or local devel
9
9
  - [API Gateway HTTP APIs](https://yulinsim.dev/services/apigatewayv2/ "Simulated API Gateway HTTP API usage docs")
10
10
  - [API Gateway REST APIs](https://yulinsim.dev/services/apigateway/ "Simulated API Gateway REST API usage docs")
11
11
  - [Athena](https://yulinsim.dev/services/athena/ "Simulated Amazon Athena usage docs")
12
+ - [AWS Backup](https://yulinsim.dev/services/backup/ "Simulated AWS Backup usage docs")
12
13
  - [Bedrock](https://yulinsim.dev/services/bedrock/ "Simulated Amazon Bedrock usage docs")
13
14
  - [CloudFormation](https://yulinsim.dev/services/cloudformation/ "Simulated CloudFormation usage docs")
14
15
  - [CloudFront](https://yulinsim.dev/services/cloudfront/ "Simulated CloudFront usage docs")
@@ -383,10 +383,15 @@ its declared result.
383
383
  | Binary | `md5`, `sha1`, `sha256`, `sha512`, `xxhash64`, `murmur3`, `crc32`, `to_hex`, `from_hex`, `to_base64`, `from_base64`, `to_utf8`, `from_utf8` |
384
384
  | URL | `url_extract_host`, `url_extract_path`, `url_extract_protocol`, `url_extract_port`, `url_extract_query`, `url_extract_fragment`, `url_extract_parameter`, `url_decode`, `url_encode` |
385
385
  | Approximate | `approx_distinct`, `approx_percentile` |
386
+ | Comparison | `least`, `greatest` |
386
387
 
387
388
  `substr` and `format` are SQLite's own. Both count from one and take the same `%s` and `%d` a
388
389
  statement writes, so shadowing either would replace something that works.
389
390
 
391
+ `least` and `greatest` take two arguments or more. Numbers order numerically and text orders by its
392
+ code units, matching SQLite's own `min` and `max` in their wider forms. Trino refuses a call mixing
393
+ the two types and this answers one, ordering everything as text. A `varbinary` argument raises.
394
+
390
395
  The hashing functions answer with bytes and `to_hex` writes those bytes in the upper case Trino
391
396
  writes them in. Node carries every digest here apart from xxHash64 and MurmurHash3, and both of
392
397
  those are written out by hand against their published vectors. Trino refuses text where a
@@ -404,7 +409,8 @@ instant the query started, which is what the execution records.
404
409
 
405
410
  A function that cannot answer faithfully raises rather than guessing, and the query falls back.
406
411
  `date_add` with a unit Trino does not name, `slice` starting at zero, `array_join` over an array of
407
- objects, and `regexp_extract` naming a capture group the pattern has not got all land there. A null
412
+ objects, `least` over a `varbinary`, and `regexp_extract` naming a capture group the pattern has not
413
+ got all land there. A null
408
414
  answer would be a wrong answer wearing the shape of a right one.
409
415
 
410
416
  A function answers null where any argument is null, the way Trino's do. An argument left out takes
@@ -0,0 +1,553 @@
1
+ # Simulated AWS Backup
2
+
3
+ Yulin includes simulated AWS Backup vaults, plans, selections, backup jobs and recovery points for
4
+ tests and local development. AWS Backup types are imported from the `@kensio/yulin/backup` subpath.
5
+
6
+ ## Creating a vault, plan and selection
7
+
8
+ `simAws.backup()` gives the AWS Backup service for the default account and Region. A plan rule names
9
+ an existing vault. A selection belongs to one plan and records the resource ARNs assigned to it.
10
+
11
+ ```typescript sim-backup-create-plan-selection
12
+ /**
13
+ * Creating a daily backup plan for one DynamoDB table.
14
+ */
15
+
16
+ import {
17
+ CreateBackupPlanCommand,
18
+ CreateBackupSelectionCommand,
19
+ CreateBackupVaultCommand,
20
+ GetBackupPlanCommand,
21
+ GetBackupSelectionCommand,
22
+ } from "@aws-sdk/client-backup";
23
+ import { assertNonNullable } from "@kensio/smartass";
24
+
25
+ import { SimAws } from "@kensio/yulin";
26
+
27
+ const simAws = new SimAws();
28
+ const backup = simAws.backup();
29
+
30
+ await backup.createBackupVault(
31
+ new CreateBackupVaultCommand({
32
+ BackupVaultName: "application-backups",
33
+ }),
34
+ );
35
+
36
+ const createdPlan = await backup.createBackupPlan(
37
+ new CreateBackupPlanCommand({
38
+ BackupPlan: {
39
+ BackupPlanName: "application-plan",
40
+ Rules: [
41
+ {
42
+ RuleName: "daily",
43
+ TargetBackupVaultName: "application-backups",
44
+ ScheduleExpression: "cron(0 1 ? * * *)",
45
+ Lifecycle: { DeleteAfterDays: 35 },
46
+ },
47
+ ],
48
+ },
49
+ }),
50
+ );
51
+ assertNonNullable(createdPlan.BackupPlanId);
52
+
53
+ const createdSelection = await backup.createBackupSelection(
54
+ new CreateBackupSelectionCommand({
55
+ BackupPlanId: createdPlan.BackupPlanId,
56
+ BackupSelection: {
57
+ SelectionName: "orders",
58
+ IamRoleArn: "arn:aws:iam::888888888888:role/BackupRole",
59
+ Resources: ["arn:aws:dynamodb:us-east-1:888888888888:table/orders"],
60
+ },
61
+ }),
62
+ );
63
+ assertNonNullable(createdSelection.SelectionId);
64
+
65
+ const plan = await backup.getBackupPlan(
66
+ new GetBackupPlanCommand({ BackupPlanId: createdPlan.BackupPlanId }),
67
+ );
68
+ console.log(plan.BackupPlan?.Rules?.[0]?.ScheduleExpression);
69
+ // "cron(0 1 ? * * *)"
70
+
71
+ const selection = await backup.getBackupSelection(
72
+ new GetBackupSelectionCommand({
73
+ BackupPlanId: createdPlan.BackupPlanId,
74
+ SelectionId: createdSelection.SelectionId,
75
+ }),
76
+ );
77
+ console.log(selection.BackupSelection?.Resources);
78
+ // ["arn:aws:dynamodb:us-east-1:888888888888:table/orders"]
79
+ ```
80
+
81
+ A plan needs at least one rule. Every rule needs a name and a target vault. An omitted schedule uses
82
+ `cron(0 5 ? * * *)`, the AWS Backup default. Six-field AWS cron expressions and rate expressions
83
+ are validated when the plan is created. A one-time `at(...)` expression is refused.
84
+
85
+ `MoveToColdStorageAfterDays` can be combined with `DeleteAfterDays`. The deletion must be at least
86
+ 90 days after the move to cold storage. A shorter lifecycle raises
87
+ `InvalidParameterValueException`. Set both values to `-1` to retain recovery points indefinitely.
88
+
89
+ ## Running scheduled backups
90
+
91
+ Each plan rule runs on the simulated clock. A due rule creates one recovery point for each distinct
92
+ resource ARN in the plan's selections. The recovery point records the rule, resource ARN, lifecycle
93
+ and creation time. The simulation completes backup jobs at the scheduled instant.
94
+
95
+ ```typescript sim-backup-run-schedule
96
+ /**
97
+ * Advancing a plan through its next scheduled backup.
98
+ */
99
+
100
+ import {
101
+ CreateBackupPlanCommand,
102
+ CreateBackupSelectionCommand,
103
+ CreateBackupVaultCommand,
104
+ ListBackupJobsCommand,
105
+ ListRecoveryPointsByBackupVaultCommand,
106
+ } from "@aws-sdk/client-backup";
107
+ import { assertArrayLength, assertNonNullable } from "@kensio/smartass";
108
+
109
+ import { SimAws, SimFixedClock } from "@kensio/yulin";
110
+
111
+ const simAws = new SimAws({
112
+ clock: new SimFixedClock(new Date("2026-08-31T09:30:00.000Z")),
113
+ });
114
+ const backup = simAws.backup();
115
+
116
+ await backup.createBackupVault(
117
+ new CreateBackupVaultCommand({ BackupVaultName: "application-backups" }),
118
+ );
119
+ const createdPlan = await backup.createBackupPlan(
120
+ new CreateBackupPlanCommand({
121
+ BackupPlan: {
122
+ BackupPlanName: "application-plan",
123
+ Rules: [
124
+ {
125
+ RuleName: "hourly",
126
+ TargetBackupVaultName: "application-backups",
127
+ ScheduleExpression: "rate(1 hour)",
128
+ Lifecycle: { DeleteAfterDays: 35 },
129
+ },
130
+ ],
131
+ },
132
+ }),
133
+ );
134
+ assertNonNullable(createdPlan.BackupPlanId);
135
+ await backup.createBackupSelection(
136
+ new CreateBackupSelectionCommand({
137
+ BackupPlanId: createdPlan.BackupPlanId,
138
+ BackupSelection: {
139
+ SelectionName: "orders",
140
+ IamRoleArn: "arn:aws:iam::888888888888:role/BackupRole",
141
+ Resources: ["arn:aws:dynamodb:us-east-1:888888888888:table/orders"],
142
+ },
143
+ }),
144
+ );
145
+
146
+ await simAws.clock().advanceBy({ hours: 1 });
147
+
148
+ const stored = backup.vault("application-backups").recoveryPoints();
149
+ assertArrayLength(stored, 1);
150
+ console.log(stored[0].creationDate.toISOString());
151
+ // "2026-08-31T10:30:00.000Z"
152
+
153
+ const points = await backup.listRecoveryPointsByBackupVault(
154
+ new ListRecoveryPointsByBackupVaultCommand({
155
+ BackupVaultName: "application-backups",
156
+ }),
157
+ );
158
+ const jobs = await backup.listBackupJobs(new ListBackupJobsCommand({}));
159
+ console.log(points.RecoveryPoints?.[0]?.ResourceArn);
160
+ // "arn:aws:dynamodb:us-east-1:888888888888:table/orders"
161
+ console.log(jobs.BackupJobs?.[0]?.State); // "COMPLETED"
162
+ ```
163
+
164
+ `DeleteAfterDays` removes a recovery point when the clock reaches its deletion time. Vault reads,
165
+ `ListRecoveryPointsByBackupVault` and `DescribeRecoveryPoint` apply the expiry before returning.
166
+ Repeated schedules keep every unexpired recovery point.
167
+
168
+ Vault Lock bounds apply when a backup starts. A lifecycle shorter than `MinRetentionDays`, longer
169
+ than `MaxRetentionDays` or indefinite under a finite maximum produces a `FAILED` backup job. The
170
+ vault receives no recovery point for that job. Use `ListBackupJobs` or `DescribeBackupJob` to read
171
+ the failure and its `StatusMessage`.
172
+
173
+ ## Starting an on-demand backup
174
+
175
+ `StartBackupJob` completes an on-demand job at the current simulated time. It applies the same
176
+ lifecycle validation and Vault Lock bounds as a scheduled rule.
177
+
178
+ ```typescript sim-backup-start-job
179
+ /**
180
+ * Creating an on-demand recovery point.
181
+ */
182
+
183
+ import {
184
+ CreateBackupVaultCommand,
185
+ DescribeRecoveryPointCommand,
186
+ StartBackupJobCommand,
187
+ } from "@aws-sdk/client-backup";
188
+ import { assertNonNullable } from "@kensio/smartass";
189
+
190
+ import { SimAws, SimFixedClock } from "@kensio/yulin";
191
+
192
+ const simAws = new SimAws({
193
+ clock: new SimFixedClock(new Date("2026-08-31T12:00:00.000Z")),
194
+ });
195
+ const backup = simAws.backup();
196
+ await backup.createBackupVault(
197
+ new CreateBackupVaultCommand({ BackupVaultName: "manual-backups" }),
198
+ );
199
+
200
+ const started = await backup.startBackupJob(
201
+ new StartBackupJobCommand({
202
+ BackupVaultName: "manual-backups",
203
+ ResourceArn: "arn:aws:s3:::application-files",
204
+ IamRoleArn: "arn:aws:iam::888888888888:role/BackupRole",
205
+ Lifecycle: { DeleteAfterDays: 14 },
206
+ }),
207
+ );
208
+ assertNonNullable(started.RecoveryPointArn);
209
+
210
+ const point = await backup.describeRecoveryPoint(
211
+ new DescribeRecoveryPointCommand({
212
+ BackupVaultName: "manual-backups",
213
+ RecoveryPointArn: started.RecoveryPointArn,
214
+ }),
215
+ );
216
+ console.log(point.CreationDate?.toISOString());
217
+ // "2026-08-31T12:00:00.000Z"
218
+ ```
219
+
220
+ ## Vault Lock
221
+
222
+ `PutBackupVaultLockConfiguration` records minimum and maximum retention periods on a vault. Adding
223
+ `ChangeableForDays` creates a compliance lock. The configuration stays changeable until the grace
224
+ period ends, then becomes immutable.
225
+
226
+ ```typescript sim-backup-vault-lock
227
+ /**
228
+ * Advancing a compliance lock through its grace period.
229
+ */
230
+
231
+ import {
232
+ CreateBackupVaultCommand,
233
+ DescribeBackupVaultCommand,
234
+ PutBackupVaultLockConfigurationCommand,
235
+ } from "@aws-sdk/client-backup";
236
+
237
+ import { SimAws, SimFixedClock } from "@kensio/yulin";
238
+
239
+ const simAws = new SimAws({
240
+ clock: new SimFixedClock(new Date("2026-08-30T10:00:00.000Z")),
241
+ });
242
+ const backup = simAws.backup();
243
+
244
+ await backup.createBackupVault(
245
+ new CreateBackupVaultCommand({ BackupVaultName: "compliance-backups" }),
246
+ );
247
+
248
+ await backup.putBackupVaultLockConfiguration(
249
+ new PutBackupVaultLockConfigurationCommand({
250
+ BackupVaultName: "compliance-backups",
251
+ ChangeableForDays: 3,
252
+ MinRetentionDays: 7,
253
+ MaxRetentionDays: 365,
254
+ }),
255
+ );
256
+
257
+ const changeable = await backup.describeBackupVault(
258
+ new DescribeBackupVaultCommand({
259
+ BackupVaultName: "compliance-backups",
260
+ }),
261
+ );
262
+ console.log(changeable.LockDate?.toISOString());
263
+ // "2026-09-02T10:00:00.000Z"
264
+
265
+ await simAws.clock().advanceBy({ days: 3 });
266
+
267
+ try {
268
+ await backup.putBackupVaultLockConfiguration(
269
+ new PutBackupVaultLockConfigurationCommand({
270
+ BackupVaultName: "compliance-backups",
271
+ MinRetentionDays: 14,
272
+ }),
273
+ );
274
+ } catch (error) {
275
+ console.log(error instanceof Error ? error.name : "unknown error");
276
+ // "InvalidParameterValueException"
277
+ }
278
+ ```
279
+
280
+ `ChangeableForDays` must be between 3 and 36,500. Retention periods are whole days. A minimum cannot
281
+ exceed the maximum, and the maximum cannot exceed 36,500 days. A lock without
282
+ `ChangeableForDays` remains changeable.
283
+
284
+ ## Deploying from CloudFormation
285
+
286
+ Simulated CloudFormation deploys `AWS::Backup::BackupVault`, `AWS::Backup::BackupPlan` and
287
+ `AWS::Backup::BackupSelection`. References between the resources resolve before AWS Backup creates
288
+ them.
289
+
290
+ ```typescript sim-backup-cloudformation
291
+ /**
292
+ * Deploying a vault, plan and selection from one template.
293
+ */
294
+
295
+ import { GetBackupSelectionCommand } from "@aws-sdk/client-backup";
296
+
297
+ import { SimAws } from "@kensio/yulin";
298
+
299
+ const simAws = new SimAws();
300
+ const stack = await simAws.cloudFormation().deployTemplate({
301
+ stackName: "backup-stack",
302
+ template: {
303
+ Resources: {
304
+ Vault: {
305
+ Type: "AWS::Backup::BackupVault",
306
+ Properties: {
307
+ BackupVaultName: "application-backups",
308
+ LockConfiguration: {
309
+ MinRetentionDays: 7,
310
+ MaxRetentionDays: 365,
311
+ },
312
+ },
313
+ },
314
+ Plan: {
315
+ Type: "AWS::Backup::BackupPlan",
316
+ Properties: {
317
+ BackupPlan: {
318
+ BackupPlanName: "application-plan",
319
+ BackupPlanRule: [
320
+ {
321
+ RuleName: "daily",
322
+ TargetBackupVault: { Ref: "Vault" },
323
+ ScheduleExpression: "cron(0 1 ? * * *)",
324
+ Lifecycle: { DeleteAfterDays: 35 },
325
+ },
326
+ ],
327
+ },
328
+ },
329
+ },
330
+ Selection: {
331
+ Type: "AWS::Backup::BackupSelection",
332
+ Properties: {
333
+ BackupPlanId: { Ref: "Plan" },
334
+ BackupSelection: {
335
+ SelectionName: "orders",
336
+ IamRoleArn: "arn:aws:iam::888888888888:role/BackupRole",
337
+ Resources: ["arn:aws:dynamodb:us-east-1:888888888888:table/orders"],
338
+ },
339
+ },
340
+ },
341
+ },
342
+ Outputs: {
343
+ VaultArn: {
344
+ Value: { "Fn::GetAtt": ["Vault", "BackupVaultArn"] },
345
+ },
346
+ PlanId: { Value: { Ref: "Plan" } },
347
+ SelectionId: { Value: { Ref: "Selection" } },
348
+ },
349
+ },
350
+ });
351
+
352
+ await stack.waitForDeployComplete();
353
+
354
+ const selection = await simAws.backup().getBackupSelection(
355
+ new GetBackupSelectionCommand({
356
+ BackupPlanId: stack.output("PlanId"),
357
+ SelectionId: stack.output("SelectionId"),
358
+ }),
359
+ );
360
+
361
+ console.log(stack.output("VaultArn"));
362
+ // "arn:aws:backup:us-east-1:888888888888:backup-vault:application-backups"
363
+ console.log(selection.BackupSelection?.SelectionName); // "orders"
364
+ ```
365
+
366
+ `Ref` and `Fn::GetAtt` return these values:
367
+
368
+ - `AWS::Backup::BackupVault` returns the vault name from `Ref`. `BackupVaultArn` and
369
+ `BackupVaultName` are available through `Fn::GetAtt`.
370
+ - `AWS::Backup::BackupPlan` returns the plan ID from `Ref`. `BackupPlanArn`, `BackupPlanId` and
371
+ `VersionId` are available through `Fn::GetAtt`.
372
+ - `AWS::Backup::BackupSelection` returns the selection ID from `Ref`. `Id`, `SelectionId` and
373
+ `BackupPlanId` are available through `Fn::GetAtt`.
374
+
375
+ Stack teardown removes all three resource types from the simulation.
376
+
377
+ ## Permissions
378
+
379
+ Every supported operation is authorized by simulated IAM. Vault operations use the vault ARN. Plan
380
+ and selection operations use the plan ARN. `ListBackupVaults` has no resource in its request and is
381
+ authorized against `*`. `StartBackupJob` and `ListRecoveryPointsByBackupVault` use the vault ARN.
382
+ `DescribeRecoveryPoint` uses the recovery point ARN. Backup job reads use `*`.
383
+
384
+ ```typescript sim-backup-iam-policy
385
+ /**
386
+ * A Role allowed to create one named backup vault.
387
+ */
388
+
389
+ import { CreateBackupVaultCommand } from "@aws-sdk/client-backup";
390
+ import { CreateRoleCommand, PutRolePolicyCommand } from "@aws-sdk/client-iam";
391
+
392
+ import { SimAws } from "@kensio/yulin";
393
+
394
+ const simAws = new SimAws();
395
+ const role = await simAws.iam().createRole(
396
+ new CreateRoleCommand({
397
+ RoleName: "BackupAdministrator",
398
+ AssumeRolePolicyDocument: JSON.stringify({
399
+ Version: "2012-10-17",
400
+ Statement: {
401
+ Effect: "Allow",
402
+ Principal: { AWS: "arn:aws:iam::888888888888:root" },
403
+ Action: "sts:AssumeRole",
404
+ },
405
+ }),
406
+ }),
407
+ );
408
+
409
+ await simAws.iam().putRolePolicy(
410
+ new PutRolePolicyCommand({
411
+ RoleName: "BackupAdministrator",
412
+ PolicyName: "CreateApplicationVault",
413
+ PolicyDocument: JSON.stringify({
414
+ Version: "2012-10-17",
415
+ Statement: {
416
+ Effect: "Allow",
417
+ Action: "backup:CreateBackupVault",
418
+ Resource:
419
+ "arn:aws:backup:us-east-1:888888888888:backup-vault:application-backups",
420
+ },
421
+ }),
422
+ }),
423
+ );
424
+
425
+ const created = await simAws.backup().createBackupVault(
426
+ new CreateBackupVaultCommand({
427
+ BackupVaultName: "application-backups",
428
+ }),
429
+ { caller: { kind: "arn", arn: role.Role.Arn } },
430
+ );
431
+
432
+ console.log(created.BackupVaultName); // "application-backups"
433
+ ```
434
+
435
+ Authorization runs before resource lookup. An unauthorized request for a missing vault or plan
436
+ raises `AccessDeniedException`, without revealing whether the resource exists.
437
+
438
+ ## SDK interception
439
+
440
+ `SimSdk` routes commands from an AWS `BackupClient` to the simulation. Intercept the client instance
441
+ when a test owns it, or intercept the class when application code creates the client.
442
+
443
+ ```typescript sim-backup-sdk-interception
444
+ /**
445
+ * Routing an AWS Backup client into the simulation.
446
+ */
447
+
448
+ import {
449
+ BackupClient,
450
+ CreateBackupVaultCommand,
451
+ ListBackupVaultsCommand,
452
+ } from "@aws-sdk/client-backup";
453
+
454
+ import { SimSdk } from "@kensio/yulin/sdk";
455
+
456
+ using simSdk = new SimSdk();
457
+ const client = new BackupClient({ region: "us-east-1" });
458
+ simSdk.intercept(client);
459
+
460
+ await client.send(
461
+ new CreateBackupVaultCommand({ BackupVaultName: "application-backups" }),
462
+ );
463
+
464
+ const listed = await client.send(new ListBackupVaultsCommand({}));
465
+ console.log(listed.BackupVaultList?.[0]?.BackupVaultName);
466
+ // "application-backups"
467
+ ```
468
+
469
+ The client's configured Region selects the simulated Region. Credentials select the account and
470
+ caller when the intercepted client has them. See the [SDK interception docs](https://yulinsim.dev/sdk/)
471
+ for class interception and credential handling.
472
+
473
+ ## Account and Region scoping
474
+
475
+ AWS Backup state belongs to one account and Region. The same vault name can exist in another scope.
476
+
477
+ ```typescript sim-backup-account-region-scoping
478
+ /**
479
+ * Keeping backup vaults inside their account and Region.
480
+ */
481
+
482
+ import {
483
+ CreateBackupVaultCommand,
484
+ ListBackupVaultsCommand,
485
+ } from "@aws-sdk/client-backup";
486
+
487
+ import { SimAws } from "@kensio/yulin";
488
+
489
+ const simAws = new SimAws();
490
+
491
+ await simAws
492
+ .account("111111111111")
493
+ .region("eu-west-2")
494
+ .backup()
495
+ .createBackupVault(
496
+ new CreateBackupVaultCommand({ BackupVaultName: "application-backups" }),
497
+ );
498
+
499
+ const inLondon = await simAws
500
+ .account("111111111111")
501
+ .region("eu-west-2")
502
+ .backup()
503
+ .listBackupVaults(new ListBackupVaultsCommand({}));
504
+
505
+ const inVirginia = await simAws
506
+ .account("111111111111")
507
+ .region("us-east-1")
508
+ .backup()
509
+ .listBackupVaults(new ListBackupVaultsCommand({}));
510
+
511
+ console.log(inLondon.BackupVaultList?.length); // 1
512
+ console.log(inVirginia.BackupVaultList?.length); // 0
513
+ ```
514
+
515
+ ## Available functionality
516
+
517
+ - `CreateBackupVault`, `DescribeBackupVault`, `DeleteBackupVault` and `ListBackupVaults`.
518
+ - `PutBackupVaultLockConfiguration`, including compliance lock grace periods driven by simulated
519
+ time.
520
+ - `CreateBackupPlan` and `GetBackupPlan`, with rule schedule and lifecycle validation.
521
+ - `CreateBackupSelection`, `GetBackupSelection` and `ListBackupSelections`.
522
+ - Scheduled backup jobs driven by `simAws.clock()` and the plan rule schedule.
523
+ - `StartBackupJob`, `ListBackupJobs` and `DescribeBackupJob`.
524
+ - `ListRecoveryPointsByBackupVault`, `DescribeRecoveryPoint` and
525
+ `simAws.backup().vault(name).recoveryPoints()`.
526
+ - Recovery point expiry from `DeleteAfterDays` and Vault Lock retention checks.
527
+ - IAM authorization for every supported command.
528
+ - SDK interception of `BackupClient`.
529
+ - Account and Region scoped state, ARNs and timestamps.
530
+ - `AWS::Backup::BackupVault`, `AWS::Backup::BackupPlan` and `AWS::Backup::BackupSelection` through
531
+ simulated CloudFormation.
532
+
533
+ ## Limitations
534
+
535
+ - Recovery point copies and restores are outside the simulation.
536
+ - Backup jobs complete immediately at their scheduled or requested simulated instant. Start and
537
+ completion windows are accepted by the SDK types and ignored by the simulation.
538
+ - Cold-storage lifecycle values are recorded. Recovery points stay in one storage state.
539
+ - Overlapping plan rules are evaluated independently. AWS Backup's overlapping-window optimisation
540
+ is outside the simulation.
541
+ - Vault deletion removes the vault and its recovery points.
542
+ - A selection stores its `Resources`. `Conditions`, `ListOfTags` and wildcard resource matching are
543
+ outside the selection model.
544
+ - The selection's `IamRoleArn` is stored. No backup job assumes it, and creating a selection does
545
+ no `iam:PassRole` check.
546
+ - `EncryptionKeyArn` is stored on a vault. KMS calls and recovery point encryption are outside the
547
+ simulation.
548
+ - Backup tags are accepted and discarded.
549
+ - List operations return every item. `MaxResults` and `NextToken` do not paginate the result.
550
+ - `GetBackupPlan` returns the one stored plan version. `VersionId` is accepted and ignored. Plan
551
+ updates are outside the simulation.
552
+ - A compliance lock becomes immutable when its grace period ends. Deleting a lock configuration is
553
+ unsupported.