@kensio/yulin 1.10.0 → 1.10.2

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 (677) hide show
  1. package/dist/cli/watch/sim-watch-event-path.js +1 -1
  2. package/dist/cli/watch/sim-watch-restarts.js +1 -1
  3. package/dist/cli/watch/sim-watch-restarts.js.map +1 -1
  4. package/dist/cli/watch/sim-watch-watcher.js +3 -3
  5. package/dist/config/eslint/cffjs2.eslint.config.js +17 -98
  6. package/dist/config/eslint/cffjs2.eslint.config.js.map +1 -1
  7. package/dist/config/lint/cff-js2-lint-plugin.d.ts +16 -0
  8. package/dist/config/lint/cff-js2-lint-plugin.d.ts.map +1 -0
  9. package/dist/config/lint/cff-js2-lint-plugin.js +39 -0
  10. package/dist/config/lint/cff-js2-lint-plugin.js.map +1 -0
  11. package/dist/config/lint/cff-js2-lint-rules.d.ts +20 -0
  12. package/dist/config/lint/cff-js2-lint-rules.d.ts.map +1 -0
  13. package/dist/config/lint/cff-js2-lint-rules.js +53 -0
  14. package/dist/config/lint/cff-js2-lint-rules.js.map +1 -0
  15. package/dist/config/lint/cff-js2-lint.fixture.d.ts +39 -0
  16. package/dist/config/lint/cff-js2-lint.fixture.d.ts.map +1 -0
  17. package/dist/config/lint/cff-js2-lint.fixture.js +229 -0
  18. package/dist/config/lint/cff-js2-lint.fixture.js.map +1 -0
  19. package/dist/config/lint/cff-js2-oxlint-plugin.d.ts +9 -0
  20. package/dist/config/lint/cff-js2-oxlint-plugin.d.ts.map +1 -0
  21. package/dist/config/lint/cff-js2-oxlint-plugin.js +9 -0
  22. package/dist/config/lint/cff-js2-oxlint-plugin.js.map +1 -0
  23. package/dist/config/lint/cff-js2-restriction.d.ts +82 -0
  24. package/dist/config/lint/cff-js2-restriction.d.ts.map +1 -0
  25. package/dist/config/lint/cff-js2-restriction.js +85 -0
  26. package/dist/config/lint/cff-js2-restriction.js.map +1 -0
  27. package/dist/config/lint/cff-js2-unavailable-global.rule.d.ts +10 -0
  28. package/dist/config/lint/cff-js2-unavailable-global.rule.d.ts.map +1 -0
  29. package/dist/config/lint/cff-js2-unavailable-global.rule.js +42 -0
  30. package/dist/config/lint/cff-js2-unavailable-global.rule.js.map +1 -0
  31. package/dist/config/lint/index.d.ts +6 -0
  32. package/dist/config/lint/index.d.ts.map +1 -0
  33. package/dist/config/lint/index.js +5 -0
  34. package/dist/config/lint/index.js.map +1 -0
  35. package/dist/config/lint/lint-plugin.type.d.ts +82 -0
  36. package/dist/config/lint/lint-plugin.type.d.ts.map +1 -0
  37. package/dist/config/lint/lint-plugin.type.js +11 -0
  38. package/dist/config/lint/lint-plugin.type.js.map +1 -0
  39. package/dist/config/lint/repo-lint-plugin.d.ts +68 -0
  40. package/dist/config/lint/repo-lint-plugin.d.ts.map +1 -0
  41. package/dist/config/lint/repo-lint-plugin.js +64 -0
  42. package/dist/config/lint/repo-lint-plugin.js.map +1 -0
  43. package/dist/config/oxlint/cffjs2.oxlint.config.d.ts +26 -0
  44. package/dist/config/oxlint/cffjs2.oxlint.config.d.ts.map +1 -0
  45. package/dist/config/oxlint/cffjs2.oxlint.config.js +28 -0
  46. package/dist/config/oxlint/cffjs2.oxlint.config.js.map +1 -0
  47. package/dist/config/oxlint/cffjs2.oxlintrc.json +36 -0
  48. package/dist/config/oxlint/index.d.ts +2 -0
  49. package/dist/config/oxlint/index.d.ts.map +1 -0
  50. package/dist/config/oxlint/index.js +2 -0
  51. package/dist/config/oxlint/index.js.map +1 -0
  52. package/dist/sdk/module/sim-sdk-module-client-interceptor.js +1 -1
  53. package/dist/sdk/send-patch.js +1 -1
  54. package/dist/sdk/send-patch.js.map +1 -1
  55. package/dist/sdk/sim-sdk-interception.js +1 -1
  56. package/dist/sdk/sim-sdk-interception.js.map +1 -1
  57. package/dist/sdk/sim-sdk.js +1 -1
  58. package/dist/sdk/sim-sdk.js.map +1 -1
  59. package/dist/serve/http/live-reload/sim-live-reload-report.js +1 -1
  60. package/dist/serve/http/live-reload/sim-local-live-reload.d.ts.map +1 -1
  61. package/dist/serve/http/live-reload/sim-local-live-reload.js +2 -3
  62. package/dist/serve/http/live-reload/sim-local-live-reload.js.map +1 -1
  63. package/dist/serve/http/local-server/sim-aws-local-request-handler.js +1 -1
  64. package/dist/serve/http/local-server/sim-aws-local-request-handler.js.map +1 -1
  65. package/dist/service/acm/certificate/sim-acm-certificate.d.ts.map +1 -1
  66. package/dist/service/acm/certificate/sim-acm-certificate.js.map +1 -1
  67. package/dist/service/acm/certificate/sim-acm-domain-validation.d.ts.map +1 -1
  68. package/dist/service/acm/certificate/sim-acm-domain-validation.js.map +1 -1
  69. package/dist/service/acm/cfn/property/sim-cfn-acm-cert-properties.d.ts.map +1 -1
  70. package/dist/service/acm/cfn/property/sim-cfn-acm-cert-properties.js.map +1 -1
  71. package/dist/service/acm/cfn/validation/sim-cfn-acm-validation-records.js +1 -1
  72. package/dist/service/acm/command/describe-certificate/describe-certificate.command.d.ts.map +1 -1
  73. package/dist/service/acm/command/list-certificates/list-certificates.command.d.ts.map +1 -1
  74. package/dist/service/acm/command/request-certificate/request-certificate.command.d.ts.map +1 -1
  75. package/dist/service/acm/validation/sim-acm-certificate-validation.d.ts.map +1 -1
  76. package/dist/service/acm/validation/sim-acm-certificate-validation.js +3 -4
  77. package/dist/service/acm/validation/sim-acm-certificate-validation.js.map +1 -1
  78. package/dist/service/apigatewayv2/command/authorizer/sim-http-api-authorizer-options.d.ts.map +1 -1
  79. package/dist/service/apigatewayv2/command/authorizer/sim-http-api-authorizer-options.js.map +1 -1
  80. package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts.map +1 -1
  81. package/dist/service/aws/caller/sim-aws-caller-resolver.js +2 -3
  82. package/dist/service/aws/caller/sim-aws-caller-resolver.js.map +1 -1
  83. package/dist/service/aws/caller/sim-aws-caller.d.ts.map +1 -1
  84. package/dist/service/aws/factory/account-service-cache-key.d.ts.map +1 -1
  85. package/dist/service/aws/factory/account-service-cache-key.js.map +1 -1
  86. package/dist/service/aws/factory/sim-aws-account-service-cache.js +1 -1
  87. package/dist/service/aws/factory/sim-aws-account-service-cache.js.map +1 -1
  88. package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-finder.d.ts.map +1 -1
  89. package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-finder.js +1 -1
  90. package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-finder.js.map +1 -1
  91. package/dist/service/cloudformation/bind/validate/sim-cfn-exec-binding-matcher.js +2 -2
  92. package/dist/service/cloudformation/cdk/assets/sim-cdk-asset-bytes.js +3 -3
  93. package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +1 -1
  94. package/dist/service/cloudformation/cdk/provider/sim-cdk-provider-scaffolding-template.factory.d.ts +40 -0
  95. package/dist/service/cloudformation/cdk/provider/sim-cdk-provider-scaffolding-template.factory.d.ts.map +1 -0
  96. package/dist/service/cloudformation/cdk/provider/sim-cdk-provider-scaffolding-template.factory.js +107 -0
  97. package/dist/service/cloudformation/cdk/provider/sim-cdk-provider-scaffolding-template.factory.js.map +1 -0
  98. package/dist/service/cloudformation/cdk/provider/sim-cdk-provider-scaffolding.d.ts +66 -0
  99. package/dist/service/cloudformation/cdk/provider/sim-cdk-provider-scaffolding.d.ts.map +1 -0
  100. package/dist/service/cloudformation/cdk/provider/sim-cdk-provider-scaffolding.js +133 -0
  101. package/dist/service/cloudformation/cdk/provider/sim-cdk-provider-scaffolding.js.map +1 -0
  102. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +6 -1
  103. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts.map +1 -1
  104. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +7 -1
  105. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js.map +1 -1
  106. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +1 -1
  107. package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-files.js +2 -2
  108. package/dist/service/cloudformation/cdk/s3/bucket-deployment/destination/sim-cdk-bucket-deploy-destination.d.ts +14 -0
  109. package/dist/service/cloudformation/cdk/s3/bucket-deployment/destination/sim-cdk-bucket-deploy-destination.d.ts.map +1 -0
  110. package/dist/service/cloudformation/cdk/s3/bucket-deployment/destination/sim-cdk-bucket-deploy-destination.js +20 -0
  111. package/dist/service/cloudformation/cdk/s3/bucket-deployment/destination/sim-cdk-bucket-deploy-destination.js.map +1 -0
  112. package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js +7 -1
  113. package/dist/service/cloudformation/cdk/s3/bucket-deployment/filter/sim-cdk-bucket-deploy-filter.js.map +1 -1
  114. package/dist/service/cloudformation/cdk/s3/bucket-deployment/metadata/sim-cdk-bucket-deploy-metadata.d.ts +58 -0
  115. package/dist/service/cloudformation/cdk/s3/bucket-deployment/metadata/sim-cdk-bucket-deploy-metadata.d.ts.map +1 -0
  116. package/dist/service/cloudformation/cdk/s3/bucket-deployment/metadata/sim-cdk-bucket-deploy-metadata.js +65 -0
  117. package/dist/service/cloudformation/cdk/s3/bucket-deployment/metadata/sim-cdk-bucket-deploy-metadata.js.map +1 -0
  118. package/dist/service/cloudformation/cdk/s3/bucket-deployment/property/sim-cdk-bucket-deploy-values.js +1 -1
  119. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.d.ts.map +1 -1
  120. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +16 -7
  121. package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js.map +1 -1
  122. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts.map +1 -1
  123. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +1 -0
  124. package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js.map +1 -1
  125. package/dist/service/cloudformation/cdk/s3/bucket-notifications/property/sim-cdk-bucket-notification-properties.js +1 -1
  126. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts +4 -2
  127. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.d.ts.map +1 -1
  128. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js +4 -2
  129. package/dist/service/cloudformation/cdk/s3/bucket-notifications/sim-cdk-bucket-notifications.js.map +1 -1
  130. package/dist/service/cloudformation/cdk/sim-cdk-out-context.js +1 -1
  131. package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts.map +1 -1
  132. package/dist/service/cloudformation/command/create-stack/create-stack.handler.js.map +1 -1
  133. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts.map +1 -1
  134. package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js.map +1 -1
  135. package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +1 -1
  136. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.d.ts.map +1 -1
  137. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +8 -0
  138. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js.map +1 -1
  139. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-oac-cfn.d.ts +25 -0
  140. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-oac-cfn.d.ts.map +1 -0
  141. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-oac-cfn.js +32 -0
  142. package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-oac-cfn.js.map +1 -0
  143. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.d.ts.map +1 -1
  144. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js +4 -5
  145. package/dist/service/cloudformation/resource/cfn/dynamodb/sim-dynamodb-table-cfn.js.map +1 -1
  146. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.d.ts +11 -0
  147. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.d.ts.map +1 -1
  148. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.js +20 -2
  149. package/dist/service/cloudformation/resource/create/sim-cfn-resource-create-operation.js.map +1 -1
  150. package/dist/service/cloudformation/resource/inert/sim-cfn-inert-resource-types.d.ts +20 -0
  151. package/dist/service/cloudformation/resource/inert/sim-cfn-inert-resource-types.d.ts.map +1 -0
  152. package/dist/service/cloudformation/resource/inert/sim-cfn-inert-resource-types.js +32 -0
  153. package/dist/service/cloudformation/resource/inert/sim-cfn-inert-resource-types.js.map +1 -0
  154. package/dist/service/cloudformation/resource/inert/sim-cfn-inert-resource.d.ts +19 -0
  155. package/dist/service/cloudformation/resource/inert/sim-cfn-inert-resource.d.ts.map +1 -0
  156. package/dist/service/cloudformation/resource/inert/sim-cfn-inert-resource.js +26 -0
  157. package/dist/service/cloudformation/resource/inert/sim-cfn-inert-resource.js.map +1 -0
  158. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.d.ts.map +1 -1
  159. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js +2 -3
  160. package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-resolver.js.map +1 -1
  161. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +15 -0
  162. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts.map +1 -1
  163. package/dist/service/cloudformation/resource/sim-cfn-resource.js +21 -0
  164. package/dist/service/cloudformation/resource/sim-cfn-resource.js.map +1 -1
  165. package/dist/service/cloudformation/resource/state/sim-cfn-resource-creation-state.d.ts +20 -0
  166. package/dist/service/cloudformation/resource/state/sim-cfn-resource-creation-state.d.ts.map +1 -1
  167. package/dist/service/cloudformation/resource/state/sim-cfn-resource-creation-state.js +41 -11
  168. package/dist/service/cloudformation/resource/state/sim-cfn-resource-creation-state.js.map +1 -1
  169. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts.map +1 -1
  170. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js.map +1 -1
  171. package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +1 -1
  172. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.d.ts +9 -0
  173. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.d.ts.map +1 -1
  174. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.js +11 -0
  175. package/dist/service/cloudformation/stack/report/sim-cfn-stack-resource-report.js.map +1 -1
  176. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts.map +1 -1
  177. package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js.map +1 -1
  178. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +2 -0
  179. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
  180. package/dist/service/cloudformation/stack/sim-cfn-stack.js +4 -0
  181. package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
  182. package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +1 -1
  183. package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +2 -2
  184. package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.d.ts.map +1 -1
  185. package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.js +3 -4
  186. package/dist/service/cloudformation/template/node/fn/if/sim-cfn-fn-if.js.map +1 -1
  187. package/dist/service/cloudformation/template/node/fn/select/sim-cfn-fn-select.js +1 -1
  188. package/dist/service/cloudformation/watch/sim-cfn-template-file-events.js +1 -1
  189. package/dist/service/cloudformation/watch/sim-cfn-template-watch-report.js +2 -2
  190. package/dist/service/cloudfront/cff/adapter/sim-cff-request-metadata-adapter.js +3 -3
  191. package/dist/service/cloudfront/cff/function-code-module/cff-code-module-file.js +1 -1
  192. package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts.map +1 -1
  193. package/dist/service/cloudfront/cff/sim-cloudfront-function.js.map +1 -1
  194. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.d.ts.map +1 -1
  195. package/dist/service/cloudfront/cfn/cff/sim-cfn-cff-create-input-builder.js.map +1 -1
  196. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-config-validator.d.ts.map +1 -1
  197. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-config-validator.js.map +1 -1
  198. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.d.ts.map +1 -1
  199. package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-deleter.js.map +1 -1
  200. package/dist/service/cloudfront/cfn/origin-access-control/sim-cfn-cf-oac-config.d.ts +39 -0
  201. package/dist/service/cloudfront/cfn/origin-access-control/sim-cfn-cf-oac-config.d.ts.map +1 -0
  202. package/dist/service/cloudfront/cfn/origin-access-control/sim-cfn-cf-oac-config.js +97 -0
  203. package/dist/service/cloudfront/cfn/origin-access-control/sim-cfn-cf-oac-config.js.map +1 -0
  204. package/dist/service/cloudfront/cfn/origin-access-control/sim-cfn-cf-oac-creator.d.ts +25 -0
  205. package/dist/service/cloudfront/cfn/origin-access-control/sim-cfn-cf-oac-creator.d.ts.map +1 -0
  206. package/dist/service/cloudfront/cfn/origin-access-control/sim-cfn-cf-oac-creator.js +33 -0
  207. package/dist/service/cloudfront/cfn/origin-access-control/sim-cfn-cf-oac-creator.js.map +1 -0
  208. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-config.js +2 -2
  209. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.d.ts.map +1 -1
  210. package/dist/service/cloudfront/cfn/response-headers-policy/sim-cfn-cf-rh-policy-creator.js.map +1 -1
  211. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +1 -0
  212. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts.map +1 -1
  213. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +12 -0
  214. package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js.map +1 -1
  215. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +8 -1
  216. package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts.map +1 -1
  217. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +2 -0
  218. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts.map +1 -1
  219. package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.js.map +1 -1
  220. package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.d.ts.map +1 -1
  221. package/dist/service/cloudfront/command/create-distribution/sim-cf-distro-config-normalizer.js.map +1 -1
  222. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts +2 -0
  223. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts.map +1 -1
  224. package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.js.map +1 -1
  225. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts +2 -0
  226. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts.map +1 -1
  227. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js +1 -1
  228. package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js.map +1 -1
  229. package/dist/service/cloudfront/distribution/configurator/sim-cff-associations-configure.d.ts.map +1 -1
  230. package/dist/service/cloudfront/distribution/configurator/sim-cff-associations-configure.js.map +1 -1
  231. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js.map +1 -1
  232. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +19 -1
  233. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts.map +1 -1
  234. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +51 -4
  235. package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js.map +1 -1
  236. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts +2 -0
  237. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts.map +1 -1
  238. package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.js.map +1 -1
  239. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +20 -0
  240. package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts.map +1 -1
  241. package/dist/service/cloudfront/error/sim-cloudfront.error.js +24 -0
  242. package/dist/service/cloudfront/error/sim-cloudfront.error.js.map +1 -1
  243. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-access-identity.d.ts +14 -0
  244. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-access-identity.d.ts.map +1 -0
  245. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-access-identity.js +19 -0
  246. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-access-identity.js.map +1 -0
  247. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-bucket.d.ts +14 -0
  248. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-bucket.d.ts.map +1 -0
  249. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-bucket.js +2 -0
  250. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-bucket.js.map +1 -0
  251. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-object-key.d.ts +17 -0
  252. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-object-key.d.ts.map +1 -0
  253. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-object-key.js +23 -0
  254. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-object-key.js.map +1 -0
  255. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-object-loader.d.ts +31 -0
  256. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-object-loader.d.ts.map +1 -0
  257. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-object-loader.js +54 -0
  258. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-object-loader.js.map +1 -0
  259. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-resolver-factory.d.ts +11 -2
  260. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-resolver-factory.d.ts.map +1 -1
  261. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-resolver-factory.js +19 -6
  262. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-resolver-factory.js.map +1 -1
  263. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.d.ts +32 -0
  264. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.d.ts.map +1 -0
  265. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +51 -0
  266. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js.map +1 -0
  267. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-signer.d.ts +26 -0
  268. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-signer.d.ts.map +1 -0
  269. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-signer.js +36 -0
  270. package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-signer.js.map +1 -0
  271. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.d.ts +25 -9
  272. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.d.ts.map +1 -1
  273. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js +40 -48
  274. package/dist/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.js.map +1 -1
  275. package/dist/service/cloudfront/origin-access-control/sim-cf-origin-access-control-registry.d.ts +28 -0
  276. package/dist/service/cloudfront/origin-access-control/sim-cf-origin-access-control-registry.d.ts.map +1 -0
  277. package/dist/service/cloudfront/origin-access-control/sim-cf-origin-access-control-registry.js +41 -0
  278. package/dist/service/cloudfront/origin-access-control/sim-cf-origin-access-control-registry.js.map +1 -0
  279. package/dist/service/cloudfront/origin-access-control/sim-cf-origin-access-control.d.ts +61 -0
  280. package/dist/service/cloudfront/origin-access-control/sim-cf-origin-access-control.d.ts.map +1 -0
  281. package/dist/service/cloudfront/origin-access-control/sim-cf-origin-access-control.js +53 -0
  282. package/dist/service/cloudfront/origin-access-control/sim-cf-origin-access-control.js.map +1 -0
  283. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts +10 -0
  284. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.d.ts.map +1 -1
  285. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js +22 -2
  286. package/dist/service/cloudfront/resolver/sim-cloudfront-path-pattern.js.map +1 -1
  287. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +3 -0
  288. package/dist/service/cloudfront/sim-cloudfront-commands.d.ts.map +1 -1
  289. package/dist/service/cloudfront/sim-cloudfront-commands.js +3 -0
  290. package/dist/service/cloudfront/sim-cloudfront-commands.js.map +1 -1
  291. package/dist/service/cloudfront/sim-cloudfront-service-principal.d.ts +9 -0
  292. package/dist/service/cloudfront/sim-cloudfront-service-principal.d.ts.map +1 -0
  293. package/dist/service/cloudfront/sim-cloudfront-service-principal.js +9 -0
  294. package/dist/service/cloudfront/sim-cloudfront-service-principal.js.map +1 -0
  295. package/dist/service/cloudfront/sim-cloudfront.d.ts +19 -0
  296. package/dist/service/cloudfront/sim-cloudfront.d.ts.map +1 -1
  297. package/dist/service/cloudfront/sim-cloudfront.js +26 -0
  298. package/dist/service/cloudfront/sim-cloudfront.js.map +1 -1
  299. package/dist/service/cognito/command/auth/auth.command.d.ts.map +1 -1
  300. package/dist/service/cognito/command/auth/sim-cognito-new-password-challenge.d.ts.map +1 -1
  301. package/dist/service/cognito/command/auth/sim-cognito-new-password-challenge.js +0 -1
  302. package/dist/service/cognito/command/auth/sim-cognito-new-password-challenge.js.map +1 -1
  303. package/dist/service/cognito/command/client/list-user-pool-clients.command.d.ts.map +1 -1
  304. package/dist/service/cognito/command/user-pool/user-pool.command.d.ts.map +1 -1
  305. package/dist/service/cognito/serve/sim-cognito-openid-configuration.d.ts.map +1 -1
  306. package/dist/service/cognito/serve/sim-cognito-openid-configuration.js.map +1 -1
  307. package/dist/service/cognito/user-pool/auth/sim-cognito-secret-hash.js +1 -1
  308. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.d.ts.map +1 -1
  309. package/dist/service/cognito/user-pool/client/sim-cognito-token-lifetime.js.map +1 -1
  310. package/dist/service/cognito/user-pool/message/sim-cognito-message-occasion.d.ts.map +1 -1
  311. package/dist/service/cognito/user-pool/message/sim-cognito-verification-messages.d.ts.map +1 -1
  312. package/dist/service/cognito/user-pool/message/sim-cognito-verification-messages.js.map +1 -1
  313. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.d.ts.map +1 -1
  314. package/dist/service/cognito/user-pool/sim-cognito-user-pool-settings.js.map +1 -1
  315. package/dist/service/cognito/user-pool/token/sim-cognito-access-token.d.ts.map +1 -1
  316. package/dist/service/cognito/user-pool/token/sim-cognito-access-token.js +0 -2
  317. package/dist/service/cognito/user-pool/token/sim-cognito-access-token.js.map +1 -1
  318. package/dist/service/cognito/user-pool/token/sim-cognito-group-override.js +1 -1
  319. package/dist/service/cognito/user-pool/token/sim-cognito-id-token.d.ts.map +1 -1
  320. package/dist/service/cognito/user-pool/token/sim-cognito-id-token.js +0 -2
  321. package/dist/service/cognito/user-pool/token/sim-cognito-id-token.js.map +1 -1
  322. package/dist/service/cognito/user-pool/token/sim-cognito-token-claims.d.ts.map +1 -1
  323. package/dist/service/cognito/user-pool/token/sim-cognito-token-claims.js.map +1 -1
  324. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.d.ts.map +1 -1
  325. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js +1 -0
  326. package/dist/service/cognito/user-pool/trigger/sim-aws-cognito-trigger-functions.js.map +1 -1
  327. package/dist/service/cognito/user-pool/user/sim-cognito-user-status.d.ts.map +1 -1
  328. package/dist/service/cognito/user-pool/user/sim-cognito-user-status.js.map +1 -1
  329. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
  330. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
  331. package/dist/service/dynamodb/command/batch/batch.command.d.ts.map +1 -1
  332. package/dist/service/dynamodb/command/batch/sim-dynamodb-batch-reads.d.ts.map +1 -1
  333. package/dist/service/dynamodb/command/batch/sim-dynamodb-batch-reads.js.map +1 -1
  334. package/dist/service/dynamodb/command/batch/sim-dynamodb-batch-writes.d.ts.map +1 -1
  335. package/dist/service/dynamodb/command/batch/sim-dynamodb-batch-writes.js.map +1 -1
  336. package/dist/service/dynamodb/command/item/item.command.d.ts.map +1 -1
  337. package/dist/service/dynamodb/command/item/item.types.d.ts.map +1 -1
  338. package/dist/service/dynamodb/command/item/sim-dynamodb-condition-check.d.ts.map +1 -1
  339. package/dist/service/dynamodb/command/item/sim-dynamodb-condition-check.js.map +1 -1
  340. package/dist/service/dynamodb/command/item/sim-dynamodb-item-page.d.ts.map +1 -1
  341. package/dist/service/dynamodb/command/item/sim-dynamodb-item-page.js.map +1 -1
  342. package/dist/service/dynamodb/command/item/sim-dynamodb-unsimulated-item-write-input.d.ts.map +1 -1
  343. package/dist/service/dynamodb/command/item/sim-dynamodb-unsimulated-item-write-input.js.map +1 -1
  344. package/dist/service/dynamodb/command/query/query.command.d.ts.map +1 -1
  345. package/dist/service/dynamodb/command/query/sim-dynamodb-query-start-key.d.ts.map +1 -1
  346. package/dist/service/dynamodb/command/query/sim-dynamodb-query-start-key.js.map +1 -1
  347. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts.map +1 -1
  348. package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js.map +1 -1
  349. package/dist/service/dynamodb/command/scan/scan.command.d.ts.map +1 -1
  350. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-start-key.d.ts.map +1 -1
  351. package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-start-key.js.map +1 -1
  352. package/dist/service/dynamodb/command/stream/stream.types.d.ts.map +1 -1
  353. package/dist/service/dynamodb/command/table/table.command.d.ts.map +1 -1
  354. package/dist/service/dynamodb/command/table/table.types.d.ts.map +1 -1
  355. package/dist/service/dynamodb/command/time-to-live/time-to-live.command.d.ts.map +1 -1
  356. package/dist/service/dynamodb/command/time-to-live/time-to-live.types.d.ts.map +1 -1
  357. package/dist/service/dynamodb/command/transact/transact.command.d.ts.map +1 -1
  358. package/dist/service/dynamodb/document/sim-dynamodb-document-path.js +2 -2
  359. package/dist/service/dynamodb/error/dynamodb.error.d.ts.map +1 -1
  360. package/dist/service/dynamodb/error/dynamodb.error.js.map +1 -1
  361. package/dist/service/dynamodb/expression/sim-dynamodb-document-path.d.ts.map +1 -1
  362. package/dist/service/dynamodb/expression/sim-dynamodb-document-path.js.map +1 -1
  363. package/dist/service/dynamodb/expression/sim-dynamodb-expression-parameters.d.ts.map +1 -1
  364. package/dist/service/dynamodb/expression/sim-dynamodb-expression-parameters.js.map +1 -1
  365. package/dist/service/dynamodb/expression/sim-dynamodb-expression-token.d.ts.map +1 -1
  366. package/dist/service/dynamodb/expression/update/sim-dynamodb-update-erase.js +1 -1
  367. package/dist/service/dynamodb/expression/update/sim-dynamodb-update-write.js +1 -1
  368. package/dist/service/dynamodb/item/sim-dynamodb-number.js +1 -1
  369. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-indexes.d.ts.map +1 -1
  370. package/dist/service/dynamodb/secondary-index/sim-dynamodb-local-secondary-indexes.js.map +1 -1
  371. package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-indexes.d.ts.map +1 -1
  372. package/dist/service/dynamodb/secondary-index/sim-dynamodb-secondary-indexes.js.map +1 -1
  373. package/dist/service/dynamodb/stream/sim-dynamodb-stream.types.d.ts.map +1 -1
  374. package/dist/service/dynamodb/stream/sim-dynamodb-streamed-orders.factory.js +1 -1
  375. package/dist/service/dynamodb/table/sim-dynamodb-item-key.d.ts.map +1 -1
  376. package/dist/service/dynamodb/table/sim-dynamodb-item-key.js.map +1 -1
  377. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts.map +1 -1
  378. package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js.map +1 -1
  379. package/dist/service/iam/authorize/sim-iam-wildcard.js +1 -1
  380. package/dist/service/iam/cfn/policy/sim-cfn-iam-policy-creator.js +1 -1
  381. package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.d.ts.map +1 -1
  382. package/dist/service/iam/command/policy/create-policy/create-policy-record-factory.js.map +1 -1
  383. package/dist/service/iam/command/policy/create-policy/create-policy.command.d.ts.map +1 -1
  384. package/dist/service/iam/command/policy/put-role-policy/put-role-policy.command.d.ts.map +1 -1
  385. package/dist/service/iam/command/policy/put-user-policy/put-user-policy.command.d.ts.map +1 -1
  386. package/dist/service/iam/command/role/create-role/create-role-record-factory.d.ts.map +1 -1
  387. package/dist/service/iam/command/role/create-role/create-role-record-factory.js.map +1 -1
  388. package/dist/service/iam/credential/session/sim-iam-session-manager.d.ts.map +1 -1
  389. package/dist/service/iam/credential/session/sim-iam-session-manager.js +2 -4
  390. package/dist/service/iam/credential/session/sim-iam-session-manager.js.map +1 -1
  391. package/dist/service/iam/policy/sim-iam-pol-document-statements.js +1 -1
  392. package/dist/service/iam/policy/sim-iam-pol-document-statements.js.map +1 -1
  393. package/dist/service/iam/policy/sim-iam-policy.d.ts.map +1 -1
  394. package/dist/service/iam/principal/sim-iam-principal.d.ts.map +1 -1
  395. package/dist/service/iam/registry/sim-iam-registry.d.ts.map +1 -1
  396. package/dist/service/iam/registry/sim-iam-registry.js +2 -3
  397. package/dist/service/iam/registry/sim-iam-registry.js.map +1 -1
  398. package/dist/service/iam/request/error/sim-aws-request-auth.error.d.ts.map +1 -1
  399. package/dist/service/iam/request/error/sim-aws-request-auth.error.js.map +1 -1
  400. package/dist/service/iam/role/arn/sim-iam-role-arn.js.map +1 -1
  401. package/dist/service/iam/role/sim-iam-role.d.ts.map +1 -1
  402. package/dist/service/iam/user/arn/sim-iam-user-arn.js.map +1 -1
  403. package/dist/service/iam/validate/sim-iam-policy-document-validator.js +1 -1
  404. package/dist/service/iam/validate/sim-iam-policy-document-validator.js.map +1 -1
  405. package/dist/service/iam/validate/trust/sim-iam-trust-policy-document-validator.js +1 -1
  406. package/dist/service/iam/validate/trust/sim-iam-trust-policy-document-validator.js.map +1 -1
  407. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.d.ts.map +1 -1
  408. package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js.map +1 -1
  409. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.d.ts +5 -1
  410. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.d.ts.map +1 -1
  411. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.js +5 -1
  412. package/dist/service/lambda/cfn/function/sim-cfn-lambda-runtime-skip.js.map +1 -1
  413. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.d.ts.map +1 -1
  414. package/dist/service/lambda/cfn/sim-cfn-lambda-resource-deleter.js.map +1 -1
  415. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts.map +1 -1
  416. package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js.map +1 -1
  417. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queues.d.ts.map +1 -1
  418. package/dist/service/lambda/event-source/queue/sim-lambda-event-source-queues.js.map +1 -1
  419. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.d.ts.map +1 -1
  420. package/dist/service/lambda/event-source/sim-lambda-event-source-arn.js.map +1 -1
  421. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts.map +1 -1
  422. package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js.map +1 -1
  423. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.d.ts.map +1 -1
  424. package/dist/service/lambda/function/code/sim-lambda-vm-zip-code-factory.js.map +1 -1
  425. package/dist/service/lambda/function/environment/sim-lambda-environment-conflicts.js +2 -2
  426. package/dist/service/lambda/function/environment/sim-lambda-process-environment.js +1 -1
  427. package/dist/service/lambda/function/invoke/sim-lambda-handler-runner.js +1 -1
  428. package/dist/service/lambda/function/invoke/sim-lambda-handler-runner.js.map +1 -1
  429. package/dist/service/lambda/function/sim-lambda-function.d.ts.map +1 -1
  430. package/dist/service/lambda/function/sim-lambda-function.js.map +1 -1
  431. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.d.ts.map +1 -1
  432. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.js +1 -1
  433. package/dist/service/rekognition/face/sim-rekognition-face-detail-builder.js.map +1 -1
  434. package/dist/service/rekognition/face/sim-rekognition-face-landmark-points.js +2 -2
  435. package/dist/service/rekognition/label/sim-rekognition-label-declaration.d.ts.map +1 -1
  436. package/dist/service/rekognition/label/sim-rekognition-label-declaration.js.map +1 -1
  437. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.d.ts.map +1 -1
  438. package/dist/service/rekognition/moderation/sim-rekognition-moderation-result.js.map +1 -1
  439. package/dist/service/rekognition/sample/sim-rekognition-sample-image-files.js +1 -1
  440. package/dist/service/route53/command/list-resource-record-sets/list-resource-record-sets.command.d.ts.map +1 -1
  441. package/dist/service/route53/command/list-resource-record-sets/record-set-output.d.ts.map +1 -1
  442. package/dist/service/route53/command/list-resource-record-sets/record-set-output.js +2 -4
  443. package/dist/service/route53/command/list-resource-record-sets/record-set-output.js.map +1 -1
  444. package/dist/service/route53/dns/dns-record-type.d.ts.map +1 -1
  445. package/dist/service/route53/dns/dns-record-type.js +2 -4
  446. package/dist/service/route53/dns/dns-record-type.js.map +1 -1
  447. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +5 -0
  448. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts.map +1 -1
  449. package/dist/service/s3/bucket/sim-s3-bucket-access.js +13 -1
  450. package/dist/service/s3/bucket/sim-s3-bucket-access.js.map +1 -1
  451. package/dist/service/s3/bucket/sim-s3-bucket-system-metadata.d.ts +29 -0
  452. package/dist/service/s3/bucket/sim-s3-bucket-system-metadata.d.ts.map +1 -0
  453. package/dist/service/s3/bucket/sim-s3-bucket-system-metadata.js +32 -0
  454. package/dist/service/s3/bucket/sim-s3-bucket-system-metadata.js.map +1 -0
  455. package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -0
  456. package/dist/service/s3/bucket/sim-s3-bucket.d.ts.map +1 -1
  457. package/dist/service/s3/bucket/sim-s3-bucket.js +13 -0
  458. package/dist/service/s3/bucket/sim-s3-bucket.js.map +1 -1
  459. package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +17 -0
  460. package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts.map +1 -0
  461. package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +40 -0
  462. package/dist/service/s3/bucket/sim-s3-public-read.fixture.js.map +1 -0
  463. package/dist/service/s3/bucket/website/redirect/s3-bucket-website-redirects.js +1 -1
  464. package/dist/service/s3/bucket/website/redirect/s3-bucket-website-redirects.js.map +1 -1
  465. package/dist/service/s3/command/authorize/sim-s3-condition-context.d.ts +14 -0
  466. package/dist/service/s3/command/authorize/sim-s3-condition-context.d.ts.map +1 -0
  467. package/dist/service/s3/command/authorize/sim-s3-condition-context.js +22 -0
  468. package/dist/service/s3/command/authorize/sim-s3-condition-context.js.map +1 -0
  469. package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +2 -5
  470. package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts.map +1 -1
  471. package/dist/service/s3/command/create-bucket/create-bucket.handler.js +2 -0
  472. package/dist/service/s3/command/create-bucket/create-bucket.handler.js.map +1 -1
  473. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.d.ts +2 -2
  474. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.d.ts.map +1 -1
  475. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.js +4 -2
  476. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.js.map +1 -1
  477. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.d.ts +2 -5
  478. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.d.ts.map +1 -1
  479. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.js +1 -1
  480. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.js.map +1 -1
  481. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.d.ts +2 -2
  482. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.d.ts.map +1 -1
  483. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js +4 -2
  484. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy-authorizer.js.map +1 -1
  485. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.d.ts +2 -5
  486. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.d.ts.map +1 -1
  487. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.js +1 -1
  488. package/dist/service/s3/command/delete-bucket-policy/delete-bucket-policy.handler.js.map +1 -1
  489. package/dist/service/s3/command/delete-object/delete-object-authorizer.d.ts +2 -2
  490. package/dist/service/s3/command/delete-object/delete-object-authorizer.d.ts.map +1 -1
  491. package/dist/service/s3/command/delete-object/delete-object-authorizer.js +4 -2
  492. package/dist/service/s3/command/delete-object/delete-object-authorizer.js.map +1 -1
  493. package/dist/service/s3/command/delete-object/delete-object.handler.d.ts +2 -5
  494. package/dist/service/s3/command/delete-object/delete-object.handler.d.ts.map +1 -1
  495. package/dist/service/s3/command/delete-object/delete-object.handler.js +1 -1
  496. package/dist/service/s3/command/delete-object/delete-object.handler.js.map +1 -1
  497. package/dist/service/s3/command/delete-objects/delete-objects-key-removal.d.ts +2 -2
  498. package/dist/service/s3/command/delete-objects/delete-objects-key-removal.d.ts.map +1 -1
  499. package/dist/service/s3/command/delete-objects/delete-objects-key-removal.js +2 -2
  500. package/dist/service/s3/command/delete-objects/delete-objects-key-removal.js.map +1 -1
  501. package/dist/service/s3/command/delete-objects/delete-objects.handler.d.ts +2 -5
  502. package/dist/service/s3/command/delete-objects/delete-objects.handler.d.ts.map +1 -1
  503. package/dist/service/s3/command/delete-objects/delete-objects.handler.js +1 -1
  504. package/dist/service/s3/command/delete-objects/delete-objects.handler.js.map +1 -1
  505. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.d.ts +2 -5
  506. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.d.ts.map +1 -1
  507. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.js +1 -1
  508. package/dist/service/s3/command/delete-public-access-block/delete-public-access-block.handler.js.map +1 -1
  509. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.command.d.ts.map +1 -1
  510. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.handler.d.ts +2 -5
  511. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.handler.d.ts.map +1 -1
  512. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.handler.js +1 -1
  513. package/dist/service/s3/command/get-bucket-notification-configuration/get-bucket-notification-configuration.handler.js.map +1 -1
  514. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.d.ts +2 -2
  515. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.d.ts.map +1 -1
  516. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js +4 -2
  517. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy-authorizer.js.map +1 -1
  518. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.d.ts +2 -5
  519. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.d.ts.map +1 -1
  520. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.js +1 -1
  521. package/dist/service/s3/command/get-bucket-policy/get-bucket-policy.handler.js.map +1 -1
  522. package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +6 -2
  523. package/dist/service/s3/command/get-object/get-object-authorizer.d.ts.map +1 -1
  524. package/dist/service/s3/command/get-object/get-object-authorizer.js +8 -2
  525. package/dist/service/s3/command/get-object/get-object-authorizer.js.map +1 -1
  526. package/dist/service/s3/command/get-object/get-object.handler.d.ts +2 -5
  527. package/dist/service/s3/command/get-object/get-object.handler.d.ts.map +1 -1
  528. package/dist/service/s3/command/get-object/get-object.handler.js +1 -1
  529. package/dist/service/s3/command/get-object/get-object.handler.js.map +1 -1
  530. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.d.ts +2 -5
  531. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.d.ts.map +1 -1
  532. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.js +1 -1
  533. package/dist/service/s3/command/get-public-access-block/get-public-access-block.handler.js.map +1 -1
  534. package/dist/service/s3/command/list-buckets/list-buckets-authorizer.d.ts +2 -2
  535. package/dist/service/s3/command/list-buckets/list-buckets-authorizer.d.ts.map +1 -1
  536. package/dist/service/s3/command/list-buckets/list-buckets-authorizer.js +4 -2
  537. package/dist/service/s3/command/list-buckets/list-buckets-authorizer.js.map +1 -1
  538. package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts +2 -5
  539. package/dist/service/s3/command/list-buckets/list-buckets.handler.d.ts.map +1 -1
  540. package/dist/service/s3/command/list-buckets/list-buckets.handler.js +1 -1
  541. package/dist/service/s3/command/list-buckets/list-buckets.handler.js.map +1 -1
  542. package/dist/service/s3/command/list-objects/list-objects-authorizer.d.ts +2 -2
  543. package/dist/service/s3/command/list-objects/list-objects-authorizer.d.ts.map +1 -1
  544. package/dist/service/s3/command/list-objects/list-objects-authorizer.js +3 -1
  545. package/dist/service/s3/command/list-objects/list-objects-authorizer.js.map +1 -1
  546. package/dist/service/s3/command/list-objects/list-objects.handler.d.ts +2 -5
  547. package/dist/service/s3/command/list-objects/list-objects.handler.d.ts.map +1 -1
  548. package/dist/service/s3/command/list-objects/list-objects.handler.js +1 -1
  549. package/dist/service/s3/command/list-objects/list-objects.handler.js.map +1 -1
  550. package/dist/service/s3/command/notification/sim-s3-notification-authorizer.d.ts +3 -3
  551. package/dist/service/s3/command/notification/sim-s3-notification-authorizer.d.ts.map +1 -1
  552. package/dist/service/s3/command/notification/sim-s3-notification-authorizer.js +8 -6
  553. package/dist/service/s3/command/notification/sim-s3-notification-authorizer.js.map +1 -1
  554. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.d.ts +3 -3
  555. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.d.ts.map +1 -1
  556. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js +8 -6
  557. package/dist/service/s3/command/public-access-block/sim-s3-public-access-block-authorizer.js.map +1 -1
  558. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.command.d.ts.map +1 -1
  559. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.handler.d.ts +2 -5
  560. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.handler.d.ts.map +1 -1
  561. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.handler.js +1 -1
  562. package/dist/service/s3/command/put-bucket-notification-configuration/put-bucket-notification-configuration.handler.js.map +1 -1
  563. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.d.ts +2 -2
  564. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.d.ts.map +1 -1
  565. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.js +4 -2
  566. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy-authorizer.js.map +1 -1
  567. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts +2 -5
  568. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.d.ts.map +1 -1
  569. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js +1 -1
  570. package/dist/service/s3/command/put-bucket-policy/put-bucket-policy.handler.js.map +1 -1
  571. package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.d.ts +2 -2
  572. package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.d.ts.map +1 -1
  573. package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.js +4 -2
  574. package/dist/service/s3/command/put-bucket-website/put-bucket-website-authorizer.js.map +1 -1
  575. package/dist/service/s3/command/put-bucket-website/put-bucket-website.command.d.ts.map +1 -1
  576. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts +2 -5
  577. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.d.ts.map +1 -1
  578. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js +1 -1
  579. package/dist/service/s3/command/put-bucket-website/put-bucket-website.handler.js.map +1 -1
  580. package/dist/service/s3/command/put-object/put-object-authorizer.d.ts +2 -2
  581. package/dist/service/s3/command/put-object/put-object-authorizer.d.ts.map +1 -1
  582. package/dist/service/s3/command/put-object/put-object-authorizer.js +4 -2
  583. package/dist/service/s3/command/put-object/put-object-authorizer.js.map +1 -1
  584. package/dist/service/s3/command/put-object/put-object.handler.d.ts +2 -5
  585. package/dist/service/s3/command/put-object/put-object.handler.d.ts.map +1 -1
  586. package/dist/service/s3/command/put-object/put-object.handler.js +1 -1
  587. package/dist/service/s3/command/put-object/put-object.handler.js.map +1 -1
  588. package/dist/service/s3/command/put-public-access-block/put-public-access-block.command.d.ts.map +1 -1
  589. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.d.ts +2 -5
  590. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.d.ts.map +1 -1
  591. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.js +1 -1
  592. package/dist/service/s3/command/put-public-access-block/put-public-access-block.handler.js.map +1 -1
  593. package/dist/service/s3/command/sim-s3-request-options.d.ts +40 -0
  594. package/dist/service/s3/command/sim-s3-request-options.d.ts.map +1 -1
  595. package/dist/service/s3/command/sim-s3-request-options.js +19 -1
  596. package/dist/service/s3/command/sim-s3-request-options.js.map +1 -1
  597. package/dist/service/s3/index.d.ts +2 -0
  598. package/dist/service/s3/index.d.ts.map +1 -1
  599. package/dist/service/s3/mount/sim-s3-mount-directory-events.js +1 -1
  600. package/dist/service/s3/mount/sim-s3-mount.type.d.ts +27 -0
  601. package/dist/service/s3/mount/sim-s3-mount.type.d.ts.map +1 -1
  602. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.d.ts.map +1 -1
  603. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js +1 -0
  604. package/dist/service/s3/notification/destination/lambda/sim-aws-s3-notification-functions.js.map +1 -1
  605. package/dist/service/s3/notification/sim-s3-notification-failures.js +1 -1
  606. package/dist/service/s3/object/s3-declared-system-metadata.d.ts +63 -0
  607. package/dist/service/s3/object/s3-declared-system-metadata.d.ts.map +1 -0
  608. package/dist/service/s3/object/s3-declared-system-metadata.js +82 -0
  609. package/dist/service/s3/object/s3-declared-system-metadata.js.map +1 -0
  610. package/dist/service/s3/object/s3-key-prefix-metadata.d.ts +32 -0
  611. package/dist/service/s3/object/s3-key-prefix-metadata.d.ts.map +1 -0
  612. package/dist/service/s3/object/s3-key-prefix-metadata.js +25 -0
  613. package/dist/service/s3/object/s3-key-prefix-metadata.js.map +1 -0
  614. package/dist/service/s3/object/s3-system-metadata-declaration.type.d.ts +38 -0
  615. package/dist/service/s3/object/s3-system-metadata-declaration.type.d.ts.map +1 -0
  616. package/dist/service/s3/object/s3-system-metadata-declaration.type.js +2 -0
  617. package/dist/service/s3/object/s3-system-metadata-declaration.type.js.map +1 -0
  618. package/dist/service/s3/object/s3-system-metadata.d.ts +19 -0
  619. package/dist/service/s3/object/s3-system-metadata.d.ts.map +1 -1
  620. package/dist/service/s3/object/s3-system-metadata.js +19 -0
  621. package/dist/service/s3/object/s3-system-metadata.js.map +1 -1
  622. package/dist/service/s3/serve/sim-s3-route.d.ts.map +1 -1
  623. package/dist/service/s3/serve/sim-s3-route.js.map +1 -1
  624. package/dist/service/s3/sim-s3.d.ts +7 -0
  625. package/dist/service/s3/sim-s3.d.ts.map +1 -1
  626. package/dist/service/s3/sim-s3.js +7 -0
  627. package/dist/service/s3/sim-s3.js.map +1 -1
  628. package/dist/service/s3/storage/filesystem/filesystem-path-exists.js +1 -1
  629. package/dist/service/s3/storage/filesystem/s3-filesystem-object-keys.js +1 -1
  630. package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.d.ts +6 -1
  631. package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.d.ts.map +1 -1
  632. package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.js +7 -1
  633. package/dist/service/s3/storage/filesystem/s3-filesystem-object-metadata.js.map +1 -1
  634. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +8 -0
  635. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts.map +1 -1
  636. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +8 -4
  637. package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js.map +1 -1
  638. package/dist/service/secretsmanager/secret/generate/sim-secrets-manager-password-character-set.js +1 -1
  639. package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-arn.js +1 -1
  640. package/dist/service/sns/cfn/topic/sim-cfn-sns-topic-creator.js +1 -1
  641. package/dist/service/sns/command/publish/publish.command.d.ts.map +1 -1
  642. package/dist/service/sns/delivery/sim-sns-delivery-failures.js +1 -1
  643. package/dist/service/sns/filter/sim-sns-body-subject.js +1 -1
  644. package/dist/service/sns/subscription/sim-sns-subscription-protocol.d.ts.map +1 -1
  645. package/dist/service/sns/subscription/sim-sns-subscription-protocol.js.map +1 -1
  646. package/dist/service/sqs/command/message/consume.command.d.ts.map +1 -1
  647. package/dist/service/sqs/command/message/receive.command.d.ts.map +1 -1
  648. package/dist/service/sqs/command/message/send.command.d.ts.map +1 -1
  649. package/dist/service/sqs/queue/sim-sqs-redrive-policy.js +1 -1
  650. package/dist/service/ssm/command/parameter/sim-ssm-get-parameter-commands.js +1 -1
  651. package/dist/service/sts/assume/sim-sts-assume-role-request-parser.d.ts.map +1 -1
  652. package/dist/service/sts/assume/sim-sts-assume-role-request-parser.js.map +1 -1
  653. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.d.ts.map +1 -1
  654. package/dist/service/sts/auth-z/assume-role-auth-z-coordinator.js.map +1 -1
  655. package/dist/service/sts/auth-z/assume-role-target-auth-z.d.ts.map +1 -1
  656. package/dist/service/sts/auth-z/assume-role-target-auth-z.js.map +1 -1
  657. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.d.ts.map +1 -1
  658. package/dist/service/sts/auth-z/assume-role-trust-policy-authorizer.js.map +1 -1
  659. package/dist/util/background/background.js +2 -2
  660. package/dist/util/background/background.js.map +1 -1
  661. package/dist/util/background/non-deterministic-background.js +2 -2
  662. package/dist/util/background/non-deterministic-background.js.map +1 -1
  663. package/dist/util/clock/sim-clock-control.js +1 -1
  664. package/dist/util/filesystem/path.js +1 -1
  665. package/dist/util/filesystem/temporary-directory.d.ts +4 -1
  666. package/dist/util/filesystem/temporary-directory.d.ts.map +1 -1
  667. package/dist/util/filesystem/temporary-directory.js +8 -6
  668. package/dist/util/filesystem/temporary-directory.js.map +1 -1
  669. package/dist/util/jwt/sim-jwt-claims.js +1 -1
  670. package/dist/util/type-guard/json.d.ts.map +1 -1
  671. package/dist/util/type-guard/json.js +2 -2
  672. package/dist/util/type-guard/json.js.map +1 -1
  673. package/package.json +15 -12
  674. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.d.ts +0 -13
  675. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.d.ts.map +0 -1
  676. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.js +0 -36
  677. package/dist/service/s3/bucket/website/sim-s3-public-website.fixture.js.map +0 -1
@@ -0,0 +1,51 @@
1
+ import { simS3ObjectResponseHeaders } from "../../../s3/object/s3-object-response-headers.js";
2
+ const plainTextHeaders = {
3
+ "content-type": "text/plain; charset=utf-8",
4
+ };
5
+ /**
6
+ * The responses a CloudFront S3 Origin answers a Distribution with.
7
+ *
8
+ * Kept apart from the Origin because deciding what to serve and building the
9
+ * response that serves it are separate jobs, and only the first one is
10
+ * interesting.
11
+ */
12
+ export class SimCfS3OriginResponses {
13
+ bucketName;
14
+ constructor(bucketName) {
15
+ this.bucketName = bucketName;
16
+ }
17
+ /**
18
+ * Serve an Object, with no body when the request was a HEAD.
19
+ */
20
+ foundObject(object, request) {
21
+ const headers = simS3ObjectResponseHeaders(object.metadata.values, object.body.length);
22
+ if (request.method === "HEAD") {
23
+ return new Response(undefined, { status: 200, headers });
24
+ }
25
+ return new Response(object.body, { status: 200, headers });
26
+ }
27
+ /**
28
+ * Report an Object the Bucket does not hold.
29
+ */
30
+ notFound(objectKey) {
31
+ return new Response(`Object ${objectKey} not found in sim S3 Bucket ${this.bucketName}`, { status: 404, headers: plainTextHeaders });
32
+ }
33
+ /**
34
+ * The 403 S3 answers an unsigned read of an Object it has not been told to
35
+ * make public, which the Distribution's custom error response for 403 can
36
+ * then replace, as it does in CloudFront.
37
+ */
38
+ accessDenied(objectKey) {
39
+ return new Response(`Access denied reading Object ${objectKey} from sim S3 Bucket ${this.bucketName}`, { status: 403, headers: plainTextHeaders });
40
+ }
41
+ /**
42
+ * Refuse a method an S3 Origin does not answer.
43
+ */
44
+ methodNotAllowed(method) {
45
+ return new Response(`Method ${method} not allowed`, {
46
+ status: 405,
47
+ headers: { allow: "GET, HEAD", ...plainTextHeaders },
48
+ });
49
+ }
50
+ }
51
+ //# sourceMappingURL=sim-cf-s3-origin-responses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-s3-origin-responses.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAE9F,MAAM,gBAAgB,GAAG;IACvB,cAAc,EAAE,2BAA2B;CACnC,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,OAAO,sBAAsB;IACJ,UAAU;IAAvC,YAA6B,UAA2B;0BAA3B,UAAU;IAAoB,CAAC;IAE5D;;OAEG;IACH,WAAW,CAAC,MAAmB,EAAE,OAAgB;QAC/C,MAAM,OAAO,GAAG,0BAA0B,CACxC,MAAM,CAAC,QAAQ,CAAC,MAAM,EACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CACnB,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,SAAiB;QACxB,OAAO,IAAI,QAAQ,CACjB,UAAU,SAAS,+BAA+B,IAAI,CAAC,UAAU,EAAE,EACnE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,SAAiB;QAC5B,OAAO,IAAI,QAAQ,CACjB,gCAAgC,SAAS,uBAAuB,IAAI,CAAC,UAAU,EAAE,EACjF,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,MAAc;QAC7B,OAAO,IAAI,QAAQ,CAAC,UAAU,MAAM,cAAc,EAAE;YAClD,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,gBAAgB,EAAE;SACrD,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import type { SimS3RequestOptions } from "../../../s3/command/sim-s3-request-options.js";
2
+ import type { SimCloudFrontOriginAccessControl } from "../../origin-access-control/sim-cf-origin-access-control.js";
3
+ import type { SimCloudFrontOriginRequest } from "../sim-cloudfront-request-response.js";
4
+ /**
5
+ * Who a CloudFront S3 Origin reads its Bucket as.
6
+ *
7
+ * An origin access control that signs makes the read a request from the
8
+ * CloudFront service principal carrying the Distribution's ARN, which is the
9
+ * pair a Bucket policy for an origin access control is written against. Without
10
+ * one, or with a `SigningBehavior` of `never`, CloudFront sends the S3 REST
11
+ * endpoint an unsigned request, so the read is anonymous.
12
+ *
13
+ * Which Distribution the read belongs to is only known per request, so this
14
+ * answers per read rather than when the Origin is built. Nothing about the read
15
+ * could be settled earlier anyway: in a CDK stack the Bucket policy is created
16
+ * after the Distribution, because it names the Distribution's ARN.
17
+ */
18
+ export declare class SimCfS3OriginSigner {
19
+ private readonly originAccessControl;
20
+ constructor(originAccessControl?: SimCloudFrontOriginAccessControl);
21
+ /**
22
+ * The S3 request options one Origin read is made with.
23
+ */
24
+ forRequest(request: SimCloudFrontOriginRequest): SimS3RequestOptions;
25
+ }
26
+ //# sourceMappingURL=sim-cf-s3-origin-signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-s3-origin-signer.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/origin/s3/sim-cf-s3-origin-signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AAEzF,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6DAA6D,CAAC;AAEpH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAExF;;;;;;;;;;;;;GAaG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAEtB;IAEd,YAAY,mBAAmB,CAAC,EAAE,gCAAgC,EAEjE;IAED;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAUnE;CACF"}
@@ -0,0 +1,36 @@
1
+ import { simCloudFrontDistributionArn } from "../../distribution/sim-cf-distribution-view.js";
2
+ import { simCloudFrontServicePrincipal } from "../../sim-cloudfront-service-principal.js";
3
+ /**
4
+ * Who a CloudFront S3 Origin reads its Bucket as.
5
+ *
6
+ * An origin access control that signs makes the read a request from the
7
+ * CloudFront service principal carrying the Distribution's ARN, which is the
8
+ * pair a Bucket policy for an origin access control is written against. Without
9
+ * one, or with a `SigningBehavior` of `never`, CloudFront sends the S3 REST
10
+ * endpoint an unsigned request, so the read is anonymous.
11
+ *
12
+ * Which Distribution the read belongs to is only known per request, so this
13
+ * answers per read rather than when the Origin is built. Nothing about the read
14
+ * could be settled earlier anyway: in a CDK stack the Bucket policy is created
15
+ * after the Distribution, because it names the Distribution's ARN.
16
+ */
17
+ export class SimCfS3OriginSigner {
18
+ originAccessControl;
19
+ constructor(originAccessControl) {
20
+ this.originAccessControl = originAccessControl;
21
+ }
22
+ /**
23
+ * The S3 request options one Origin read is made with.
24
+ */
25
+ forRequest(request) {
26
+ if (this.originAccessControl?.signs !== true) {
27
+ return { caller: { kind: "anonymous" } };
28
+ }
29
+ return {
30
+ caller: { kind: "service", service: simCloudFrontServicePrincipal },
31
+ sourceArn: simCloudFrontDistributionArn(request.distribution),
32
+ sourceAccount: request.distribution.accountId,
33
+ };
34
+ }
35
+ }
36
+ //# sourceMappingURL=sim-cf-s3-origin-signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-s3-origin-signer.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/origin/s3/sim-cf-s3-origin-signer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAE9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAG1F;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,mBAAmB;IACb,mBAAmB,CAEtB;IAEd,YAAY,mBAAsD;QAChE,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAmC;QAC5C,IAAI,IAAI,CAAC,mBAAmB,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;YAC7C,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC;QAC3C,CAAC;QAED,OAAO;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,6BAA6B,EAAE;YACnE,SAAS,EAAE,4BAA4B,CAAC,OAAO,CAAC,YAAY,CAAC;YAC7D,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS;SAC9C,CAAC;IACJ,CAAC;CACF"}
@@ -1,33 +1,49 @@
1
- import type { SimS3Bucket } from "../../../s3/bucket/sim-s3-bucket.js";
2
1
  import type { SimCloudFrontOriginRequest } from "../sim-cloudfront-request-response.js";
3
2
  import type { SimCloudFrontOrigin } from "../sim-cloudfront-origin.js";
4
- export type SimCloudFrontS3OriginResolver = (originDomainName: string) => SimS3Bucket | undefined;
3
+ import type { SimCloudFrontOriginAccessControl } from "../../origin-access-control/sim-cf-origin-access-control.js";
4
+ import type { SimCfS3OriginBucket } from "./sim-cf-s3-origin-bucket.js";
5
+ export type SimCloudFrontS3OriginResolver = (originDomainName: string) => SimCfS3OriginBucket | undefined;
5
6
  /**
6
7
  * Default S3 Origin Resolver that returns undefined for all origin domains.
7
8
  */
8
9
  export declare function emptyCloudFrontS3OriginResolver(): undefined;
9
10
  interface SimCloudFrontS3OriginProperties {
10
- readonly bucket: SimS3Bucket;
11
+ readonly originBucket: SimCfS3OriginBucket;
11
12
  readonly originPath?: string | undefined;
13
+ readonly originAccessControl?: SimCloudFrontOriginAccessControl | undefined;
12
14
  }
13
15
  /**
14
16
  * Simulated CloudFront S3 Origin.
15
17
  *
16
18
  * This represents a basic S3 object origin, not an S3 static website endpoint.
19
+ *
20
+ * Objects are read through the ordinary GetObject command, so the Bucket policy
21
+ * decides what the Origin can serve. An Origin whose origin access control
22
+ * signs reads as the CloudFront service principal, and one without reads
23
+ * anonymously, which is the unsigned request real CloudFront sends to the S3
24
+ * REST endpoint. An Object the Bucket policy does not make readable by whoever
25
+ * the Origin is reading as is refused, and the refusal reaches the viewer as
26
+ * the Origin answering 403.
17
27
  */
18
28
  export declare class SimCloudFrontS3Origin implements SimCloudFrontOrigin {
19
- private readonly bucket;
20
- private readonly originPath;
29
+ /**
30
+ * The origin access control this Origin was created with, if any.
31
+ *
32
+ * One that signs is what makes the read below a request from the CloudFront
33
+ * service principal carrying this Distribution's ARN, so a Bucket policy
34
+ * written for an origin access control is what decides the read.
35
+ */
36
+ readonly originAccessControl: SimCloudFrontOriginAccessControl | undefined;
37
+ private readonly loader;
38
+ private readonly responses;
39
+ private readonly objectKey;
40
+ private readonly signer;
21
41
  constructor(properties: SimCloudFrontS3OriginProperties);
22
42
  /**
23
43
  * Fetch an object from the backing simulated S3 Bucket.
24
44
  */
25
45
  fetch(request: SimCloudFrontOriginRequest): Promise<Response>;
26
46
  private methodSupported;
27
- private objectKeyForRequest;
28
- private normalizeObjectKey;
29
- private foundObjectResponse;
30
- private notFoundResponse;
31
47
  }
32
48
  export {};
33
49
  //# sourceMappingURL=sim-cloudfront-s3-origin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cloudfront-s3-origin.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAGvE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,MAAM,MAAM,6BAA6B,GAAG,CAC1C,gBAAgB,EAAE,MAAM,KACrB,WAAW,GAAG,SAAS,CAAC;AAE7B;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,SAAS,CAG3D;AAED,UAAU,+BAA+B;IACvC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,YAAY,UAAU,EAAE,+BAA+B,EAGtD;IAED;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmBlE;IAED,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,gBAAgB;CAWzB"}
1
+ {"version":3,"file":"sim-cloudfront-s3-origin.d.ts","sourceRoot":"","sources":["../../../../../src/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACxF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,6DAA6D,CAAC;AACpH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAMxE,MAAM,MAAM,6BAA6B,GAAG,CAC1C,gBAAgB,EAAE,MAAM,KACrB,mBAAmB,GAAG,SAAS,CAAC;AAErC;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,SAAS,CAG3D;AAED,UAAU,+BAA+B;IACvC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,gCAAgC,GAAG,SAAS,CAAC;CAC7E;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,qBAAsB,YAAW,mBAAmB;IAC/D;;;;;;OAMG;IACH,SAAgB,mBAAmB,EAC/B,gCAAgC,GAChC,SAAS,CAAC;IAEd,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C,YAAY,UAAU,EAAE,+BAA+B,EAQtD;IAED;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,QAAQ,CAAC,CAsBlE;IAED,OAAO,CAAC,eAAe;CAGxB"}
@@ -1,4 +1,8 @@
1
- import { simS3ObjectResponseHeaders } from "../../../s3/object/s3-object-response-headers.js";
1
+ import { SimIamAccessDenied } from "../../../iam/error/sim-iam.error.js";
2
+ import { SimCfS3OriginObjectKey } from "./sim-cf-s3-origin-object-key.js";
3
+ import { SimCfS3OriginObjectLoader } from "./sim-cf-s3-origin-object-loader.js";
4
+ import { SimCfS3OriginResponses } from "./sim-cf-s3-origin-responses.js";
5
+ import { SimCfS3OriginSigner } from "./sim-cf-s3-origin-signer.js";
2
6
  /**
3
7
  * Default S3 Origin Resolver that returns undefined for all origin domains.
4
8
  */
@@ -10,67 +14,55 @@ export function emptyCloudFrontS3OriginResolver() {
10
14
  * Simulated CloudFront S3 Origin.
11
15
  *
12
16
  * This represents a basic S3 object origin, not an S3 static website endpoint.
17
+ *
18
+ * Objects are read through the ordinary GetObject command, so the Bucket policy
19
+ * decides what the Origin can serve. An Origin whose origin access control
20
+ * signs reads as the CloudFront service principal, and one without reads
21
+ * anonymously, which is the unsigned request real CloudFront sends to the S3
22
+ * REST endpoint. An Object the Bucket policy does not make readable by whoever
23
+ * the Origin is reading as is refused, and the refusal reaches the viewer as
24
+ * the Origin answering 403.
13
25
  */
14
26
  export class SimCloudFrontS3Origin {
15
- bucket;
16
- originPath;
27
+ /**
28
+ * The origin access control this Origin was created with, if any.
29
+ *
30
+ * One that signs is what makes the read below a request from the CloudFront
31
+ * service principal carrying this Distribution's ARN, so a Bucket policy
32
+ * written for an origin access control is what decides the read.
33
+ */
34
+ originAccessControl;
35
+ loader;
36
+ responses;
37
+ objectKey;
38
+ signer;
17
39
  constructor(properties) {
18
- this.bucket = properties.bucket;
19
- this.originPath = properties.originPath ?? "";
40
+ this.loader = new SimCfS3OriginObjectLoader(properties.originBucket);
41
+ this.signer = new SimCfS3OriginSigner(properties.originAccessControl);
42
+ this.responses = new SimCfS3OriginResponses(properties.originBucket.bucket.bucketName);
43
+ this.objectKey = new SimCfS3OriginObjectKey(properties.originPath ?? "");
44
+ this.originAccessControl = properties.originAccessControl;
20
45
  }
21
46
  /**
22
47
  * Fetch an object from the backing simulated S3 Bucket.
23
48
  */
24
49
  async fetch(request) {
25
- if (!this.methodSupported(request.req.method)) {
26
- return new Response(`Method ${request.req.method} not allowed`, {
27
- status: 405,
28
- headers: {
29
- allow: "GET, HEAD",
30
- "content-type": "text/plain; charset=utf-8",
31
- },
32
- });
50
+ const { method } = request.req;
51
+ if (!this.methodSupported(method)) {
52
+ return this.responses.methodNotAllowed(method);
53
+ }
54
+ const objectKey = this.objectKey.forRequest(request);
55
+ const object = await this.loader.load(objectKey, this.signer.forRequest(request));
56
+ if (object instanceof SimIamAccessDenied) {
57
+ return this.responses.accessDenied(objectKey);
33
58
  }
34
- const objectKey = this.objectKeyForRequest(request);
35
- const object = await this.bucket.getObject(objectKey);
36
59
  if (object === undefined) {
37
- return this.notFoundResponse(objectKey);
60
+ return this.responses.notFound(objectKey);
38
61
  }
39
- return this.foundObjectResponse(object, request.req);
62
+ return this.responses.foundObject(object, request.req);
40
63
  }
41
64
  methodSupported(method) {
42
65
  return method === "GET" || method === "HEAD";
43
66
  }
44
- objectKeyForRequest(request) {
45
- const url = new URL(request.req.url);
46
- const requestPath = url.pathname;
47
- return this.normalizeObjectKey(`${this.originPath}/${requestPath}`);
48
- }
49
- normalizeObjectKey(path) {
50
- return decodeURIComponent(path)
51
- .replaceAll(/\/+/gu, "/")
52
- .replace(/^\/+/u, "");
53
- }
54
- foundObjectResponse(object, request) {
55
- const headers = simS3ObjectResponseHeaders(object.metadata.values, object.body.length);
56
- if (request.method === "HEAD") {
57
- return new Response(undefined, {
58
- status: 200,
59
- headers,
60
- });
61
- }
62
- return new Response(object.body, {
63
- status: 200,
64
- headers,
65
- });
66
- }
67
- notFoundResponse(objectKey) {
68
- return new Response(`Object ${objectKey} not found in sim S3 Bucket ${this.bucket.bucketName}`, {
69
- status: 404,
70
- headers: {
71
- "content-type": "text/plain; charset=utf-8",
72
- },
73
- });
74
- }
75
67
  }
76
68
  //# sourceMappingURL=sim-cloudfront-s3-origin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cloudfront-s3-origin.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAQ9F;;GAEG;AACH,MAAM,UAAU,+BAA+B;IAC7C,oBAAoB;IACpB,OAAO;AACT,CAAC;AAOD;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IACf,MAAM,CAAc;IACpB,UAAU,CAAS;IAEpC,YAAY,UAA2C;QACrD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAmC;QAC7C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,OAAO,IAAI,QAAQ,CAAC,UAAU,OAAO,CAAC,GAAG,CAAC,MAAM,cAAc,EAAE;gBAC9D,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE;oBACP,KAAK,EAAE,WAAW;oBAClB,cAAc,EAAE,2BAA2B;iBAC5C;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEtD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACvD,CAAC;IAEO,eAAe,CAAC,MAAc;QACpC,OAAO,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC;IAC/C,CAAC;IAEO,mBAAmB,CAAC,OAAmC;QAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC;QAEjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,UAAU,IAAI,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACrC,OAAO,kBAAkB,CAAC,IAAI,CAAC;aAC5B,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC;aACxB,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC;IAEO,mBAAmB,CAAC,MAAmB,EAAE,OAAgB;QAC/D,MAAM,OAAO,GAAG,0BAA0B,CACxC,MAAM,CAAC,QAAQ,CAAC,MAAM,EACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CACnB,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,IAAI,QAAQ,CAAC,SAAS,EAAE;gBAC7B,MAAM,EAAE,GAAG;gBACX,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;YAC/B,MAAM,EAAE,GAAG;YACX,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,SAAiB;QACxC,OAAO,IAAI,QAAQ,CACjB,UAAU,SAAS,+BAA+B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAC1E;YACE,MAAM,EAAE,GAAG;YACX,OAAO,EAAE;gBACP,cAAc,EAAE,2BAA2B;aAC5C;SACF,CACF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cloudfront-s3-origin.js","sourceRoot":"","sources":["../../../../../src/service/cloudfront/origin/s3/sim-cloudfront-s3-origin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAKzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAMnE;;GAEG;AACH,MAAM,UAAU,+BAA+B;IAC7C,oBAAoB;IACpB,OAAO;AACT,CAAC;AAQD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,qBAAqB;IAChC;;;;;;OAMG;IACa,mBAAmB,CAErB;IAEG,MAAM,CAA4B;IAClC,SAAS,CAAyB;IAClC,SAAS,CAAyB;IAClC,MAAM,CAAsB;IAE7C,YAAY,UAA2C;QACrD,IAAI,CAAC,MAAM,GAAG,IAAI,yBAAyB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAsB,CACzC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAC1C,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAsB,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACzE,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAmC;QAC7C,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACnC,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAChC,CAAC;QAEF,IAAI,MAAM,YAAY,kBAAkB,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IAEO,eAAe,CAAC,MAAc;QACpC,OAAO,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,MAAM,CAAC;IAC/C,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import type { SimCloudFrontOriginAccessControl, SimCloudFrontOriginAccessControlId } from "./sim-cf-origin-access-control.js";
2
+ /**
3
+ * The origin access controls one simulated CloudFront holds.
4
+ *
5
+ * They are found by ID, which is what an Origin's `OriginAccessControlId`
6
+ * names, and by name, which is what decides whether a new one may be stored.
7
+ */
8
+ export declare class SimCloudFrontOriginAccessControlRegistry {
9
+ private readonly originAccessControls;
10
+ /**
11
+ * Store an origin access control, refusing a name another one already holds
12
+ * as CloudFront does.
13
+ */
14
+ add(originAccessControl: SimCloudFrontOriginAccessControl): void;
15
+ /**
16
+ * Forget an origin access control.
17
+ */
18
+ remove(originAccessControlId: SimCloudFrontOriginAccessControlId): void;
19
+ /**
20
+ * Get an origin access control by ID.
21
+ */
22
+ byId(originAccessControlId: SimCloudFrontOriginAccessControlId | string): SimCloudFrontOriginAccessControl | undefined;
23
+ /**
24
+ * Get an origin access control by name.
25
+ */
26
+ byName(originAccessControlName: string): SimCloudFrontOriginAccessControl | undefined;
27
+ }
28
+ //# sourceMappingURL=sim-cf-origin-access-control-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-origin-access-control-registry.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/origin-access-control/sim-cf-origin-access-control-registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gCAAgC,EAChC,kCAAkC,EAEnC,MAAM,mCAAmC,CAAC;AAE3C;;;;;GAKG;AACH,qBAAa,wCAAwC;IACnD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CACzB;IAEZ;;;OAGG;IACH,GAAG,CAAC,mBAAmB,EAAE,gCAAgC,GAAG,IAAI,CAQ/D;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB,EAAE,kCAAkC,GAAG,IAAI,CAEtE;IAED;;OAEG;IACH,IAAI,CACF,qBAAqB,EAAE,kCAAkC,GAAG,MAAM,GACjE,gCAAgC,GAAG,SAAS,CAI9C;IAED;;OAEG;IACH,MAAM,CACJ,uBAAuB,EAAE,MAAM,GAC9B,gCAAgC,GAAG,SAAS,CAO9C;CACF"}
@@ -0,0 +1,41 @@
1
+ import { SimCloudFrontOriginAccessControlAlreadyExists } from "../error/sim-cloudfront.error.js";
2
+ /**
3
+ * The origin access controls one simulated CloudFront holds.
4
+ *
5
+ * They are found by ID, which is what an Origin's `OriginAccessControlId`
6
+ * names, and by name, which is what decides whether a new one may be stored.
7
+ */
8
+ export class SimCloudFrontOriginAccessControlRegistry {
9
+ originAccessControls = new Map();
10
+ /**
11
+ * Store an origin access control, refusing a name another one already holds
12
+ * as CloudFront does.
13
+ */
14
+ add(originAccessControl) {
15
+ if (this.byName(originAccessControl.name) !== undefined) {
16
+ throw new SimCloudFrontOriginAccessControlAlreadyExists(`Sim CloudFront origin access control ${originAccessControl.name} already exists`);
17
+ }
18
+ this.originAccessControls.set(originAccessControl.id, originAccessControl);
19
+ }
20
+ /**
21
+ * Forget an origin access control.
22
+ */
23
+ remove(originAccessControlId) {
24
+ this.originAccessControls.delete(originAccessControlId);
25
+ }
26
+ /**
27
+ * Get an origin access control by ID.
28
+ */
29
+ byId(originAccessControlId) {
30
+ return this.originAccessControls.get(originAccessControlId);
31
+ }
32
+ /**
33
+ * Get an origin access control by name.
34
+ */
35
+ byName(originAccessControlName) {
36
+ return this.originAccessControls
37
+ .values()
38
+ .find((originAccessControl) => originAccessControl.name === originAccessControlName);
39
+ }
40
+ }
41
+ //# sourceMappingURL=sim-cf-origin-access-control-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-origin-access-control-registry.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/origin-access-control/sim-cf-origin-access-control-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6CAA6C,EAAE,MAAM,kCAAkC,CAAC;AAOjG;;;;;GAKG;AACH,MAAM,OAAO,wCAAwC;IAClC,oBAAoB,GACnC,IAAI,GAAG,EAAE,CAAC;IAEZ;;;OAGG;IACH,GAAG,CAAC,mBAAqD;QACvD,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,6CAA6C,CACrD,wCAAwC,mBAAmB,CAAC,IAAI,iBAAiB,CAClF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,qBAAyD;QAC9D,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,IAAI,CACF,qBAAkE;QAElE,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAClC,qBAA2D,CAC5D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,uBAA+B;QAE/B,OAAO,IAAI,CAAC,oBAAoB;aAC7B,MAAM,EAAE;aACR,IAAI,CACH,CAAC,mBAAmB,EAAE,EAAE,CACtB,mBAAmB,CAAC,IAAI,KAAK,uBAAuB,CACvD,CAAC;IACN,CAAC;CACF"}
@@ -0,0 +1,61 @@
1
+ import type { Brand } from "../../../util/brand.type.js";
2
+ export type SimCloudFrontOriginAccessControlId = Brand<string, "SimCloudFrontOriginAccessControlId">;
3
+ /**
4
+ * When CloudFront signs the request it sends to the Origin.
5
+ *
6
+ * `always` signs every request. `never` signs none, which turns the origin
7
+ * access control off without removing it. `no-override` signs a request the
8
+ * viewer did not already sign, and passes a signed one through.
9
+ */
10
+ export type SimCloudFrontOriginAccessControlSigningBehavior = "always" | "never" | "no-override";
11
+ interface SimCloudFrontOriginAccessControlProperties {
12
+ readonly id?: SimCloudFrontOriginAccessControlId;
13
+ readonly name: string;
14
+ readonly description?: string;
15
+ readonly signingBehavior: SimCloudFrontOriginAccessControlSigningBehavior;
16
+ }
17
+ /**
18
+ * Simulated CloudFront origin access control.
19
+ *
20
+ * An origin access control is attached to an Origin, and it is how a
21
+ * Distribution authenticates to a private S3 Bucket: CloudFront signs the
22
+ * Origin request with SigV4 as the CloudFront service principal, and the Bucket
23
+ * policy grants that principal on the Distribution's ARN.
24
+ *
25
+ * Only an `s3` origin type signed with `sigv4` is modelled, so those are fixed
26
+ * here rather than stored. Anything else is refused where the origin access
27
+ * control is read, rather than kept and treated as though it behaved like the
28
+ * supported values.
29
+ *
30
+ * https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html
31
+ */
32
+ export declare class SimCloudFrontOriginAccessControl {
33
+ readonly id: SimCloudFrontOriginAccessControlId;
34
+ readonly name: string;
35
+ readonly description: string | undefined;
36
+ readonly signingBehavior: SimCloudFrontOriginAccessControlSigningBehavior;
37
+ /**
38
+ * The kind of Origin this origin access control signs for.
39
+ */
40
+ readonly originType = "s3";
41
+ /**
42
+ * The protocol CloudFront signs the Origin request with.
43
+ */
44
+ readonly signingProtocol = "sigv4";
45
+ constructor(properties: SimCloudFrontOriginAccessControlProperties);
46
+ /**
47
+ * Whether this origin access control signs the request for an Origin read.
48
+ *
49
+ * `no-override` signs a request the viewer did not sign, and nothing here
50
+ * sends a pre-signed viewer request to an Origin, so it signs too.
51
+ */
52
+ get signs(): boolean;
53
+ }
54
+ export type SimCloudFrontOriginAccessControlMap = Map<SimCloudFrontOriginAccessControlId, SimCloudFrontOriginAccessControl>;
55
+ /**
56
+ * Generate a fake sim CloudFront origin access control ID, in the shape
57
+ * CloudFront gives one.
58
+ */
59
+ export declare function makeOriginAccessControlId(): SimCloudFrontOriginAccessControlId;
60
+ export {};
61
+ //# sourceMappingURL=sim-cf-origin-access-control.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-origin-access-control.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/origin-access-control/sim-cf-origin-access-control.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,MAAM,kCAAkC,GAAG,KAAK,CACpD,MAAM,EACN,oCAAoC,CACrC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,+CAA+C,GACvD,QAAQ,GACR,OAAO,GACP,aAAa,CAAC;AAElB,UAAU,0CAA0C;IAClD,QAAQ,CAAC,EAAE,CAAC,EAAE,kCAAkC,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,+CAA+C,CAAC;CAC3E;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,gCAAgC;IAC3C,SAAgB,EAAE,EAAE,kCAAkC,CAAC;IACvD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,eAAe,EAAE,+CAA+C,CAAC;IAEjF;;OAEG;IACH,SAAgB,UAAU,QAAQ;IAElC;;OAEG;IACH,SAAgB,eAAe,WAAW;IAE1C,YAAY,UAAU,EAAE,0CAA0C,EAKjE;IAED;;;;;OAKG;IACH,IAAI,KAAK,IAAI,OAAO,CAEnB;CACF;AAED,MAAM,MAAM,mCAAmC,GAAG,GAAG,CACnD,kCAAkC,EAClC,gCAAgC,CACjC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,kCAAkC,CAI9E"}
@@ -0,0 +1,53 @@
1
+ import { faker } from "@faker-js/faker";
2
+ /**
3
+ * Simulated CloudFront origin access control.
4
+ *
5
+ * An origin access control is attached to an Origin, and it is how a
6
+ * Distribution authenticates to a private S3 Bucket: CloudFront signs the
7
+ * Origin request with SigV4 as the CloudFront service principal, and the Bucket
8
+ * policy grants that principal on the Distribution's ARN.
9
+ *
10
+ * Only an `s3` origin type signed with `sigv4` is modelled, so those are fixed
11
+ * here rather than stored. Anything else is refused where the origin access
12
+ * control is read, rather than kept and treated as though it behaved like the
13
+ * supported values.
14
+ *
15
+ * https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html
16
+ */
17
+ export class SimCloudFrontOriginAccessControl {
18
+ id;
19
+ name;
20
+ description;
21
+ signingBehavior;
22
+ /**
23
+ * The kind of Origin this origin access control signs for.
24
+ */
25
+ originType = "s3";
26
+ /**
27
+ * The protocol CloudFront signs the Origin request with.
28
+ */
29
+ signingProtocol = "sigv4";
30
+ constructor(properties) {
31
+ this.id = properties.id ?? makeOriginAccessControlId();
32
+ this.name = properties.name;
33
+ this.description = properties.description;
34
+ this.signingBehavior = properties.signingBehavior;
35
+ }
36
+ /**
37
+ * Whether this origin access control signs the request for an Origin read.
38
+ *
39
+ * `no-override` signs a request the viewer did not sign, and nothing here
40
+ * sends a pre-signed viewer request to an Origin, so it signs too.
41
+ */
42
+ get signs() {
43
+ return this.signingBehavior !== "never";
44
+ }
45
+ }
46
+ /**
47
+ * Generate a fake sim CloudFront origin access control ID, in the shape
48
+ * CloudFront gives one.
49
+ */
50
+ export function makeOriginAccessControlId() {
51
+ return faker.helpers.fromRegExp(/E[0-9A-Z]{13}/);
52
+ }
53
+ //# sourceMappingURL=sim-cf-origin-access-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sim-cf-origin-access-control.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/origin-access-control/sim-cf-origin-access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AA4BxC;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,gCAAgC;IAC3B,EAAE,CAAqC;IACvC,IAAI,CAAS;IACb,WAAW,CAAqB;IAChC,eAAe,CAAkD;IAEjF;;OAEG;IACa,UAAU,GAAG,IAAI,CAAC;IAElC;;OAEG;IACa,eAAe,GAAG,OAAO,CAAC;IAE1C,YAAY,UAAsD;QAChE,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,IAAI,yBAAyB,EAAE,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,eAAe,KAAK,OAAO,CAAC;IAC1C,CAAC;CACF;AAOD;;;GAGG;AACH,MAAM,UAAU,yBAAyB;IACvC,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAC7B,eAAe,CACsB,CAAC;AAC1C,CAAC"}
@@ -23,6 +23,16 @@ export declare class SimCloudFrontPathPattern {
23
23
  */
24
24
  specificity(): number;
25
25
  private regex;
26
+ /**
27
+ * Reduce each run of stars to a single star.
28
+ *
29
+ * A star already matches across `/`, so `**` means what `*` means, and
30
+ * leaving the run would compile to `.*.*` and give the engine a needless
31
+ * amount of backtracking to do on a long near miss. Stars are collapsed as
32
+ * graphemes rather than in the raw pattern so that a star opening a cluster,
33
+ * as the keycap `*️⃣` does, stays the literal it is read as below.
34
+ */
35
+ private collapseStarRuns;
26
36
  private graphemes;
27
37
  private escapeRegexChar;
28
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cloudfront-path-pattern.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/resolver/sim-cloudfront-path-pattern.ts"],"names":[],"mappings":"AAAA,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAE/B;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,YAAY,UAAU,EAAE,kCAAkC,EAEzD;IAED;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEpC;IAED;;OAEG;IACH,WAAW,IAAI,MAAM,CAIpB;IAED,OAAO,CAAC,KAAK;IAwBb,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,eAAe;CAGxB"}
1
+ {"version":3,"file":"sim-cloudfront-path-pattern.d.ts","sourceRoot":"","sources":["../../../../src/service/cloudfront/resolver/sim-cloudfront-path-pattern.ts"],"names":[],"mappings":"AAAA,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAE/B;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,YAAY,UAAU,EAAE,kCAAkC,EAEzD;IAED;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEpC;IAED;;OAEG;IACH,WAAW,IAAI,MAAM,CAIpB;IAED,OAAO,CAAC,KAAK;IAgCb;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,eAAe;CAGxB"}
@@ -30,7 +30,7 @@ export class SimCloudFrontPathPattern {
30
30
  }).length;
31
31
  }
32
32
  regex() {
33
- const safeRegexPattern = this.graphemes(this.pathPattern)
33
+ const safeRegexPattern = this.collapseStarRuns(this.graphemes(this.pathPattern))
34
34
  .map((char) => {
35
35
  if (char === "*") {
36
36
  return ".*";
@@ -45,10 +45,30 @@ export class SimCloudFrontPathPattern {
45
45
  * Path patterns are not accepted as regex syntax. They are converted from a
46
46
  * small CloudFront-style wildcard language where only "*" and "?" have
47
47
  * special meaning. All other graphemes are escaped above.
48
+ *
49
+ * Stars the pattern keeps apart still compile to a `.*` each, and a pattern
50
+ * holding a lot of them can take a backtracking engine a long time to
51
+ * settle on a long near miss. That is left alone: a path pattern is written
52
+ * into a Distribution by whoever configured it, never carried on a request,
53
+ * so the only run a pathological one can hold up is their own.
48
54
  */
49
- // eslint-disable-next-line security/detect-non-literal-regexp
55
+ // oxlint-disable-next-line security/detect-non-literal-regexp
50
56
  return new RegExp(`^${safeRegexPattern}$`, "u");
51
57
  }
58
+ /**
59
+ * Reduce each run of stars to a single star.
60
+ *
61
+ * A star already matches across `/`, so `**` means what `*` means, and
62
+ * leaving the run would compile to `.*.*` and give the engine a needless
63
+ * amount of backtracking to do on a long near miss. Stars are collapsed as
64
+ * graphemes rather than in the raw pattern so that a star opening a cluster,
65
+ * as the keycap `*️⃣` does, stays the literal it is read as below.
66
+ */
67
+ collapseStarRuns(graphemes) {
68
+ return graphemes.filter((char, index) => {
69
+ return char !== "*" || graphemes[index - 1] !== "*";
70
+ });
71
+ }
52
72
  graphemes(value) {
53
73
  return Array.from(this.graphemeSegmenter.segment(value), (segment) => {
54
74
  return segment.segment;
@@ -1 +1 @@
1
- {"version":3,"file":"sim-cloudfront-path-pattern.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/resolver/sim-cloudfront-path-pattern.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAClB,iBAAiB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;QACjE,WAAW,EAAE,UAAU;KACxB,CAAC,CAAC;IACc,WAAW,CAAS;IAErC,YAAY,UAA8C;QACxD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,WAAmB;QACzB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACtD,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;QACtC,CAAC,CAAC,CAAC,MAAM,CAAC;IACZ,CAAC;IAEO,KAAK;QACX,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;aACtD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,OAAO,GAAG,CAAC;YACb,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ;;;;WAIG;QACH,8DAA8D;QAC9D,OAAO,IAAI,MAAM,CAAC,IAAI,gBAAgB,GAAG,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAEO,SAAS,CAAC,KAAa;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE;YACnE,OAAO,OAAO,CAAC,OAAO,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAA,KAAK,CAAC,CAAC;IAClE,CAAC;CACF"}
1
+ {"version":3,"file":"sim-cloudfront-path-pattern.js","sourceRoot":"","sources":["../../../../src/service/cloudfront/resolver/sim-cloudfront-path-pattern.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,MAAM,OAAO,wBAAwB;IAClB,iBAAiB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;QACjE,WAAW,EAAE,UAAU;KACxB,CAAC,CAAC;IACc,WAAW,CAAS;IAErC,YAAY,UAA8C;QACxD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,WAAmB;QACzB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YACtD,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC;QACtC,CAAC,CAAC,CAAC,MAAM,CAAC;IACZ,CAAC;IAEO,KAAK;QACX,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CACjC;aACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,OAAO,GAAG,CAAC;YACb,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ;;;;;;;;;;WAUG;QACH,8DAA8D;QAC9D,OAAO,IAAI,MAAM,CAAC,IAAI,gBAAgB,GAAG,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;OAQG;IACK,gBAAgB,CAAC,SAA4B;QACnD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtC,OAAO,IAAI,KAAK,GAAG,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,KAAa;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE;YACnE,OAAO,OAAO,CAAC,OAAO,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,MAAM,CAAC,GAAG,CAAA,KAAK,CAAC,CAAC;IAClE,CAAC;CACF"}
@@ -14,6 +14,7 @@ import type { SimUpdateDistributionCommand, SimUpdateDistributionCommandOutput }
14
14
  import type { SimCloudFrontDistribution, SimCloudFrontDistributionId } from "./distribution/sim-cloudfront-distribution.js";
15
15
  import type { SimCfCustomOriginDispatcher } from "./origin/custom/sim-cf-custom-origin-dispatcher.js";
16
16
  import { type SimCloudFrontS3OriginResolver } from "./origin/s3/sim-cloudfront-s3-origin.js";
17
+ import type { SimCloudFrontOriginAccessControlRegistry } from "./origin-access-control/sim-cf-origin-access-control-registry.js";
17
18
  import { SimCloudFrontRegistry } from "./registry/sim-cloud-front-registry.js";
18
19
  /**
19
20
  * How one simulated CloudFront is put together.
@@ -31,6 +32,7 @@ interface SimCloudFrontCommandsProperties extends SimCloudFrontProperties {
31
32
  readonly accountId: SimAwsAccountId;
32
33
  readonly distributions: SimCloudFrontDistributionMap;
33
34
  readonly cloudFrontFunctions: SimCloudFrontFunctionMap;
35
+ readonly originAccessControls: SimCloudFrontOriginAccessControlRegistry;
34
36
  }
35
37
  /**
36
38
  * Options carried by any simulated CloudFront request.
@@ -53,6 +55,7 @@ export declare class SimCloudFrontCommands {
53
55
  private readonly s3OriginResolver;
54
56
  private readonly customOriginDispatcher;
55
57
  private readonly acmRegistry;
58
+ private readonly originAccessControls;
56
59
  constructor(properties: SimCloudFrontCommandsProperties);
57
60
  /**
58
61
  * Handle a Create Distribution Command from the SDK.