@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,39 @@
1
+ import type { BackgroundScheduler } from "../../../../util/background/background.js";
2
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
3
+ import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
4
+ import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
5
+ import type { SimCloudFrontDistribution, SimCloudFrontDistributionId } from "../../distribution/sim-cloudfront-distribution.js";
6
+ import type { SimCreateInvalidationCommand, SimCreateInvalidationCommandOutput, SimGetInvalidationCommand, SimGetInvalidationCommandOutput, SimListInvalidationsCommand, SimListInvalidationsCommandOutput } from "./sim-cf-invalidation-command.types.js";
7
+ interface SimCfInvalidationCommandsProperties {
8
+ readonly accountId: SimAwsAccountId;
9
+ readonly distributions: Map<SimCloudFrontDistributionId, SimCloudFrontDistribution>;
10
+ readonly iam: SimIamInterServiceAuthZ;
11
+ readonly background: BackgroundScheduler;
12
+ }
13
+ interface InvalidationRequestOptions {
14
+ readonly caller?: SimAwsCaller;
15
+ }
16
+ /**
17
+ * The invalidation commands on the CloudFront client.
18
+ *
19
+ * They are grouped here, the way the Function commands are, because all three
20
+ * work on state a Distribution holds of its own and share the lookup that
21
+ * reaches it.
22
+ */
23
+ export declare class SimCfInvalidationCommands {
24
+ private readonly access;
25
+ constructor(properties: SimCfInvalidationCommandsProperties);
26
+ /**
27
+ * Handle a Create Invalidation Command from the SDK.
28
+ */
29
+ createInvalidation(command: SimCreateInvalidationCommand, options?: InvalidationRequestOptions): Promise<SimCreateInvalidationCommandOutput>;
30
+ /**
31
+ * Handle a Get Invalidation Command from the SDK.
32
+ */
33
+ getInvalidation(command: SimGetInvalidationCommand, options?: InvalidationRequestOptions): Promise<SimGetInvalidationCommandOutput>;
34
+ /**
35
+ * Handle a List Invalidations Command from the SDK.
36
+ */
37
+ listInvalidations(command: SimListInvalidationsCommand, options?: InvalidationRequestOptions): Promise<SimListInvalidationsCommandOutput>;
38
+ }
39
+ export {};
@@ -0,0 +1,35 @@
1
+ import { SimCfCreateInvalidation } from "./sim-cf-create-invalidation.js";
2
+ import { SimCfGetInvalidation } from "./sim-cf-get-invalidation.js";
3
+ import { SimCfInvalidationAccess } from "./sim-cf-invalidation-access.js";
4
+ import { SimCfListInvalidations } from "./sim-cf-list-invalidations.js";
5
+ /**
6
+ * The invalidation commands on the CloudFront client.
7
+ *
8
+ * They are grouped here, the way the Function commands are, because all three
9
+ * work on state a Distribution holds of its own and share the lookup that
10
+ * reaches it.
11
+ */
12
+ export class SimCfInvalidationCommands {
13
+ access;
14
+ constructor(properties) {
15
+ this.access = new SimCfInvalidationAccess(properties);
16
+ }
17
+ /**
18
+ * Handle a Create Invalidation Command from the SDK.
19
+ */
20
+ async createInvalidation(command, options) {
21
+ return await new SimCfCreateInvalidation(this.access).handle(command, options);
22
+ }
23
+ /**
24
+ * Handle a Get Invalidation Command from the SDK.
25
+ */
26
+ async getInvalidation(command, options) {
27
+ return await new SimCfGetInvalidation(this.access).handle(command, options);
28
+ }
29
+ /**
30
+ * Handle a List Invalidations Command from the SDK.
31
+ */
32
+ async listInvalidations(command, options) {
33
+ return await new SimCfListInvalidations(this.access).handle(command, options);
34
+ }
35
+ }
@@ -0,0 +1,23 @@
1
+ import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
2
+ import type { SimCfInvalidationAccess } from "./sim-cf-invalidation-access.js";
3
+ import type { SimListInvalidationsCommand, SimListInvalidationsCommandOutput } from "./sim-cf-invalidation-command.types.js";
4
+ /**
5
+ * Simulated CloudFront ListInvalidations command.
6
+ *
7
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/ListInvalidationsCommand/
8
+ */
9
+ export declare class SimCfListInvalidations {
10
+ private readonly access;
11
+ private static readonly action;
12
+ constructor(access: SimCfInvalidationAccess);
13
+ /**
14
+ * List a Distribution's invalidations, most recently created first.
15
+ *
16
+ * The whole list comes back. `Marker` and `MaxItems` are the paging every
17
+ * other simulated listing leaves out, so the answer is never truncated and
18
+ * carries no `NextMarker`.
19
+ */
20
+ handle(command: SimListInvalidationsCommand, options?: {
21
+ readonly caller?: SimAwsCaller;
22
+ }): Promise<SimListInvalidationsCommandOutput>;
23
+ }
@@ -0,0 +1,39 @@
1
+ import { simCfInvalidationSummary } from "../../invalidation/sim-cf-invalidation-view.js";
2
+ /**
3
+ * What CloudFront reports as `MaxItems` for a listing that asks for none.
4
+ */
5
+ const defaultMaxItems = 100;
6
+ /**
7
+ * Simulated CloudFront ListInvalidations command.
8
+ *
9
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/ListInvalidationsCommand/
10
+ */
11
+ export class SimCfListInvalidations {
12
+ access;
13
+ static action = "cloudfront:ListInvalidations";
14
+ constructor(access) {
15
+ this.access = access;
16
+ }
17
+ /**
18
+ * List a Distribution's invalidations, most recently created first.
19
+ *
20
+ * The whole list comes back. `Marker` and `MaxItems` are the paging every
21
+ * other simulated listing leaves out, so the answer is never truncated and
22
+ * carries no `NextMarker`.
23
+ */
24
+ async handle(command, options) {
25
+ await this.access.background.sequence();
26
+ const distribution = this.access.authorizedDistribution(SimCfListInvalidations.action, command.input.DistributionId, options?.caller);
27
+ const invalidations = distribution.invalidations.newestFirst();
28
+ return {
29
+ InvalidationList: {
30
+ Marker: command.input.Marker ?? "",
31
+ MaxItems: command.input.MaxItems ?? defaultMaxItems,
32
+ IsTruncated: false,
33
+ Quantity: invalidations.length,
34
+ Items: invalidations.map((invalidation) => simCfInvalidationSummary(invalidation)),
35
+ },
36
+ $metadata: {},
37
+ };
38
+ }
39
+ }
@@ -9,6 +9,7 @@ import type { SimCfEdgeFunctions } from "../../edge/sim-cf-edge-functions.js";
9
9
  import type { SimCfCustomOriginDispatcher } from "../../origin/custom/sim-cf-custom-origin-dispatcher.js";
10
10
  import type { SimCloudFrontS3OriginResolver } from "../../origin/s3/sim-cloudfront-s3-origin.js";
11
11
  import type { SimCloudFrontOriginAccessControlRegistry } from "../../origin-access-control/sim-cf-origin-access-control-registry.js";
12
+ import type { SimCloudFrontOriginRequestPolicyRegistry } from "../../origin-request-policy/sim-cf-origin-request-policy-registry.js";
12
13
  import type { SimCloudFrontResponseHeadersPolicyRegistry } from "../../response-headers-policy/sim-cf-response-headers-policy-registry.js";
13
14
  import type { SimCloudFrontCachePolicyRegistry } from "../../cache-policy/sim-cf-cache-policy-registry.js";
14
15
  import type { SimCfWebAclResolver } from "../../web-acl/sim-cf-web-acl.js";
@@ -23,6 +24,7 @@ interface UpdateDistributionCommandHandlerProperties {
23
24
  readonly originAccessControls: SimCloudFrontOriginAccessControlRegistry;
24
25
  readonly responseHeadersPolicies: SimCloudFrontResponseHeadersPolicyRegistry;
25
26
  readonly cachePolicies: SimCloudFrontCachePolicyRegistry;
27
+ readonly originRequestPolicies: SimCloudFrontOriginRequestPolicyRegistry;
26
28
  readonly webAclResolver?: SimCfWebAclResolver | undefined;
27
29
  readonly iam?: SimIamInterServiceAuthZ;
28
30
  readonly acmRegistry?: SimAcmRegistry | undefined;
@@ -0,0 +1,51 @@
1
+ import type { SimCloudFrontBehavior } from "../../behaviour/sim-cloud-front-behavior.js";
2
+ import type { SimCloudFrontDistribution } from "../../distribution/sim-cloudfront-distribution.js";
3
+ import type { SimCloudFront } from "../../sim-cloudfront.js";
4
+ import type { SimCfCustomErrorResponder } from "../error/sim-cf-custom-error-responder.js";
5
+ import type { SimCfOriginStage, SimCfOriginStageResult } from "../origin/sim-cf-origin-stage.js";
6
+ /**
7
+ * One request, and everything the content stage needs to answer it.
8
+ */
9
+ export interface SimCfContentRequest {
10
+ readonly request: Request;
11
+ readonly cloudFront: SimCloudFront;
12
+ readonly distribution: SimCloudFrontDistribution;
13
+ readonly behaviour: SimCloudFrontBehavior;
14
+ /**
15
+ * The edge the request arrived at, whose cache answers it.
16
+ */
17
+ readonly edgeId: string;
18
+ }
19
+ /**
20
+ * What the content stage produced, and which of the two produced it.
21
+ */
22
+ export interface SimCfContentStageResult extends SimCfOriginStageResult {
23
+ /**
24
+ * Whether the Distribution's cache answered, which the pipeline reports to
25
+ * the viewer in `X-Cache`.
26
+ */
27
+ readonly cacheHit: boolean;
28
+ }
29
+ /**
30
+ * Answers a request from the Distribution's cache, or from the Origin.
31
+ *
32
+ * This is CloudFront's cache lookup and everything behind it. A key the cache
33
+ * holds unexpired is answered with the Origin left unread. A miss goes to the
34
+ * Origin, has an error replaced with the Distribution's custom error page, and
35
+ * is stored under the key it missed on for as long as the Origin's headers and
36
+ * the cache policy between them allow.
37
+ *
38
+ * An error is stored for a TTL of its own. The `ErrorCachingMinTTL` of the
39
+ * custom error response matching the status decides it, whether the Origin
40
+ * answered with the error or an origin-response function made one of an
41
+ * Origin's answer.
42
+ */
43
+ export declare class SimCfContentStage {
44
+ private readonly originStage;
45
+ private readonly customErrorResponder;
46
+ constructor(originStage: SimCfOriginStage, customErrorResponder: SimCfCustomErrorResponder);
47
+ /**
48
+ * Answer one request, reading the Origin only where the cache cannot.
49
+ */
50
+ serve(content: SimCfContentRequest): Promise<SimCfContentStageResult>;
51
+ }
@@ -0,0 +1,65 @@
1
+ import { simCfCacheableRequest } from "../../cache/sim-cf-cacheable-request.js";
2
+ import { simCfCacheTtlSec } from "../../cache/sim-cf-cache-ttl.js";
3
+ import { simCfErrorCacheTtlSec } from "../../cache/sim-cf-error-cache-ttl.js";
4
+ /**
5
+ * Answers a request from the Distribution's cache, or from the Origin.
6
+ *
7
+ * This is CloudFront's cache lookup and everything behind it. A key the cache
8
+ * holds unexpired is answered with the Origin left unread. A miss goes to the
9
+ * Origin, has an error replaced with the Distribution's custom error page, and
10
+ * is stored under the key it missed on for as long as the Origin's headers and
11
+ * the cache policy between them allow.
12
+ *
13
+ * An error is stored for a TTL of its own. The `ErrorCachingMinTTL` of the
14
+ * custom error response matching the status decides it, whether the Origin
15
+ * answered with the error or an origin-response function made one of an
16
+ * Origin's answer.
17
+ */
18
+ export class SimCfContentStage {
19
+ originStage;
20
+ customErrorResponder;
21
+ constructor(originStage, customErrorResponder) {
22
+ this.originStage = originStage;
23
+ this.customErrorResponder = customErrorResponder;
24
+ }
25
+ /**
26
+ * Answer one request, reading the Origin only where the cache cannot.
27
+ */
28
+ async serve(content) {
29
+ const { request, distribution, behaviour } = content;
30
+ const cacheable = simCfCacheableRequest(content);
31
+ const cached = cacheable === undefined
32
+ ? undefined
33
+ : distribution.cache.read(cacheable.key);
34
+ // A hit is answered as the Origin answered it when it was stored, so the
35
+ // status the pipeline reads is the cached one and a viewer-response
36
+ // function runs on a hit as it ran on the miss that filled the cache.
37
+ if (cached !== undefined) {
38
+ return { response: cached, originStatus: cached.status, cacheHit: true };
39
+ }
40
+ const originResult = await this.originStage.fetch(request, distribution, behaviour);
41
+ const response = await this.customErrorResponder.apply(request, distribution, originResult.response);
42
+ if (cacheable === undefined) {
43
+ return {
44
+ response,
45
+ originStatus: originResult.originStatus,
46
+ cacheHit: false,
47
+ };
48
+ }
49
+ const errorTtlSec = simCfErrorCacheTtlSec({
50
+ originStatus: originResult.originStatus,
51
+ response,
52
+ customErrorResponses: distribution.customErrorResponses,
53
+ });
54
+ return {
55
+ response: await distribution.cache.store(cacheable.key, response, errorTtlSec ??
56
+ simCfCacheTtlSec({
57
+ response,
58
+ policy: cacheable.policy,
59
+ now: distribution.clock.now(),
60
+ })),
61
+ originStatus: originResult.originStatus,
62
+ cacheHit: false,
63
+ };
64
+ }
65
+ }
@@ -6,7 +6,7 @@ import { SimCffApplicator } from "../cff/sim-cff-applicator.js";
6
6
  import { SimLambdaEdgeApplicator } from "../edge/sim-lambda-edge-applicator.js";
7
7
  import { SimLambdaEdgeOriginApplicator } from "../edge/sim-lambda-edge-origin-applicator.js";
8
8
  import { SimCloudFrontOriginFetcher } from "../origin/sim-cloudfront-origin-fetcher.js";
9
- import { SimCfOriginStage } from "../origin/sim-cf-origin-stage.js";
9
+ import { SimCfContentStage } from "../content/sim-cf-content-stage.js";
10
10
  import { SimCfCustomErrorResponder } from "../error/sim-cf-custom-error-responder.js";
11
11
  import { SimCfResponseHeadersApplicator } from "../response-headers/sim-cf-response-headers-applicator.js";
12
12
  import { SimCfWebAclGuard } from "../web-acl/sim-cf-web-acl-guard.js";
@@ -29,8 +29,7 @@ export interface SimCloudFrontControllerDependencies {
29
29
  readonly behaviourResolver: SimCloudFrontBehaviorResolver;
30
30
  readonly cffApplicator: SimCffApplicator;
31
31
  readonly edgeApplicator: SimLambdaEdgeApplicator;
32
- readonly originStage: SimCfOriginStage;
33
- readonly customErrorResponder: SimCfCustomErrorResponder;
32
+ readonly contentStage: SimCfContentStage;
34
33
  readonly responseHeadersApplicator: SimCfResponseHeadersApplicator;
35
34
  }
36
35
  /**
@@ -7,6 +7,7 @@ import { SimLambdaEdgeOriginApplicator } from "../edge/sim-lambda-edge-origin-ap
7
7
  import { SimAwsCfEdgeFunctions } from "../../edge/sim-aws-cf-edge-functions.js";
8
8
  import { SimCloudFrontOriginFetcher } from "../origin/sim-cloudfront-origin-fetcher.js";
9
9
  import { SimCfOriginStage } from "../origin/sim-cf-origin-stage.js";
10
+ import { SimCfContentStage } from "../content/sim-cf-content-stage.js";
10
11
  import { SimCfCustomErrorResponder } from "../error/sim-cf-custom-error-responder.js";
11
12
  import { SimCfResponseHeadersApplicator } from "../response-headers/sim-cf-response-headers-applicator.js";
12
13
  import { SimCfWebAclGuard } from "../web-acl/sim-cf-web-acl-guard.js";
@@ -40,10 +41,9 @@ export class SimCloudFrontControllerDependenciesFactory {
40
41
  cffApplicator: properties.cffApplicator ?? new SimCffApplicator(),
41
42
  edgeApplicator: properties.edgeApplicator ??
42
43
  new SimLambdaEdgeApplicator({ edgeFunctions }),
43
- originStage: new SimCfOriginStage(originFetcher, properties.edgeOriginApplicator ??
44
- new SimLambdaEdgeOriginApplicator({ edgeFunctions })),
45
- customErrorResponder: properties.customErrorResponder ??
46
- new SimCfCustomErrorResponder({ behaviourResolver, originFetcher }),
44
+ contentStage: new SimCfContentStage(new SimCfOriginStage(originFetcher, properties.edgeOriginApplicator ??
45
+ new SimLambdaEdgeOriginApplicator({ edgeFunctions })), properties.customErrorResponder ??
46
+ new SimCfCustomErrorResponder({ behaviourResolver, originFetcher })),
47
47
  responseHeadersApplicator: properties.responseHeadersApplicator ??
48
48
  new SimCfResponseHeadersApplicator(),
49
49
  };
@@ -12,6 +12,10 @@ interface SimCfCustomErrorResponderProperties {
12
12
  * matching the response page path decides which Origin it comes from. That is
13
13
  * what lets a Distribution keep its error pages somewhere other than the
14
14
  * content that failed, as CloudFront does.
15
+ *
16
+ * A rule carrying `ErrorCachingMinTTL` alone has no page. The Origin's error
17
+ * reaches the viewer, and the rule says how long the Distribution holds it
18
+ * for.
15
19
  */
16
20
  export declare class SimCfCustomErrorResponder {
17
21
  private readonly behaviourResolver;
@@ -5,6 +5,10 @@
5
5
  * matching the response page path decides which Origin it comes from. That is
6
6
  * what lets a Distribution keep its error pages somewhere other than the
7
7
  * content that failed, as CloudFront does.
8
+ *
9
+ * A rule carrying `ErrorCachingMinTTL` alone has no page. The Origin's error
10
+ * reaches the viewer, and the rule says how long the Distribution holds it
11
+ * for.
8
12
  */
9
13
  export class SimCfCustomErrorResponder {
10
14
  behaviourResolver;
@@ -18,14 +22,14 @@ export class SimCfCustomErrorResponder {
18
22
  * Distribution configures one for its status.
19
23
  */
20
24
  async apply(request, distribution, response) {
21
- const customErrorResponse = distribution.customErrorResponses.find((candidate) => candidate.errorCode === response.status);
22
- if (customErrorResponse === undefined) {
25
+ const page = distribution.customErrorResponses.find((candidate) => candidate.errorCode === response.status)?.page;
26
+ if (page === undefined) {
23
27
  return response;
24
28
  }
25
- return await this.responsePage(request, distribution, customErrorResponse);
29
+ return await this.responsePage(request, distribution, page);
26
30
  }
27
- async responsePage(request, distribution, customErrorResponse) {
28
- const pageRequest = this.pageRequest(request, customErrorResponse);
31
+ async responsePage(request, distribution, page) {
32
+ const pageRequest = this.pageRequest(request, page);
29
33
  const behaviour = this.behaviourResolver.resolve(pageRequest, distribution);
30
34
  const pageResponse = await this.originFetcher.fetch(pageRequest, distribution, behaviour);
31
35
  // A response page that is itself unavailable leaves the viewer with the
@@ -34,13 +38,13 @@ export class SimCfCustomErrorResponder {
34
38
  return pageResponse;
35
39
  }
36
40
  return new Response(pageResponse.body, {
37
- status: customErrorResponse.responseCode,
41
+ status: page.responseCode,
38
42
  headers: pageResponse.headers,
39
43
  });
40
44
  }
41
- pageRequest(request, customErrorResponse) {
45
+ pageRequest(request, page) {
42
46
  const url = new URL(request.url);
43
- url.pathname = customErrorResponse.responsePagePath;
47
+ url.pathname = page.responsePagePath;
44
48
  url.search = "";
45
49
  // The response page is fetched without a body, whatever the viewer sent,
46
50
  // so headers describing the viewer's body would describe nothing.
@@ -25,8 +25,8 @@ export interface SimCfOriginStageResult {
25
25
  * Fetches from the Behavior's Origin, running the Lambda@Edge functions on
26
26
  * either side of the fetch.
27
27
  *
28
- * Real CloudFront runs the origin events on a cache miss only. Nothing here
29
- * caches, so every request is a miss and both events run every time.
28
+ * Real CloudFront runs the origin events on a cache miss only, and so does
29
+ * this. A request the Distribution's cache answers never reaches this stage.
30
30
  */
31
31
  export declare class SimCfOriginStage {
32
32
  private readonly originFetcher;
@@ -2,8 +2,8 @@
2
2
  * Fetches from the Behavior's Origin, running the Lambda@Edge functions on
3
3
  * either side of the fetch.
4
4
  *
5
- * Real CloudFront runs the origin events on a cache miss only. Nothing here
6
- * caches, so every request is a miss and both events run every time.
5
+ * Real CloudFront runs the origin events on a cache miss only, and so does
6
+ * this. A request the Distribution's cache answers never reaches this stage.
7
7
  */
8
8
  export class SimCfOriginStage {
9
9
  originFetcher;
@@ -1,12 +1,12 @@
1
1
  import type { SimCloudFrontControllerDependencies } from "./dependency/sim-cf-controller-dependency.js";
2
2
  /**
3
3
  * Runs a single simulated CloudFront request through its lifecycle:
4
- * route to a Distribution, put the request through the Distribution's web ACL,
5
- * apply the default root object, resolve the matching Behavior, run
6
- * viewer-request hooks, fetch from the Origin with the origin hooks either
7
- * side of the fetch, replace an error response with the Distribution's custom
8
- * error page, apply the Behavior's response headers policy, then run
9
- * viewer-response hooks where the Origin did not answer with an error.
4
+ * read the edge it arrived at, route to a Distribution, put the request
5
+ * through the Distribution's web ACL, apply the default root object, resolve
6
+ * the matching Behavior, run viewer-request hooks, answer from that edge's
7
+ * cache or from the Origin, say which of the two answered in `X-Cache`, apply
8
+ * the Behavior's response headers policy, then run viewer-response hooks where
9
+ * the Origin did not answer with an error.
10
10
  *
11
11
  * A viewer hook is a CloudFront Function or a Lambda@Edge function. A Behavior
12
12
  * carries at most one of the two kinds at the viewer events, which
@@ -1,12 +1,14 @@
1
+ import { simCfCacheStatusResponse } from "../cache/sim-cf-cache-status.js";
2
+ import { simCfRequestEdge } from "../cache/sim-cf-edge.js";
1
3
  import { simCfDefaultRootObjectRequest } from "./root-object/sim-cf-default-root-object-request.js";
2
4
  /**
3
5
  * Runs a single simulated CloudFront request through its lifecycle:
4
- * route to a Distribution, put the request through the Distribution's web ACL,
5
- * apply the default root object, resolve the matching Behavior, run
6
- * viewer-request hooks, fetch from the Origin with the origin hooks either
7
- * side of the fetch, replace an error response with the Distribution's custom
8
- * error page, apply the Behavior's response headers policy, then run
9
- * viewer-response hooks where the Origin did not answer with an error.
6
+ * read the edge it arrived at, route to a Distribution, put the request
7
+ * through the Distribution's web ACL, apply the default root object, resolve
8
+ * the matching Behavior, run viewer-request hooks, answer from that edge's
9
+ * cache or from the Origin, say which of the two answered in `X-Cache`, apply
10
+ * the Behavior's response headers policy, then run viewer-response hooks where
11
+ * the Origin did not answer with an error.
10
12
  *
11
13
  * A viewer hook is a CloudFront Function or a Lambda@Edge function. A Behavior
12
14
  * carries at most one of the two kinds at the viewer events, which
@@ -27,7 +29,11 @@ export class SimCloudFrontRequestPipeline {
27
29
  * Process one incoming request and produce the response the caller sees.
28
30
  */
29
31
  async handle(request) {
30
- let requestReference = request;
32
+ // The edge is read first and its header taken off the request. A web ACL
33
+ // rule, an edge function and the Origin therefore never see an instruction
34
+ // that was addressed to the simulator.
35
+ const edge = simCfRequestEdge(request);
36
+ let requestReference = edge.request;
31
37
  const route = this.stages.distroRouter.routeForRequest(requestReference);
32
38
  if (route === undefined) {
33
39
  return new Response("Suitable sim CloudFront Distribution not found", {
@@ -62,25 +68,34 @@ export class SimCloudFrontRequestPipeline {
62
68
  return edgeResult;
63
69
  }
64
70
  requestReference = edgeResult;
65
- // Fetch from the Origin, running the origin-request and origin-response
66
- // Lambda@Edge functions on either side of the fetch. An origin-request
67
- // function that answered with a response of its own leaves the Origin
68
- // unread, and the response takes the Origin response's place from here on.
69
- const originResult = await this.stages.originStage.fetch(requestReference, distro, behaviour);
70
- // Replace an Origin error with the Distribution's custom error page, if it
71
- // configures one for that status.
72
- const errorResponse = await this.stages.customErrorResponder.apply(requestReference, distro, originResult.response);
71
+ // Answer from this edge's cache where it holds the key, and from the Origin
72
+ // where it does not. A miss runs the origin-request and origin-response
73
+ // Lambda@Edge functions either side of the fetch, has an Origin error
74
+ // replaced with the Distribution's custom error page, and is stored.
75
+ const content = await this.stages.contentStage.serve({
76
+ request: requestReference,
77
+ cloudFront,
78
+ distribution: distro,
79
+ behaviour,
80
+ edgeId: edge.edgeId,
81
+ });
82
+ // Say whether the cache or the Origin answered, as CloudFront says it. A
83
+ // hit already carries the `Age` the cache measured. Both go on ahead of the
84
+ // response headers policy and the viewer-response event. A policy can take
85
+ // either off, and a viewer-response function sees them.
86
+ const served = simCfCacheStatusResponse(content.response, content.cacheHit);
73
87
  // Apply the Behavior's response headers policy, if it names one. CloudFront
74
88
  // does this after the response leaves the cache and before the
75
89
  // viewer-response event, so the custom error page above carries the
76
90
  // policy's headers and a viewer-response function that runs sees them.
77
- const response = this.stages.responseHeadersApplicator.apply(cloudFront, requestReference, errorResponse, behaviour);
91
+ const response = this.stages.responseHeadersApplicator.apply(cloudFront, requestReference, served, behaviour);
78
92
  // CloudFront runs no viewer-response function when the Origin answered
79
93
  // 400 or higher, for either kind of function. The status that decides it
80
- // is the one the Origin returned, so neither a custom error response
81
- // carrying `ResponseCode: 200` above nor an origin-response function that
82
- // replaced the status brings the function back.
83
- if (originResult.originStatus >= 400) {
94
+ // is the one the Origin returned, or the one it returned when the cache
95
+ // entry being served was stored. Neither a custom error response carrying
96
+ // `ResponseCode: 200` nor an origin-response function that replaced the
97
+ // status brings the function back.
98
+ if (content.originStatus >= 400) {
84
99
  return response;
85
100
  }
86
101
  // Handle viewer-response CFF, if any.
@@ -9,15 +9,33 @@ export declare const simCloudFrontCustomErrorCodes: ReadonlySet<number>;
9
9
  * page for an error without telling the viewer anything went wrong.
10
10
  */
11
11
  export declare const simCloudFrontCustomErrorResponseCodes: ReadonlySet<number>;
12
+ /**
13
+ * How long CloudFront holds an error for where a rule names no
14
+ * `ErrorCachingMinTTL`, and where a Distribution configures no rule for the
15
+ * status at all.
16
+ *
17
+ * https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HTTPStatusCodes.html
18
+ */
19
+ export declare const simCloudFrontDefaultErrorCachingMinTtlSec = 10;
20
+ /**
21
+ * The page a custom error response serves in place of the Origin's error.
22
+ *
23
+ * CloudFront pairs `ResponsePagePath` and `ResponseCode`. A rule carries both
24
+ * or neither.
25
+ */
26
+ export interface SimCloudFrontCustomErrorPage {
27
+ readonly responsePagePath: string;
28
+ readonly responseCode: number;
29
+ }
12
30
  /**
13
31
  * A custom error response of a sim CloudFront Distribution.
14
32
  *
15
- * Only a rule with a response page reaches this model. A rule carrying nothing
16
- * but `ErrorCode` and `ErrorCachingMinTTL` configures error caching, which the
17
- * simulator has nothing to cache with.
33
+ * A rule carrying nothing but `ErrorCode` and `ErrorCachingMinTTL` configures
34
+ * how long the Origin's own error is held for. It has no page, and the viewer
35
+ * gets what the Origin answered.
18
36
  */
19
37
  export interface SimCloudFrontCustomErrorResponse {
20
38
  readonly errorCode: number;
21
- readonly responsePagePath: string;
22
- readonly responseCode: number;
39
+ readonly errorCachingMinTtlSec: number;
40
+ readonly page?: SimCloudFrontCustomErrorPage | undefined;
23
41
  }
@@ -11,3 +11,11 @@ export const simCloudFrontCustomErrorCodes = new Set([
11
11
  * page for an error without telling the viewer anything went wrong.
12
12
  */
13
13
  export const simCloudFrontCustomErrorResponseCodes = new Set([200, ...simCloudFrontCustomErrorCodes]);
14
+ /**
15
+ * How long CloudFront holds an error for where a rule names no
16
+ * `ErrorCachingMinTTL`, and where a Distribution configures no rule for the
17
+ * status at all.
18
+ *
19
+ * https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HTTPStatusCodes.html
20
+ */
21
+ export const simCloudFrontDefaultErrorCachingMinTtlSec = 10;
@@ -0,0 +1,18 @@
1
+ import type { SimCloudFrontOriginRequestPolicyRegistry } from "../../origin-request-policy/sim-cf-origin-request-policy-registry.js";
2
+ /**
3
+ * Refuses a Cache Behavior naming an origin request policy this simulation
4
+ * does not hold.
5
+ *
6
+ * Real CloudFront checks this when the Distribution is created or updated, so
7
+ * a template naming a mistyped policy ID fails the deploy there too, rather
8
+ * than deploying successfully and only failing the first request that reaches
9
+ * the Behavior.
10
+ */
11
+ export declare class SimCfBehaviorOriginRequestPolicy {
12
+ private readonly policies;
13
+ constructor(policies: SimCloudFrontOriginRequestPolicyRegistry);
14
+ /**
15
+ * Refuse one Behavior naming a policy which is not there.
16
+ */
17
+ assertExists(targetOriginId: string | undefined, originRequestPolicyId: string | undefined): void;
18
+ }
@@ -0,0 +1,30 @@
1
+ import { SimCloudFrontNoSuchOriginRequestPolicy } from "../../error/sim-cf-origin-request-policy.error.js";
2
+ /**
3
+ * Refuses a Cache Behavior naming an origin request policy this simulation
4
+ * does not hold.
5
+ *
6
+ * Real CloudFront checks this when the Distribution is created or updated, so
7
+ * a template naming a mistyped policy ID fails the deploy there too, rather
8
+ * than deploying successfully and only failing the first request that reaches
9
+ * the Behavior.
10
+ */
11
+ export class SimCfBehaviorOriginRequestPolicy {
12
+ policies;
13
+ constructor(policies) {
14
+ this.policies = policies;
15
+ }
16
+ /**
17
+ * Refuse one Behavior naming a policy which is not there.
18
+ */
19
+ assertExists(targetOriginId, originRequestPolicyId) {
20
+ if (originRequestPolicyId === undefined ||
21
+ this.policies.byId(originRequestPolicyId) !== undefined) {
22
+ return;
23
+ }
24
+ throw new SimCloudFrontNoSuchOriginRequestPolicy(`Sim CloudFront Behavior for Origin ${targetOriginId} names origin ` +
25
+ `request policy ${originRequestPolicyId}, which does not exist. A ` +
26
+ `Behavior names one of CloudFront's eight managed policies, or a ` +
27
+ `policy an AWS::CloudFront::OriginRequestPolicy Resource created in ` +
28
+ `this simulation. A policy ID from a real account is neither.`);
29
+ }
30
+ }