@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,33 @@
1
+ /**
2
+ * Build the API view of a sim CloudFront invalidation.
3
+ */
4
+ export function simCfInvalidationView(invalidation) {
5
+ return {
6
+ Id: invalidation.invalidationId,
7
+ Status: invalidation.status,
8
+ CreateTime: invalidation.createTime,
9
+ InvalidationBatch: {
10
+ Paths: {
11
+ Quantity: invalidation.paths.length,
12
+ Items: invalidation.paths,
13
+ },
14
+ CallerReference: invalidation.callerReference,
15
+ },
16
+ };
17
+ }
18
+ /**
19
+ * Build the listing view of a sim CloudFront invalidation.
20
+ */
21
+ export function simCfInvalidationSummary(invalidation) {
22
+ return {
23
+ Id: invalidation.invalidationId,
24
+ CreateTime: invalidation.createTime,
25
+ Status: invalidation.status,
26
+ };
27
+ }
28
+ /**
29
+ * The URL CreateInvalidation reports the new invalidation at.
30
+ */
31
+ export function simCfInvalidationLocation(distributionId, invalidationId) {
32
+ return `https://cloudfront.amazonaws.com/2020-05-31/distribution/${distributionId}/invalidation/${invalidationId}`;
33
+ }
@@ -0,0 +1,55 @@
1
+ import type { Brand } from "../../../util/brand.type.js";
2
+ export type SimCfInvalidationId = Brand<string, "SimCfInvalidationId">;
3
+ /**
4
+ * How far an invalidation has got.
5
+ *
6
+ * CloudFront answers CreateInvalidation with `InProgress` and moves the
7
+ * invalidation to `Completed` once every edge has been told, the way a
8
+ * Distribution reaches `Deployed`.
9
+ */
10
+ export type SimCfInvalidationStatus = "InProgress" | "Completed";
11
+ interface SimCfInvalidationProperties {
12
+ readonly invalidationId: SimCfInvalidationId;
13
+ readonly callerReference: string;
14
+ readonly paths: readonly string[];
15
+ readonly createTime: Date;
16
+ }
17
+ /**
18
+ * One simulated CloudFront invalidation.
19
+ *
20
+ * An invalidation is the batch of paths a caller asked to be cleared, plus
21
+ * where clearing them has got to. It belongs to the Distribution it was
22
+ * created against, which is what GetInvalidation and ListInvalidations read it
23
+ * back from.
24
+ */
25
+ export declare class SimCfInvalidation {
26
+ #private;
27
+ readonly invalidationId: SimCfInvalidationId;
28
+ readonly callerReference: string;
29
+ readonly paths: readonly string[];
30
+ readonly createTime: Date;
31
+ constructor(properties: SimCfInvalidationProperties);
32
+ /**
33
+ * Whether this invalidation is still running.
34
+ */
35
+ get status(): SimCfInvalidationStatus;
36
+ /**
37
+ * Move this invalidation into Completed status.
38
+ */
39
+ completeInvalidation(): Promise<void>;
40
+ /**
41
+ * Whether a batch names the same paths as this one did.
42
+ *
43
+ * This is what decides whether a repeated `CallerReference` answers with the
44
+ * invalidation already created or is refused. The paths are compared in the
45
+ * order they were sent, since that is the batch CloudFront was given, and
46
+ * each one is read the way an invalidation reads it, so `*` and `/*` are the
47
+ * same batch.
48
+ */
49
+ namesSamePaths(paths: readonly string[]): boolean;
50
+ }
51
+ /**
52
+ * Generate a fake sim CloudFront invalidation ID.
53
+ */
54
+ export declare function makeSimCfInvalidationId(): SimCfInvalidationId;
55
+ export {};
@@ -0,0 +1,56 @@
1
+ import { faker } from "@faker-js/faker";
2
+ import { simCfInvalidationPath } from "./sim-cf-invalidation-path.js";
3
+ /**
4
+ * One simulated CloudFront invalidation.
5
+ *
6
+ * An invalidation is the batch of paths a caller asked to be cleared, plus
7
+ * where clearing them has got to. It belongs to the Distribution it was
8
+ * created against, which is what GetInvalidation and ListInvalidations read it
9
+ * back from.
10
+ */
11
+ export class SimCfInvalidation {
12
+ invalidationId;
13
+ callerReference;
14
+ paths;
15
+ createTime;
16
+ #status = "InProgress";
17
+ constructor(properties) {
18
+ this.invalidationId = properties.invalidationId;
19
+ this.callerReference = properties.callerReference;
20
+ this.paths = properties.paths;
21
+ this.createTime = properties.createTime;
22
+ }
23
+ /**
24
+ * Whether this invalidation is still running.
25
+ */
26
+ get status() {
27
+ return this.#status;
28
+ }
29
+ /**
30
+ * Move this invalidation into Completed status.
31
+ */
32
+ completeInvalidation() {
33
+ this.#status = "Completed";
34
+ return Promise.resolve();
35
+ }
36
+ /**
37
+ * Whether a batch names the same paths as this one did.
38
+ *
39
+ * This is what decides whether a repeated `CallerReference` answers with the
40
+ * invalidation already created or is refused. The paths are compared in the
41
+ * order they were sent, since that is the batch CloudFront was given, and
42
+ * each one is read the way an invalidation reads it, so `*` and `/*` are the
43
+ * same batch.
44
+ */
45
+ namesSamePaths(paths) {
46
+ const named = paths.map((path) => simCfInvalidationPath(path));
47
+ return (this.paths.length === named.length &&
48
+ this.paths.every((path, index) => simCfInvalidationPath(path) === named.at(index)));
49
+ }
50
+ }
51
+ /**
52
+ * Generate a fake sim CloudFront invalidation ID.
53
+ */
54
+ export function makeSimCfInvalidationId() {
55
+ return faker.helpers.fromRegExp(/I[0-9A-Z]{13}/);
56
+ }
@@ -0,0 +1,41 @@
1
+ import { type SimCfInvalidation, type SimCfInvalidationId } from "./sim-cf-invalidation.js";
2
+ /**
3
+ * The invalidations one simulated Distribution has been asked for.
4
+ *
5
+ * An invalidation is scoped to its Distribution, so this hangs off the
6
+ * Distribution rather than off the service. It holds them in the order they
7
+ * were created, which is the order the counts and the listing are read back
8
+ * from.
9
+ */
10
+ export declare class SimCfInvalidations {
11
+ private readonly invalidations;
12
+ /**
13
+ * Allocate an invalidation ID no invalidation of this Distribution holds.
14
+ */
15
+ allocateInvalidationId(): SimCfInvalidationId;
16
+ /**
17
+ * Hold on to an invalidation.
18
+ */
19
+ add(invalidation: SimCfInvalidation): void;
20
+ /**
21
+ * Get an invalidation by ID.
22
+ */
23
+ byId(invalidationId: SimCfInvalidationId | string): SimCfInvalidation | undefined;
24
+ /**
25
+ * Get the invalidation created under a `CallerReference`, if there is one.
26
+ *
27
+ * A `CallerReference` is what makes a batch idempotent, so this is what a
28
+ * repeated one is answered from.
29
+ */
30
+ byCallerReference(callerReference: string): SimCfInvalidation | undefined;
31
+ /**
32
+ * The invalidations of this Distribution, most recently created first, as
33
+ * CloudFront lists them.
34
+ */
35
+ newestFirst(): readonly SimCfInvalidation[];
36
+ /**
37
+ * How many invalidations of this Distribution are still running, which is
38
+ * what GetDistribution reports as `InProgressInvalidationBatches`.
39
+ */
40
+ get inProgressCount(): number;
41
+ }
@@ -0,0 +1,58 @@
1
+ import { makeSimCfInvalidationId, } from "./sim-cf-invalidation.js";
2
+ /**
3
+ * The invalidations one simulated Distribution has been asked for.
4
+ *
5
+ * An invalidation is scoped to its Distribution, so this hangs off the
6
+ * Distribution rather than off the service. It holds them in the order they
7
+ * were created, which is the order the counts and the listing are read back
8
+ * from.
9
+ */
10
+ export class SimCfInvalidations {
11
+ invalidations = [];
12
+ /**
13
+ * Allocate an invalidation ID no invalidation of this Distribution holds.
14
+ */
15
+ allocateInvalidationId() {
16
+ let invalidationId = makeSimCfInvalidationId();
17
+ while (this.byId(invalidationId) !== undefined) {
18
+ /* v8 ignore next -- does not happen in practice */
19
+ invalidationId = makeSimCfInvalidationId();
20
+ }
21
+ return invalidationId;
22
+ }
23
+ /**
24
+ * Hold on to an invalidation.
25
+ */
26
+ add(invalidation) {
27
+ this.invalidations.push(invalidation);
28
+ }
29
+ /**
30
+ * Get an invalidation by ID.
31
+ */
32
+ byId(invalidationId) {
33
+ return this.invalidations.find((invalidation) => invalidation.invalidationId === invalidationId);
34
+ }
35
+ /**
36
+ * Get the invalidation created under a `CallerReference`, if there is one.
37
+ *
38
+ * A `CallerReference` is what makes a batch idempotent, so this is what a
39
+ * repeated one is answered from.
40
+ */
41
+ byCallerReference(callerReference) {
42
+ return this.invalidations.find((invalidation) => invalidation.callerReference === callerReference);
43
+ }
44
+ /**
45
+ * The invalidations of this Distribution, most recently created first, as
46
+ * CloudFront lists them.
47
+ */
48
+ newestFirst() {
49
+ return this.invalidations.toReversed();
50
+ }
51
+ /**
52
+ * How many invalidations of this Distribution are still running, which is
53
+ * what GetDistribution reports as `InProgressInvalidationBatches`.
54
+ */
55
+ get inProgressCount() {
56
+ return this.invalidations.filter((invalidation) => invalidation.status === "InProgress").length;
57
+ }
58
+ }
@@ -0,0 +1,15 @@
1
+ import type { SimCloudFrontDistribution } from "../distribution/sim-cloudfront-distribution.js";
2
+ import type { SimCfInvalidation } from "./sim-cf-invalidation.js";
3
+ /**
4
+ * The invalidation a `CallerReference` already created, where a batch repeats
5
+ * it.
6
+ *
7
+ * A `CallerReference` makes a batch idempotent. A repeat naming the same paths
8
+ * is answered with what it created the first time, and nothing is cleared
9
+ * again. A repeat naming different paths is refused, since the reference then
10
+ * names two batches.
11
+ *
12
+ * A reference this Distribution has never seen answers with nothing, and the
13
+ * caller creates an invalidation for it.
14
+ */
15
+ export declare function simCfRepeatedInvalidation(distribution: SimCloudFrontDistribution, callerReference: string, paths: readonly string[]): SimCfInvalidation | undefined;
@@ -0,0 +1,23 @@
1
+ import { SimCloudFrontInvalidationBatchAlreadyExists } from "../error/sim-cf-invalidation.error.js";
2
+ /**
3
+ * The invalidation a `CallerReference` already created, where a batch repeats
4
+ * it.
5
+ *
6
+ * A `CallerReference` makes a batch idempotent. A repeat naming the same paths
7
+ * is answered with what it created the first time, and nothing is cleared
8
+ * again. A repeat naming different paths is refused, since the reference then
9
+ * names two batches.
10
+ *
11
+ * A reference this Distribution has never seen answers with nothing, and the
12
+ * caller creates an invalidation for it.
13
+ */
14
+ export function simCfRepeatedInvalidation(distribution, callerReference, paths) {
15
+ const existing = distribution.invalidations.byCallerReference(callerReference);
16
+ if (existing === undefined) {
17
+ return undefined;
18
+ }
19
+ if (!existing.namesSamePaths(paths)) {
20
+ throw new SimCloudFrontInvalidationBatchAlreadyExists(`Sim CloudFront invalidation batch ${existing.invalidationId} on Distribution ${distribution.distributionId} was created with CallerReference ${callerReference} and different paths`);
21
+ }
22
+ return existing;
23
+ }
@@ -0,0 +1,19 @@
1
+ import type { SimCfForwardedToOrigin } from "../../origin-request-policy/sim-cf-forwarded-to-origin.js";
2
+ /**
3
+ * The query string the Origin is asked for, holding the names the policies
4
+ * carry and nothing else.
5
+ *
6
+ * The pairs that travel keep the spelling the viewer wrote them in. A query
7
+ * string re-encoded on the way through is no longer the one the viewer asked
8
+ * for. A name the viewer repeated is repeated to the Origin, which dropping a
9
+ * repeat would change.
10
+ */
11
+ export declare function simCfForwardedOriginSearch(viewerSearch: string, forwarded: SimCfForwardedToOrigin): string;
12
+ /**
13
+ * The headers the Origin is sent, which are the viewer's narrowed to what the
14
+ * policies carry plus the ones CloudFront sends regardless.
15
+ *
16
+ * `Host` is left to the caller, which is the one part of the Origin request
17
+ * that comes from the Origin rather than from the viewer or the policies.
18
+ */
19
+ export declare function simCfForwardedOriginHeaders(viewerHeaders: Headers, forwarded: SimCfForwardedToOrigin): Headers;
@@ -0,0 +1,116 @@
1
+ /**
2
+ * The `User-Agent` CloudFront sends when the policies do not carry the
3
+ * viewer's own.
4
+ *
5
+ * https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html
6
+ */
7
+ const cloudFrontUserAgent = "Amazon CloudFront";
8
+ /**
9
+ * The headers CloudFront sends whatever the policies name.
10
+ *
11
+ * These describe the body travelling with the request rather than the viewer
12
+ * making it, and an Origin that lost them would read the wrong bytes.
13
+ */
14
+ const bodyHeaders = new Set([
15
+ "content-length",
16
+ "content-type",
17
+ "transfer-encoding",
18
+ ]);
19
+ /**
20
+ * The query string the Origin is asked for, holding the names the policies
21
+ * carry and nothing else.
22
+ *
23
+ * The pairs that travel keep the spelling the viewer wrote them in. A query
24
+ * string re-encoded on the way through is no longer the one the viewer asked
25
+ * for. A name the viewer repeated is repeated to the Origin, which dropping a
26
+ * repeat would change.
27
+ */
28
+ export function simCfForwardedOriginSearch(viewerSearch, forwarded) {
29
+ const forwardedPairs = viewerSearch
30
+ .replace(/^\?/u, "")
31
+ .split("&")
32
+ .filter((pair) => pair.length > 0)
33
+ .filter((pair) => forwarded.forwardsQueryString(queryStringName(pair)));
34
+ return forwardedPairs.length === 0 ? "" : `?${forwardedPairs.join("&")}`;
35
+ }
36
+ /**
37
+ * The headers the Origin is sent, which are the viewer's narrowed to what the
38
+ * policies carry plus the ones CloudFront sends regardless.
39
+ *
40
+ * `Host` is left to the caller, which is the one part of the Origin request
41
+ * that comes from the Origin rather than from the viewer or the policies.
42
+ */
43
+ export function simCfForwardedOriginHeaders(viewerHeaders, forwarded) {
44
+ const headers = new Headers();
45
+ for (const [name, value] of viewerHeaders) {
46
+ if (bodyHeaders.has(name) || forwarded.forwardsHeader(name)) {
47
+ headers.set(name, value);
48
+ }
49
+ }
50
+ applyForwardedCookies(viewerHeaders, headers, forwarded);
51
+ applyUserAgent(headers, forwarded);
52
+ applyAcceptEncoding(viewerHeaders, headers, forwarded);
53
+ return headers;
54
+ }
55
+ /**
56
+ * The name half of one `name=value` pair, read the way a viewer's own client
57
+ * wrote it rather than as the bytes it was sent as.
58
+ */
59
+ function queryStringName(pair) {
60
+ const [name = ""] = new URLSearchParams(pair).keys();
61
+ return name;
62
+ }
63
+ /**
64
+ * Write the cookies the policies carry into the one `Cookie` header a request
65
+ * sends them all in, leaving the header off where none of them travels.
66
+ *
67
+ * A policy naming `Cookie` in its headers section carries the header whole,
68
+ * whatever its cookies section says.
69
+ */
70
+ function applyForwardedCookies(viewerHeaders, headers, forwarded) {
71
+ if (forwarded.forwardsHeader("cookie")) {
72
+ return;
73
+ }
74
+ const cookies = (viewerHeaders.get("cookie") ?? "")
75
+ .split(";")
76
+ .map((cookie) => cookie.trim())
77
+ .filter((cookie) => cookie.length > 0)
78
+ .filter((cookie) => forwarded.forwardsCookie(cookieName(cookie)));
79
+ if (cookies.length > 0) {
80
+ headers.set("cookie", cookies.join("; "));
81
+ }
82
+ }
83
+ /**
84
+ * The name half of one `name=value` cookie.
85
+ */
86
+ function cookieName(cookie) {
87
+ const [name = ""] = cookie.split("=", 1);
88
+ return name;
89
+ }
90
+ /**
91
+ * State CloudFront as the user agent where the policies do not carry the
92
+ * viewer's own, as CloudFront states itself.
93
+ */
94
+ function applyUserAgent(headers, forwarded) {
95
+ if (!forwarded.forwardsHeader("user-agent")) {
96
+ headers.set("user-agent", cloudFrontUserAgent);
97
+ }
98
+ }
99
+ /**
100
+ * Ask the Origin for the compression the cache policy keyed on.
101
+ *
102
+ * A cache policy that set either `EnableAcceptEncoding` flag decides this
103
+ * header on its own, and the normalized value replaces a viewer's own that an
104
+ * origin request policy carried. A policy that set neither leaves whatever the
105
+ * policies carried, which is the viewer's header or no header at all.
106
+ */
107
+ function applyAcceptEncoding(viewerHeaders, headers, forwarded) {
108
+ if (!forwarded.keysOnCompression) {
109
+ return;
110
+ }
111
+ const acceptEncoding = forwarded.normalizedAcceptEncoding(viewerHeaders);
112
+ headers.delete("accept-encoding");
113
+ if (acceptEncoding !== undefined) {
114
+ headers.set("accept-encoding", acceptEncoding);
115
+ }
116
+ }
@@ -1,7 +1,13 @@
1
+ import type { SimCfForwardedToOrigin } from "../../origin-request-policy/sim-cf-forwarded-to-origin.js";
1
2
  interface SimCfCustomOriginRequestProperties {
2
3
  readonly domainName: string;
3
4
  readonly originPath: string;
4
5
  readonly request: Request;
6
+ /**
7
+ * What the Behavior's cache policy and origin request policy carry to the
8
+ * Origin between them.
9
+ */
10
+ readonly forwarded: SimCfForwardedToOrigin;
5
11
  /**
6
12
  * The Origin's own custom headers, keyed by lower-case header name.
7
13
  */
@@ -16,11 +22,15 @@ interface SimCfCustomOriginRequestProperties {
16
22
  /**
17
23
  * Build the request sim CloudFront sends on to a custom Origin.
18
24
  *
19
- * CloudFront keeps the viewer's method, headers, query string and body, sends
20
- * the Origin's own domain as the host, and prefixes the Origin path to the
21
- * request path. The Origin domain is rewritten to its Yulin-local form here,
22
- * so that an AWS endpoint hostname is resolved by the same host handling that
23
- * serves the simulated environment on localhost.
25
+ * CloudFront keeps the viewer's method and body, prefixes the Origin path to
26
+ * the request path, and sends the Origin's own domain as the host. Of the
27
+ * viewer's headers, cookies and query strings it sends what the Behavior's two
28
+ * policies name between them and drops the rest. An Origin reads what the
29
+ * Distribution was configured to tell it.
30
+ *
31
+ * The Origin domain is rewritten to its Yulin-local form here, so that an AWS
32
+ * endpoint hostname is resolved by the same host handling that serves the
33
+ * simulated environment on localhost.
24
34
  */
25
35
  export declare function simCfCustomOriginRequest(properties: SimCfCustomOriginRequestProperties): Request;
26
36
  export {};
@@ -1,23 +1,28 @@
1
1
  import { SimAwsLocalUrl } from "../../../../serve/http/url/sim-aws-local-url.js";
2
2
  import { stripSimAwsControlHeaders } from "../../../iam/request/sim-aws-control-headers.js";
3
+ import { simCfForwardedOriginHeaders, simCfForwardedOriginSearch, } from "./sim-cf-custom-origin-forwarding.js";
3
4
  /**
4
5
  * Build the request sim CloudFront sends on to a custom Origin.
5
6
  *
6
- * CloudFront keeps the viewer's method, headers, query string and body, sends
7
- * the Origin's own domain as the host, and prefixes the Origin path to the
8
- * request path. The Origin domain is rewritten to its Yulin-local form here,
9
- * so that an AWS endpoint hostname is resolved by the same host handling that
10
- * serves the simulated environment on localhost.
7
+ * CloudFront keeps the viewer's method and body, prefixes the Origin path to
8
+ * the request path, and sends the Origin's own domain as the host. Of the
9
+ * viewer's headers, cookies and query strings it sends what the Behavior's two
10
+ * policies name between them and drops the rest. An Origin reads what the
11
+ * Distribution was configured to tell it.
12
+ *
13
+ * The Origin domain is rewritten to its Yulin-local form here, so that an AWS
14
+ * endpoint hostname is resolved by the same host handling that serves the
15
+ * simulated environment on localhost.
11
16
  */
12
17
  export function simCfCustomOriginRequest(properties) {
13
- const { request } = properties;
18
+ const { request, forwarded } = properties;
14
19
  const viewerUrl = new URL(request.url);
15
20
  const originUrl = new SimAwsLocalUrl({
16
21
  input: `https://${properties.domainName}`,
17
22
  }).toURL();
18
23
  originUrl.pathname = originRequestPath(properties.originPath, viewerUrl.pathname);
19
- originUrl.search = viewerUrl.search;
20
- const headers = new Headers(request.headers);
24
+ originUrl.search = simCfForwardedOriginSearch(viewerUrl.search, forwarded);
25
+ const headers = simCfForwardedOriginHeaders(request.headers, forwarded);
21
26
  headers.set("host", originUrl.host);
22
27
  // Who the Origin request is from is the Origin's business, not the viewer's,
23
28
  // so a viewer's own control headers are dropped before the Origin's are
@@ -66,15 +66,18 @@ export class SimCfCustomOriginSigner {
66
66
  * POST or PUT that carried no hash through a signing origin access control is
67
67
  * refused at the Origin, which is what real CloudFront and Lambda do with one.
68
68
  *
69
- * A viewer's own header travels with the rest of its headers, so nothing is
70
- * stated for it here.
69
+ * The viewer's own header is restated here rather than left to travel with the
70
+ * rest of them, since the Behavior's policies decide which of the viewer's
71
+ * headers reach the Origin and a signature is not theirs to withhold.
71
72
  *
72
73
  * https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-lambda.html
73
74
  */
74
75
  function payloadDeclaration(viewerRequest) {
75
- if (!bodyCarryingMethods.has(viewerRequest.method.toUpperCase()) ||
76
- viewerRequest.headers.has(simIamSigV4ContentSha256Header)) {
76
+ if (!bodyCarryingMethods.has(viewerRequest.method.toUpperCase())) {
77
77
  return {};
78
78
  }
79
- return { [simIamSigV4ContentSha256Header]: simIamSigV4UnsignedPayload };
79
+ return {
80
+ [simIamSigV4ContentSha256Header]: viewerRequest.headers.get(simIamSigV4ContentSha256Header) ??
81
+ simIamSigV4UnsignedPayload,
82
+ };
80
83
  }
@@ -2,6 +2,7 @@ import type { LambdaAtEdge } from "../../typings/lambda-at-edge.namespace.js";
2
2
  import type { SimCloudFrontOriginAccessControl } from "../../origin-access-control/sim-cf-origin-access-control.js";
3
3
  import type { SimCloudFrontOrigin } from "../sim-cloudfront-origin.js";
4
4
  import type { SimCloudFrontOriginRequest } from "../sim-cloudfront-request-response.js";
5
+ import { type SimCfBehaviorPolicyRegistries } from "../../origin-request-policy/sim-cf-behavior-forwarded.js";
5
6
  import type { SimCfCustomOriginDispatcher } from "./sim-cf-custom-origin-dispatcher.js";
6
7
  interface SimCloudFrontCustomOriginProperties {
7
8
  readonly originId: string;
@@ -14,6 +15,13 @@ interface SimCloudFrontCustomOriginProperties {
14
15
  * keyed by lower-case header name.
15
16
  */
16
17
  readonly customHeaders?: Readonly<Record<string, string>> | undefined;
18
+ /**
19
+ * The policies a Behavior's forwarding is read from, which decide what of
20
+ * the viewer's request reaches this Origin. Without them a Behavior names no
21
+ * policy this Origin can read, and carries what CloudFront sends of its own
22
+ * accord and nothing else.
23
+ */
24
+ readonly policies?: SimCfBehaviorPolicyRegistries | undefined;
17
25
  }
18
26
  /**
19
27
  * Simulated CloudFront custom Origin.
@@ -45,10 +53,15 @@ export declare class SimCloudFrontCustomOrigin implements SimCloudFrontOrigin {
45
53
  private readonly originId;
46
54
  private readonly dispatcher;
47
55
  private readonly signer;
56
+ private readonly policies;
48
57
  constructor(properties: SimCloudFrontCustomOriginProperties);
49
58
  /**
50
59
  * Fetch the request from the simulated service behind this Origin.
51
60
  *
61
+ * The Behavior the request resolved to decides what of the viewer's headers,
62
+ * cookies and query strings travels, so the policies are read per request
63
+ * rather than when the Origin was built.
64
+ *
52
65
  * An Origin domain naming nothing in the simulation fails here rather than
53
66
  * being sent to the real domain, because a simulated Distribution reaching
54
67
  * out to the internet is never what a test meant.
@@ -1,4 +1,5 @@
1
1
  import { customOriginEdgeOrigin, customOriginEdgeParts, } from "./sim-cf-custom-origin-edge.js";
2
+ import { simCfBehaviorForwardedToOrigin, } from "../../origin-request-policy/sim-cf-behavior-forwarded.js";
2
3
  import { simCfCustomOriginRequest } from "./sim-cf-custom-origin-request.js";
3
4
  import { SimCfCustomOriginSigner } from "./sim-cf-custom-origin-signer.js";
4
5
  /**
@@ -31,6 +32,7 @@ export class SimCloudFrontCustomOrigin {
31
32
  originId;
32
33
  dispatcher;
33
34
  signer;
35
+ policies;
34
36
  constructor(properties) {
35
37
  this.properties = properties;
36
38
  this.originId = properties.originId;
@@ -40,10 +42,15 @@ export class SimCloudFrontCustomOrigin {
40
42
  this.originAccessControl = properties.originAccessControl;
41
43
  this.signer = new SimCfCustomOriginSigner(properties.originAccessControl);
42
44
  this.customHeaders = properties.customHeaders ?? {};
45
+ this.policies = properties.policies;
43
46
  }
44
47
  /**
45
48
  * Fetch the request from the simulated service behind this Origin.
46
49
  *
50
+ * The Behavior the request resolved to decides what of the viewer's headers,
51
+ * cookies and query strings travels, so the policies are read per request
52
+ * rather than when the Origin was built.
53
+ *
47
54
  * An Origin domain naming nothing in the simulation fails here rather than
48
55
  * being sent to the real domain, because a simulated Distribution reaching
49
56
  * out to the internet is never what a test meant.
@@ -53,6 +60,7 @@ export class SimCloudFrontCustomOrigin {
53
60
  domainName: this.domainName,
54
61
  originPath: this.originPath,
55
62
  request: request.req,
63
+ forwarded: simCfBehaviorForwardedToOrigin(request.behavior, this.policies),
56
64
  customHeaders: this.customHeaders,
57
65
  signingHeaders: this.signer.forRequest(request),
58
66
  });
@@ -0,0 +1,24 @@
1
+ import type { SimCloudFrontBehavior } from "../behaviour/sim-cloud-front-behavior.js";
2
+ import type { SimCloudFrontCachePolicyRegistry } from "../cache-policy/sim-cf-cache-policy-registry.js";
3
+ import { SimCfForwardedToOrigin } from "./sim-cf-forwarded-to-origin.js";
4
+ import type { SimCloudFrontOriginRequestPolicyRegistry } from "./sim-cf-origin-request-policy-registry.js";
5
+ /**
6
+ * The two policy registries a Behavior's forwarding is read from.
7
+ *
8
+ * They are asked per request rather than when the Distribution was configured,
9
+ * so a policy a template replaced decides the next Origin request rather than
10
+ * the one it replaced.
11
+ */
12
+ export interface SimCfBehaviorPolicyRegistries {
13
+ readonly cachePolicies: SimCloudFrontCachePolicyRegistry;
14
+ readonly originRequestPolicies: SimCloudFrontOriginRequestPolicyRegistry;
15
+ }
16
+ /**
17
+ * What one Behavior carries to its Origin, from the two policies it names.
18
+ *
19
+ * A Behavior naming a policy this simulation does not hold is read as naming
20
+ * none, which is the same reading the Distribution's cache takes. Without
21
+ * either registry there is nothing to read a policy from, and the Behavior
22
+ * carries the same nothing.
23
+ */
24
+ export declare function simCfBehaviorForwardedToOrigin(behaviour: SimCloudFrontBehavior, registries?: SimCfBehaviorPolicyRegistries): SimCfForwardedToOrigin;
@@ -0,0 +1,21 @@
1
+ import { SimCfForwardedToOrigin } from "./sim-cf-forwarded-to-origin.js";
2
+ /**
3
+ * What one Behavior carries to its Origin, from the two policies it names.
4
+ *
5
+ * A Behavior naming a policy this simulation does not hold is read as naming
6
+ * none, which is the same reading the Distribution's cache takes. Without
7
+ * either registry there is nothing to read a policy from, and the Behavior
8
+ * carries the same nothing.
9
+ */
10
+ export function simCfBehaviorForwardedToOrigin(behaviour, registries) {
11
+ const cachePolicy = behaviour.cachePolicyId === undefined
12
+ ? undefined
13
+ : registries?.cachePolicies.byId(behaviour.cachePolicyId);
14
+ const originRequestPolicy = behaviour.originRequestPolicyId === undefined
15
+ ? undefined
16
+ : registries?.originRequestPolicies.byId(behaviour.originRequestPolicyId);
17
+ return new SimCfForwardedToOrigin({
18
+ cacheKey: cachePolicy?.cacheKey,
19
+ forwarding: originRequestPolicy?.forwarding,
20
+ });
21
+ }