@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
@@ -0,0 +1,31 @@
1
+ import type { CommandHandler } from "../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../util/background/background.js";
3
+ import { type SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
5
+ import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
6
+ import type { SimPutBucketVersioningCommand, SimPutBucketVersioningCommandOutput } from "./put-bucket-versioning.command.js";
7
+ interface PutBucketVersioningHandlerProperties {
8
+ readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
9
+ readonly iam?: SimIamInterServiceAuthZ;
10
+ readonly background?: BackgroundScheduler;
11
+ }
12
+ /**
13
+ * Simulated S3 PutBucketVersioningCommand handler.
14
+ *
15
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/PutBucketVersioningCommand/
16
+ */
17
+ export declare class PutBucketVersioningCommandHandler implements CommandHandler<SimPutBucketVersioningCommand, SimPutBucketVersioningCommandOutput> {
18
+ private readonly buckets;
19
+ private readonly authorizer;
20
+ private readonly background;
21
+ constructor(properties: PutBucketVersioningHandlerProperties);
22
+ /**
23
+ * Authorize and apply a Bucket's versioning configuration.
24
+ *
25
+ * Enabling versioning over a Bucket that already holds Objects gives each of
26
+ * them the null version id, which is what real S3 does with the Objects
27
+ * written before the configuration arrived.
28
+ */
29
+ handle(command: SimPutBucketVersioningCommand, options?: SimS3RequestOptions): Promise<SimPutBucketVersioningCommandOutput>;
30
+ }
31
+ export {};
@@ -0,0 +1,44 @@
1
+ import { BackgroundTasks, } from "../../../../util/background/background.js";
2
+ import { assertDefined } from "../../../../util/type-guard/defined.js";
3
+ import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import { SimS3BucketVersioning } from "../../bucket/versioning/sim-s3-bucket-versioning.js";
5
+ import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
6
+ import { SimS3VersioningAuthorizer } from "../versioning/sim-s3-versioning-authorizer.js";
7
+ import { validateSimS3VersioningConfiguration } from "../versioning/sim-s3-versioning-configuration-validation.js";
8
+ /**
9
+ * Simulated S3 PutBucketVersioningCommand handler.
10
+ *
11
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/PutBucketVersioningCommand/
12
+ */
13
+ export class PutBucketVersioningCommandHandler {
14
+ buckets;
15
+ authorizer;
16
+ background;
17
+ constructor(properties) {
18
+ const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
19
+ this.buckets = buckets;
20
+ this.authorizer = new SimS3VersioningAuthorizer({ iam });
21
+ this.background = background;
22
+ }
23
+ /**
24
+ * Authorize and apply a Bucket's versioning configuration.
25
+ *
26
+ * Enabling versioning over a Bucket that already holds Objects gives each of
27
+ * them the null version id, which is what real S3 does with the Objects
28
+ * written before the configuration arrived.
29
+ */
30
+ async handle(command, options) {
31
+ assertDefined(command.input.Bucket, "PutBucketVersioningCommand.input.Bucket");
32
+ assertDefined(command.input.VersioningConfiguration, "PutBucketVersioningCommand.input.VersioningConfiguration");
33
+ const bucketName = command.input.Bucket;
34
+ const bucket = requireSimS3Bucket(this.buckets, bucketName);
35
+ await this.background.sequence();
36
+ this.authorizer.authorizeWrite(bucket, options);
37
+ const configuration = command.input.VersioningConfiguration;
38
+ validateSimS3VersioningConfiguration(configuration, bucketName);
39
+ await bucket.configureVersioning(SimS3BucketVersioning.fromConfiguration(configuration));
40
+ return {
41
+ $metadata: {},
42
+ };
43
+ }
44
+ }
@@ -24,9 +24,12 @@ export interface SimPutObjectCommandInput extends SimS3ObjectWriteMetadata {
24
24
  *
25
25
  * `ETag` is the quoted MD5 of the body S3 has just stored, which is what a
26
26
  * caller keeps to recognise the same content later without reading it back.
27
+ * `VersionId` is the version a Bucket keeping versions gave the write, and is
28
+ * absent on a Bucket without versioning.
27
29
  */
28
30
  export interface SimPutObjectCommandOutput {
29
31
  readonly ETag?: string;
32
+ readonly VersionId?: string | undefined;
30
33
  readonly $metadata: SimResponseMetadata;
31
34
  }
32
35
  /**
@@ -1,7 +1,7 @@
1
1
  import { assertDefined } from "../../../../util/type-guard/defined.js";
2
2
  import { BackgroundTasks, } from "../../../../util/background/background.js";
3
- import { SimS3NoSuchBucket } from "../../error/sim-s3.error.js";
4
3
  import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
5
5
  import { PutObjectAuthorizer } from "./put-object-authorizer.js";
6
6
  import { PutObjectBuilder } from "./put-object-builder.js";
7
7
  import { simS3QuotedETag } from "../../object/s3-object-etag.js";
@@ -37,18 +37,16 @@ export class PutObjectCommandHandler {
37
37
  * sequencing while body and metadata conversion stay isolated from it.
38
38
  */
39
39
  async handle(command, options) {
40
- assertDefined(command.input.Bucket, "PutObjectCommand.input.Bucket");
41
- assertDefined(command.input.Key, "PutObjectCommand.input.Key");
42
- const bucketName = command.input.Bucket;
43
- const bucket = this.buckets.get(bucketName);
44
- if (bucket === undefined) {
45
- throw new SimS3NoSuchBucket(`No S3 Bucket named ${bucketName}`);
46
- }
40
+ const { Bucket, Key } = command.input;
41
+ assertDefined(Bucket, "PutObjectCommand.input.Bucket");
42
+ assertDefined(Key, "PutObjectCommand.input.Key");
43
+ const bucket = requireSimS3Bucket(this.buckets, Bucket);
47
44
  // Allow for potential non-deterministic sequencing of async events.
48
45
  await this.background.sequence();
49
- const caller = this.authorizer.authorize(bucket, command.input.Key, options);
46
+ const caller = this.authorizer.authorize(bucket, Key, options);
50
47
  const object = this.objectBuilder.build(command);
51
- await bucket.putObject(object);
48
+ const version = await bucket.putObject(object);
49
+ const versionId = version?.versionId;
52
50
  // Every write path funnels through here, so this one call covers the SDK,
53
51
  // an intercepted SDK client and the REST endpoint alike.
54
52
  this.notifications.objectCreated({
@@ -56,9 +54,11 @@ export class PutObjectCommandHandler {
56
54
  object,
57
55
  caller,
58
56
  eventName: "s3:ObjectCreated:Put",
57
+ versionId,
59
58
  });
60
59
  return {
61
60
  ETag: simS3QuotedETag(object.etag),
61
+ ...(versionId !== undefined && { VersionId: versionId }),
62
62
  $metadata: {},
63
63
  };
64
64
  }
@@ -0,0 +1,24 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ import type { SimS3LegalHoldInput } from "../../bucket/lock/sim-s3-object-lock.js";
3
+ /**
4
+ * Minimal structural sim S3 PutObjectLegalHold command.
5
+ */
6
+ export interface SimPutObjectLegalHoldCommand {
7
+ readonly input: SimPutObjectLegalHoldCommandInput;
8
+ }
9
+ /**
10
+ * Minimal structural sim S3 PutObjectLegalHold input.
11
+ */
12
+ export interface SimPutObjectLegalHoldCommandInput {
13
+ readonly Bucket?: string | undefined;
14
+ readonly Key?: string | undefined;
15
+ /** The version to hold. A request naming none holds the current one. */
16
+ readonly VersionId?: string | undefined;
17
+ readonly LegalHold?: SimS3LegalHoldInput | undefined;
18
+ }
19
+ /**
20
+ * Minimal structural sim S3 PutObjectLegalHold output.
21
+ */
22
+ export interface SimPutObjectLegalHoldCommandOutput {
23
+ readonly $metadata: SimResponseMetadata;
24
+ }
@@ -0,0 +1,32 @@
1
+ import type { CommandHandler } from "../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../util/background/background.js";
3
+ import { type SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
5
+ import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
6
+ import type { SimPutObjectLegalHoldCommand, SimPutObjectLegalHoldCommandOutput } from "./put-object-legal-hold.command.js";
7
+ interface PutObjectLegalHoldHandlerProperties {
8
+ readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
9
+ readonly iam?: SimIamInterServiceAuthZ;
10
+ readonly background?: BackgroundScheduler;
11
+ }
12
+ /**
13
+ * Simulated S3 PutObjectLegalHoldCommand handler.
14
+ *
15
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/PutObjectLegalHoldCommand/
16
+ */
17
+ export declare class PutObjectLegalHoldCommandHandler implements CommandHandler<SimPutObjectLegalHoldCommand, SimPutObjectLegalHoldCommandOutput> {
18
+ private readonly buckets;
19
+ private readonly authorizer;
20
+ private readonly background;
21
+ constructor(properties: PutObjectLegalHoldHandlerProperties);
22
+ /**
23
+ * Authorize and turn the legal hold on one version on or off.
24
+ *
25
+ * A hold goes on and comes off through the same request and the same
26
+ * permission. There is no bypass and no period to wait out, which is what
27
+ * makes a hold the thing to reach for when the end of the retention is not
28
+ * knowable in advance.
29
+ */
30
+ handle(command: SimPutObjectLegalHoldCommand, options?: SimS3RequestOptions): Promise<SimPutObjectLegalHoldCommandOutput>;
31
+ }
32
+ export {};
@@ -0,0 +1,41 @@
1
+ import { BackgroundTasks, } from "../../../../util/background/background.js";
2
+ import { assertDefined } from "../../../../util/type-guard/defined.js";
3
+ import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import { SimS3ObjectLockAuthorizer } from "../object-lock/sim-s3-object-lock-authorizer.js";
5
+ import { simS3LockedVersion } from "../object-lock/sim-s3-locked-version.js";
6
+ import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
7
+ /**
8
+ * Simulated S3 PutObjectLegalHoldCommand handler.
9
+ *
10
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/PutObjectLegalHoldCommand/
11
+ */
12
+ export class PutObjectLegalHoldCommandHandler {
13
+ buckets;
14
+ authorizer;
15
+ background;
16
+ constructor(properties) {
17
+ const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
18
+ this.buckets = buckets;
19
+ this.authorizer = new SimS3ObjectLockAuthorizer({ iam });
20
+ this.background = background;
21
+ }
22
+ /**
23
+ * Authorize and turn the legal hold on one version on or off.
24
+ *
25
+ * A hold goes on and comes off through the same request and the same
26
+ * permission. There is no bypass and no period to wait out, which is what
27
+ * makes a hold the thing to reach for when the end of the retention is not
28
+ * knowable in advance.
29
+ */
30
+ async handle(command, options) {
31
+ const { Bucket, Key, VersionId, LegalHold } = command.input;
32
+ assertDefined(Bucket, "PutObjectLegalHoldCommand.input.Bucket");
33
+ assertDefined(Key, "PutObjectLegalHoldCommand.input.Key");
34
+ assertDefined(LegalHold, "PutObjectLegalHoldCommand.input.LegalHold");
35
+ const bucket = requireSimS3Bucket(this.buckets, Bucket);
36
+ await this.background.sequence();
37
+ this.authorizer.authorizeLegalHold(bucket, Key, options);
38
+ simS3LockedVersion(bucket, Key, VersionId).lock.applyLegalHold(LegalHold);
39
+ return { $metadata: {} };
40
+ }
41
+ }
@@ -0,0 +1,21 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ import type { SimS3ObjectLockConfigurationInput } from "../../bucket/lock/sim-s3-object-lock-configuration.js";
3
+ /**
4
+ * Minimal structural sim S3 PutObjectLockConfiguration command.
5
+ */
6
+ export interface SimPutObjectLockConfigurationCommand {
7
+ readonly input: SimPutObjectLockConfigurationCommandInput;
8
+ }
9
+ /**
10
+ * Minimal structural sim S3 PutObjectLockConfiguration input.
11
+ */
12
+ export interface SimPutObjectLockConfigurationCommandInput {
13
+ readonly Bucket?: string | undefined;
14
+ readonly ObjectLockConfiguration?: SimS3ObjectLockConfigurationInput | undefined;
15
+ }
16
+ /**
17
+ * Minimal structural sim S3 PutObjectLockConfiguration output.
18
+ */
19
+ export interface SimPutObjectLockConfigurationCommandOutput {
20
+ readonly $metadata: SimResponseMetadata;
21
+ }
@@ -0,0 +1,32 @@
1
+ import type { CommandHandler } from "../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../util/background/background.js";
3
+ import { type SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
5
+ import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
6
+ import type { SimPutObjectLockConfigurationCommand, SimPutObjectLockConfigurationCommandOutput } from "./put-object-lock-configuration.command.js";
7
+ interface PutObjectLockConfigurationHandlerProperties {
8
+ readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
9
+ readonly iam?: SimIamInterServiceAuthZ;
10
+ readonly background?: BackgroundScheduler;
11
+ }
12
+ /**
13
+ * Simulated S3 PutObjectLockConfigurationCommand handler.
14
+ *
15
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/PutObjectLockConfigurationCommand/
16
+ */
17
+ export declare class PutObjectLockConfigurationCommandHandler implements CommandHandler<SimPutObjectLockConfigurationCommand, SimPutObjectLockConfigurationCommandOutput> {
18
+ private readonly buckets;
19
+ private readonly authorizer;
20
+ private readonly background;
21
+ constructor(properties: PutObjectLockConfigurationHandlerProperties);
22
+ /**
23
+ * Authorize and apply a Bucket's Object Lock configuration.
24
+ *
25
+ * Object Lock protects a version and has no meaning without one, so a Bucket
26
+ * that keeps none is refused. Real S3 requires versioning underneath it for
27
+ * the same reason, and a Bucket that appeared to accept the configuration
28
+ * would report a retention nothing was enforcing.
29
+ */
30
+ handle(command: SimPutObjectLockConfigurationCommand, options?: SimS3RequestOptions): Promise<SimPutObjectLockConfigurationCommandOutput>;
31
+ }
32
+ export {};
@@ -0,0 +1,47 @@
1
+ import { BackgroundTasks, } from "../../../../util/background/background.js";
2
+ import { assertDefined } from "../../../../util/type-guard/defined.js";
3
+ import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import { SimS3ObjectLockConfiguration } from "../../bucket/lock/sim-s3-object-lock-configuration.js";
5
+ import { SimS3InvalidBucketState } from "../../error/sim-s3-object-lock.error.js";
6
+ import { SimS3ObjectLockAuthorizer } from "../object-lock/sim-s3-object-lock-authorizer.js";
7
+ import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
8
+ /**
9
+ * Simulated S3 PutObjectLockConfigurationCommand handler.
10
+ *
11
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/PutObjectLockConfigurationCommand/
12
+ */
13
+ export class PutObjectLockConfigurationCommandHandler {
14
+ buckets;
15
+ authorizer;
16
+ background;
17
+ constructor(properties) {
18
+ const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
19
+ this.buckets = buckets;
20
+ this.authorizer = new SimS3ObjectLockAuthorizer({ iam });
21
+ this.background = background;
22
+ }
23
+ /**
24
+ * Authorize and apply a Bucket's Object Lock configuration.
25
+ *
26
+ * Object Lock protects a version and has no meaning without one, so a Bucket
27
+ * that keeps none is refused. Real S3 requires versioning underneath it for
28
+ * the same reason, and a Bucket that appeared to accept the configuration
29
+ * would report a retention nothing was enforcing.
30
+ */
31
+ async handle(command, options) {
32
+ const { Bucket, ObjectLockConfiguration } = command.input;
33
+ assertDefined(Bucket, "PutObjectLockConfigurationCommand.input.Bucket");
34
+ assertDefined(ObjectLockConfiguration, "PutObjectLockConfigurationCommand.input.ObjectLockConfiguration");
35
+ const bucket = requireSimS3Bucket(this.buckets, Bucket);
36
+ await this.background.sequence();
37
+ this.authorizer.authorizeWriteConfiguration(bucket, options);
38
+ if (!bucket.getVersions().configuration.isEnabled) {
39
+ throw new SimS3InvalidBucketState(`Object Lock cannot be enabled on Bucket ${Bucket}, which does not ` +
40
+ `have versioning enabled`);
41
+ }
42
+ bucket
43
+ .getObjectLock()
44
+ .configure(SimS3ObjectLockConfiguration.parse(ObjectLockConfiguration));
45
+ return { $metadata: {} };
46
+ }
47
+ }
@@ -0,0 +1,29 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ import type { SimS3RetentionInput } from "../../bucket/lock/sim-s3-object-retention.js";
3
+ /**
4
+ * Minimal structural sim S3 PutObjectRetention command.
5
+ */
6
+ export interface SimPutObjectRetentionCommand {
7
+ readonly input: SimPutObjectRetentionCommandInput;
8
+ }
9
+ /**
10
+ * Minimal structural sim S3 PutObjectRetention input.
11
+ */
12
+ export interface SimPutObjectRetentionCommandInput {
13
+ readonly Bucket?: string | undefined;
14
+ readonly Key?: string | undefined;
15
+ /** The version to retain. A request naming none retains the current one. */
16
+ readonly VersionId?: string | undefined;
17
+ readonly Retention?: SimS3RetentionInput | undefined;
18
+ /**
19
+ * Whether to shorten a governance retention period already on the version,
20
+ * which the caller also needs `s3:BypassGovernanceRetention` for.
21
+ */
22
+ readonly BypassGovernanceRetention?: boolean | undefined;
23
+ }
24
+ /**
25
+ * Minimal structural sim S3 PutObjectRetention output.
26
+ */
27
+ export interface SimPutObjectRetentionCommandOutput {
28
+ readonly $metadata: SimResponseMetadata;
29
+ }
@@ -0,0 +1,31 @@
1
+ import type { CommandHandler } from "../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../util/background/background.js";
3
+ import { type SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
5
+ import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
6
+ import type { SimPutObjectRetentionCommand, SimPutObjectRetentionCommandOutput } from "./put-object-retention.command.js";
7
+ interface PutObjectRetentionHandlerProperties {
8
+ readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
9
+ readonly iam?: SimIamInterServiceAuthZ;
10
+ readonly background?: BackgroundScheduler;
11
+ }
12
+ /**
13
+ * Simulated S3 PutObjectRetentionCommand handler.
14
+ *
15
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/PutObjectRetentionCommand/
16
+ */
17
+ export declare class PutObjectRetentionCommandHandler implements CommandHandler<SimPutObjectRetentionCommand, SimPutObjectRetentionCommandOutput> {
18
+ private readonly buckets;
19
+ private readonly authorizer;
20
+ private readonly background;
21
+ constructor(properties: PutObjectRetentionHandlerProperties);
22
+ /**
23
+ * Authorize and put a retention period on one version.
24
+ *
25
+ * Lengthening a period is always allowed. Shortening one is what the modes
26
+ * differ over, and the version itself is what refuses it, so a template and
27
+ * an SDK caller are held to the same rule.
28
+ */
29
+ handle(command: SimPutObjectRetentionCommand, options?: SimS3RequestOptions): Promise<SimPutObjectRetentionCommandOutput>;
30
+ }
31
+ export {};
@@ -0,0 +1,42 @@
1
+ import { BackgroundTasks, } from "../../../../util/background/background.js";
2
+ import { assertDefined } from "../../../../util/type-guard/defined.js";
3
+ import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
4
+ import { SimS3ObjectRetention } from "../../bucket/lock/sim-s3-object-retention.js";
5
+ import { SimS3ObjectLockAuthorizer } from "../object-lock/sim-s3-object-lock-authorizer.js";
6
+ import { simS3LockedVersion } from "../object-lock/sim-s3-locked-version.js";
7
+ import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
8
+ /**
9
+ * Simulated S3 PutObjectRetentionCommand handler.
10
+ *
11
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/s3/command/PutObjectRetentionCommand/
12
+ */
13
+ export class PutObjectRetentionCommandHandler {
14
+ buckets;
15
+ authorizer;
16
+ background;
17
+ constructor(properties) {
18
+ const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
19
+ this.buckets = buckets;
20
+ this.authorizer = new SimS3ObjectLockAuthorizer({ iam });
21
+ this.background = background;
22
+ }
23
+ /**
24
+ * Authorize and put a retention period on one version.
25
+ *
26
+ * Lengthening a period is always allowed. Shortening one is what the modes
27
+ * differ over, and the version itself is what refuses it, so a template and
28
+ * an SDK caller are held to the same rule.
29
+ */
30
+ async handle(command, options) {
31
+ const { Bucket, Key, VersionId, Retention, BypassGovernanceRetention } = command.input;
32
+ assertDefined(Bucket, "PutObjectRetentionCommand.input.Bucket");
33
+ assertDefined(Key, "PutObjectRetentionCommand.input.Key");
34
+ assertDefined(Retention, "PutObjectRetentionCommand.input.Retention");
35
+ const bucket = requireSimS3Bucket(this.buckets, Bucket);
36
+ await this.background.sequence();
37
+ this.authorizer.authorizeRetention(bucket, Key, options);
38
+ const bypassed = this.authorizer.authorizeBypass(bucket, Key, BypassGovernanceRetention, options);
39
+ simS3LockedVersion(bucket, Key, VersionId).lock.applyRetention(SimS3ObjectRetention.parse(Retention), bypassed);
40
+ return { $metadata: {} };
41
+ }
42
+ }
@@ -16,6 +16,9 @@ export type { SimDeletePublicAccessBlockCommand, SimDeletePublicAccessBlockComma
16
16
  export type { SimDeleteBucketLifecycleCommand, SimDeleteBucketLifecycleCommandOutput, } from "./delete-bucket-lifecycle/delete-bucket-lifecycle.command.js";
17
17
  export type { SimGetBucketLifecycleConfigurationCommand, SimGetBucketLifecycleConfigurationCommandOutput, } from "./get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.js";
18
18
  export type { SimPutBucketLifecycleConfigurationCommand, SimPutBucketLifecycleConfigurationCommandOutput, SimS3LifecycleConfiguration, SimS3LifecycleRule, } from "./put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.js";
19
+ export type { SimGetBucketVersioningCommand, SimGetBucketVersioningCommandOutput, } from "./get-bucket-versioning/get-bucket-versioning.command.js";
20
+ export type { SimPutBucketVersioningCommand, SimPutBucketVersioningCommandOutput, } from "./put-bucket-versioning/put-bucket-versioning.command.js";
21
+ export type { SimListObjectVersionsCommand, SimListObjectVersionsCommandOutput, SimS3DeleteMarkerSummary, SimS3ObjectVersionSummary, } from "./list-object-versions/list-object-versions.command.js";
19
22
  export type { SimGetBucketPolicyCommand, SimGetBucketPolicyCommandOutput, } from "./get-bucket-policy/get-bucket-policy.command.js";
20
23
  export type { SimGetBucketNotificationConfigurationCommand, SimGetBucketNotificationConfigurationCommandOutput, } from "./get-bucket-notification-configuration/get-bucket-notification-configuration.command.js";
21
24
  export type { SimGetObjectCommand, SimGetObjectCommandOutput, } from "./get-object/get-object.command.js";
@@ -34,3 +37,7 @@ export type { SimCreateMultipartUploadCommand, SimCreateMultipartUploadCommandOu
34
37
  export type { SimListMultipartUploadsCommand, SimListMultipartUploadsCommandOutput, SimMultipartUploadSummary, } from "./list-multipart-uploads/list-multipart-uploads.command.js";
35
38
  export type { SimListPartsCommand, SimListPartsCommandOutput, SimUploadPartSummary, } from "./list-parts/list-parts.command.js";
36
39
  export type { SimUploadPartCommand, SimUploadPartCommandOutput, } from "./upload-part/upload-part.command.js";
40
+ export type { SimPutObjectLockConfigurationCommand, SimPutObjectLockConfigurationCommandInput, SimPutObjectLockConfigurationCommandOutput, } from "./put-object-lock-configuration/put-object-lock-configuration.command.js";
41
+ export type { SimGetObjectLockConfigurationCommand, SimGetObjectLockConfigurationCommandInput, SimGetObjectLockConfigurationCommandOutput, } from "./get-object-lock-configuration/get-object-lock-configuration.command.js";
42
+ export type { SimPutObjectRetentionCommand, SimPutObjectRetentionCommandInput, SimPutObjectRetentionCommandOutput, } from "./put-object-retention/put-object-retention.command.js";
43
+ export type { SimPutObjectLegalHoldCommand, SimPutObjectLegalHoldCommandInput, SimPutObjectLegalHoldCommandOutput, } from "./put-object-legal-hold/put-object-legal-hold.command.js";
@@ -0,0 +1,35 @@
1
+ import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
2
+ import type { SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
3
+ import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
4
+ interface SimS3VersioningAuthorizerProperties {
5
+ readonly iam: SimIamInterServiceAuthZ;
6
+ }
7
+ /**
8
+ * Applies IAM authorization to the S3 versioning commands.
9
+ *
10
+ * Three actions rather than two, because listing the versions is a read of the
11
+ * Objects rather than of the Bucket's configuration. s3:ListBucketVersions is
12
+ * the one a caller reading a version history needs, and it says nothing about
13
+ * whether that caller may see how the Bucket is configured.
14
+ */
15
+ export declare class SimS3VersioningAuthorizer {
16
+ private static readonly readAction;
17
+ private static readonly writeAction;
18
+ private static readonly listAction;
19
+ private readonly iam;
20
+ constructor(properties: SimS3VersioningAuthorizerProperties);
21
+ /**
22
+ * Ensure the caller may read the Bucket's versioning configuration.
23
+ */
24
+ authorizeRead(bucket: SimS3Bucket, options?: SimS3RequestOptions): void;
25
+ /**
26
+ * Ensure the caller may change the Bucket's versioning configuration.
27
+ */
28
+ authorizeWrite(bucket: SimS3Bucket, options?: SimS3RequestOptions): void;
29
+ /**
30
+ * Ensure the caller may list the versions the Bucket holds.
31
+ */
32
+ authorizeList(bucket: SimS3Bucket, options?: SimS3RequestOptions): void;
33
+ private authorize;
34
+ }
35
+ export {};
@@ -0,0 +1,57 @@
1
+ import { SimIamAccessDenied } from "../../../iam/error/sim-iam.error.js";
2
+ import { simS3BucketArn } from "../../bucket/sim-s3-bucket-arn.js";
3
+ import { simS3BucketResourcePolicies } from "../authorize/sim-s3-bucket-resource-policies.js";
4
+ import { simS3ConditionContext } from "../authorize/sim-s3-condition-context.js";
5
+ /**
6
+ * Applies IAM authorization to the S3 versioning commands.
7
+ *
8
+ * Three actions rather than two, because listing the versions is a read of the
9
+ * Objects rather than of the Bucket's configuration. s3:ListBucketVersions is
10
+ * the one a caller reading a version history needs, and it says nothing about
11
+ * whether that caller may see how the Bucket is configured.
12
+ */
13
+ export class SimS3VersioningAuthorizer {
14
+ static readAction = "s3:GetBucketVersioning";
15
+ static writeAction = "s3:PutBucketVersioning";
16
+ static listAction = "s3:ListBucketVersions";
17
+ iam;
18
+ constructor(properties) {
19
+ this.iam = properties.iam;
20
+ }
21
+ /**
22
+ * Ensure the caller may read the Bucket's versioning configuration.
23
+ */
24
+ authorizeRead(bucket, options) {
25
+ this.authorize(SimS3VersioningAuthorizer.readAction, bucket, options);
26
+ }
27
+ /**
28
+ * Ensure the caller may change the Bucket's versioning configuration.
29
+ */
30
+ authorizeWrite(bucket, options) {
31
+ this.authorize(SimS3VersioningAuthorizer.writeAction, bucket, options);
32
+ }
33
+ /**
34
+ * Ensure the caller may list the versions the Bucket holds.
35
+ */
36
+ authorizeList(bucket, options) {
37
+ this.authorize(SimS3VersioningAuthorizer.listAction, bucket, options);
38
+ }
39
+ authorize(action, bucket, options) {
40
+ const resource = simS3BucketArn(bucket.bucketName);
41
+ const decision = this.iam.authorize({
42
+ action,
43
+ resource,
44
+ caller: options?.caller,
45
+ conditionContext: simS3ConditionContext(options),
46
+ resourcePolicies: simS3BucketResourcePolicies(bucket),
47
+ });
48
+ if (decision.isDenied) {
49
+ throw new SimIamAccessDenied({
50
+ principal: decision.caller.principal,
51
+ reason: decision.denialReason,
52
+ action,
53
+ resource,
54
+ });
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,26 @@
1
+ import type { SimS3BucketCommandState } from "../sim-s3-bucket-command-state.js";
2
+ import type * as simS3Commands from "../sim-s3-command.types.js";
3
+ import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
4
+ /**
5
+ * The versioning commands of one simulated S3 scope.
6
+ *
7
+ * Listing the versions belongs here rather than with the Object listings,
8
+ * because what it reports is the version history rather than the keys a Bucket
9
+ * currently holds, and it is governed by its own IAM action.
10
+ */
11
+ export declare class SimS3VersioningCommands {
12
+ private readonly state;
13
+ constructor(state: SimS3BucketCommandState);
14
+ /**
15
+ * Apply a Bucket's versioning configuration.
16
+ */
17
+ put(command: simS3Commands.SimPutBucketVersioningCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimPutBucketVersioningCommandOutput>;
18
+ /**
19
+ * Read how a Bucket is versioned.
20
+ */
21
+ get(command: simS3Commands.SimGetBucketVersioningCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimGetBucketVersioningCommandOutput>;
22
+ /**
23
+ * List the versions a Bucket holds.
24
+ */
25
+ list(command: simS3Commands.SimListObjectVersionsCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimListObjectVersionsCommandOutput>;
26
+ }
@@ -0,0 +1,34 @@
1
+ import { GetBucketVersioningCommandHandler } from "../get-bucket-versioning/get-bucket-versioning.handler.js";
2
+ import { ListObjectVersionsCommandHandler } from "../list-object-versions/list-object-versions.handler.js";
3
+ import { PutBucketVersioningCommandHandler } from "../put-bucket-versioning/put-bucket-versioning.handler.js";
4
+ /**
5
+ * The versioning commands of one simulated S3 scope.
6
+ *
7
+ * Listing the versions belongs here rather than with the Object listings,
8
+ * because what it reports is the version history rather than the keys a Bucket
9
+ * currently holds, and it is governed by its own IAM action.
10
+ */
11
+ export class SimS3VersioningCommands {
12
+ state;
13
+ constructor(state) {
14
+ this.state = state;
15
+ }
16
+ /**
17
+ * Apply a Bucket's versioning configuration.
18
+ */
19
+ async put(command, options) {
20
+ return await new PutBucketVersioningCommandHandler(this.state).handle(command, options);
21
+ }
22
+ /**
23
+ * Read how a Bucket is versioned.
24
+ */
25
+ async get(command, options) {
26
+ return await new GetBucketVersioningCommandHandler(this.state).handle(command, options);
27
+ }
28
+ /**
29
+ * List the versions a Bucket holds.
30
+ */
31
+ async list(command, options) {
32
+ return await new ListObjectVersionsCommandHandler(this.state).handle(command, options);
33
+ }
34
+ }