@kensio/yulin 1.20.4 → 1.20.6

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 (308) hide show
  1. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.d.ts.map +1 -1
  2. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.js +22 -3
  3. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-cfn-value-adapter.js.map +1 -1
  4. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.d.ts +31 -0
  5. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.d.ts.map +1 -0
  6. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.js +43 -0
  7. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-cfn.js.map +1 -0
  8. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.d.ts +32 -0
  9. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.d.ts.map +1 -0
  10. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.js +34 -0
  11. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-destination-cfn.js.map +1 -0
  12. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.d.ts +27 -0
  13. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.d.ts.map +1 -0
  14. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.js +39 -0
  15. package/dist/service/cloudformation/resource/cfn/logs/sim-logs-delivery-source-cfn.js.map +1 -0
  16. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts +6 -5
  17. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts.map +1 -1
  18. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +10 -8
  19. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js.map +1 -1
  20. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.d.ts +24 -0
  21. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.d.ts.map +1 -0
  22. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.js +94 -0
  23. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-response-headers-policy.js.map +1 -0
  24. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.d.ts.map +1 -1
  25. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js +4 -4
  26. package/dist/service/cloudfront/controller/response-headers/sim-cf-response-headers-applicator.js.map +1 -1
  27. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.d.ts.map +1 -1
  28. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js +3 -4
  29. package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js.map +1 -1
  30. package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.d.ts +27 -0
  31. package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.d.ts.map +1 -0
  32. package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.js +119 -0
  33. package/dist/service/cloudfront/response-headers-policy/sim-cf-managed-response-headers-policies.js.map +1 -0
  34. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.d.ts +18 -3
  35. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.d.ts.map +1 -1
  36. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.js +28 -5
  37. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-cors.js.map +1 -1
  38. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts +14 -4
  39. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.d.ts.map +1 -1
  40. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js +17 -5
  41. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy-registry.js.map +1 -1
  42. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts +6 -2
  43. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.d.ts.map +1 -1
  44. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js +7 -3
  45. package/dist/service/cloudfront/response-headers-policy/sim-cf-response-headers-policy.js.map +1 -1
  46. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +28 -0
  47. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts.map +1 -0
  48. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +52 -0
  49. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js.map +1 -0
  50. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +30 -0
  51. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts.map +1 -0
  52. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +59 -0
  53. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js.map +1 -0
  54. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.d.ts +12 -0
  55. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.d.ts.map +1 -0
  56. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.js +23 -0
  57. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-input.js.map +1 -0
  58. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.d.ts +50 -0
  59. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.d.ts.map +1 -0
  60. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.js +107 -0
  61. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-properties.js.map +1 -0
  62. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +29 -0
  63. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts.map +1 -0
  64. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +50 -0
  65. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js.map +1 -0
  66. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.d.ts +16 -0
  67. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.d.ts.map +1 -0
  68. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.js +39 -0
  69. package/dist/service/logs/cfn/delivery/sim-cfn-delivery-unsimulated-properties.js.map +1 -0
  70. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts +27 -0
  71. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.d.ts.map +1 -0
  72. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +49 -0
  73. package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js.map +1 -0
  74. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +8 -3
  75. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts.map +1 -1
  76. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +48 -23
  77. package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js.map +1 -1
  78. package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.d.ts +10 -0
  79. package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.d.ts.map +1 -0
  80. package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.js +13 -0
  81. package/dist/service/logs/cfn/sim-logs-cfn-unsupported-resource.js.map +1 -0
  82. package/dist/service/logs/command/authorize/sim-logs-authorizer.d.ts +9 -1
  83. package/dist/service/logs/command/authorize/sim-logs-authorizer.d.ts.map +1 -1
  84. package/dist/service/logs/command/authorize/sim-logs-authorizer.js +8 -0
  85. package/dist/service/logs/command/authorize/sim-logs-authorizer.js.map +1 -1
  86. package/dist/service/logs/command/delivery/delivery-destination.command.d.ts +67 -0
  87. package/dist/service/logs/command/delivery/delivery-destination.command.d.ts.map +1 -0
  88. package/dist/service/logs/command/delivery/delivery-destination.command.js +2 -0
  89. package/dist/service/logs/command/delivery/delivery-destination.command.js.map +1 -0
  90. package/dist/service/logs/command/delivery/delivery-source.command.d.ts +61 -0
  91. package/dist/service/logs/command/delivery/delivery-source.command.d.ts.map +1 -0
  92. package/dist/service/logs/command/delivery/delivery-source.command.js +2 -0
  93. package/dist/service/logs/command/delivery/delivery-source.command.js.map +1 -0
  94. package/dist/service/logs/command/delivery/delivery.command.d.ts +73 -0
  95. package/dist/service/logs/command/delivery/delivery.command.d.ts.map +1 -0
  96. package/dist/service/logs/command/delivery/delivery.command.js +2 -0
  97. package/dist/service/logs/command/delivery/delivery.command.js.map +1 -0
  98. package/dist/service/logs/command/delivery/sim-logs-created-delivery.d.ts +21 -0
  99. package/dist/service/logs/command/delivery/sim-logs-created-delivery.d.ts.map +1 -0
  100. package/dist/service/logs/command/delivery/sim-logs-created-delivery.js +41 -0
  101. package/dist/service/logs/command/delivery/sim-logs-created-delivery.js.map +1 -0
  102. package/dist/service/logs/command/delivery/sim-logs-delivery-commands.d.ts +38 -0
  103. package/dist/service/logs/command/delivery/sim-logs-delivery-commands.d.ts.map +1 -0
  104. package/dist/service/logs/command/delivery/sim-logs-delivery-commands.js +77 -0
  105. package/dist/service/logs/command/delivery/sim-logs-delivery-commands.js.map +1 -0
  106. package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.d.ts +38 -0
  107. package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.d.ts.map +1 -0
  108. package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.js +82 -0
  109. package/dist/service/logs/command/delivery/sim-logs-delivery-destination-commands.js.map +1 -0
  110. package/dist/service/logs/command/delivery/sim-logs-delivery-detail.d.ts +19 -0
  111. package/dist/service/logs/command/delivery/sim-logs-delivery-detail.d.ts.map +1 -0
  112. package/dist/service/logs/command/delivery/sim-logs-delivery-detail.js +57 -0
  113. package/dist/service/logs/command/delivery/sim-logs-delivery-detail.js.map +1 -0
  114. package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.d.ts +15 -0
  115. package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.d.ts.map +1 -0
  116. package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.js +26 -0
  117. package/dist/service/logs/command/delivery/sim-logs-delivery-in-use.js.map +1 -0
  118. package/dist/service/logs/command/delivery/sim-logs-delivery-input.d.ts +16 -0
  119. package/dist/service/logs/command/delivery/sim-logs-delivery-input.d.ts.map +1 -0
  120. package/dist/service/logs/command/delivery/sim-logs-delivery-input.js +28 -0
  121. package/dist/service/logs/command/delivery/sim-logs-delivery-input.js.map +1 -0
  122. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts +37 -0
  123. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts.map +1 -0
  124. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js +86 -0
  125. package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js.map +1 -0
  126. package/dist/service/logs/command/sim-logs-command.types.d.ts +3 -0
  127. package/dist/service/logs/command/sim-logs-command.types.d.ts.map +1 -1
  128. package/dist/service/logs/delivery/sim-logs-delivery-arn.d.ts +30 -0
  129. package/dist/service/logs/delivery/sim-logs-delivery-arn.d.ts.map +1 -0
  130. package/dist/service/logs/delivery/sim-logs-delivery-arn.js +42 -0
  131. package/dist/service/logs/delivery/sim-logs-delivery-arn.js.map +1 -0
  132. package/dist/service/logs/delivery/sim-logs-delivery-destination-store.d.ts +41 -0
  133. package/dist/service/logs/delivery/sim-logs-delivery-destination-store.d.ts.map +1 -0
  134. package/dist/service/logs/delivery/sim-logs-delivery-destination-store.js +69 -0
  135. package/dist/service/logs/delivery/sim-logs-delivery-destination-store.js.map +1 -0
  136. package/dist/service/logs/delivery/sim-logs-delivery-destination-type.d.ts +16 -0
  137. package/dist/service/logs/delivery/sim-logs-delivery-destination-type.d.ts.map +1 -0
  138. package/dist/service/logs/delivery/sim-logs-delivery-destination-type.js +48 -0
  139. package/dist/service/logs/delivery/sim-logs-delivery-destination-type.js.map +1 -0
  140. package/dist/service/logs/delivery/sim-logs-delivery-destination.d.ts +27 -0
  141. package/dist/service/logs/delivery/sim-logs-delivery-destination.d.ts.map +1 -0
  142. package/dist/service/logs/delivery/sim-logs-delivery-destination.js +23 -0
  143. package/dist/service/logs/delivery/sim-logs-delivery-destination.js.map +1 -0
  144. package/dist/service/logs/delivery/sim-logs-delivery-ids.d.ts +16 -0
  145. package/dist/service/logs/delivery/sim-logs-delivery-ids.d.ts.map +1 -0
  146. package/dist/service/logs/delivery/sim-logs-delivery-ids.js +20 -0
  147. package/dist/service/logs/delivery/sim-logs-delivery-ids.js.map +1 -0
  148. package/dist/service/logs/delivery/sim-logs-delivery-output-format.d.ts +24 -0
  149. package/dist/service/logs/delivery/sim-logs-delivery-output-format.d.ts.map +1 -0
  150. package/dist/service/logs/delivery/sim-logs-delivery-output-format.js +36 -0
  151. package/dist/service/logs/delivery/sim-logs-delivery-output-format.js.map +1 -0
  152. package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.d.ts +35 -0
  153. package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.d.ts.map +1 -0
  154. package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.js +66 -0
  155. package/dist/service/logs/delivery/sim-logs-delivery-s3-configuration.js.map +1 -0
  156. package/dist/service/logs/delivery/sim-logs-delivery-source-service.d.ts +48 -0
  157. package/dist/service/logs/delivery/sim-logs-delivery-source-service.d.ts.map +1 -0
  158. package/dist/service/logs/delivery/sim-logs-delivery-source-service.js +71 -0
  159. package/dist/service/logs/delivery/sim-logs-delivery-source-service.js.map +1 -0
  160. package/dist/service/logs/delivery/sim-logs-delivery-source-store.d.ts +42 -0
  161. package/dist/service/logs/delivery/sim-logs-delivery-source-store.d.ts.map +1 -0
  162. package/dist/service/logs/delivery/sim-logs-delivery-source-store.js +64 -0
  163. package/dist/service/logs/delivery/sim-logs-delivery-source-store.js.map +1 -0
  164. package/dist/service/logs/delivery/sim-logs-delivery-source.d.ts +29 -0
  165. package/dist/service/logs/delivery/sim-logs-delivery-source.d.ts.map +1 -0
  166. package/dist/service/logs/delivery/sim-logs-delivery-source.js +29 -0
  167. package/dist/service/logs/delivery/sim-logs-delivery-source.js.map +1 -0
  168. package/dist/service/logs/delivery/sim-logs-delivery-store.d.ts +32 -0
  169. package/dist/service/logs/delivery/sim-logs-delivery-store.d.ts.map +1 -0
  170. package/dist/service/logs/delivery/sim-logs-delivery-store.js +53 -0
  171. package/dist/service/logs/delivery/sim-logs-delivery-store.js.map +1 -0
  172. package/dist/service/logs/delivery/sim-logs-delivery.d.ts +33 -0
  173. package/dist/service/logs/delivery/sim-logs-delivery.d.ts.map +1 -0
  174. package/dist/service/logs/delivery/sim-logs-delivery.js +34 -0
  175. package/dist/service/logs/delivery/sim-logs-delivery.js.map +1 -0
  176. package/dist/service/logs/error/sim-logs.error.d.ts +23 -0
  177. package/dist/service/logs/error/sim-logs.error.d.ts.map +1 -1
  178. package/dist/service/logs/error/sim-logs.error.js +27 -0
  179. package/dist/service/logs/error/sim-logs.error.js.map +1 -1
  180. package/dist/service/logs/index.d.ts +10 -1
  181. package/dist/service/logs/index.d.ts.map +1 -1
  182. package/dist/service/logs/index.js +9 -1
  183. package/dist/service/logs/index.js.map +1 -1
  184. package/dist/service/logs/sdk/sim-logs-sdk-command-router.d.ts.map +1 -1
  185. package/dist/service/logs/sdk/sim-logs-sdk-command-router.js +36 -0
  186. package/dist/service/logs/sdk/sim-logs-sdk-command-router.js.map +1 -1
  187. package/dist/service/logs/sim-logs-commands.d.ts +12 -0
  188. package/dist/service/logs/sim-logs-commands.d.ts.map +1 -1
  189. package/dist/service/logs/sim-logs-commands.js +37 -0
  190. package/dist/service/logs/sim-logs-commands.js.map +1 -1
  191. package/dist/service/logs/sim-logs-delivery-inspection.d.ts +28 -0
  192. package/dist/service/logs/sim-logs-delivery-inspection.d.ts.map +1 -0
  193. package/dist/service/logs/sim-logs-delivery-inspection.js +35 -0
  194. package/dist/service/logs/sim-logs-delivery-inspection.js.map +1 -0
  195. package/dist/service/logs/sim-logs-delivery-operations.d.ts +35 -0
  196. package/dist/service/logs/sim-logs-delivery-operations.d.ts.map +1 -0
  197. package/dist/service/logs/sim-logs-delivery-operations.js +58 -0
  198. package/dist/service/logs/sim-logs-delivery-operations.js.map +1 -0
  199. package/dist/service/logs/sim-logs.d.ts +8 -2
  200. package/dist/service/logs/sim-logs.d.ts.map +1 -1
  201. package/dist/service/logs/sim-logs.js +39 -33
  202. package/dist/service/logs/sim-logs.js.map +1 -1
  203. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +83 -0
  204. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts.map +1 -0
  205. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +87 -0
  206. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js.map +1 -0
  207. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +24 -0
  208. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts.map +1 -0
  209. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +42 -0
  210. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js.map +1 -0
  211. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +24 -0
  212. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts.map +1 -0
  213. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +51 -0
  214. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js.map +1 -0
  215. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +38 -0
  216. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts.map +1 -0
  217. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +66 -0
  218. package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js.map +1 -0
  219. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +34 -0
  220. package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
  221. package/dist/service/s3/bucket/sim-s3-bucket.js +43 -4
  222. package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
  223. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.d.ts +31 -0
  224. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.d.ts.map +1 -0
  225. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +69 -0
  226. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js.map +1 -0
  227. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +31 -0
  228. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts.map +1 -0
  229. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +50 -0
  230. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js.map +1 -0
  231. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-transitions.d.ts +19 -0
  232. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-transitions.d.ts.map +1 -0
  233. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-transitions.js +28 -0
  234. package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-transitions.js.map +1 -0
  235. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts +1 -0
  236. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.d.ts.map +1 -1
  237. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +11 -0
  238. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js.map +1 -1
  239. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts.map +1 -1
  240. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +1 -4
  241. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js.map +1 -1
  242. package/dist/service/s3/command/create-bucket/create-bucket.handler.js +1 -1
  243. package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
  244. package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.d.ts +20 -0
  245. package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.d.ts.map +1 -0
  246. package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.js +2 -0
  247. package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.js.map +1 -0
  248. package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.d.ts +29 -0
  249. package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.d.ts.map +1 -0
  250. package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.js +37 -0
  251. package/dist/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.js.map +1 -0
  252. package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.d.ts +26 -0
  253. package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.d.ts.map +1 -0
  254. package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.js +2 -0
  255. package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.js.map +1 -0
  256. package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.d.ts +30 -0
  257. package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.d.ts.map +1 -0
  258. package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.js +43 -0
  259. package/dist/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.js.map +1 -0
  260. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.d.ts +32 -0
  261. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.d.ts.map +1 -0
  262. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.js +51 -0
  263. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.js.map +1 -0
  264. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-commands.d.ts +23 -0
  265. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-commands.d.ts.map +1 -0
  266. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-commands.js +31 -0
  267. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-commands.js.map +1 -0
  268. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.d.ts +12 -0
  269. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.d.ts.map +1 -0
  270. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +53 -0
  271. package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js.map +1 -0
  272. package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.d.ts +111 -0
  273. package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.d.ts.map +1 -0
  274. package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.js +2 -0
  275. package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.js.map +1 -0
  276. package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.handler.d.ts +30 -0
  277. package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.handler.d.ts.map +1 -0
  278. package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.handler.js +43 -0
  279. package/dist/service/s3/command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.handler.js.map +1 -0
  280. package/dist/service/s3/command/sim-s3-command.types.d.ts +3 -0
  281. package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -1
  282. package/dist/service/s3/error/sim-s3.error.d.ts +11 -0
  283. package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
  284. package/dist/service/s3/error/sim-s3.error.js +13 -0
  285. package/dist/service/s3/error/sim-s3.error.js.map +1 -1
  286. package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
  287. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +12 -0
  288. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
  289. package/dist/service/s3/sim-s3-commands.d.ts +2 -0
  290. package/dist/service/s3/sim-s3-commands.d.ts.map +1 -1
  291. package/dist/service/s3/sim-s3-commands.js +3 -0
  292. package/dist/service/s3/sim-s3-commands.js.map +1 -1
  293. package/dist/service/s3/sim-s3-operations.d.ts +6 -0
  294. package/dist/service/s3/sim-s3-operations.d.ts.map +1 -1
  295. package/dist/service/s3/sim-s3-operations.js +12 -0
  296. package/dist/service/s3/sim-s3-operations.js.map +1 -1
  297. package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +9 -0
  298. package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts.map +1 -1
  299. package/dist/service/s3/upload/sim-s3-multipart-uploads.js +15 -0
  300. package/dist/service/s3/upload/sim-s3-multipart-uploads.js.map +1 -1
  301. package/dist/terraform/map/sim-tf-map-s3-lifecycle.d.ts.map +1 -1
  302. package/dist/terraform/map/sim-tf-map-s3-lifecycle.js +4 -5
  303. package/dist/terraform/map/sim-tf-map-s3-lifecycle.js.map +1 -1
  304. package/dist/util/clock/sim-clock-control.d.ts +8 -0
  305. package/dist/util/clock/sim-clock-control.d.ts.map +1 -1
  306. package/dist/util/clock/sim-clock-control.js +10 -0
  307. package/dist/util/clock/sim-clock-control.js.map +1 -1
  308. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { SimCfnS3BucketLifecycleConfiguration } from "./lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js";
1
2
  import { SimCfnS3BucketNotificationConfiguration } from "./notification/sim-cfn-s3-bucket-notification-configuration.js";
2
3
  import { SimCfnS3BucketPublicAccessConfiguration } from "./public-access/sim-cfn-s3-bucket-public-access-configuration.js";
3
4
  import { SimCfnS3BucketWebsiteConfiguration } from "./website/sim-cfn-s3-bucket-website-configuration.js";
@@ -29,6 +30,7 @@ export class SimCfnS3BucketConfigurator {
29
30
  async configure() {
30
31
  await this.configureWebsite();
31
32
  await this.configurePublicAccess();
33
+ await this.configureLifecycle();
32
34
  await this.configureNotifications();
33
35
  }
34
36
  async configureWebsite() {
@@ -52,6 +54,15 @@ export class SimCfnS3BucketConfigurator {
52
54
  },
53
55
  });
54
56
  }
57
+ async configureLifecycle() {
58
+ const config = new SimCfnS3BucketLifecycleConfiguration(this.resource.logicalId, this.properties).read();
59
+ if (config === undefined) {
60
+ return;
61
+ }
62
+ await this.simS3.putBucketLifecycleConfiguration({
63
+ input: { Bucket: this.bucketName, LifecycleConfiguration: config },
64
+ });
65
+ }
55
66
  async configureNotifications() {
56
67
  const declared = this.properties["NotificationConfiguration"];
57
68
  if (declared === undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-s3-bucket-configurator.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uCAAuC,EAAE,MAAM,gEAAgE,CAAC;AACzH,OAAO,EAAE,uCAAuC,EAAE,MAAM,kEAAkE,CAAC;AAC3H,OAAO,EAAE,kCAAkC,EAAE,MAAM,sDAAsD,CAAC;AAS1G;;;;;;GAMG;AACH,MAAM,OAAO,0BAA0B;IACpB,KAAK,CAAQ;IACb,QAAQ,CAAiB;IACzB,UAAU,CAA4B;IACtC,UAAU,CAAS;IAEpC,YAAY,UAAgD;QAC1D,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,MAAM,GAAG,IAAI,kCAAkC,CACnD,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,IAAI,CAAC,UAAU,CAChB,CAAC,IAAI,EAAE,CAAC;QAET,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;YAChC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE;SACjE,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,MAAM,MAAM,GAAG,IAAI,uCAAuC,CACxD,IAAI,CAAC,QAAQ,CAAC,SAAS,EACvB,IAAI,CAAC,UAAU,CAChB,CAAC,IAAI,EAAE,CAAC;QAET,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;YACpC,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,8BAA8B,EAAE,MAAM;aACvC;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;QAE9D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,uCAAuC,CACxD,IAAI,CAAC,QAAQ,CAAC,SAAS,CACxB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEjB,MAAM,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC;YAClD,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,yBAAyB,EAAE,MAAM;aAClC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cfn-s3-bucket-configurator.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-s3-bucket-property-names.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAKrD,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAGjD,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CA2CjE,CAAC"}
1
+ {"version":3,"file":"sim-cfn-s3-bucket-property-names.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAMrD,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAGjD,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAuCjE,CAAC"}
@@ -3,6 +3,7 @@
3
3
  */
4
4
  export const simulatedPropertyNames = new Set([
5
5
  "BucketName",
6
+ "LifecycleConfiguration",
6
7
  "NotificationConfiguration",
7
8
  "PublicAccessBlockConfiguration",
8
9
  "WebsiteConfiguration",
@@ -50,10 +51,6 @@ export const unsimulatedPropertyReasons = new Map([
50
51
  "storage classes are not simulated, so nothing transitions between them",
51
52
  ],
52
53
  ["InventoryConfigurations", "Bucket inventory reports are not simulated"],
53
- [
54
- "LifecycleConfiguration",
55
- "simulated S3 does not expire or transition Objects on a schedule",
56
- ],
57
54
  ["LoggingConfiguration", "server access logging is not simulated"],
58
55
  ["MetadataConfiguration", "Bucket metadata tables are not simulated"],
59
56
  ["MetadataTableConfiguration", "Bucket metadata tables are not simulated"],
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cfn-s3-bucket-property-names.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IACjE,YAAY;IACZ,2BAA2B;IAC3B,gCAAgC;IAChC,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,kBAAkB;IAClB,MAAM;CACP,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAgC,IAAI,GAAG,CAAC;IAC7E,CAAC,YAAY,EAAE,iDAAiD,CAAC;IACjE,CAAC,yBAAyB,EAAE,wCAAwC,CAAC;IACrE;QACE,eAAe;QACf,oEAAoE;YAClE,2CAA2C;KAC9C;IACD,CAAC,yBAAyB,EAAE,0CAA0C,CAAC;IACvE,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;IAChE,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;IAC1D;QACE,mBAAmB;QACnB,wEAAwE;KACzE;IACD;QACE,kCAAkC;QAClC,wEAAwE;KACzE;IACD,CAAC,yBAAyB,EAAE,4CAA4C,CAAC;IACzE;QACE,wBAAwB;QACxB,kEAAkE;KACnE;IACD,CAAC,sBAAsB,EAAE,wCAAwC,CAAC;IAClE,CAAC,uBAAuB,EAAE,0CAA0C,CAAC;IACrE,CAAC,4BAA4B,EAAE,0CAA0C,CAAC;IAC1E,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;IACzE;QACE,yBAAyB;QACzB,yEAAyE;KAC1E;IACD;QACE,mBAAmB;QACnB,yEAAyE;KAC1E;IACD,CAAC,mBAAmB,EAAE,6CAA6C,CAAC;IACpE,CAAC,0BAA0B,EAAE,qCAAqC,CAAC;IACnE;QACE,yBAAyB;QACzB,wEAAwE;YACtE,kEAAkE;KACrE;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"sim-cfn-s3-bucket-property-names.js","sourceRoot":"","sources":["../../../../../src/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAwB,IAAI,GAAG,CAAC;IACjE,YAAY;IACZ,wBAAwB;IACxB,2BAA2B;IAC3B,gCAAgC;IAChC,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,kBAAkB;IAClB,MAAM;CACP,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAgC,IAAI,GAAG,CAAC;IAC7E,CAAC,YAAY,EAAE,iDAAiD,CAAC;IACjE,CAAC,yBAAyB,EAAE,wCAAwC,CAAC;IACrE;QACE,eAAe;QACf,oEAAoE;YAClE,2CAA2C;KAC9C;IACD,CAAC,yBAAyB,EAAE,0CAA0C,CAAC;IACvE,CAAC,kBAAkB,EAAE,0CAA0C,CAAC;IAChE,CAAC,iBAAiB,EAAE,qCAAqC,CAAC;IAC1D;QACE,mBAAmB;QACnB,wEAAwE;KACzE;IACD;QACE,kCAAkC;QAClC,wEAAwE;KACzE;IACD,CAAC,yBAAyB,EAAE,4CAA4C,CAAC;IACzE,CAAC,sBAAsB,EAAE,wCAAwC,CAAC;IAClE,CAAC,uBAAuB,EAAE,0CAA0C,CAAC;IACrE,CAAC,4BAA4B,EAAE,0CAA0C,CAAC;IAC1E,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;IACzE;QACE,yBAAyB;QACzB,yEAAyE;KAC1E;IACD;QACE,mBAAmB;QACnB,yEAAyE;KAC1E;IACD,CAAC,mBAAmB,EAAE,6CAA6C,CAAC;IACpE,CAAC,0BAA0B,EAAE,qCAAqC,CAAC;IACnE;QACE,yBAAyB;QACzB,wEAAwE;YACtE,kEAAkE;KACrE;CACF,CAAC,CAAC"}
@@ -57,7 +57,7 @@ export class CreateBucketCommandHandler {
57
57
  const bucket = new SimS3Bucket({
58
58
  bucketName,
59
59
  accountRegionScope: this.accountRegionScope,
60
- creationDate: this.background.now(),
60
+ clock: this.background,
61
61
  });
62
62
  this.buckets.set(bucketName, bucket);
63
63
  this.s3GlobalRegistry.registerBucket(bucketName, this.accountRegionScope);
@@ -1 +1 @@
1
- {"version":3,"file":"create-bucket.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/create-bucket/create-bucket.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-bucket.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/create-bucket/create-bucket.handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ /**
3
+ * Minimal structural sim S3 DeleteBucketLifecycle command.
4
+ */
5
+ export interface SimDeleteBucketLifecycleCommand {
6
+ readonly input: SimDeleteBucketLifecycleCommandInput;
7
+ }
8
+ /**
9
+ * Minimal structural sim S3 DeleteBucketLifecycle input.
10
+ */
11
+ export interface SimDeleteBucketLifecycleCommandInput {
12
+ readonly Bucket?: string | undefined;
13
+ }
14
+ /**
15
+ * Minimal structural sim S3 DeleteBucketLifecycle output.
16
+ */
17
+ export interface SimDeleteBucketLifecycleCommandOutput {
18
+ readonly $metadata: SimResponseMetadata;
19
+ }
20
+ //# sourceMappingURL=delete-bucket-lifecycle.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-bucket-lifecycle.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,KAAK,EAAE,oCAAoC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=delete-bucket-lifecycle.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-bucket-lifecycle.command.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.command.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import type { CommandHandler } from "../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../util/background/background.js";
3
+ import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
4
+ import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
5
+ import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
6
+ import type { SimDeleteBucketLifecycleCommand, SimDeleteBucketLifecycleCommandOutput } from "./delete-bucket-lifecycle.command.js";
7
+ interface DeleteBucketLifecycleHandlerProperties {
8
+ readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
9
+ readonly iam?: SimIamInterServiceAuthZ;
10
+ readonly background?: BackgroundScheduler;
11
+ }
12
+ /**
13
+ * Simulated S3 DeleteBucketLifecycleCommand handler.
14
+ */
15
+ export declare class DeleteBucketLifecycleCommandHandler implements CommandHandler<SimDeleteBucketLifecycleCommand, SimDeleteBucketLifecycleCommandOutput> {
16
+ private readonly buckets;
17
+ private readonly authorizer;
18
+ private readonly background;
19
+ constructor(properties: DeleteBucketLifecycleHandlerProperties);
20
+ /**
21
+ * Authorize and remove a Bucket's lifecycle rules.
22
+ *
23
+ * Real S3 DeleteBucketLifecycle is idempotent, so a Bucket that had no rules
24
+ * to remove is answered the same way as one that did.
25
+ */
26
+ handle(command: SimDeleteBucketLifecycleCommand, options?: SimS3RequestOptions): Promise<SimDeleteBucketLifecycleCommandOutput>;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=delete-bucket-lifecycle.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-bucket-lifecycle.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAEtG,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EACV,+BAA+B,EAC/B,qCAAqC,EACtC,MAAM,sCAAsC,CAAC;AAE9C,UAAU,sCAAsC;IAC9C,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,mCAAoC,YAAW,cAAc,CACxE,+BAA+B,EAC/B,qCAAqC,CACtC;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,sCAAsC,EAU7D;IAED;;;;;OAKG;IACG,MAAM,CACV,OAAO,EAAE,+BAA+B,EACxC,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,qCAAqC,CAAC,CAkBhD;CACF"}
@@ -0,0 +1,37 @@
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 { SimS3LifecycleAuthorizer } from "../lifecycle/sim-s3-lifecycle-authorizer.js";
5
+ import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
6
+ /**
7
+ * Simulated S3 DeleteBucketLifecycleCommand handler.
8
+ */
9
+ export class DeleteBucketLifecycleCommandHandler {
10
+ buckets;
11
+ authorizer;
12
+ background;
13
+ constructor(properties) {
14
+ const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
15
+ this.buckets = buckets;
16
+ this.authorizer = new SimS3LifecycleAuthorizer({ iam });
17
+ this.background = background;
18
+ }
19
+ /**
20
+ * Authorize and remove a Bucket's lifecycle rules.
21
+ *
22
+ * Real S3 DeleteBucketLifecycle is idempotent, so a Bucket that had no rules
23
+ * to remove is answered the same way as one that did.
24
+ */
25
+ async handle(command, options) {
26
+ assertDefined(command.input.Bucket, "DeleteBucketLifecycleCommand.input.Bucket");
27
+ const bucketName = command.input.Bucket;
28
+ const bucket = requireSimS3Bucket(this.buckets, bucketName);
29
+ await this.background.sequence();
30
+ this.authorizer.authorizeWrite(bucket, options);
31
+ bucket.deleteLifecycle();
32
+ return {
33
+ $metadata: {},
34
+ };
35
+ }
36
+ }
37
+ //# sourceMappingURL=delete-bucket-lifecycle.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-bucket-lifecycle.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/delete-bucket-lifecycle/delete-bucket-lifecycle.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAGvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAK5F,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAYjE;;GAEG;AACH,MAAM,OAAO,mCAAmC;IAI7B,OAAO,CAAoC;IAC3C,UAAU,CAA2B;IACrC,UAAU,CAAsB;IAEjD,YAAY,UAAkD;QAC5D,MAAM,EACJ,OAAO,EACP,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAwB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,OAAwC,EACxC,OAA6B;QAE7B,aAAa,CACX,OAAO,CAAC,KAAK,CAAC,MAAM,EACpB,2CAA2C,CAC5C,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,MAAyB,CAAC;QAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEhD,MAAM,CAAC,eAAe,EAAE,CAAC;QAEzB,OAAO;YACL,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
2
+ import type { SimS3LifecycleRule } from "../put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.js";
3
+ /**
4
+ * Minimal structural sim S3 GetBucketLifecycleConfiguration command.
5
+ */
6
+ export interface SimGetBucketLifecycleConfigurationCommand {
7
+ readonly input: SimGetBucketLifecycleConfigurationCommandInput;
8
+ }
9
+ /**
10
+ * Minimal structural sim S3 GetBucketLifecycleConfiguration input.
11
+ */
12
+ export interface SimGetBucketLifecycleConfigurationCommandInput {
13
+ readonly Bucket?: string | undefined;
14
+ }
15
+ /**
16
+ * Minimal structural sim S3 GetBucketLifecycleConfiguration output.
17
+ *
18
+ * The rules come back at the top level rather than under a
19
+ * `LifecycleConfiguration`, which is the asymmetry real S3 has between putting
20
+ * a configuration and reading one.
21
+ */
22
+ export interface SimGetBucketLifecycleConfigurationCommandOutput {
23
+ readonly Rules: readonly SimS3LifecycleRule[];
24
+ readonly $metadata: SimResponseMetadata;
25
+ }
26
+ //# sourceMappingURL=get-bucket-lifecycle-configuration.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-bucket-lifecycle-configuration.command.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qFAAqF,CAAC;AAE9H;;GAEG;AACH,MAAM,WAAW,yCAAyC;IACxD,QAAQ,CAAC,KAAK,EAAE,8CAA8C,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,8CAA8C;IAC7D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,+CAA+C;IAC9D,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;CACzC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=get-bucket-lifecycle-configuration.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-bucket-lifecycle-configuration.command.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.command.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import type { CommandHandler } from "../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../util/background/background.js";
3
+ import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
4
+ import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
5
+ import type { SimS3Bucket, SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
6
+ import type { SimGetBucketLifecycleConfigurationCommand, SimGetBucketLifecycleConfigurationCommandOutput } from "./get-bucket-lifecycle-configuration.command.js";
7
+ interface GetBucketLifecycleConfigurationHandlerProperties {
8
+ readonly buckets: Map<SimS3BucketName, SimS3Bucket>;
9
+ readonly iam?: SimIamInterServiceAuthZ;
10
+ readonly background?: BackgroundScheduler;
11
+ }
12
+ /**
13
+ * Simulated S3 GetBucketLifecycleConfigurationCommand handler.
14
+ */
15
+ export declare class GetBucketLifecycleConfigurationCommandHandler implements CommandHandler<SimGetBucketLifecycleConfigurationCommand, SimGetBucketLifecycleConfigurationCommandOutput> {
16
+ private readonly buckets;
17
+ private readonly authorizer;
18
+ private readonly background;
19
+ constructor(properties: GetBucketLifecycleConfigurationHandlerProperties);
20
+ /**
21
+ * Authorize and return a Bucket's lifecycle rules.
22
+ *
23
+ * A Bucket carrying no rules is reported as NoSuchLifecycleConfiguration
24
+ * rather than an empty list, which is how real S3 separates a Bucket nobody
25
+ * configured from one configured to do nothing.
26
+ */
27
+ handle(command: SimGetBucketLifecycleConfigurationCommand, options?: SimS3RequestOptions): Promise<SimGetBucketLifecycleConfigurationCommandOutput>;
28
+ }
29
+ export {};
30
+ //# sourceMappingURL=get-bucket-lifecycle-configuration.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-bucket-lifecycle-configuration.handler.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAEtG,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,KAAK,EACV,yCAAyC,EACzC,+CAA+C,EAChD,MAAM,iDAAiD,CAAC;AAEzD,UAAU,gDAAgD;IACxD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,CAAC,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;GAEG;AACH,qBAAa,6CAA8C,YAAW,cAAc,CAClF,yCAAyC,EACzC,+CAA+C,CAChD;IACC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,gDAAgD,EAUvE;IAED;;;;;;OAMG;IACG,MAAM,CACV,OAAO,EAAE,yCAAyC,EAClD,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,+CAA+C,CAAC,CAwB1D;CACF"}
@@ -0,0 +1,43 @@
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 { SimS3NoSuchLifecycleConfiguration } from "../../error/sim-s3.error.js";
5
+ import { SimS3LifecycleAuthorizer } from "../lifecycle/sim-s3-lifecycle-authorizer.js";
6
+ import { requireSimS3Bucket } from "../require-sim-s3-bucket.js";
7
+ /**
8
+ * Simulated S3 GetBucketLifecycleConfigurationCommand handler.
9
+ */
10
+ export class GetBucketLifecycleConfigurationCommandHandler {
11
+ buckets;
12
+ authorizer;
13
+ background;
14
+ constructor(properties) {
15
+ const { buckets, iam = new SimIamAllowAllAuth(), background = new BackgroundTasks(), } = properties;
16
+ this.buckets = buckets;
17
+ this.authorizer = new SimS3LifecycleAuthorizer({ iam });
18
+ this.background = background;
19
+ }
20
+ /**
21
+ * Authorize and return a Bucket's lifecycle rules.
22
+ *
23
+ * A Bucket carrying no rules is reported as NoSuchLifecycleConfiguration
24
+ * rather than an empty list, which is how real S3 separates a Bucket nobody
25
+ * configured from one configured to do nothing.
26
+ */
27
+ async handle(command, options) {
28
+ assertDefined(command.input.Bucket, "GetBucketLifecycleConfigurationCommand.input.Bucket");
29
+ const bucketName = command.input.Bucket;
30
+ const bucket = requireSimS3Bucket(this.buckets, bucketName);
31
+ await this.background.sequence();
32
+ this.authorizer.authorizeRead(bucket, options);
33
+ const lifecycle = bucket.getLifecycle();
34
+ if (lifecycle.isEmpty) {
35
+ throw new SimS3NoSuchLifecycleConfiguration(`No lifecycle configuration on S3 Bucket ${bucketName}`);
36
+ }
37
+ return {
38
+ Rules: lifecycle.rules,
39
+ $metadata: {},
40
+ };
41
+ }
42
+ }
43
+ //# sourceMappingURL=get-bucket-lifecycle-configuration.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-bucket-lifecycle-configuration.handler.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAGvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAK5F,OAAO,EAAE,iCAAiC,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAYjE;;GAEG;AACH,MAAM,OAAO,6CAA6C;IAIvC,OAAO,CAAoC;IAC3C,UAAU,CAA2B;IACrC,UAAU,CAAsB;IAEjD,YAAY,UAA4D;QACtE,MAAM,EACJ,OAAO,EACP,GAAG,GAAG,IAAI,kBAAkB,EAAE,EAC9B,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,wBAAwB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,OAAkD,EAClD,OAA6B;QAE7B,aAAa,CACX,OAAO,CAAC,KAAK,CAAC,MAAM,EACpB,qDAAqD,CACtD,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,MAAyB,CAAC;QAC3D,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,iCAAiC,CACzC,2CAA2C,UAAU,EAAE,CACxD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,SAAS,EAAE,EAAE;SACd,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,32 @@
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 SimS3LifecycleAuthorizerProperties {
5
+ readonly iam: SimIamInterServiceAuthZ;
6
+ }
7
+ /**
8
+ * Applies IAM authorization to the S3 lifecycle configuration commands.
9
+ *
10
+ * Reading is governed by s3:GetLifecycleConfiguration. Both replacing and
11
+ * removing the configuration are governed by s3:PutLifecycleConfiguration:
12
+ * real S3 has no separate delete permission, so removing the rules needs
13
+ * exactly what setting them needs. Neither action name carries "Bucket", which
14
+ * is where they differ from the rest of the Bucket configuration actions.
15
+ */
16
+ export declare class SimS3LifecycleAuthorizer {
17
+ private static readonly readAction;
18
+ private static readonly writeAction;
19
+ private readonly iam;
20
+ constructor(properties: SimS3LifecycleAuthorizerProperties);
21
+ /**
22
+ * Ensure the caller may read the Bucket's lifecycle rules.
23
+ */
24
+ authorizeRead(bucket: SimS3Bucket, options?: SimS3RequestOptions): void;
25
+ /**
26
+ * Ensure the caller may replace or remove the Bucket's lifecycle rules.
27
+ */
28
+ authorizeWrite(bucket: SimS3Bucket, options?: SimS3RequestOptions): void;
29
+ private authorize;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=sim-s3-lifecycle-authorizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-lifecycle-authorizer.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wDAAwD,CAAC;AAGtG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAkC;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAErE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0B;IAE9C,YAAY,UAAU,EAAE,kCAAkC,EAEzD;IAED;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAEtE;IAED;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAEvE;IAED,OAAO,CAAC,SAAS;CAsBlB"}
@@ -0,0 +1,51 @@
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 lifecycle configuration commands.
7
+ *
8
+ * Reading is governed by s3:GetLifecycleConfiguration. Both replacing and
9
+ * removing the configuration are governed by s3:PutLifecycleConfiguration:
10
+ * real S3 has no separate delete permission, so removing the rules needs
11
+ * exactly what setting them needs. Neither action name carries "Bucket", which
12
+ * is where they differ from the rest of the Bucket configuration actions.
13
+ */
14
+ export class SimS3LifecycleAuthorizer {
15
+ static readAction = "s3:GetLifecycleConfiguration";
16
+ static writeAction = "s3:PutLifecycleConfiguration";
17
+ iam;
18
+ constructor(properties) {
19
+ this.iam = properties.iam;
20
+ }
21
+ /**
22
+ * Ensure the caller may read the Bucket's lifecycle rules.
23
+ */
24
+ authorizeRead(bucket, options) {
25
+ this.authorize(SimS3LifecycleAuthorizer.readAction, bucket, options);
26
+ }
27
+ /**
28
+ * Ensure the caller may replace or remove the Bucket's lifecycle rules.
29
+ */
30
+ authorizeWrite(bucket, options) {
31
+ this.authorize(SimS3LifecycleAuthorizer.writeAction, bucket, options);
32
+ }
33
+ authorize(action, bucket, options) {
34
+ const resource = simS3BucketArn(bucket.bucketName);
35
+ const decision = this.iam.authorize({
36
+ action,
37
+ resource,
38
+ caller: options?.caller,
39
+ conditionContext: simS3ConditionContext(options),
40
+ resourcePolicies: simS3BucketResourcePolicies(bucket),
41
+ });
42
+ if (decision.isDenied) {
43
+ throw new SimIamAccessDenied({
44
+ principal: decision.caller.principal,
45
+ action,
46
+ resource,
47
+ });
48
+ }
49
+ }
50
+ }
51
+ //# sourceMappingURL=sim-s3-lifecycle-authorizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-lifecycle-authorizer.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/lifecycle/sim-s3-lifecycle-authorizer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAC9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAOjF;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAC3B,MAAM,CAAU,UAAU,GAAG,8BAA8B,CAAC;IAC5D,MAAM,CAAU,WAAW,GAAG,8BAA8B,CAAC;IAEpD,GAAG,CAA0B;IAE9C,YAAY,UAA8C;QACxD,IAAI,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAmB,EAAE,OAA6B;QAC9D,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,MAAmB,EAAE,OAA6B;QAC/D,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAEO,SAAS,CACf,MAAc,EACd,MAAmB,EACnB,OAA6B;QAE7B,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAClC,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,gBAAgB,EAAE,qBAAqB,CAAC,OAAO,CAAC;YAChD,gBAAgB,EAAE,2BAA2B,CAAC,MAAM,CAAC;SACtD,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,kBAAkB,CAAC;gBAC3B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;gBACpC,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,23 @@
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 lifecycle configuration commands of one simulated S3 scope.
6
+ */
7
+ export declare class SimS3LifecycleCommands {
8
+ private readonly state;
9
+ constructor(state: SimS3BucketCommandState);
10
+ /**
11
+ * Replace a Bucket's lifecycle rules.
12
+ */
13
+ put(command: simS3Commands.SimPutBucketLifecycleConfigurationCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimPutBucketLifecycleConfigurationCommandOutput>;
14
+ /**
15
+ * Read a Bucket's lifecycle rules.
16
+ */
17
+ get(command: simS3Commands.SimGetBucketLifecycleConfigurationCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimGetBucketLifecycleConfigurationCommandOutput>;
18
+ /**
19
+ * Remove a Bucket's lifecycle rules.
20
+ */
21
+ delete(command: simS3Commands.SimDeleteBucketLifecycleCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimDeleteBucketLifecycleCommandOutput>;
22
+ }
23
+ //# sourceMappingURL=sim-s3-lifecycle-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-lifecycle-commands.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/lifecycle/sim-s3-lifecycle-commands.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,KAAK,KAAK,aAAa,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE;;GAEG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA0B;IAEhD,YAAY,KAAK,EAAE,uBAAuB,EAEzC;IAED;;OAEG;IACG,GAAG,CACP,OAAO,EAAE,aAAa,CAAC,yCAAyC,EAChE,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAIxE;IAED;;OAEG;IACG,GAAG,CACP,OAAO,EAAE,aAAa,CAAC,yCAAyC,EAChE,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,CAAC,+CAA+C,CAAC,CAIxE;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,aAAa,CAAC,+BAA+B,EACtD,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,aAAa,CAAC,qCAAqC,CAAC,CAK9D;CACF"}
@@ -0,0 +1,31 @@
1
+ import { DeleteBucketLifecycleCommandHandler } from "../delete-bucket-lifecycle/delete-bucket-lifecycle.handler.js";
2
+ import { GetBucketLifecycleConfigurationCommandHandler } from "../get-bucket-lifecycle-configuration/get-bucket-lifecycle-configuration.handler.js";
3
+ import { PutBucketLifecycleConfigurationCommandHandler } from "../put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.handler.js";
4
+ /**
5
+ * The lifecycle configuration commands of one simulated S3 scope.
6
+ */
7
+ export class SimS3LifecycleCommands {
8
+ state;
9
+ constructor(state) {
10
+ this.state = state;
11
+ }
12
+ /**
13
+ * Replace a Bucket's lifecycle rules.
14
+ */
15
+ async put(command, options) {
16
+ return await new PutBucketLifecycleConfigurationCommandHandler(this.state).handle(command, options);
17
+ }
18
+ /**
19
+ * Read a Bucket's lifecycle rules.
20
+ */
21
+ async get(command, options) {
22
+ return await new GetBucketLifecycleConfigurationCommandHandler(this.state).handle(command, options);
23
+ }
24
+ /**
25
+ * Remove a Bucket's lifecycle rules.
26
+ */
27
+ async delete(command, options) {
28
+ return await new DeleteBucketLifecycleCommandHandler(this.state).handle(command, options);
29
+ }
30
+ }
31
+ //# sourceMappingURL=sim-s3-lifecycle-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-lifecycle-commands.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/lifecycle/sim-s3-lifecycle-commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mCAAmC,EAAE,MAAM,+DAA+D,CAAC;AACpH,OAAO,EAAE,6CAA6C,EAAE,MAAM,qFAAqF,CAAC;AACpJ,OAAO,EAAE,6CAA6C,EAAE,MAAM,qFAAqF,CAAC;AAKpJ;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAChB,KAAK,CAA0B;IAEhD,YAAY,KAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CACP,OAAgE,EAChE,OAA6B;QAE7B,OAAO,MAAM,IAAI,6CAA6C,CAC5D,IAAI,CAAC,KAAK,CACX,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CACP,OAAgE,EAChE,OAA6B;QAE7B,OAAO,MAAM,IAAI,6CAA6C,CAC5D,IAAI,CAAC,KAAK,CACX,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAAsD,EACtD,OAA6B;QAE7B,OAAO,MAAM,IAAI,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CACrE,OAAO,EACP,OAAO,CACR,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import type { SimS3BucketName } from "../../bucket/sim-s3-bucket.js";
2
+ import type { SimS3LifecycleConfiguration } from "../put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.js";
3
+ /**
4
+ * Refuse a lifecycle configuration real S3 would refuse to store.
5
+ *
6
+ * Real S3 answers MalformedXML for a configuration carrying no rules, for a
7
+ * rule whose Status is anything but Enabled or Disabled, and for a rule
8
+ * stating no action at all. All three are worth keeping, because a rule real
9
+ * S3 would have rejected reads back here looking configured.
10
+ */
11
+ export declare function validateSimS3LifecycleRules(configuration: SimS3LifecycleConfiguration, bucketName: SimS3BucketName): void;
12
+ //# sourceMappingURL=sim-s3-lifecycle-rules-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-lifecycle-rules-validation.d.ts","sourceRoot":"","sources":["../../../../../src/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,KAAK,EACV,2BAA2B,EAE5B,MAAM,qFAAqF,CAAC;AA6B7F;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,2BAA2B,EAC1C,UAAU,EAAE,eAAe,GAC1B,IAAI,CAYN"}
@@ -0,0 +1,53 @@
1
+ import { SimS3MalformedXml } from "../../error/sim-s3.error.js";
2
+ const ruleStatuses = new Set(["Enabled", "Disabled"]);
3
+ /**
4
+ * The fields that make a rule do something, for the refusal to name.
5
+ */
6
+ const ruleActionNames = "Expiration, Transitions, NoncurrentVersionExpiration, " +
7
+ "NoncurrentVersionTransitions or AbortIncompleteMultipartUpload";
8
+ /**
9
+ * Whether a rule states an action to take on the Objects it selects.
10
+ *
11
+ * Real S3 refuses a rule stating none, because a rule that selects Objects and
12
+ * then does nothing with them is a configuration with no meaning. An empty
13
+ * list of transitions counts as none. The field is there and the rule still
14
+ * transitions nothing.
15
+ */
16
+ function statesAnAction(rule) {
17
+ return [
18
+ rule.Expiration !== undefined,
19
+ rule.NoncurrentVersionExpiration !== undefined,
20
+ rule.AbortIncompleteMultipartUpload !== undefined,
21
+ (rule.Transitions ?? []).length > 0,
22
+ (rule.NoncurrentVersionTransitions ?? []).length > 0,
23
+ ].includes(true);
24
+ }
25
+ /**
26
+ * Refuse a lifecycle configuration real S3 would refuse to store.
27
+ *
28
+ * Real S3 answers MalformedXML for a configuration carrying no rules, for a
29
+ * rule whose Status is anything but Enabled or Disabled, and for a rule
30
+ * stating no action at all. All three are worth keeping, because a rule real
31
+ * S3 would have rejected reads back here looking configured.
32
+ */
33
+ export function validateSimS3LifecycleRules(configuration, bucketName) {
34
+ const rules = configuration.Rules ?? [];
35
+ if (rules.length === 0) {
36
+ throw new SimS3MalformedXml(`Lifecycle configuration for S3 Bucket ${bucketName} states no rules`);
37
+ }
38
+ for (const rule of rules) {
39
+ validateRule(rule, bucketName);
40
+ }
41
+ }
42
+ function validateRule(rule, bucketName) {
43
+ const named = rule.ID ?? "(unnamed)";
44
+ if (rule.Status === undefined || !ruleStatuses.has(rule.Status)) {
45
+ throw new SimS3MalformedXml(`Lifecycle rule ${named} for S3 Bucket ${bucketName} must state a ` +
46
+ `Status of Enabled or Disabled`);
47
+ }
48
+ if (!statesAnAction(rule)) {
49
+ throw new SimS3MalformedXml(`Lifecycle rule ${named} for S3 Bucket ${bucketName} must state at ` +
50
+ `least one of ${ruleActionNames}`);
51
+ }
52
+ }
53
+ //# sourceMappingURL=sim-s3-lifecycle-rules-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-s3-lifecycle-rules-validation.js","sourceRoot":"","sources":["../../../../../src/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAMhE,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,eAAe,GACnB,wDAAwD;IACxD,gEAAgE,CAAC;AAEnE;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,IAAwB;IAC9C,OAAO;QACL,IAAI,CAAC,UAAU,KAAK,SAAS;QAC7B,IAAI,CAAC,2BAA2B,KAAK,SAAS;QAC9C,IAAI,CAAC,8BAA8B,KAAK,SAAS;QACjD,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;QACnC,CAAC,IAAI,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC;KACrD,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,aAA0C,EAC1C,UAA2B;IAE3B,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC;IAExC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,iBAAiB,CACzB,yCAAyC,UAAU,kBAAkB,CACtE,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAAwB,EACxB,UAA2B;IAE3B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,IAAI,WAAW,CAAC;IAErC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,iBAAiB,CACzB,kBAAkB,KAAK,kBAAkB,UAAU,gBAAgB;YACjE,+BAA+B,CAClC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,iBAAiB,CACzB,kBAAkB,KAAK,kBAAkB,UAAU,iBAAiB;YAClE,gBAAgB,eAAe,EAAE,CACpC,CAAC;IACJ,CAAC;AACH,CAAC"}