@kensio/yulin 1.20.16 → 1.21.0
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.
- package/dist/service/athena/engine/sim-athena-comparison-shims.d.ts +13 -0
- package/dist/service/athena/engine/sim-athena-comparison-shims.js +68 -0
- package/dist/service/athena/engine/sim-athena-shims.js +2 -0
- package/dist/service/aws/caller/sim-aws-ambient-caller.d.ts +23 -0
- package/dist/service/aws/caller/sim-aws-ambient-caller.js +12 -0
- package/dist/service/aws/caller/sim-aws-caller-resolver.d.ts +17 -6
- package/dist/service/aws/caller/sim-aws-caller-resolver.js +21 -26
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.d.ts +6 -0
- package/dist/service/aws/factory/sim-aws-account-region-service-builder.js +3 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.d.ts +6 -0
- package/dist/service/aws/factory/sim-aws-account-service-cache.js +5 -1
- package/dist/service/aws/factory/sim-aws-registered-service-builder.js +3 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +9 -1
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +4 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +4 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +11 -2
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +6 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +11 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +17 -15
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +12 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cache-policy-cfn.d.ts +23 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cache-policy-cfn.js +30 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-cfn-value-adapter.js +16 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.d.ts +24 -0
- package/dist/service/cloudformation/resource/cfn/cloudfront/sim-cloudfront-orp-cfn.js +31 -0
- package/dist/service/cloudformation/resource/name/sim-cfn-generated-resource-name.d.ts +29 -12
- package/dist/service/cloudformation/resource/name/sim-cfn-generated-resource-name.js +51 -20
- package/dist/service/cloudformation/stack/deploy/sim-cfn-resource-order.d.ts +19 -0
- package/dist/service/cloudformation/stack/deploy/sim-cfn-resource-order.js +6 -0
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.d.ts +7 -0
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-batch-creator.js +9 -2
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.d.ts +2 -0
- package/dist/service/cloudformation/stack/deploy/sim-cfn-stack-resource-creator.js +2 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +6 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +4 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +2 -1
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +6 -0
- package/dist/service/cloudfront/behaviour/sim-cloud-front-behavior.d.ts +16 -0
- package/dist/service/cloudfront/cache/sim-cf-accept-encoding.d.ts +11 -0
- package/dist/service/cloudfront/cache/sim-cf-accept-encoding.js +27 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-control.d.ts +28 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-control.js +49 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.d.ts +11 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key-path.js +22 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.d.ts +32 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-entry-key.js +112 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-status.d.ts +27 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-status.js +53 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-ttl.d.ts +28 -0
- package/dist/service/cloudfront/cache/sim-cf-cache-ttl.js +50 -0
- package/dist/service/cloudfront/cache/sim-cf-cacheable-request.d.ts +35 -0
- package/dist/service/cloudfront/cache/sim-cf-cacheable-request.js +32 -0
- package/dist/service/cloudfront/cache/sim-cf-distribution-cache.d.ts +57 -0
- package/dist/service/cloudfront/cache/sim-cf-distribution-cache.js +115 -0
- package/dist/service/cloudfront/cache/sim-cf-edge.d.ts +37 -0
- package/dist/service/cloudfront/cache/sim-cf-edge.js +34 -0
- package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.d.ts +36 -0
- package/dist/service/cloudfront/cache/sim-cf-error-cache-ttl.js +28 -0
- package/dist/service/cloudfront/cache/sim-cf-http-date.d.ts +15 -0
- package/dist/service/cloudfront/cache/sim-cf-http-date.js +40 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.d.ts +63 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-key.js +70 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy-registry.d.ts +37 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy-registry.js +50 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.d.ts +35 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-cache-policy.js +49 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.d.ts +33 -0
- package/dist/service/cloudfront/cache-policy/sim-cf-managed-cache-policies.js +132 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.d.ts +8 -0
- package/dist/service/cloudfront/cff/function-code-input/cff-function-code-input.js +13 -0
- package/dist/service/cloudfront/cff/sim-cf-function-commands.d.ts +52 -0
- package/dist/service/cloudfront/cff/sim-cf-function-commands.js +51 -0
- package/dist/service/cloudfront/cff/sim-cff-configuration.d.ts +41 -0
- package/dist/service/cloudfront/cff/sim-cff-configuration.js +34 -0
- package/dist/service/cloudfront/cff/sim-cff-search-distribution.fixture.js +4 -0
- package/dist/service/cloudfront/cff/sim-cff-stage.d.ts +23 -0
- package/dist/service/cloudfront/cff/sim-cff-stage.js +30 -0
- package/dist/service/cloudfront/cff/sim-cloudfront-function.d.ts +6 -1
- package/dist/service/cloudfront/cff/sim-cloudfront-function.js +6 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.d.ts +28 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-config.js +71 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-creator.d.ts +24 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-creator.js +32 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.d.ts +10 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-key.js +50 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.d.ts +28 -0
- package/dist/service/cloudfront/cfn/cache-policy/sim-cfn-cf-cache-policy-section.js +29 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.d.ts +16 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-behavior-policy-kinds.js +23 -0
- package/dist/service/cloudfront/cfn/distro/{sim-cfn-cf-distro-response-headers-policy.d.ts → sim-cfn-cf-distro-behavior-policies.d.ts} +9 -7
- package/dist/service/cloudfront/cfn/distro/{sim-cfn-cf-distro-response-headers-policy.js → sim-cfn-cf-distro-behavior-policies.js} +12 -37
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.d.ts +6 -5
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-creator.js +8 -7
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-policy-drops.d.ts +23 -0
- package/dist/service/cloudfront/cfn/distro/sim-cfn-cf-distro-policy-drops.js +35 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.d.ts +28 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-config.js +46 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.d.ts +24 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-creator.js +32 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.d.ts +10 -0
- package/dist/service/cloudfront/cfn/origin-request-policy/sim-cfn-cf-orp-forwarding.js +51 -0
- package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.d.ts +22 -0
- package/dist/service/cloudfront/cfn/policy/sim-cfn-cf-policy-section.js +54 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.d.ts +2 -0
- package/dist/service/cloudfront/cfn/sim-cfn-cloudfront-resource-factory.js +22 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts +2 -0
- package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts +4 -0
- package/dist/service/cloudfront/command/create-function/create-function.handler.js +7 -1
- package/dist/service/cloudfront/command/function/sim-cf-describe-function.d.ts +22 -0
- package/dist/service/cloudfront/command/function/sim-cf-describe-function.js +32 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-access.d.ts +48 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-access.js +48 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-command.types.d.ts +97 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-command.types.js +10 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-lookup.d.ts +12 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-lookup.js +21 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-summary.d.ts +11 -0
- package/dist/service/cloudfront/command/function/sim-cf-function-summary.js +30 -0
- package/dist/service/cloudfront/command/function/sim-cf-get-function.d.ts +23 -0
- package/dist/service/cloudfront/command/function/sim-cf-get-function.js +33 -0
- package/dist/service/cloudfront/command/function/sim-cf-list-functions.d.ts +22 -0
- package/dist/service/cloudfront/command/function/sim-cf-list-functions.js +38 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.d.ts +28 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-create-invalidation.js +59 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.d.ts +19 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-get-invalidation.js +32 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.d.ts +36 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-access.js +45 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.d.ts +80 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-command.types.js +1 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.d.ts +39 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-invalidation-commands.js +35 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.d.ts +23 -0
- package/dist/service/cloudfront/command/invalidation/sim-cf-list-invalidations.js +39 -0
- package/dist/service/cloudfront/command/update-distribution/update-distribution.handler.d.ts +4 -0
- package/dist/service/cloudfront/controller/content/sim-cf-content-stage.d.ts +51 -0
- package/dist/service/cloudfront/controller/content/sim-cf-content-stage.js +65 -0
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.d.ts +2 -3
- package/dist/service/cloudfront/controller/dependency/sim-cf-controller-dependency.js +4 -4
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.d.ts +4 -0
- package/dist/service/cloudfront/controller/error/sim-cf-custom-error-responder.js +12 -8
- package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.d.ts +2 -2
- package/dist/service/cloudfront/controller/origin/sim-cf-origin-stage.js +2 -2
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.d.ts +6 -6
- package/dist/service/cloudfront/controller/sim-cloudfront-request-pipeline.js +35 -20
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.d.ts +23 -5
- package/dist/service/cloudfront/custom-error/sim-cloudfront-custom-error-response.js +8 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-cache-policy.d.ts +18 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-cache-policy.js +30 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.d.ts +18 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.js +30 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.d.ts +30 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-policies.js +44 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.d.ts +2 -2
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-properties.js +9 -3
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.d.ts +0 -10
- package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js +0 -19
- package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.d.ts +4 -0
- package/dist/service/cloudfront/distribution/configurator/sim-cf-distribution-configurator.factory.js +8 -2
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts +3 -3
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js +5 -5
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.d.ts +13 -3
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-custom-error-configurator.js +27 -6
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.d.ts +3 -3
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-distribution-configurator.js +4 -4
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.d.ts +3 -1
- package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-origin-configurator.js +4 -1
- package/dist/service/cloudfront/distribution/sim-cf-distribution-configuration-state.d.ts +7 -3
- package/dist/service/cloudfront/distribution/sim-cf-distribution-reconfigurer.d.ts +4 -0
- package/dist/service/cloudfront/distribution/sim-cf-distribution-view.js +1 -1
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.d.ts +25 -2
- package/dist/service/cloudfront/distribution/sim-cloudfront-distribution.js +24 -0
- package/dist/service/cloudfront/error/sim-cf-invalidation.error.d.ts +22 -0
- package/dist/service/cloudfront/error/sim-cf-invalidation.error.js +26 -0
- package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.d.ts +22 -0
- package/dist/service/cloudfront/error/sim-cf-origin-request-policy.error.js +26 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.d.ts +21 -0
- package/dist/service/cloudfront/error/sim-cloudfront.error.js +25 -0
- package/dist/service/cloudfront/index.d.ts +2 -0
- package/dist/service/cloudfront/index.js +1 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.d.ts +22 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-path.js +32 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.d.ts +43 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation-view.js +33 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation.d.ts +55 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidation.js +56 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidations.d.ts +41 -0
- package/dist/service/cloudfront/invalidation/sim-cf-invalidations.js +58 -0
- package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.d.ts +15 -0
- package/dist/service/cloudfront/invalidation/sim-cf-repeated-invalidation.js +23 -0
- package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store-access.js +2 -10
- package/dist/service/cloudfront/key-value-store/sim-cf-key-value-store.js +2 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.d.ts +19 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-forwarding.js +116 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +15 -5
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +13 -8
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-signer.js +8 -5
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.d.ts +13 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +8 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.d.ts +24 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-behavior-forwarded.js +21 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.d.ts +57 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-forwarded-to-origin.js +129 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.d.ts +30 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.js +121 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.d.ts +56 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-forwarding.js +67 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.d.ts +38 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.js +51 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.d.ts +32 -0
- package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy.js +30 -0
- package/dist/service/cloudfront/registry/sim-cloud-front-registry.d.ts +25 -0
- package/dist/service/cloudfront/registry/sim-cloud-front-registry.js +23 -0
- package/dist/service/cloudfront/sdk/sim-cloudfront-sdk-command-router.js +24 -0
- package/dist/service/cloudfront/sim-cf-authorize.d.ts +16 -0
- package/dist/service/cloudfront/sim-cf-authorize.js +19 -0
- package/dist/service/cloudfront/sim-cf-etag.d.ts +7 -0
- package/dist/service/cloudfront/sim-cf-etag.js +10 -0
- package/dist/service/cloudfront/sim-cloudfront-caching.d.ts +31 -0
- package/dist/service/cloudfront/sim-cloudfront-caching.js +38 -0
- package/dist/service/cloudfront/sim-cloudfront-commands.d.ts +20 -12
- package/dist/service/cloudfront/sim-cloudfront-commands.js +20 -17
- package/dist/service/cloudfront/sim-cloudfront-distributions.d.ts +21 -0
- package/dist/service/cloudfront/sim-cloudfront-distributions.js +23 -0
- package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.d.ts +30 -0
- package/dist/service/cloudfront/sim-cloudfront-origin-access-controls.js +35 -0
- package/dist/service/cloudfront/sim-cloudfront-policies.d.ts +60 -0
- package/dist/service/cloudfront/sim-cloudfront-policies.js +75 -0
- package/dist/service/cloudfront/sim-cloudfront.d.ts +24 -44
- package/dist/service/cloudfront/sim-cloudfront.js +37 -58
- package/dist/service/ecr/authorize/sim-ecr-authorizer.d.ts +31 -0
- package/dist/service/ecr/authorize/sim-ecr-authorizer.js +38 -0
- package/dist/service/ecr/cfn/repository/sim-cfn-ecr-repository-creator.d.ts +11 -2
- package/dist/service/ecr/cfn/repository/sim-cfn-ecr-repository-creator.js +11 -2
- package/dist/service/ecr/cfn/sim-ecr-cfn-resource-factory.d.ts +4 -2
- package/dist/service/ecr/cfn/sim-ecr-cfn-resource-factory.js +8 -9
- package/dist/service/ecr/cfn/sim-ecr-cfn-unsupported-resource.d.ts +7 -0
- package/dist/service/ecr/cfn/sim-ecr-cfn-unsupported-resource.js +9 -0
- package/dist/service/ecr/sim-ecr.d.ts +7 -0
- package/dist/service/ecr/sim-ecr.js +16 -4
- package/dist/service/ecs/command/authorize/sim-ecs-authorizer.d.ts +12 -0
- package/dist/service/ecs/command/authorize/sim-ecs-authorizer.js +21 -0
- package/dist/service/ecs/command/register-task-definition/register-task-definition.handler.js +1 -0
- package/dist/service/ecs/sim-ecs-service-principal.d.ts +8 -0
- package/dist/service/ecs/sim-ecs-service-principal.js +8 -0
- package/dist/service/eventbridge/command/authorize/sim-event-bridge-authorizer.d.ts +12 -0
- package/dist/service/eventbridge/command/authorize/sim-event-bridge-authorizer.js +21 -0
- package/dist/service/eventbridge/command/rule/sim-event-bridge-rule-access.d.ts +13 -0
- package/dist/service/eventbridge/command/rule/sim-event-bridge-rule-access.js +9 -0
- package/dist/service/eventbridge/command/target/sim-event-bridge-put-targets.js +1 -0
- package/dist/service/firehose/command/authorize/sim-firehose-authorizer.d.ts +12 -0
- package/dist/service/firehose/command/authorize/sim-firehose-authorizer.js +20 -0
- package/dist/service/firehose/command/sim-firehose-delivery-stream-access.d.ts +4 -0
- package/dist/service/firehose/command/sim-firehose-delivery-stream-access.js +6 -0
- package/dist/service/firehose/command/stream/sim-firehose-create-delivery-stream.js +3 -1
- package/dist/service/firehose/sim-firehose-service-principal.d.ts +8 -0
- package/dist/service/firehose/sim-firehose-service-principal.js +8 -0
- package/dist/service/firehose/source/sim-firehose-source.d.ts +5 -0
- package/dist/service/firehose/source/sim-firehose-source.js +5 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-properties.js +2 -2
- package/dist/service/glue/cfn/sim-cfn-glue-generated-name.d.ts +10 -0
- package/dist/service/glue/cfn/sim-cfn-glue-generated-name.js +25 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-properties.js +2 -3
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.d.ts +34 -2
- package/dist/service/iam/authorize/allow/sim-iam-allow-requirement.js +34 -2
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.d.ts +4 -3
- package/dist/service/iam/authorize/allow/sim-iam-allow-statements.js +9 -3
- package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.d.ts +14 -5
- package/dist/service/iam/authorize/context/sim-iam-auth-z-allow-requirement.js +16 -12
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.d.ts +9 -3
- package/dist/service/iam/authorize/context/sim-iam-auth-z-caller-context-builder.js +5 -3
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.d.ts +9 -71
- package/dist/service/iam/authorize/context/sim-iam-auth-z-context-builder.js +2 -1
- package/dist/service/iam/authorize/context/sim-iam-auth-z-input.d.ts +89 -0
- package/dist/service/iam/authorize/context/sim-iam-auth-z-input.js +1 -0
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.d.ts +11 -3
- package/dist/service/iam/authorize/match/sim-iam-policy-principal-matcher.js +20 -8
- package/dist/service/iam/authorize/match/sim-iam-principal-match.d.ts +29 -8
- package/dist/service/iam/authorize/match/sim-iam-principal-match.js +38 -13
- package/dist/service/iam/authorize/pass-role/sim-iam-pass-role-authorizer.d.ts +74 -0
- package/dist/service/iam/authorize/pass-role/sim-iam-pass-role-authorizer.js +92 -0
- package/dist/service/iam/authorize/sim-iam-account-auth-z.d.ts +14 -5
- package/dist/service/iam/authorize/sim-iam-account-auth-z.js +6 -4
- package/dist/service/iam/authorize/sim-iam-authorizer.d.ts +3 -1
- package/dist/service/iam/authorize/sim-iam-authorizer.js +2 -1
- package/dist/service/iam/authorize/sim-iam-inter-service-auth-z.d.ts +1 -1
- package/dist/service/iam/authorize/sim-iam-wildcard.js +39 -4
- package/dist/service/iam/cfn/managed-policy/sim-cfn-iam-managed-policy-creator.js +2 -1
- package/dist/service/iam/cfn/name/sim-cfn-iam-generated-name.d.ts +16 -0
- package/dist/service/iam/cfn/name/sim-cfn-iam-generated-name.js +36 -0
- package/dist/service/iam/cfn/role/sim-cfn-iam-role-properties-parser.js +9 -8
- package/dist/service/iam/cfn/sim-cfn-iam-optional-string.d.ts +17 -0
- package/dist/service/iam/cfn/sim-cfn-iam-optional-string.js +17 -0
- package/dist/service/iam/cfn/user/sim-cfn-iam-user-properties-parser.js +4 -8
- package/dist/service/iam/command/policy/create-policy/create-policy-input-resolver.js +2 -0
- package/dist/service/iam/command/policy/put-role-policy/put-role-policy.handler.js +5 -0
- package/dist/service/iam/command/policy/put-user-policy/put-user-policy.handler.js +5 -0
- package/dist/service/iam/command/role/create-role/create-role.handler.js +4 -1
- package/dist/service/iam/error/sim-iam.error.d.ts +11 -0
- package/dist/service/iam/error/sim-iam.error.js +13 -0
- package/dist/service/iam/index.d.ts +1 -0
- package/dist/service/iam/policy/sim-iam-policy-document-of-size.d.ts +18 -0
- package/dist/service/iam/policy/sim-iam-policy-document-of-size.js +41 -0
- package/dist/service/iam/role/sim-iam-deploy-role.d.ts +56 -0
- package/dist/service/iam/role/sim-iam-deploy-role.js +50 -0
- package/dist/service/iam/role/sim-iam-role-with-policy.factory.d.ts +3 -1
- package/dist/service/iam/sim-iam-account-parts.d.ts +8 -0
- package/dist/service/iam/sim-iam-account-parts.js +1 -0
- package/dist/service/iam/sim-iam.d.ts +12 -2
- package/dist/service/iam/sim-iam.js +12 -0
- package/dist/service/iam/validate/size/sim-iam-policy-document-size.d.ts +57 -0
- package/dist/service/iam/validate/size/sim-iam-policy-document-size.js +71 -0
- package/dist/service/kms/command/authorize/sim-kms-authorizer.d.ts +3 -1
- package/dist/service/kms/command/authorize/sim-kms-authorizer.js +4 -1
- package/dist/service/kms/command/sim-kms-request-options.d.ts +15 -0
- package/dist/service/kms/key/sim-kms-key-policy.d.ts +5 -4
- package/dist/service/kms/key/sim-kms-key-policy.js +4 -3
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-properties-parser.d.ts +2 -2
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-function-properties-parser.js +4 -3
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-generated-function-name.d.ts +10 -0
- package/dist/service/lambda/cfn/function/sim-cfn-lambda-generated-function-name.js +25 -0
- package/dist/service/lambda/command/authorize/sim-lambda-resource-policies.d.ts +1 -1
- package/dist/service/lambda/command/create-function/create-function-authorizer.d.ts +9 -2
- package/dist/service/lambda/command/create-function/create-function-authorizer.js +16 -2
- package/dist/service/lambda/command/create-function/create-function.handler.js +1 -1
- package/dist/service/lambda/command/update-function-configuration/update-function-configuration-authorizer.d.ts +7 -2
- package/dist/service/lambda/command/update-function-configuration/update-function-configuration-authorizer.js +14 -2
- package/dist/service/lambda/command/update-function-configuration/update-function-configuration.handler.js +1 -1
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +10 -1
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +25 -1
- package/dist/service/lambda/function/logging/sim-lambda-invoke-error-log.d.ts +13 -0
- package/dist/service/lambda/function/logging/sim-lambda-invoke-error-log.js +18 -0
- package/dist/service/lambda/sim-lambda-service-principal.d.ts +7 -0
- package/dist/service/lambda/sim-lambda-service-principal.js +7 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-authorization.d.ts +46 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-authorization.js +49 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.d.ts +5 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-creator.js +6 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.d.ts +5 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-destination-creator.js +6 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.d.ts +5 -0
- package/dist/service/logs/cfn/delivery/sim-cfn-delivery-source-creator.js +6 -0
- package/dist/service/logs/cfn/group/sim-cfn-log-group-creator.d.ts +9 -2
- package/dist/service/logs/cfn/group/sim-cfn-log-group-creator.js +34 -5
- package/dist/service/logs/cfn/sim-logs-cfn-resource-deleter.js +1 -1
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.d.ts +4 -0
- package/dist/service/logs/cfn/sim-logs-cfn-resource-factory.js +9 -4
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.d.ts +6 -4
- package/dist/service/logs/command/delivery/sim-logs-delivery-source-commands.js +13 -4
- package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.d.ts +23 -0
- package/dist/service/logs/delivery/cloudfront/sim-logs-vended-log-delivery.js +28 -0
- package/dist/service/logs/sim-logs-commands.d.ts +3 -0
- package/dist/service/logs/sim-logs-commands.js +4 -0
- package/dist/service/logs/sim-logs.js +6 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +2 -2
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +4 -3
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-generated-name.d.ts +12 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-generated-name.js +22 -0
- package/dist/service/s3/command/authorize/sim-s3-bucket-resource-policies.d.ts +1 -1
- package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.d.ts +10 -1
- package/dist/service/scheduler/command/authorize/sim-scheduler-authorizer.js +19 -1
- package/dist/service/scheduler/command/schedule/sim-scheduler-create-schedule.js +1 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.d.ts +8 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-schedule-access.js +9 -0
- package/dist/service/scheduler/command/schedule/sim-scheduler-update-schedule.js +1 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generated-name.d.ts +15 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-generated-name.js +22 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.d.ts +4 -10
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-properties.js +13 -31
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-value.d.ts +17 -0
- package/dist/service/secretsmanager/cfn/secret/sim-cfn-secrets-manager-secret-value.js +30 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.d.ts +6 -0
- package/dist/service/secretsmanager/secret/sim-secrets-manager-secret-name.js +8 -3
- package/dist/service/sns/command/authorize/sim-sns-topic-resource-policies.d.ts +1 -1
- package/dist/service/sqs/command/authorize/sim-sqs-queue-resource-policies.d.ts +1 -1
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-generated-parameter-name.d.ts +16 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-generated-parameter-name.js +23 -0
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.d.ts +2 -4
- package/dist/service/ssm/cfn/parameter/sim-cfn-ssm-parameter-properties.js +5 -5
- package/dist/service/ssm/parameter/sim-ssm-kms-crypto.d.ts +11 -12
- package/dist/service/ssm/parameter/sim-ssm-kms-crypto.js +4 -4
- package/dist/service/ssm/parameter/sim-ssm-parameter-arn.d.ts +17 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-arn.js +20 -0
- package/dist/service/ssm/parameter/sim-ssm-parameter-kms.d.ts +13 -8
- package/dist/service/ssm/parameter/sim-ssm-parameter-kms.js +13 -8
- package/dist/service/ssm/parameter/sim-ssm-parameter-name.js +3 -12
- package/dist/service/stepfunctions/command/authorize/sim-step-functions-authorizer.d.ts +41 -0
- package/dist/service/stepfunctions/command/authorize/sim-step-functions-authorizer.js +64 -0
- package/dist/service/stepfunctions/command/machine/sim-state-machine-create.d.ts +5 -2
- package/dist/service/stepfunctions/command/machine/sim-state-machine-create.js +6 -2
- package/dist/service/stepfunctions/command/machine/sim-state-machine-delete.d.ts +26 -0
- package/dist/service/stepfunctions/command/machine/sim-state-machine-delete.js +29 -0
- package/dist/service/stepfunctions/command/machine/sim-state-machine-lookup.d.ts +7 -0
- package/dist/service/stepfunctions/command/machine/sim-state-machine-lookup.js +12 -3
- package/dist/service/stepfunctions/command/machine/sim-state-machine-update.d.ts +19 -0
- package/dist/service/stepfunctions/command/machine/{sim-state-machine-writes.js → sim-state-machine-update.js} +3 -14
- package/dist/service/stepfunctions/sim-step-functions.d.ts +8 -2
- package/dist/service/stepfunctions/sim-step-functions.js +26 -9
- package/dist/service/sts/command/assume-role/assume-role.handler.d.ts +5 -0
- package/dist/service/sts/command/assume-role/assume-role.handler.js +1 -0
- package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.d.ts +5 -0
- package/dist/service/sts/command/get-caller-identity/get-caller-identity.handler.js +1 -0
- package/dist/service/sts/sim-sts.d.ts +9 -0
- package/dist/service/sts/sim-sts.js +4 -0
- package/dist/util/memo/bounded-memo.d.ts +36 -0
- package/dist/util/memo/bounded-memo.js +58 -0
- package/docs/sdk/README.md +3 -1
- package/docs/services/athena/README.md +7 -1
- package/docs/services/cloudformation/README.md +197 -11
- package/docs/services/cloudfront/README.md +1116 -14
- package/docs/services/cloudwatch/README.md +6 -4
- package/docs/services/cognito/README.md +8 -7
- package/docs/services/dynamodb/README.md +6 -5
- package/docs/services/ecs/README.md +23 -9
- package/docs/services/elbv2/README.md +6 -2
- package/docs/services/eventbridge/README.md +9 -1
- package/docs/services/firehose/README.md +9 -3
- package/docs/services/glue/README.md +6 -0
- package/docs/services/iam/README.md +322 -27
- package/docs/services/kinesis/README.md +3 -2
- package/docs/services/kms/README.md +11 -2
- package/docs/services/lambda/README.md +76 -2
- package/docs/services/logs/README.md +22 -2
- package/docs/services/s3/README.md +7 -2
- package/docs/services/scheduler/README.md +12 -4
- package/docs/services/secretsmanager/README.md +6 -3
- package/docs/services/ses/README.md +3 -1
- package/docs/services/sns/README.md +5 -5
- package/docs/services/sqs/README.md +5 -5
- package/docs/services/ssm/README.md +35 -18
- package/docs/services/stepfunctions/README.md +11 -2
- package/docs/services/wafv2/README.md +5 -3
- package/package.json +1 -1
- package/dist/service/stepfunctions/command/machine/sim-state-machine-writes.d.ts +0 -25
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
* matching the response page path decides which Origin it comes from. That is
|
|
6
6
|
* what lets a Distribution keep its error pages somewhere other than the
|
|
7
7
|
* content that failed, as CloudFront does.
|
|
8
|
+
*
|
|
9
|
+
* A rule carrying `ErrorCachingMinTTL` alone has no page. The Origin's error
|
|
10
|
+
* reaches the viewer, and the rule says how long the Distribution holds it
|
|
11
|
+
* for.
|
|
8
12
|
*/
|
|
9
13
|
export class SimCfCustomErrorResponder {
|
|
10
14
|
behaviourResolver;
|
|
@@ -18,14 +22,14 @@ export class SimCfCustomErrorResponder {
|
|
|
18
22
|
* Distribution configures one for its status.
|
|
19
23
|
*/
|
|
20
24
|
async apply(request, distribution, response) {
|
|
21
|
-
const
|
|
22
|
-
if (
|
|
25
|
+
const page = distribution.customErrorResponses.find((candidate) => candidate.errorCode === response.status)?.page;
|
|
26
|
+
if (page === undefined) {
|
|
23
27
|
return response;
|
|
24
28
|
}
|
|
25
|
-
return await this.responsePage(request, distribution,
|
|
29
|
+
return await this.responsePage(request, distribution, page);
|
|
26
30
|
}
|
|
27
|
-
async responsePage(request, distribution,
|
|
28
|
-
const pageRequest = this.pageRequest(request,
|
|
31
|
+
async responsePage(request, distribution, page) {
|
|
32
|
+
const pageRequest = this.pageRequest(request, page);
|
|
29
33
|
const behaviour = this.behaviourResolver.resolve(pageRequest, distribution);
|
|
30
34
|
const pageResponse = await this.originFetcher.fetch(pageRequest, distribution, behaviour);
|
|
31
35
|
// A response page that is itself unavailable leaves the viewer with the
|
|
@@ -34,13 +38,13 @@ export class SimCfCustomErrorResponder {
|
|
|
34
38
|
return pageResponse;
|
|
35
39
|
}
|
|
36
40
|
return new Response(pageResponse.body, {
|
|
37
|
-
status:
|
|
41
|
+
status: page.responseCode,
|
|
38
42
|
headers: pageResponse.headers,
|
|
39
43
|
});
|
|
40
44
|
}
|
|
41
|
-
pageRequest(request,
|
|
45
|
+
pageRequest(request, page) {
|
|
42
46
|
const url = new URL(request.url);
|
|
43
|
-
url.pathname =
|
|
47
|
+
url.pathname = page.responsePagePath;
|
|
44
48
|
url.search = "";
|
|
45
49
|
// The response page is fetched without a body, whatever the viewer sent,
|
|
46
50
|
// so headers describing the viewer's body would describe nothing.
|
|
@@ -25,8 +25,8 @@ export interface SimCfOriginStageResult {
|
|
|
25
25
|
* Fetches from the Behavior's Origin, running the Lambda@Edge functions on
|
|
26
26
|
* either side of the fetch.
|
|
27
27
|
*
|
|
28
|
-
* Real CloudFront runs the origin events on a cache miss only
|
|
29
|
-
*
|
|
28
|
+
* Real CloudFront runs the origin events on a cache miss only, and so does
|
|
29
|
+
* this. A request the Distribution's cache answers never reaches this stage.
|
|
30
30
|
*/
|
|
31
31
|
export declare class SimCfOriginStage {
|
|
32
32
|
private readonly originFetcher;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Fetches from the Behavior's Origin, running the Lambda@Edge functions on
|
|
3
3
|
* either side of the fetch.
|
|
4
4
|
*
|
|
5
|
-
* Real CloudFront runs the origin events on a cache miss only
|
|
6
|
-
*
|
|
5
|
+
* Real CloudFront runs the origin events on a cache miss only, and so does
|
|
6
|
+
* this. A request the Distribution's cache answers never reaches this stage.
|
|
7
7
|
*/
|
|
8
8
|
export class SimCfOriginStage {
|
|
9
9
|
originFetcher;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { SimCloudFrontControllerDependencies } from "./dependency/sim-cf-controller-dependency.js";
|
|
2
2
|
/**
|
|
3
3
|
* Runs a single simulated CloudFront request through its lifecycle:
|
|
4
|
-
* route to a Distribution, put the request
|
|
5
|
-
*
|
|
6
|
-
* viewer-request hooks,
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* read the edge it arrived at, route to a Distribution, put the request
|
|
5
|
+
* through the Distribution's web ACL, apply the default root object, resolve
|
|
6
|
+
* the matching Behavior, run viewer-request hooks, answer from that edge's
|
|
7
|
+
* cache or from the Origin, say which of the two answered in `X-Cache`, apply
|
|
8
|
+
* the Behavior's response headers policy, then run viewer-response hooks where
|
|
9
|
+
* the Origin did not answer with an error.
|
|
10
10
|
*
|
|
11
11
|
* A viewer hook is a CloudFront Function or a Lambda@Edge function. A Behavior
|
|
12
12
|
* carries at most one of the two kinds at the viewer events, which
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
import { simCfCacheStatusResponse } from "../cache/sim-cf-cache-status.js";
|
|
2
|
+
import { simCfRequestEdge } from "../cache/sim-cf-edge.js";
|
|
1
3
|
import { simCfDefaultRootObjectRequest } from "./root-object/sim-cf-default-root-object-request.js";
|
|
2
4
|
/**
|
|
3
5
|
* Runs a single simulated CloudFront request through its lifecycle:
|
|
4
|
-
* route to a Distribution, put the request
|
|
5
|
-
*
|
|
6
|
-
* viewer-request hooks,
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* read the edge it arrived at, route to a Distribution, put the request
|
|
7
|
+
* through the Distribution's web ACL, apply the default root object, resolve
|
|
8
|
+
* the matching Behavior, run viewer-request hooks, answer from that edge's
|
|
9
|
+
* cache or from the Origin, say which of the two answered in `X-Cache`, apply
|
|
10
|
+
* the Behavior's response headers policy, then run viewer-response hooks where
|
|
11
|
+
* the Origin did not answer with an error.
|
|
10
12
|
*
|
|
11
13
|
* A viewer hook is a CloudFront Function or a Lambda@Edge function. A Behavior
|
|
12
14
|
* carries at most one of the two kinds at the viewer events, which
|
|
@@ -27,7 +29,11 @@ export class SimCloudFrontRequestPipeline {
|
|
|
27
29
|
* Process one incoming request and produce the response the caller sees.
|
|
28
30
|
*/
|
|
29
31
|
async handle(request) {
|
|
30
|
-
|
|
32
|
+
// The edge is read first and its header taken off the request. A web ACL
|
|
33
|
+
// rule, an edge function and the Origin therefore never see an instruction
|
|
34
|
+
// that was addressed to the simulator.
|
|
35
|
+
const edge = simCfRequestEdge(request);
|
|
36
|
+
let requestReference = edge.request;
|
|
31
37
|
const route = this.stages.distroRouter.routeForRequest(requestReference);
|
|
32
38
|
if (route === undefined) {
|
|
33
39
|
return new Response("Suitable sim CloudFront Distribution not found", {
|
|
@@ -62,25 +68,34 @@ export class SimCloudFrontRequestPipeline {
|
|
|
62
68
|
return edgeResult;
|
|
63
69
|
}
|
|
64
70
|
requestReference = edgeResult;
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
// Answer from this edge's cache where it holds the key, and from the Origin
|
|
72
|
+
// where it does not. A miss runs the origin-request and origin-response
|
|
73
|
+
// Lambda@Edge functions either side of the fetch, has an Origin error
|
|
74
|
+
// replaced with the Distribution's custom error page, and is stored.
|
|
75
|
+
const content = await this.stages.contentStage.serve({
|
|
76
|
+
request: requestReference,
|
|
77
|
+
cloudFront,
|
|
78
|
+
distribution: distro,
|
|
79
|
+
behaviour,
|
|
80
|
+
edgeId: edge.edgeId,
|
|
81
|
+
});
|
|
82
|
+
// Say whether the cache or the Origin answered, as CloudFront says it. A
|
|
83
|
+
// hit already carries the `Age` the cache measured. Both go on ahead of the
|
|
84
|
+
// response headers policy and the viewer-response event. A policy can take
|
|
85
|
+
// either off, and a viewer-response function sees them.
|
|
86
|
+
const served = simCfCacheStatusResponse(content.response, content.cacheHit);
|
|
73
87
|
// Apply the Behavior's response headers policy, if it names one. CloudFront
|
|
74
88
|
// does this after the response leaves the cache and before the
|
|
75
89
|
// viewer-response event, so the custom error page above carries the
|
|
76
90
|
// policy's headers and a viewer-response function that runs sees them.
|
|
77
|
-
const response = this.stages.responseHeadersApplicator.apply(cloudFront, requestReference,
|
|
91
|
+
const response = this.stages.responseHeadersApplicator.apply(cloudFront, requestReference, served, behaviour);
|
|
78
92
|
// CloudFront runs no viewer-response function when the Origin answered
|
|
79
93
|
// 400 or higher, for either kind of function. The status that decides it
|
|
80
|
-
// is the one the Origin returned,
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
|
|
94
|
+
// is the one the Origin returned, or the one it returned when the cache
|
|
95
|
+
// entry being served was stored. Neither a custom error response carrying
|
|
96
|
+
// `ResponseCode: 200` nor an origin-response function that replaced the
|
|
97
|
+
// status brings the function back.
|
|
98
|
+
if (content.originStatus >= 400) {
|
|
84
99
|
return response;
|
|
85
100
|
}
|
|
86
101
|
// Handle viewer-response CFF, if any.
|
|
@@ -9,15 +9,33 @@ export declare const simCloudFrontCustomErrorCodes: ReadonlySet<number>;
|
|
|
9
9
|
* page for an error without telling the viewer anything went wrong.
|
|
10
10
|
*/
|
|
11
11
|
export declare const simCloudFrontCustomErrorResponseCodes: ReadonlySet<number>;
|
|
12
|
+
/**
|
|
13
|
+
* How long CloudFront holds an error for where a rule names no
|
|
14
|
+
* `ErrorCachingMinTTL`, and where a Distribution configures no rule for the
|
|
15
|
+
* status at all.
|
|
16
|
+
*
|
|
17
|
+
* https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HTTPStatusCodes.html
|
|
18
|
+
*/
|
|
19
|
+
export declare const simCloudFrontDefaultErrorCachingMinTtlSec = 10;
|
|
20
|
+
/**
|
|
21
|
+
* The page a custom error response serves in place of the Origin's error.
|
|
22
|
+
*
|
|
23
|
+
* CloudFront pairs `ResponsePagePath` and `ResponseCode`. A rule carries both
|
|
24
|
+
* or neither.
|
|
25
|
+
*/
|
|
26
|
+
export interface SimCloudFrontCustomErrorPage {
|
|
27
|
+
readonly responsePagePath: string;
|
|
28
|
+
readonly responseCode: number;
|
|
29
|
+
}
|
|
12
30
|
/**
|
|
13
31
|
* A custom error response of a sim CloudFront Distribution.
|
|
14
32
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
33
|
+
* A rule carrying nothing but `ErrorCode` and `ErrorCachingMinTTL` configures
|
|
34
|
+
* how long the Origin's own error is held for. It has no page, and the viewer
|
|
35
|
+
* gets what the Origin answered.
|
|
18
36
|
*/
|
|
19
37
|
export interface SimCloudFrontCustomErrorResponse {
|
|
20
38
|
readonly errorCode: number;
|
|
21
|
-
readonly
|
|
22
|
-
readonly
|
|
39
|
+
readonly errorCachingMinTtlSec: number;
|
|
40
|
+
readonly page?: SimCloudFrontCustomErrorPage | undefined;
|
|
23
41
|
}
|
|
@@ -11,3 +11,11 @@ export const simCloudFrontCustomErrorCodes = new Set([
|
|
|
11
11
|
* page for an error without telling the viewer anything went wrong.
|
|
12
12
|
*/
|
|
13
13
|
export const simCloudFrontCustomErrorResponseCodes = new Set([200, ...simCloudFrontCustomErrorCodes]);
|
|
14
|
+
/**
|
|
15
|
+
* How long CloudFront holds an error for where a rule names no
|
|
16
|
+
* `ErrorCachingMinTTL`, and where a Distribution configures no rule for the
|
|
17
|
+
* status at all.
|
|
18
|
+
*
|
|
19
|
+
* https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HTTPStatusCodes.html
|
|
20
|
+
*/
|
|
21
|
+
export const simCloudFrontDefaultErrorCachingMinTtlSec = 10;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SimCloudFrontCachePolicyRegistry } from "../../cache-policy/sim-cf-cache-policy-registry.js";
|
|
2
|
+
/**
|
|
3
|
+
* Refuses a Cache Behavior naming a cache policy this simulation does not
|
|
4
|
+
* hold.
|
|
5
|
+
*
|
|
6
|
+
* Real CloudFront checks this when the Distribution is created or updated, so
|
|
7
|
+
* a template naming a mistyped policy ID fails the deploy there too, rather
|
|
8
|
+
* than deploying successfully and only failing the first request that reaches
|
|
9
|
+
* the Behavior.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SimCfBehaviorCachePolicy {
|
|
12
|
+
private readonly policies;
|
|
13
|
+
constructor(policies: SimCloudFrontCachePolicyRegistry);
|
|
14
|
+
/**
|
|
15
|
+
* Refuse one Behavior naming a policy which is not there.
|
|
16
|
+
*/
|
|
17
|
+
assertExists(targetOriginId: string | undefined, cachePolicyId: string | undefined): void;
|
|
18
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SimCloudFrontNoSuchCachePolicy } from "../../error/sim-cloudfront.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Refuses a Cache Behavior naming a cache policy this simulation does not
|
|
4
|
+
* hold.
|
|
5
|
+
*
|
|
6
|
+
* Real CloudFront checks this when the Distribution is created or updated, so
|
|
7
|
+
* a template naming a mistyped policy ID fails the deploy there too, rather
|
|
8
|
+
* than deploying successfully and only failing the first request that reaches
|
|
9
|
+
* the Behavior.
|
|
10
|
+
*/
|
|
11
|
+
export class SimCfBehaviorCachePolicy {
|
|
12
|
+
policies;
|
|
13
|
+
constructor(policies) {
|
|
14
|
+
this.policies = policies;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Refuse one Behavior naming a policy which is not there.
|
|
18
|
+
*/
|
|
19
|
+
assertExists(targetOriginId, cachePolicyId) {
|
|
20
|
+
if (cachePolicyId === undefined ||
|
|
21
|
+
this.policies.byId(cachePolicyId) !== undefined) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
throw new SimCloudFrontNoSuchCachePolicy(`Sim CloudFront Behavior for Origin ${targetOriginId} names cache ` +
|
|
25
|
+
`policy ${cachePolicyId}, which does not exist. A Behavior names one ` +
|
|
26
|
+
`of CloudFront's seven managed policies, or a policy an ` +
|
|
27
|
+
`AWS::CloudFront::CachePolicy Resource created in this simulation. A ` +
|
|
28
|
+
`policy ID from a real account is neither.`);
|
|
29
|
+
}
|
|
30
|
+
}
|
package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SimCloudFrontOriginRequestPolicyRegistry } from "../../origin-request-policy/sim-cf-origin-request-policy-registry.js";
|
|
2
|
+
/**
|
|
3
|
+
* Refuses a Cache Behavior naming an origin request policy this simulation
|
|
4
|
+
* does not hold.
|
|
5
|
+
*
|
|
6
|
+
* Real CloudFront checks this when the Distribution is created or updated, so
|
|
7
|
+
* a template naming a mistyped policy ID fails the deploy there too, rather
|
|
8
|
+
* than deploying successfully and only failing the first request that reaches
|
|
9
|
+
* the Behavior.
|
|
10
|
+
*/
|
|
11
|
+
export declare class SimCfBehaviorOriginRequestPolicy {
|
|
12
|
+
private readonly policies;
|
|
13
|
+
constructor(policies: SimCloudFrontOriginRequestPolicyRegistry);
|
|
14
|
+
/**
|
|
15
|
+
* Refuse one Behavior naming a policy which is not there.
|
|
16
|
+
*/
|
|
17
|
+
assertExists(targetOriginId: string | undefined, originRequestPolicyId: string | undefined): void;
|
|
18
|
+
}
|
package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-origin-request-policy.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SimCloudFrontNoSuchOriginRequestPolicy } from "../../error/sim-cf-origin-request-policy.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Refuses a Cache Behavior naming an origin request policy this simulation
|
|
4
|
+
* does not hold.
|
|
5
|
+
*
|
|
6
|
+
* Real CloudFront checks this when the Distribution is created or updated, so
|
|
7
|
+
* a template naming a mistyped policy ID fails the deploy there too, rather
|
|
8
|
+
* than deploying successfully and only failing the first request that reaches
|
|
9
|
+
* the Behavior.
|
|
10
|
+
*/
|
|
11
|
+
export class SimCfBehaviorOriginRequestPolicy {
|
|
12
|
+
policies;
|
|
13
|
+
constructor(policies) {
|
|
14
|
+
this.policies = policies;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Refuse one Behavior naming a policy which is not there.
|
|
18
|
+
*/
|
|
19
|
+
assertExists(targetOriginId, originRequestPolicyId) {
|
|
20
|
+
if (originRequestPolicyId === undefined ||
|
|
21
|
+
this.policies.byId(originRequestPolicyId) !== undefined) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
throw new SimCloudFrontNoSuchOriginRequestPolicy(`Sim CloudFront Behavior for Origin ${targetOriginId} names origin ` +
|
|
25
|
+
`request policy ${originRequestPolicyId}, which does not exist. A ` +
|
|
26
|
+
`Behavior names one of CloudFront's eight managed policies, or a ` +
|
|
27
|
+
`policy an AWS::CloudFront::OriginRequestPolicy Resource created in ` +
|
|
28
|
+
`this simulation. A policy ID from a real account is neither.`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { SimCloudFrontCacheBehaviorConfig, SimCloudFrontDefaultCacheBehaviorConfig, SimCloudFrontDistributionConfig } from "../../command/create-distribution/create-distribution.command.js";
|
|
2
|
+
import type { SimCfBehaviorCachePolicy } from "./sim-cf-behavior-cache-policy.js";
|
|
3
|
+
import type { SimCfBehaviorOriginRequestPolicy } from "./sim-cf-behavior-origin-request-policy.js";
|
|
4
|
+
import type { SimCfBehaviorResponseHeadersPolicy } from "./sim-cf-behavior-response-headers-policy.js";
|
|
5
|
+
/**
|
|
6
|
+
* The policies a Cache Behavior names, and whether this simulation holds them.
|
|
7
|
+
*
|
|
8
|
+
* A Behavior points at a response headers policy, a cache policy and an origin
|
|
9
|
+
* request policy by ID, and all three live outside the Distribution. Each one
|
|
10
|
+
* is checked the same way and at the same moment, so they are asked together.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimCfBehaviorPolicies {
|
|
13
|
+
private readonly responseHeadersPolicy;
|
|
14
|
+
private readonly cachePolicy;
|
|
15
|
+
private readonly originRequestPolicy;
|
|
16
|
+
constructor(responseHeadersPolicy: SimCfBehaviorResponseHeadersPolicy, cachePolicy: SimCfBehaviorCachePolicy, originRequestPolicy: SimCfBehaviorOriginRequestPolicy);
|
|
17
|
+
/**
|
|
18
|
+
* Refuse every Behavior of a DistributionConfig that names a policy which is
|
|
19
|
+
* not there, without touching the Distribution.
|
|
20
|
+
*
|
|
21
|
+
* An update replaces a Distribution's whole configuration, so this runs
|
|
22
|
+
* before any of it is torn down. A refusal here leaves the Distribution
|
|
23
|
+
* serving exactly what it served before, rather than half replaced.
|
|
24
|
+
*/
|
|
25
|
+
assertAllExist(distributionConfig: SimCloudFrontDistributionConfig): void;
|
|
26
|
+
/**
|
|
27
|
+
* Refuse one Behavior naming a policy of any kind which is not there.
|
|
28
|
+
*/
|
|
29
|
+
assertExists(behavior: SimCloudFrontDefaultCacheBehaviorConfig | SimCloudFrontCacheBehaviorConfig): void;
|
|
30
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The policies a Cache Behavior names, and whether this simulation holds them.
|
|
3
|
+
*
|
|
4
|
+
* A Behavior points at a response headers policy, a cache policy and an origin
|
|
5
|
+
* request policy by ID, and all three live outside the Distribution. Each one
|
|
6
|
+
* is checked the same way and at the same moment, so they are asked together.
|
|
7
|
+
*/
|
|
8
|
+
export class SimCfBehaviorPolicies {
|
|
9
|
+
responseHeadersPolicy;
|
|
10
|
+
cachePolicy;
|
|
11
|
+
originRequestPolicy;
|
|
12
|
+
constructor(responseHeadersPolicy, cachePolicy, originRequestPolicy) {
|
|
13
|
+
this.responseHeadersPolicy = responseHeadersPolicy;
|
|
14
|
+
this.cachePolicy = cachePolicy;
|
|
15
|
+
this.originRequestPolicy = originRequestPolicy;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Refuse every Behavior of a DistributionConfig that names a policy which is
|
|
19
|
+
* not there, without touching the Distribution.
|
|
20
|
+
*
|
|
21
|
+
* An update replaces a Distribution's whole configuration, so this runs
|
|
22
|
+
* before any of it is torn down. A refusal here leaves the Distribution
|
|
23
|
+
* serving exactly what it served before, rather than half replaced.
|
|
24
|
+
*/
|
|
25
|
+
assertAllExist(distributionConfig) {
|
|
26
|
+
const behaviors = [
|
|
27
|
+
distributionConfig.DefaultCacheBehavior,
|
|
28
|
+
...(distributionConfig.CacheBehaviors?.Items ?? []),
|
|
29
|
+
];
|
|
30
|
+
for (const behavior of behaviors) {
|
|
31
|
+
if (behavior !== undefined) {
|
|
32
|
+
this.assertExists(behavior);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Refuse one Behavior naming a policy of any kind which is not there.
|
|
38
|
+
*/
|
|
39
|
+
assertExists(behavior) {
|
|
40
|
+
this.responseHeadersPolicy.assertExists(behavior.TargetOriginId, behavior.ResponseHeadersPolicyId);
|
|
41
|
+
this.cachePolicy.assertExists(behavior.TargetOriginId, behavior.CachePolicyId);
|
|
42
|
+
this.originRequestPolicy.assertExists(behavior.TargetOriginId, behavior.OriginRequestPolicyId);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { SimCloudFrontCacheBehaviorConfig, SimCloudFrontDefaultCacheBehaviorConfig } from "../../command/create-distribution/create-distribution.command.js";
|
|
2
2
|
import type { SimCloudFrontBehavior } from "../../behaviour/sim-cloud-front-behavior.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SimCfBehaviorPolicies } from "./sim-cf-behavior-policies.js";
|
|
4
4
|
/**
|
|
5
5
|
* Build the Behavior properties common to both the default Cache Behavior and
|
|
6
6
|
* a named one. Callers add their own fields, such as the path pattern, on top.
|
|
7
7
|
*/
|
|
8
|
-
export declare function simCfBehaviorProperties(cacheBehavior: SimCloudFrontDefaultCacheBehaviorConfig | SimCloudFrontCacheBehaviorConfig,
|
|
8
|
+
export declare function simCfBehaviorProperties(cacheBehavior: SimCloudFrontDefaultCacheBehaviorConfig | SimCloudFrontCacheBehaviorConfig, policies: SimCfBehaviorPolicies): SimCloudFrontBehavior;
|
|
@@ -6,10 +6,10 @@ import { assertConsistentQuantity } from "../../command/sim-cf-list-quantity.js"
|
|
|
6
6
|
* Build the Behavior properties common to both the default Cache Behavior and
|
|
7
7
|
* a named one. Callers add their own fields, such as the path pattern, on top.
|
|
8
8
|
*/
|
|
9
|
-
export function simCfBehaviorProperties(cacheBehavior,
|
|
10
|
-
const { TargetOriginId, ResponseHeadersPolicyId } = cacheBehavior;
|
|
9
|
+
export function simCfBehaviorProperties(cacheBehavior, policies) {
|
|
10
|
+
const { TargetOriginId, ResponseHeadersPolicyId, CachePolicyId, OriginRequestPolicyId, } = cacheBehavior;
|
|
11
11
|
assertDefined(TargetOriginId, "CloudFront CacheBehavior TargetOriginId");
|
|
12
|
-
|
|
12
|
+
policies.assertExists(cacheBehavior);
|
|
13
13
|
return {
|
|
14
14
|
targetOriginName: TargetOriginId,
|
|
15
15
|
allowedMethods: methodsSet("AllowedMethods", cacheBehavior.AllowedMethods, [
|
|
@@ -23,6 +23,12 @@ export function simCfBehaviorProperties(cacheBehavior, responseHeadersPolicy) {
|
|
|
23
23
|
...(ResponseHeadersPolicyId !== undefined && {
|
|
24
24
|
responseHeadersPolicyId: ResponseHeadersPolicyId,
|
|
25
25
|
}),
|
|
26
|
+
...(CachePolicyId !== undefined && {
|
|
27
|
+
cachePolicyId: CachePolicyId,
|
|
28
|
+
}),
|
|
29
|
+
...(OriginRequestPolicyId !== undefined && {
|
|
30
|
+
originRequestPolicyId: OriginRequestPolicyId,
|
|
31
|
+
}),
|
|
26
32
|
functionAssociations: configureCffAssociations(cacheBehavior),
|
|
27
33
|
lambdaFunctionAssociations: configureEdgeAssociations(cacheBehavior),
|
|
28
34
|
};
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { SimCloudFrontDistributionConfig } from "../../command/create-distribution/create-distribution.command.js";
|
|
2
1
|
import type { SimCloudFrontResponseHeadersPolicyRegistry } from "../../response-headers-policy/sim-cf-response-headers-policy-registry.js";
|
|
3
2
|
/**
|
|
4
3
|
* Refuses a Cache Behavior naming a response headers policy this simulation
|
|
@@ -12,15 +11,6 @@ import type { SimCloudFrontResponseHeadersPolicyRegistry } from "../../response-
|
|
|
12
11
|
export declare class SimCfBehaviorResponseHeadersPolicy {
|
|
13
12
|
private readonly policies;
|
|
14
13
|
constructor(policies: SimCloudFrontResponseHeadersPolicyRegistry);
|
|
15
|
-
/**
|
|
16
|
-
* Refuse every Behavior of a DistributionConfig that names a policy which is
|
|
17
|
-
* not there, without touching the Distribution.
|
|
18
|
-
*
|
|
19
|
-
* An update replaces a Distribution's whole configuration, so this runs
|
|
20
|
-
* before any of it is torn down: a refusal here leaves the Distribution
|
|
21
|
-
* serving exactly what it served before, rather than half replaced.
|
|
22
|
-
*/
|
|
23
|
-
assertAllExist(distributionConfig: SimCloudFrontDistributionConfig): void;
|
|
24
14
|
/**
|
|
25
15
|
* Refuse one Behavior naming a policy which is not there.
|
|
26
16
|
*/
|
package/dist/service/cloudfront/distribution/configurator/sim-cf-behavior-response-headers-policy.js
CHANGED
|
@@ -13,25 +13,6 @@ export class SimCfBehaviorResponseHeadersPolicy {
|
|
|
13
13
|
constructor(policies) {
|
|
14
14
|
this.policies = policies;
|
|
15
15
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Refuse every Behavior of a DistributionConfig that names a policy which is
|
|
18
|
-
* not there, without touching the Distribution.
|
|
19
|
-
*
|
|
20
|
-
* An update replaces a Distribution's whole configuration, so this runs
|
|
21
|
-
* before any of it is torn down: a refusal here leaves the Distribution
|
|
22
|
-
* serving exactly what it served before, rather than half replaced.
|
|
23
|
-
*/
|
|
24
|
-
assertAllExist(distributionConfig) {
|
|
25
|
-
const behaviors = [
|
|
26
|
-
distributionConfig.DefaultCacheBehavior,
|
|
27
|
-
...(distributionConfig.CacheBehaviors?.Items ?? []),
|
|
28
|
-
];
|
|
29
|
-
for (const behavior of behaviors) {
|
|
30
|
-
if (behavior !== undefined) {
|
|
31
|
-
this.assertExists(behavior.TargetOriginId, behavior.ResponseHeadersPolicyId);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
16
|
/**
|
|
36
17
|
* Refuse one Behavior naming a policy which is not there.
|
|
37
18
|
*/
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import type { SimCloudFrontCachePolicyRegistry } from "../../cache-policy/sim-cf-cache-policy-registry.js";
|
|
1
2
|
import type { SimCfCustomOriginDispatcher } from "../../origin/custom/sim-cf-custom-origin-dispatcher.js";
|
|
2
3
|
import type { SimCloudFrontS3OriginResolver } from "../../origin/s3/sim-cloudfront-s3-origin.js";
|
|
3
4
|
import type { SimCloudFrontOriginAccessControlRegistry } from "../../origin-access-control/sim-cf-origin-access-control-registry.js";
|
|
5
|
+
import type { SimCloudFrontOriginRequestPolicyRegistry } from "../../origin-request-policy/sim-cf-origin-request-policy-registry.js";
|
|
4
6
|
import type { SimCloudFrontResponseHeadersPolicyRegistry } from "../../response-headers-policy/sim-cf-response-headers-policy-registry.js";
|
|
5
7
|
import type { SimCfWebAclResolver } from "../../web-acl/sim-cf-web-acl.js";
|
|
6
8
|
import { SimCloudFrontDistributionConfigurator } from "./sim-cloud-front-distribution-configurator.js";
|
|
@@ -9,6 +11,8 @@ interface SimCloudFrontConfiguratorProperties {
|
|
|
9
11
|
readonly customOriginDispatcher?: SimCfCustomOriginDispatcher | undefined;
|
|
10
12
|
readonly originAccessControls: SimCloudFrontOriginAccessControlRegistry;
|
|
11
13
|
readonly responseHeadersPolicies: SimCloudFrontResponseHeadersPolicyRegistry;
|
|
14
|
+
readonly cachePolicies: SimCloudFrontCachePolicyRegistry;
|
|
15
|
+
readonly originRequestPolicies: SimCloudFrontOriginRequestPolicyRegistry;
|
|
12
16
|
readonly webAclResolver?: SimCfWebAclResolver | undefined;
|
|
13
17
|
}
|
|
14
18
|
/**
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { SimCfDistributionWebAcl } from "../../web-acl/sim-cf-distribution-web-acl.js";
|
|
2
|
+
import { SimCfBehaviorCachePolicy } from "./sim-cf-behavior-cache-policy.js";
|
|
3
|
+
import { SimCfBehaviorOriginRequestPolicy } from "./sim-cf-behavior-origin-request-policy.js";
|
|
4
|
+
import { SimCfBehaviorPolicies } from "./sim-cf-behavior-policies.js";
|
|
2
5
|
import { SimCfBehaviorResponseHeadersPolicy } from "./sim-cf-behavior-response-headers-policy.js";
|
|
3
6
|
import { SimCloudFrontBehaviorConfigurator } from "./sim-cloud-front-behavior-configurator.js";
|
|
4
7
|
import { SimCloudFrontDistributionConfigurator } from "./sim-cloud-front-distribution-configurator.js";
|
|
@@ -10,6 +13,9 @@ import { SimCloudFrontOriginConfigurator } from "./sim-cloud-front-origin-config
|
|
|
10
13
|
* same set of configurators.
|
|
11
14
|
*/
|
|
12
15
|
export function makeSimCloudFrontDistributionConfigurator(properties) {
|
|
13
|
-
const
|
|
14
|
-
return new SimCloudFrontDistributionConfigurator(new SimCloudFrontOriginConfigurator(properties.s3OriginResolver, properties.originAccessControls,
|
|
16
|
+
const behaviorPolicies = new SimCfBehaviorPolicies(new SimCfBehaviorResponseHeadersPolicy(properties.responseHeadersPolicies), new SimCfBehaviorCachePolicy(properties.cachePolicies), new SimCfBehaviorOriginRequestPolicy(properties.originRequestPolicies));
|
|
17
|
+
return new SimCloudFrontDistributionConfigurator(new SimCloudFrontOriginConfigurator(properties.s3OriginResolver, properties.originAccessControls, {
|
|
18
|
+
cachePolicies: properties.cachePolicies,
|
|
19
|
+
originRequestPolicies: properties.originRequestPolicies,
|
|
20
|
+
}, properties.customOriginDispatcher), new SimCloudFrontBehaviorConfigurator(behaviorPolicies), behaviorPolicies, new SimCfDistributionWebAcl(properties.webAclResolver));
|
|
15
21
|
}
|
package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { SimCloudFrontCacheBehaviorConfig, SimCloudFrontDefaultCacheBehaviorConfig } from "../../command/create-distribution/create-distribution.command.js";
|
|
2
2
|
import type { SimCloudFrontDistribution } from "../sim-cloudfront-distribution.js";
|
|
3
|
-
import type {
|
|
3
|
+
import type { SimCfBehaviorPolicies } from "./sim-cf-behavior-policies.js";
|
|
4
4
|
/**
|
|
5
5
|
* Applies Cache Behavior configuration to a sim CloudFront Distribution.
|
|
6
6
|
*/
|
|
7
7
|
export declare class SimCloudFrontBehaviorConfigurator {
|
|
8
|
-
private readonly
|
|
9
|
-
constructor(
|
|
8
|
+
private readonly policies;
|
|
9
|
+
constructor(policies: SimCfBehaviorPolicies);
|
|
10
10
|
/**
|
|
11
11
|
* Configure the default Cache Behavior on a Distribution.
|
|
12
12
|
*/
|
package/dist/service/cloudfront/distribution/configurator/sim-cloud-front-behavior-configurator.js
CHANGED
|
@@ -4,16 +4,16 @@ import { simCfBehaviorProperties } from "./sim-cf-behavior-properties.js";
|
|
|
4
4
|
* Applies Cache Behavior configuration to a sim CloudFront Distribution.
|
|
5
5
|
*/
|
|
6
6
|
export class SimCloudFrontBehaviorConfigurator {
|
|
7
|
-
|
|
8
|
-
constructor(
|
|
9
|
-
this.
|
|
7
|
+
policies;
|
|
8
|
+
constructor(policies) {
|
|
9
|
+
this.policies = policies;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Configure the default Cache Behavior on a Distribution.
|
|
13
13
|
*/
|
|
14
14
|
configureDefaultCacheBehavior(distribution, cacheBehavior) {
|
|
15
15
|
assertDefined(cacheBehavior, "CloudFront DefaultCacheBehavior");
|
|
16
|
-
distribution.addBehavior(simCfBehaviorProperties(cacheBehavior, this.
|
|
16
|
+
distribution.addBehavior(simCfBehaviorProperties(cacheBehavior, this.policies));
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Configure a Cache Behavior on a Distribution.
|
|
@@ -22,7 +22,7 @@ export class SimCloudFrontBehaviorConfigurator {
|
|
|
22
22
|
assertDefined(cacheBehavior.PathPattern, "CloudFront CacheBehavior PathPattern");
|
|
23
23
|
distribution.addBehavior({
|
|
24
24
|
pathPattern: cacheBehavior.PathPattern,
|
|
25
|
-
...simCfBehaviorProperties(cacheBehavior, this.
|
|
25
|
+
...simCfBehaviorProperties(cacheBehavior, this.policies),
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
}
|
|
@@ -4,15 +4,25 @@ import type { SimCloudFrontDistribution } from "../sim-cloudfront-distribution.j
|
|
|
4
4
|
* Applies custom error response configuration to a sim CloudFront
|
|
5
5
|
* Distribution.
|
|
6
6
|
*
|
|
7
|
-
* CloudFront pairs `ResponsePagePath` and `ResponseCode
|
|
7
|
+
* CloudFront pairs `ResponsePagePath` and `ResponseCode`. A rule carrying one
|
|
8
8
|
* without the other is refused rather than half applied. A rule carrying
|
|
9
|
-
* neither
|
|
10
|
-
*
|
|
9
|
+
* neither configures error caching alone, and it reaches the Distribution with
|
|
10
|
+
* no page for the viewer to be sent.
|
|
11
11
|
*/
|
|
12
12
|
export declare class SimCloudFrontCustomErrorConfigurator {
|
|
13
13
|
/**
|
|
14
14
|
* Configure one custom error response on a Distribution.
|
|
15
15
|
*/
|
|
16
16
|
configure(distribution: SimCloudFrontDistribution, customErrorResponse: SimCloudFrontCustomErrorResponseConfig): void;
|
|
17
|
+
/**
|
|
18
|
+
* How long the rule holds its error for, which CloudFront defaults to ten
|
|
19
|
+
* seconds.
|
|
20
|
+
*
|
|
21
|
+
* A template can write a number as a string, and that one is read as the
|
|
22
|
+
* seconds it spells. Anything else falls back to the default. The
|
|
23
|
+
* alternative would be a stack that fails to deploy over the seconds an
|
|
24
|
+
* error is held for.
|
|
25
|
+
*/
|
|
26
|
+
private errorCachingMinTtlSec;
|
|
17
27
|
private responseCode;
|
|
18
28
|
}
|