@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
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { SimCloudFrontCacheKey } from "../cache-policy/sim-cf-cache-key.js";
|
|
2
|
+
import { SimCfOriginRequestForwarding } from "./sim-cf-origin-request-forwarding.js";
|
|
3
|
+
interface SimCfForwardedToOriginProperties {
|
|
4
|
+
readonly cacheKey?: SimCloudFrontCacheKey | undefined;
|
|
5
|
+
readonly forwarding?: SimCfOriginRequestForwarding | undefined;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* What a cache Behavior carries to its Origin.
|
|
9
|
+
*
|
|
10
|
+
* CloudFront sends the union of two things. The first is what the cache policy
|
|
11
|
+
* keyed the cache on, since an Origin has to be able to answer for the key it
|
|
12
|
+
* is asked about. The second is what the origin request policy forwards on
|
|
13
|
+
* top. A Behavior naming neither policy carries neither, and its Origin reads
|
|
14
|
+
* only what CloudFront sends of its own accord.
|
|
15
|
+
*
|
|
16
|
+
* https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html
|
|
17
|
+
*/
|
|
18
|
+
export declare class SimCfForwardedToOrigin {
|
|
19
|
+
private readonly cacheKey;
|
|
20
|
+
private readonly forwarding;
|
|
21
|
+
constructor(properties?: SimCfForwardedToOriginProperties);
|
|
22
|
+
/**
|
|
23
|
+
* Whether one of the viewer's headers travels to the Origin, by a name read
|
|
24
|
+
* case insensitively as HTTP reads a header name.
|
|
25
|
+
*/
|
|
26
|
+
forwardsHeader(name: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Whether the cache policy keyed on compression, which is either of its two
|
|
29
|
+
* `EnableAcceptEncoding` flags.
|
|
30
|
+
*
|
|
31
|
+
* A policy that did decides the `Accept-Encoding` the Origin is asked for on
|
|
32
|
+
* its own. AWS says as much: a policy naming the header alongside these
|
|
33
|
+
* flags has no effect on the Origin request.
|
|
34
|
+
*/
|
|
35
|
+
get keysOnCompression(): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* The `Accept-Encoding` CloudFront sends where the cache policy keyed on
|
|
38
|
+
* compression, or none where it did not.
|
|
39
|
+
*
|
|
40
|
+
* CloudFront normalizes this header rather than passing the viewer's own on.
|
|
41
|
+
* An encoding the viewer asked for and the policy left out is left out of
|
|
42
|
+
* what the Origin is asked for. A policy naming the header outright carries
|
|
43
|
+
* the viewer's value, and never reaches this.
|
|
44
|
+
*/
|
|
45
|
+
normalizedAcceptEncoding(headers: Headers): string | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Whether one of the viewer's cookies travels to the Origin. CloudFront
|
|
48
|
+
* reads a cookie name case sensitively.
|
|
49
|
+
*/
|
|
50
|
+
forwardsCookie(name: string): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Whether one of the viewer's query strings travels to the Origin.
|
|
53
|
+
* CloudFront reads a query string name case sensitively.
|
|
54
|
+
*/
|
|
55
|
+
forwardsQueryString(name: string): boolean;
|
|
56
|
+
}
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { simCfNormalizedAcceptEncoding } from "../cache/sim-cf-accept-encoding.js";
|
|
2
|
+
import { SimCloudFrontCacheKey } from "../cache-policy/sim-cf-cache-key.js";
|
|
3
|
+
import { SimCfOriginRequestForwarding, } from "./sim-cf-origin-request-forwarding.js";
|
|
4
|
+
/**
|
|
5
|
+
* What a cache Behavior carries to its Origin.
|
|
6
|
+
*
|
|
7
|
+
* CloudFront sends the union of two things. The first is what the cache policy
|
|
8
|
+
* keyed the cache on, since an Origin has to be able to answer for the key it
|
|
9
|
+
* is asked about. The second is what the origin request policy forwards on
|
|
10
|
+
* top. A Behavior naming neither policy carries neither, and its Origin reads
|
|
11
|
+
* only what CloudFront sends of its own accord.
|
|
12
|
+
*
|
|
13
|
+
* https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html
|
|
14
|
+
*/
|
|
15
|
+
export class SimCfForwardedToOrigin {
|
|
16
|
+
cacheKey;
|
|
17
|
+
forwarding;
|
|
18
|
+
constructor(properties = {}) {
|
|
19
|
+
this.cacheKey = properties.cacheKey ?? new SimCloudFrontCacheKey();
|
|
20
|
+
this.forwarding =
|
|
21
|
+
properties.forwarding ?? new SimCfOriginRequestForwarding();
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Whether one of the viewer's headers travels to the Origin, by a name read
|
|
25
|
+
* case insensitively as HTTP reads a header name.
|
|
26
|
+
*/
|
|
27
|
+
forwardsHeader(name) {
|
|
28
|
+
return ((this.cacheKey.headerBehavior === "whitelist" &&
|
|
29
|
+
namesHeader(this.cacheKey.headers, name)) ||
|
|
30
|
+
policyForwardsHeader(this.forwarding.headerBehavior, this.forwarding.headers, name));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Whether the cache policy keyed on compression, which is either of its two
|
|
34
|
+
* `EnableAcceptEncoding` flags.
|
|
35
|
+
*
|
|
36
|
+
* A policy that did decides the `Accept-Encoding` the Origin is asked for on
|
|
37
|
+
* its own. AWS says as much: a policy naming the header alongside these
|
|
38
|
+
* flags has no effect on the Origin request.
|
|
39
|
+
*/
|
|
40
|
+
get keysOnCompression() {
|
|
41
|
+
return (this.cacheKey.enableAcceptEncodingGzip ||
|
|
42
|
+
this.cacheKey.enableAcceptEncodingBrotli);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The `Accept-Encoding` CloudFront sends where the cache policy keyed on
|
|
46
|
+
* compression, or none where it did not.
|
|
47
|
+
*
|
|
48
|
+
* CloudFront normalizes this header rather than passing the viewer's own on.
|
|
49
|
+
* An encoding the viewer asked for and the policy left out is left out of
|
|
50
|
+
* what the Origin is asked for. A policy naming the header outright carries
|
|
51
|
+
* the viewer's value, and never reaches this.
|
|
52
|
+
*/
|
|
53
|
+
normalizedAcceptEncoding(headers) {
|
|
54
|
+
const encodings = simCfNormalizedAcceptEncoding(headers, this.cacheKey);
|
|
55
|
+
// AWS writes the normalized header with gzip first.
|
|
56
|
+
const ordered = ["gzip", "br"].filter((encoding) => encodings.includes(encoding));
|
|
57
|
+
return ordered.length === 0 ? undefined : ordered.join(", ");
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Whether one of the viewer's cookies travels to the Origin. CloudFront
|
|
61
|
+
* reads a cookie name case sensitively.
|
|
62
|
+
*/
|
|
63
|
+
forwardsCookie(name) {
|
|
64
|
+
return (behaviorNames(this.cacheKey.cookieBehavior, this.cacheKey.cookies, name) ||
|
|
65
|
+
behaviorNames(this.forwarding.cookieBehavior, this.forwarding.cookies, name));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Whether one of the viewer's query strings travels to the Origin.
|
|
69
|
+
* CloudFront reads a query string name case sensitively.
|
|
70
|
+
*/
|
|
71
|
+
forwardsQueryString(name) {
|
|
72
|
+
return (behaviorNames(this.cacheKey.queryStringBehavior, this.cacheKey.queryStrings, name) ||
|
|
73
|
+
behaviorNames(this.forwarding.queryStringBehavior, this.forwarding.queryStrings, name));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Whether a header behaviour carries one header name.
|
|
78
|
+
*
|
|
79
|
+
* `allViewerAndWhitelistCloudFront` carries every viewer header, and its list
|
|
80
|
+
* names CloudFront's own headers rather than the viewer's. Nothing here
|
|
81
|
+
* generates those, so the list adds nothing to what `allViewer` already
|
|
82
|
+
* carries.
|
|
83
|
+
*/
|
|
84
|
+
function policyForwardsHeader(behavior, headers, name) {
|
|
85
|
+
switch (behavior) {
|
|
86
|
+
case "allViewer":
|
|
87
|
+
case "allViewerAndWhitelistCloudFront": {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
case "whitelist": {
|
|
91
|
+
return namesHeader(headers, name);
|
|
92
|
+
}
|
|
93
|
+
case "allExcept": {
|
|
94
|
+
return !namesHeader(headers, name);
|
|
95
|
+
}
|
|
96
|
+
case "none": {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Whether a cookie or query string behaviour carries one name.
|
|
103
|
+
*
|
|
104
|
+
* The cookie behaviours and the query string behaviours are the same four
|
|
105
|
+
* values in both kinds of policy, so one function reads all of them.
|
|
106
|
+
*/
|
|
107
|
+
function behaviorNames(behavior, listed, name) {
|
|
108
|
+
switch (behavior) {
|
|
109
|
+
case "all": {
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
case "whitelist": {
|
|
113
|
+
return listed.includes(name);
|
|
114
|
+
}
|
|
115
|
+
case "allExcept": {
|
|
116
|
+
return !listed.includes(name);
|
|
117
|
+
}
|
|
118
|
+
case "none": {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Whether a list of header names holds one, whatever case either was written
|
|
125
|
+
* in.
|
|
126
|
+
*/
|
|
127
|
+
function namesHeader(headers, name) {
|
|
128
|
+
return headers.some((header) => header.toLowerCase() === name.toLowerCase());
|
|
129
|
+
}
|
package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type SimCloudFrontOriginRequestPolicyMap } from "./sim-cf-origin-request-policy.js";
|
|
2
|
+
/**
|
|
3
|
+
* The IDs AWS publishes for its managed origin request policies.
|
|
4
|
+
*
|
|
5
|
+
* A template names one of these directly. CDK's `OriginRequestPolicy` statics
|
|
6
|
+
* carry the same eight, and synthesize the ID into a Behavior's
|
|
7
|
+
* `OriginRequestPolicyId` with no Resource behind it.
|
|
8
|
+
*/
|
|
9
|
+
export declare const simCfManagedOriginRequestPolicyIds: {
|
|
10
|
+
readonly allViewer: "216adef6-5c7f-47e4-b989-5492eafa07d3";
|
|
11
|
+
readonly allViewerAndCloudFrontHeaders2022: "33f36d7e-f396-46d9-90e0-52428a34d9dc";
|
|
12
|
+
readonly allViewerExceptHostHeader: "b689b0a8-53d0-40ab-baf2-68738e2966ac";
|
|
13
|
+
readonly corsCustomOrigin: "59781a5b-3903-41f3-afcb-af62929ccde1";
|
|
14
|
+
readonly corsS3Origin: "88a5eaf4-2fd4-4709-b370-b4c650ea3fcf";
|
|
15
|
+
readonly elementalMediaTailorPersonalizedManifests: "775133bc-15f2-49f9-abea-afb2e0bf67d2";
|
|
16
|
+
readonly hostHeaderOnly: "bf0718e1-ba1e-49d1-88b1-f726733018ae";
|
|
17
|
+
readonly userAgentRefererHeaders: "acba4595-bd28-49b8-b9fe-13317c0390fa";
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* The eight managed origin request policies, built fresh for one simulated
|
|
21
|
+
* CloudFront.
|
|
22
|
+
*
|
|
23
|
+
* CloudFront owns these and every account has them, so a Behavior can name one
|
|
24
|
+
* without a template creating anything. Each carries the ID, the name and the
|
|
25
|
+
* three sections AWS publishes for it, so an Origin behind `AllViewer` here
|
|
26
|
+
* reads what one behind `AllViewer` in an account reads.
|
|
27
|
+
*
|
|
28
|
+
* https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html
|
|
29
|
+
*/
|
|
30
|
+
export declare function simCfManagedOriginRequestPolicies(): SimCloudFrontOriginRequestPolicyMap;
|
package/dist/service/cloudfront/origin-request-policy/sim-cf-managed-origin-request-policies.js
ADDED
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { SimCfOriginRequestForwarding } from "./sim-cf-origin-request-forwarding.js";
|
|
2
|
+
import { SimCloudFrontOriginRequestPolicy, } from "./sim-cf-origin-request-policy.js";
|
|
3
|
+
/**
|
|
4
|
+
* The IDs AWS publishes for its managed origin request policies.
|
|
5
|
+
*
|
|
6
|
+
* A template names one of these directly. CDK's `OriginRequestPolicy` statics
|
|
7
|
+
* carry the same eight, and synthesize the ID into a Behavior's
|
|
8
|
+
* `OriginRequestPolicyId` with no Resource behind it.
|
|
9
|
+
*/
|
|
10
|
+
export const simCfManagedOriginRequestPolicyIds = {
|
|
11
|
+
allViewer: "216adef6-5c7f-47e4-b989-5492eafa07d3",
|
|
12
|
+
allViewerAndCloudFrontHeaders2022: "33f36d7e-f396-46d9-90e0-52428a34d9dc",
|
|
13
|
+
allViewerExceptHostHeader: "b689b0a8-53d0-40ab-baf2-68738e2966ac",
|
|
14
|
+
corsCustomOrigin: "59781a5b-3903-41f3-afcb-af62929ccde1",
|
|
15
|
+
corsS3Origin: "88a5eaf4-2fd4-4709-b370-b4c650ea3fcf",
|
|
16
|
+
elementalMediaTailorPersonalizedManifests: "775133bc-15f2-49f9-abea-afb2e0bf67d2",
|
|
17
|
+
hostHeaderOnly: "bf0718e1-ba1e-49d1-88b1-f726733018ae",
|
|
18
|
+
userAgentRefererHeaders: "acba4595-bd28-49b8-b9fe-13317c0390fa",
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The CloudFront headers `AllViewerAndCloudFrontHeaders-2022-06` adds to the
|
|
22
|
+
* viewer's own. They are the ones CloudFront had released by June 2022, and
|
|
23
|
+
* the policy is pinned to that set rather than growing with CloudFront.
|
|
24
|
+
*/
|
|
25
|
+
const cloudFrontHeaders2022 = [
|
|
26
|
+
"CloudFront-Forwarded-Proto",
|
|
27
|
+
"CloudFront-Is-Android-Viewer",
|
|
28
|
+
"CloudFront-Is-Desktop-Viewer",
|
|
29
|
+
"CloudFront-Is-IOS-Viewer",
|
|
30
|
+
"CloudFront-Is-Mobile-Viewer",
|
|
31
|
+
"CloudFront-Is-SmartTV-Viewer",
|
|
32
|
+
"CloudFront-Is-Tablet-Viewer",
|
|
33
|
+
"CloudFront-Viewer-Address",
|
|
34
|
+
"CloudFront-Viewer-ASN",
|
|
35
|
+
"CloudFront-Viewer-City",
|
|
36
|
+
"CloudFront-Viewer-Country",
|
|
37
|
+
"CloudFront-Viewer-Country-Name",
|
|
38
|
+
"CloudFront-Viewer-Country-Region",
|
|
39
|
+
"CloudFront-Viewer-Country-Region-Name",
|
|
40
|
+
"CloudFront-Viewer-Http-Version",
|
|
41
|
+
"CloudFront-Viewer-Latitude",
|
|
42
|
+
"CloudFront-Viewer-Longitude",
|
|
43
|
+
"CloudFront-Viewer-Metro-Code",
|
|
44
|
+
"CloudFront-Viewer-Postal-Code",
|
|
45
|
+
"CloudFront-Viewer-Time-Zone",
|
|
46
|
+
"CloudFront-Viewer-TLS",
|
|
47
|
+
];
|
|
48
|
+
/**
|
|
49
|
+
* The CORS request headers `CORS-S3Origin` forwards, which
|
|
50
|
+
* `Elemental-MediaTailor-PersonalizedManifests` forwards along with two of its
|
|
51
|
+
* own.
|
|
52
|
+
*/
|
|
53
|
+
const corsRequestHeaders = [
|
|
54
|
+
"Origin",
|
|
55
|
+
"Access-Control-Request-Headers",
|
|
56
|
+
"Access-Control-Request-Method",
|
|
57
|
+
];
|
|
58
|
+
/**
|
|
59
|
+
* The eight managed origin request policies, built fresh for one simulated
|
|
60
|
+
* CloudFront.
|
|
61
|
+
*
|
|
62
|
+
* CloudFront owns these and every account has them, so a Behavior can name one
|
|
63
|
+
* without a template creating anything. Each carries the ID, the name and the
|
|
64
|
+
* three sections AWS publishes for it, so an Origin behind `AllViewer` here
|
|
65
|
+
* reads what one behind `AllViewer` in an account reads.
|
|
66
|
+
*
|
|
67
|
+
* https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html
|
|
68
|
+
*/
|
|
69
|
+
export function simCfManagedOriginRequestPolicies() {
|
|
70
|
+
const policies = [
|
|
71
|
+
managedOriginRequestPolicy(simCfManagedOriginRequestPolicyIds.allViewer, "AllViewer", new SimCfOriginRequestForwarding({
|
|
72
|
+
cookieBehavior: "all",
|
|
73
|
+
headerBehavior: "allViewer",
|
|
74
|
+
queryStringBehavior: "all",
|
|
75
|
+
})),
|
|
76
|
+
managedOriginRequestPolicy(simCfManagedOriginRequestPolicyIds.allViewerAndCloudFrontHeaders2022, "AllViewerAndCloudFrontHeaders-2022-06", new SimCfOriginRequestForwarding({
|
|
77
|
+
cookieBehavior: "all",
|
|
78
|
+
headerBehavior: "allViewerAndWhitelistCloudFront",
|
|
79
|
+
headers: cloudFrontHeaders2022,
|
|
80
|
+
queryStringBehavior: "all",
|
|
81
|
+
})),
|
|
82
|
+
managedOriginRequestPolicy(simCfManagedOriginRequestPolicyIds.allViewerExceptHostHeader, "AllViewerExceptHostHeader", new SimCfOriginRequestForwarding({
|
|
83
|
+
cookieBehavior: "all",
|
|
84
|
+
headerBehavior: "allExcept",
|
|
85
|
+
headers: ["Host"],
|
|
86
|
+
queryStringBehavior: "all",
|
|
87
|
+
})),
|
|
88
|
+
managedOriginRequestPolicy(simCfManagedOriginRequestPolicyIds.corsCustomOrigin, "CORS-CustomOrigin", new SimCfOriginRequestForwarding({
|
|
89
|
+
headerBehavior: "whitelist",
|
|
90
|
+
headers: ["Origin"],
|
|
91
|
+
})),
|
|
92
|
+
managedOriginRequestPolicy(simCfManagedOriginRequestPolicyIds.corsS3Origin, "CORS-S3Origin", new SimCfOriginRequestForwarding({
|
|
93
|
+
headerBehavior: "whitelist",
|
|
94
|
+
headers: corsRequestHeaders,
|
|
95
|
+
})),
|
|
96
|
+
managedOriginRequestPolicy(simCfManagedOriginRequestPolicyIds.elementalMediaTailorPersonalizedManifests, "Elemental-MediaTailor-PersonalizedManifests", new SimCfOriginRequestForwarding({
|
|
97
|
+
headerBehavior: "whitelist",
|
|
98
|
+
headers: [...corsRequestHeaders, "User-Agent", "X-Forwarded-For"],
|
|
99
|
+
queryStringBehavior: "all",
|
|
100
|
+
})),
|
|
101
|
+
managedOriginRequestPolicy(simCfManagedOriginRequestPolicyIds.hostHeaderOnly, "HostHeaderOnly", new SimCfOriginRequestForwarding({
|
|
102
|
+
headerBehavior: "whitelist",
|
|
103
|
+
headers: ["Host"],
|
|
104
|
+
})),
|
|
105
|
+
managedOriginRequestPolicy(simCfManagedOriginRequestPolicyIds.userAgentRefererHeaders, "UserAgentRefererHeaders", new SimCfOriginRequestForwarding({
|
|
106
|
+
headerBehavior: "whitelist",
|
|
107
|
+
headers: ["User-Agent", "Referer"],
|
|
108
|
+
})),
|
|
109
|
+
];
|
|
110
|
+
return new Map(policies.map((policy) => [policy.id, policy]));
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* One managed policy, under the ID, the name and the sections AWS gives it.
|
|
114
|
+
*/
|
|
115
|
+
function managedOriginRequestPolicy(id, name, forwarding) {
|
|
116
|
+
return new SimCloudFrontOriginRequestPolicy({
|
|
117
|
+
id: id,
|
|
118
|
+
name,
|
|
119
|
+
forwarding,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The cookie behaviours an origin request policy may name.
|
|
3
|
+
*
|
|
4
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-cloudfront-originrequestpolicy-cookiesconfig.html
|
|
5
|
+
*/
|
|
6
|
+
export declare const simCfForwardedCookieBehaviors: readonly ["none", "whitelist", "allExcept", "all"];
|
|
7
|
+
export type SimCfForwardedCookieBehavior = (typeof simCfForwardedCookieBehaviors)[number];
|
|
8
|
+
/**
|
|
9
|
+
* The header behaviours an origin request policy may name.
|
|
10
|
+
*
|
|
11
|
+
* These are the two a cache key offers and three more. A policy can forward
|
|
12
|
+
* every header the viewer sent, which is no use as a cache key but is what an
|
|
13
|
+
* Origin behind `AllViewer` receives, and it can add CloudFront's own headers
|
|
14
|
+
* to that or forward everything but a list.
|
|
15
|
+
*
|
|
16
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-cloudfront-originrequestpolicy-headersconfig.html
|
|
17
|
+
*/
|
|
18
|
+
export declare const simCfForwardedHeaderBehaviors: readonly ["none", "whitelist", "allViewer", "allViewerAndWhitelistCloudFront", "allExcept"];
|
|
19
|
+
export type SimCfForwardedHeaderBehavior = (typeof simCfForwardedHeaderBehaviors)[number];
|
|
20
|
+
/**
|
|
21
|
+
* The query string behaviours an origin request policy may name.
|
|
22
|
+
*
|
|
23
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-cloudfront-originrequestpolicy-querystringsconfig.html
|
|
24
|
+
*/
|
|
25
|
+
export declare const simCfForwardedQueryStringBehaviors: readonly ["none", "whitelist", "allExcept", "all"];
|
|
26
|
+
export type SimCfForwardedQueryStringBehavior = (typeof simCfForwardedQueryStringBehaviors)[number];
|
|
27
|
+
interface SimCfOriginRequestForwardingProperties {
|
|
28
|
+
readonly cookieBehavior?: SimCfForwardedCookieBehavior;
|
|
29
|
+
readonly cookies?: readonly string[];
|
|
30
|
+
readonly headerBehavior?: SimCfForwardedHeaderBehavior;
|
|
31
|
+
readonly headers?: readonly string[];
|
|
32
|
+
readonly queryStringBehavior?: SimCfForwardedQueryStringBehavior;
|
|
33
|
+
readonly queryStrings?: readonly string[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* What an origin request policy carries to the Origin.
|
|
37
|
+
*
|
|
38
|
+
* These are the three `<name>Config` sections of an `OriginRequestPolicyConfig`.
|
|
39
|
+
* Each carries a behaviour and the names it applies to: a `whitelist` forwards
|
|
40
|
+
* the names listed, an `allExcept` forwards everything but them, and `all`,
|
|
41
|
+
* `allViewer` and `none` ignore the list. The header section's
|
|
42
|
+
* `allViewerAndWhitelistCloudFront` forwards every viewer header and the
|
|
43
|
+
* CloudFront headers it lists on top.
|
|
44
|
+
*
|
|
45
|
+
* https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html
|
|
46
|
+
*/
|
|
47
|
+
export declare class SimCfOriginRequestForwarding {
|
|
48
|
+
readonly cookieBehavior: SimCfForwardedCookieBehavior;
|
|
49
|
+
readonly cookies: readonly string[];
|
|
50
|
+
readonly headerBehavior: SimCfForwardedHeaderBehavior;
|
|
51
|
+
readonly headers: readonly string[];
|
|
52
|
+
readonly queryStringBehavior: SimCfForwardedQueryStringBehavior;
|
|
53
|
+
readonly queryStrings: readonly string[];
|
|
54
|
+
constructor(properties?: SimCfOriginRequestForwardingProperties);
|
|
55
|
+
}
|
|
56
|
+
export {};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The cookie behaviours an origin request policy may name.
|
|
3
|
+
*
|
|
4
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-cloudfront-originrequestpolicy-cookiesconfig.html
|
|
5
|
+
*/
|
|
6
|
+
export const simCfForwardedCookieBehaviors = [
|
|
7
|
+
"none",
|
|
8
|
+
"whitelist",
|
|
9
|
+
"allExcept",
|
|
10
|
+
"all",
|
|
11
|
+
];
|
|
12
|
+
/**
|
|
13
|
+
* The header behaviours an origin request policy may name.
|
|
14
|
+
*
|
|
15
|
+
* These are the two a cache key offers and three more. A policy can forward
|
|
16
|
+
* every header the viewer sent, which is no use as a cache key but is what an
|
|
17
|
+
* Origin behind `AllViewer` receives, and it can add CloudFront's own headers
|
|
18
|
+
* to that or forward everything but a list.
|
|
19
|
+
*
|
|
20
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-cloudfront-originrequestpolicy-headersconfig.html
|
|
21
|
+
*/
|
|
22
|
+
export const simCfForwardedHeaderBehaviors = [
|
|
23
|
+
"none",
|
|
24
|
+
"whitelist",
|
|
25
|
+
"allViewer",
|
|
26
|
+
"allViewerAndWhitelistCloudFront",
|
|
27
|
+
"allExcept",
|
|
28
|
+
];
|
|
29
|
+
/**
|
|
30
|
+
* The query string behaviours an origin request policy may name.
|
|
31
|
+
*
|
|
32
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-cloudfront-originrequestpolicy-querystringsconfig.html
|
|
33
|
+
*/
|
|
34
|
+
export const simCfForwardedQueryStringBehaviors = [
|
|
35
|
+
"none",
|
|
36
|
+
"whitelist",
|
|
37
|
+
"allExcept",
|
|
38
|
+
"all",
|
|
39
|
+
];
|
|
40
|
+
/**
|
|
41
|
+
* What an origin request policy carries to the Origin.
|
|
42
|
+
*
|
|
43
|
+
* These are the three `<name>Config` sections of an `OriginRequestPolicyConfig`.
|
|
44
|
+
* Each carries a behaviour and the names it applies to: a `whitelist` forwards
|
|
45
|
+
* the names listed, an `allExcept` forwards everything but them, and `all`,
|
|
46
|
+
* `allViewer` and `none` ignore the list. The header section's
|
|
47
|
+
* `allViewerAndWhitelistCloudFront` forwards every viewer header and the
|
|
48
|
+
* CloudFront headers it lists on top.
|
|
49
|
+
*
|
|
50
|
+
* https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html
|
|
51
|
+
*/
|
|
52
|
+
export class SimCfOriginRequestForwarding {
|
|
53
|
+
cookieBehavior;
|
|
54
|
+
cookies;
|
|
55
|
+
headerBehavior;
|
|
56
|
+
headers;
|
|
57
|
+
queryStringBehavior;
|
|
58
|
+
queryStrings;
|
|
59
|
+
constructor(properties = {}) {
|
|
60
|
+
this.cookieBehavior = properties.cookieBehavior ?? "none";
|
|
61
|
+
this.cookies = properties.cookies ?? [];
|
|
62
|
+
this.headerBehavior = properties.headerBehavior ?? "none";
|
|
63
|
+
this.headers = properties.headers ?? [];
|
|
64
|
+
this.queryStringBehavior = properties.queryStringBehavior ?? "none";
|
|
65
|
+
this.queryStrings = properties.queryStrings ?? [];
|
|
66
|
+
}
|
|
67
|
+
}
|
package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { SimCloudFrontOriginRequestPolicy, SimCloudFrontOriginRequestPolicyId } from "./sim-cf-origin-request-policy.js";
|
|
2
|
+
/**
|
|
3
|
+
* The origin request policies one simulated CloudFront holds.
|
|
4
|
+
*
|
|
5
|
+
* Policies are found by ID, which is what a cache Behavior's
|
|
6
|
+
* `originRequestPolicyId` names, and by name, which is what decides whether a
|
|
7
|
+
* new one may be stored.
|
|
8
|
+
*
|
|
9
|
+
* AWS's eight managed policies are held apart from the ones a template
|
|
10
|
+
* creates. CloudFront keeps them in its own namespace, so a template may
|
|
11
|
+
* create a policy called `AllViewer` of its own, and deleting the stack that
|
|
12
|
+
* created it leaves the managed one where it was.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SimCloudFrontOriginRequestPolicyRegistry {
|
|
15
|
+
private readonly policies;
|
|
16
|
+
private readonly managedPolicies;
|
|
17
|
+
/**
|
|
18
|
+
* Store a policy a template created, refusing a name another such policy
|
|
19
|
+
* already holds as CloudFront does.
|
|
20
|
+
*/
|
|
21
|
+
add(policy: SimCloudFrontOriginRequestPolicy): void;
|
|
22
|
+
/**
|
|
23
|
+
* Forget a policy.
|
|
24
|
+
*/
|
|
25
|
+
remove(policyId: SimCloudFrontOriginRequestPolicyId): void;
|
|
26
|
+
/**
|
|
27
|
+
* Get a policy by ID, whether a template created it or AWS manages it.
|
|
28
|
+
*/
|
|
29
|
+
byId(policyId: SimCloudFrontOriginRequestPolicyId | string): SimCloudFrontOriginRequestPolicy | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Get a policy a template created, by name.
|
|
32
|
+
*
|
|
33
|
+
* A managed policy is left out. Its name belongs to CloudFront's own
|
|
34
|
+
* namespace, and this is what decides whether a template may store a policy
|
|
35
|
+
* under a name.
|
|
36
|
+
*/
|
|
37
|
+
byName(policyName: string): SimCloudFrontOriginRequestPolicy | undefined;
|
|
38
|
+
}
|
package/dist/service/cloudfront/origin-request-policy/sim-cf-origin-request-policy-registry.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { SimCloudFrontOriginRequestPolicyAlreadyExists } from "../error/sim-cf-origin-request-policy.error.js";
|
|
2
|
+
import { simCfManagedOriginRequestPolicies } from "./sim-cf-managed-origin-request-policies.js";
|
|
3
|
+
/**
|
|
4
|
+
* The origin request policies one simulated CloudFront holds.
|
|
5
|
+
*
|
|
6
|
+
* Policies are found by ID, which is what a cache Behavior's
|
|
7
|
+
* `originRequestPolicyId` names, and by name, which is what decides whether a
|
|
8
|
+
* new one may be stored.
|
|
9
|
+
*
|
|
10
|
+
* AWS's eight managed policies are held apart from the ones a template
|
|
11
|
+
* creates. CloudFront keeps them in its own namespace, so a template may
|
|
12
|
+
* create a policy called `AllViewer` of its own, and deleting the stack that
|
|
13
|
+
* created it leaves the managed one where it was.
|
|
14
|
+
*/
|
|
15
|
+
export class SimCloudFrontOriginRequestPolicyRegistry {
|
|
16
|
+
policies = new Map();
|
|
17
|
+
managedPolicies = simCfManagedOriginRequestPolicies();
|
|
18
|
+
/**
|
|
19
|
+
* Store a policy a template created, refusing a name another such policy
|
|
20
|
+
* already holds as CloudFront does.
|
|
21
|
+
*/
|
|
22
|
+
add(policy) {
|
|
23
|
+
if (this.byName(policy.name) !== undefined) {
|
|
24
|
+
throw new SimCloudFrontOriginRequestPolicyAlreadyExists(`Sim CloudFront origin request policy ${policy.name} already exists`);
|
|
25
|
+
}
|
|
26
|
+
this.policies.set(policy.id, policy);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Forget a policy.
|
|
30
|
+
*/
|
|
31
|
+
remove(policyId) {
|
|
32
|
+
this.policies.delete(policyId);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get a policy by ID, whether a template created it or AWS manages it.
|
|
36
|
+
*/
|
|
37
|
+
byId(policyId) {
|
|
38
|
+
const id = policyId;
|
|
39
|
+
return this.policies.get(id) ?? this.managedPolicies.get(id);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get a policy a template created, by name.
|
|
43
|
+
*
|
|
44
|
+
* A managed policy is left out. Its name belongs to CloudFront's own
|
|
45
|
+
* namespace, and this is what decides whether a template may store a policy
|
|
46
|
+
* under a name.
|
|
47
|
+
*/
|
|
48
|
+
byName(policyName) {
|
|
49
|
+
return this.policies.values().find((policy) => policy.name === policyName);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Brand } from "../../../util/brand.type.js";
|
|
2
|
+
import { SimCfOriginRequestForwarding } from "./sim-cf-origin-request-forwarding.js";
|
|
3
|
+
export type SimCloudFrontOriginRequestPolicyId = Brand<string, "SimCloudFrontOriginRequestPolicyId">;
|
|
4
|
+
interface SimCloudFrontOriginRequestPolicyProperties {
|
|
5
|
+
readonly id?: SimCloudFrontOriginRequestPolicyId;
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly comment?: string | undefined;
|
|
8
|
+
readonly forwarding?: SimCfOriginRequestForwarding;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Simulated CloudFront origin request policy.
|
|
12
|
+
*
|
|
13
|
+
* An origin request policy decides which of the viewer's headers, cookies and
|
|
14
|
+
* query strings a cache Behavior carries to its Origin. This simulation holds
|
|
15
|
+
* the policy under its ID, along with the three sections that say what it
|
|
16
|
+
* forwards, and narrows a custom Origin request to them.
|
|
17
|
+
*
|
|
18
|
+
* What reaches the Origin is the union of these sections and the Behavior's
|
|
19
|
+
* cache key, since CloudFront forwards everything it keyed the cache on as
|
|
20
|
+
* well.
|
|
21
|
+
*
|
|
22
|
+
* https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html
|
|
23
|
+
*/
|
|
24
|
+
export declare class SimCloudFrontOriginRequestPolicy {
|
|
25
|
+
readonly id: SimCloudFrontOriginRequestPolicyId;
|
|
26
|
+
readonly name: string;
|
|
27
|
+
readonly comment: string | undefined;
|
|
28
|
+
readonly forwarding: SimCfOriginRequestForwarding;
|
|
29
|
+
constructor(properties: SimCloudFrontOriginRequestPolicyProperties);
|
|
30
|
+
}
|
|
31
|
+
export type SimCloudFrontOriginRequestPolicyMap = Map<SimCloudFrontOriginRequestPolicyId, SimCloudFrontOriginRequestPolicy>;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { SimCfOriginRequestForwarding } from "./sim-cf-origin-request-forwarding.js";
|
|
3
|
+
/**
|
|
4
|
+
* Simulated CloudFront origin request policy.
|
|
5
|
+
*
|
|
6
|
+
* An origin request policy decides which of the viewer's headers, cookies and
|
|
7
|
+
* query strings a cache Behavior carries to its Origin. This simulation holds
|
|
8
|
+
* the policy under its ID, along with the three sections that say what it
|
|
9
|
+
* forwards, and narrows a custom Origin request to them.
|
|
10
|
+
*
|
|
11
|
+
* What reaches the Origin is the union of these sections and the Behavior's
|
|
12
|
+
* cache key, since CloudFront forwards everything it keyed the cache on as
|
|
13
|
+
* well.
|
|
14
|
+
*
|
|
15
|
+
* https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html
|
|
16
|
+
*/
|
|
17
|
+
export class SimCloudFrontOriginRequestPolicy {
|
|
18
|
+
id;
|
|
19
|
+
name;
|
|
20
|
+
comment;
|
|
21
|
+
forwarding;
|
|
22
|
+
constructor(properties) {
|
|
23
|
+
this.id =
|
|
24
|
+
properties.id ?? randomUUID();
|
|
25
|
+
this.name = properties.name;
|
|
26
|
+
this.comment = properties.comment;
|
|
27
|
+
this.forwarding =
|
|
28
|
+
properties.forwarding ?? new SimCfOriginRequestForwarding();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -1,16 +1,41 @@
|
|
|
1
1
|
import { type SimCloudFrontDistributionId } from "../distribution/sim-cloudfront-distribution.js";
|
|
2
2
|
import type { SimAwsAccountId } from "../../aws/sim-aws-account.js";
|
|
3
|
+
/**
|
|
4
|
+
* How a simulated AWS caches what its Distributions serve.
|
|
5
|
+
*/
|
|
6
|
+
export interface SimCfCachingConfiguration {
|
|
7
|
+
readonly enabled: boolean;
|
|
8
|
+
}
|
|
3
9
|
/**
|
|
4
10
|
* Simulated CloudFront cross-Account registry of Distribution IDs.
|
|
5
11
|
*
|
|
6
12
|
* CloudFront is not region-scoped, so all region-scoped CloudFront service
|
|
7
13
|
* instances for the same Account should delegate to the same Account-global
|
|
8
14
|
* state.
|
|
15
|
+
*
|
|
16
|
+
* Whether Distributions cache what they serve lives here for the same reason.
|
|
17
|
+
* One registry is built per `SimAws` and shared by every Account and Region,
|
|
18
|
+
* so turning caching off turns it off for the whole simulated AWS rather than
|
|
19
|
+
* for one Account's Distributions.
|
|
9
20
|
*/
|
|
10
21
|
export declare class SimCloudFrontRegistry {
|
|
22
|
+
#private;
|
|
11
23
|
private readonly distributionAccountIds;
|
|
12
24
|
private readonly accountDistributionIds;
|
|
13
25
|
private readonly alternateDomainDistributionIds;
|
|
26
|
+
/**
|
|
27
|
+
* Whether Distributions here cache what they serve.
|
|
28
|
+
*/
|
|
29
|
+
get cachingEnabled(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Turn the edge cache on or off for every Distribution in this simulated
|
|
32
|
+
* AWS.
|
|
33
|
+
*
|
|
34
|
+
* Caching is on, as CloudFront's is. Turning it off is for a suite that
|
|
35
|
+
* repeats a request and wants the Origin read every time, and it is the
|
|
36
|
+
* behaviour sim CloudFront had before it held a cache at all.
|
|
37
|
+
*/
|
|
38
|
+
configureCaching(configuration: SimCfCachingConfiguration): void;
|
|
14
39
|
/**
|
|
15
40
|
* Allocate a globally unique simulated CloudFront Distribution ID.
|
|
16
41
|
*/
|