@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,54 @@
|
|
|
1
|
+
import { isRecord } from "../../../../util/type-guard/record.js";
|
|
2
|
+
/**
|
|
3
|
+
* One `<name>Config` section of a cache policy or an origin request policy, as
|
|
4
|
+
* the behaviour it names and the names that behaviour applies to.
|
|
5
|
+
*
|
|
6
|
+
* The two policy kinds write these sections the same way, down to the field
|
|
7
|
+
* names, and differ only in the behaviours each section offers. An absent
|
|
8
|
+
* section is CloudFront's `none` with an empty list, and so is a section that
|
|
9
|
+
* named no behaviour of its own. A behaviour outside the set CloudFront offers
|
|
10
|
+
* for the section is refused.
|
|
11
|
+
*/
|
|
12
|
+
export function simCfnCfPolicySection(parameters, spec, refuse) {
|
|
13
|
+
// oxlint-disable-next-line security/detect-object-injection
|
|
14
|
+
const section = parameters[spec.section];
|
|
15
|
+
if (section === undefined) {
|
|
16
|
+
return { behavior: spec.defaultBehavior, items: [] };
|
|
17
|
+
}
|
|
18
|
+
if (!isRecord(section)) {
|
|
19
|
+
return refuse(`${spec.section} must be an object`);
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
// oxlint-disable-next-line security/detect-object-injection
|
|
23
|
+
behavior: behaviorNamed(section[spec.behaviorField], spec, refuse),
|
|
24
|
+
items: namesListed(section, spec, refuse),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The behaviour a section named, refused where CloudFront does not offer it
|
|
29
|
+
* for that section.
|
|
30
|
+
*/
|
|
31
|
+
function behaviorNamed(named, spec, refuse) {
|
|
32
|
+
if (named === undefined) {
|
|
33
|
+
return spec.defaultBehavior;
|
|
34
|
+
}
|
|
35
|
+
const offered = spec.behaviors;
|
|
36
|
+
return typeof named === "string" && offered.includes(named)
|
|
37
|
+
? named
|
|
38
|
+
: refuse(`${spec.section} ${spec.behaviorField} must be one of ${offered.join(", ")}`);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The names a section lists, which a `whitelist` applies to and an `allExcept`
|
|
42
|
+
* applies to everything but.
|
|
43
|
+
*/
|
|
44
|
+
function namesListed(section, spec, refuse) {
|
|
45
|
+
// oxlint-disable-next-line security/detect-object-injection
|
|
46
|
+
const listed = section[spec.itemsField];
|
|
47
|
+
if (listed === undefined) {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
return Array.isArray(listed) &&
|
|
51
|
+
listed.every((name) => typeof name === "string")
|
|
52
|
+
? listed
|
|
53
|
+
: refuse(`${spec.section} ${spec.itemsField} must be a list of strings`);
|
|
54
|
+
}
|
|
@@ -9,6 +9,8 @@ export declare class SimCloudFrontCloudFormationResourceFactory implements SimCf
|
|
|
9
9
|
private readonly functionCreator;
|
|
10
10
|
private readonly distroDeleter;
|
|
11
11
|
private readonly responseHeadersPolicyCreator;
|
|
12
|
+
private readonly cachePolicyCreator;
|
|
13
|
+
private readonly originRequestPolicyCreator;
|
|
12
14
|
private readonly originAccessControlCreator;
|
|
13
15
|
private readonly keyValueStoreCreator;
|
|
14
16
|
constructor(cloudFront: SimCloudFront);
|
|
@@ -3,6 +3,8 @@ import { SimCfnCfDistroCreator } from "./distro/sim-cfn-cf-distro-creator.js";
|
|
|
3
3
|
import { SimCfnCffCreator } from "./cff/sim-cfn-cff-creator.js";
|
|
4
4
|
import { SimCfnCfDistroDeleter } from "./distro/sim-cfn-cf-distro-deleter.js";
|
|
5
5
|
import { SimCfnCfResponseHeadersPolicyCreator } from "./response-headers-policy/sim-cfn-cf-rh-policy-creator.js";
|
|
6
|
+
import { SimCfnCfCachePolicyCreator } from "./cache-policy/sim-cfn-cf-cache-policy-creator.js";
|
|
7
|
+
import { SimCfnCfOriginRequestPolicyCreator } from "./origin-request-policy/sim-cfn-cf-orp-creator.js";
|
|
6
8
|
import { SimCfnCfOriginAccessControlCreator } from "./origin-access-control/sim-cfn-cf-oac-creator.js";
|
|
7
9
|
import { SimCfnCfKeyValueStoreCreator } from "./key-value-store/sim-cfn-cf-kvs-creator.js";
|
|
8
10
|
/**
|
|
@@ -13,6 +15,8 @@ export class SimCloudFrontCloudFormationResourceFactory {
|
|
|
13
15
|
functionCreator;
|
|
14
16
|
distroDeleter;
|
|
15
17
|
responseHeadersPolicyCreator;
|
|
18
|
+
cachePolicyCreator;
|
|
19
|
+
originRequestPolicyCreator;
|
|
16
20
|
originAccessControlCreator;
|
|
17
21
|
keyValueStoreCreator;
|
|
18
22
|
constructor(cloudFront) {
|
|
@@ -21,6 +25,10 @@ export class SimCloudFrontCloudFormationResourceFactory {
|
|
|
21
25
|
this.distroDeleter = new SimCfnCfDistroDeleter({ cloudFront });
|
|
22
26
|
this.responseHeadersPolicyCreator =
|
|
23
27
|
new SimCfnCfResponseHeadersPolicyCreator({ cloudFront });
|
|
28
|
+
this.cachePolicyCreator = new SimCfnCfCachePolicyCreator({ cloudFront });
|
|
29
|
+
this.originRequestPolicyCreator = new SimCfnCfOriginRequestPolicyCreator({
|
|
30
|
+
cloudFront,
|
|
31
|
+
});
|
|
24
32
|
this.originAccessControlCreator = new SimCfnCfOriginAccessControlCreator({
|
|
25
33
|
cloudFront,
|
|
26
34
|
});
|
|
@@ -43,6 +51,12 @@ export class SimCloudFrontCloudFormationResourceFactory {
|
|
|
43
51
|
case "ResponseHeadersPolicy": {
|
|
44
52
|
return this.responseHeadersPolicyCreator.create(resource, properties);
|
|
45
53
|
}
|
|
54
|
+
case "CachePolicy": {
|
|
55
|
+
return this.cachePolicyCreator.create(resource, properties);
|
|
56
|
+
}
|
|
57
|
+
case "OriginRequestPolicy": {
|
|
58
|
+
return this.originRequestPolicyCreator.create(resource, properties);
|
|
59
|
+
}
|
|
46
60
|
case "OriginAccessControl": {
|
|
47
61
|
return this.originAccessControlCreator.create(resource, properties);
|
|
48
62
|
}
|
|
@@ -73,6 +87,14 @@ export class SimCloudFrontCloudFormationResourceFactory {
|
|
|
73
87
|
this.responseHeadersPolicyCreator.delete(resource);
|
|
74
88
|
return;
|
|
75
89
|
}
|
|
90
|
+
case "CachePolicy": {
|
|
91
|
+
this.cachePolicyCreator.delete(resource);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
case "OriginRequestPolicy": {
|
|
95
|
+
this.originRequestPolicyCreator.delete(resource);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
76
98
|
case "OriginAccessControl": {
|
|
77
99
|
this.originAccessControlCreator.delete(resource);
|
|
78
100
|
return;
|
package/dist/service/cloudfront/command/create-distribution/create-distribution.command.d.ts
CHANGED
|
@@ -144,6 +144,8 @@ export interface SimCloudFrontDefaultCacheBehaviorConfig {
|
|
|
144
144
|
readonly FunctionAssociations?: SimCloudFrontFunctionAssociations | undefined;
|
|
145
145
|
readonly LambdaFunctionAssociations?: SimCloudFrontLambdaFunctionAssociations | undefined;
|
|
146
146
|
readonly ResponseHeadersPolicyId?: string | undefined;
|
|
147
|
+
readonly CachePolicyId?: string | undefined;
|
|
148
|
+
readonly OriginRequestPolicyId?: string | undefined;
|
|
147
149
|
}
|
|
148
150
|
/**
|
|
149
151
|
* Minimal structural sim CloudFront cache behavior config.
|
package/dist/service/cloudfront/command/create-distribution/create-distribution.handler.d.ts
CHANGED
|
@@ -6,7 +6,9 @@ import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
|
|
|
6
6
|
import type { SimCloudFrontS3OriginResolver } from "../../origin/s3/sim-cloudfront-s3-origin.js";
|
|
7
7
|
import type { SimCfCustomOriginDispatcher } from "../../origin/custom/sim-cf-custom-origin-dispatcher.js";
|
|
8
8
|
import type { SimCloudFrontOriginAccessControlRegistry } from "../../origin-access-control/sim-cf-origin-access-control-registry.js";
|
|
9
|
+
import type { SimCloudFrontOriginRequestPolicyRegistry } from "../../origin-request-policy/sim-cf-origin-request-policy-registry.js";
|
|
9
10
|
import type { SimCloudFrontResponseHeadersPolicyRegistry } from "../../response-headers-policy/sim-cf-response-headers-policy-registry.js";
|
|
11
|
+
import type { SimCloudFrontCachePolicyRegistry } from "../../cache-policy/sim-cf-cache-policy-registry.js";
|
|
10
12
|
import type { SimCfWebAclResolver } from "../../web-acl/sim-cf-web-acl.js";
|
|
11
13
|
import type { BackgroundScheduler } from "../../../../util/background/background.js";
|
|
12
14
|
import { type SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
@@ -21,6 +23,8 @@ interface CreateDistributionCommandHandlerProperties {
|
|
|
21
23
|
readonly customOriginDispatcher?: SimCfCustomOriginDispatcher | undefined;
|
|
22
24
|
readonly originAccessControls: SimCloudFrontOriginAccessControlRegistry;
|
|
23
25
|
readonly responseHeadersPolicies: SimCloudFrontResponseHeadersPolicyRegistry;
|
|
26
|
+
readonly cachePolicies: SimCloudFrontCachePolicyRegistry;
|
|
27
|
+
readonly originRequestPolicies: SimCloudFrontOriginRequestPolicyRegistry;
|
|
24
28
|
readonly webAclResolver?: SimCfWebAclResolver | undefined;
|
|
25
29
|
readonly iam?: SimIamInterServiceAuthZ;
|
|
26
30
|
readonly acmRegistry?: SimAcmRegistry | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
2
|
import { SimCloudFrontFunction, } from "../../cff/sim-cloudfront-function.js";
|
|
3
|
-
import { CffUint8ArrayFunctionCodeExtractor } from "../../cff/function-code-input/cff-function-code-input.js";
|
|
3
|
+
import { cffFunctionCodeSource, CffUint8ArrayFunctionCodeExtractor, } from "../../cff/function-code-input/cff-function-code-input.js";
|
|
4
4
|
import { cffCloudFrontModule } from "../../cff/kvs/cff-cloudfront-module.js";
|
|
5
5
|
import { BackgroundTasks, } from "../../../../util/background/background.js";
|
|
6
6
|
import { SimIamAllowAllAuth, } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
@@ -50,6 +50,12 @@ export class CreateFunctionCommandHandler {
|
|
|
50
50
|
accountId: this.accountId,
|
|
51
51
|
handlerFunction,
|
|
52
52
|
keyValueStore,
|
|
53
|
+
// The config a Function was created with is what every read of it
|
|
54
|
+
// reports, so it is kept rather than only acted on here.
|
|
55
|
+
comment: command.input.FunctionConfig?.Comment,
|
|
56
|
+
runtime: command.input.FunctionConfig?.Runtime,
|
|
57
|
+
functionCode: cffFunctionCodeSource(command.input.FunctionCode),
|
|
58
|
+
createdTime: this.background.now(),
|
|
53
59
|
});
|
|
54
60
|
this.cloudFrontFunctions.set(simCff.name, simCff);
|
|
55
61
|
// New CFF becomes available async in background.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimCfFunctionAccess } from "./sim-cf-function-access.js";
|
|
3
|
+
import type { SimDescribeFunctionCommand, SimDescribeFunctionCommandOutput } from "./sim-cf-function-command.types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Simulated CloudFront DescribeFunction command.
|
|
6
|
+
*
|
|
7
|
+
* This is the Function's configuration without its code. GetFunction is the
|
|
8
|
+
* one that answers with the code.
|
|
9
|
+
*
|
|
10
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/DescribeFunctionCommand/
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimCfDescribeFunction {
|
|
13
|
+
private readonly access;
|
|
14
|
+
private static readonly action;
|
|
15
|
+
constructor(access: SimCfFunctionAccess);
|
|
16
|
+
/**
|
|
17
|
+
* Describe one sim CloudFront Function.
|
|
18
|
+
*/
|
|
19
|
+
handle(command: SimDescribeFunctionCommand, options?: {
|
|
20
|
+
readonly caller?: SimAwsCaller;
|
|
21
|
+
}): Promise<SimDescribeFunctionCommandOutput>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
+
import { simCffRequestedStage } from "../../cff/sim-cff-stage.js";
|
|
3
|
+
import { simCfFunctionSummary } from "./sim-cf-function-summary.js";
|
|
4
|
+
/**
|
|
5
|
+
* Simulated CloudFront DescribeFunction command.
|
|
6
|
+
*
|
|
7
|
+
* This is the Function's configuration without its code. GetFunction is the
|
|
8
|
+
* one that answers with the code.
|
|
9
|
+
*
|
|
10
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/DescribeFunctionCommand/
|
|
11
|
+
*/
|
|
12
|
+
export class SimCfDescribeFunction {
|
|
13
|
+
access;
|
|
14
|
+
static action = "cloudfront:DescribeFunction";
|
|
15
|
+
constructor(access) {
|
|
16
|
+
this.access = access;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Describe one sim CloudFront Function.
|
|
20
|
+
*/
|
|
21
|
+
async handle(command, options) {
|
|
22
|
+
assertDefined(command.input.Name, "DescribeFunctionCommand.input.Name");
|
|
23
|
+
const stage = simCffRequestedStage(command.input.Stage);
|
|
24
|
+
await this.access.background.sequence();
|
|
25
|
+
const cloudFrontFunction = this.access.authorizedByName(SimCfDescribeFunction.action, command.input.Name, stage, options?.caller);
|
|
26
|
+
return {
|
|
27
|
+
$metadata: {},
|
|
28
|
+
FunctionSummary: simCfFunctionSummary(cloudFrontFunction, stage),
|
|
29
|
+
ETag: cloudFrontFunction.config.etag,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { BackgroundScheduler } from "../../../../util/background/background.js";
|
|
2
|
+
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
3
|
+
import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
|
|
4
|
+
import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
5
|
+
import type { SimCloudFrontFunctionStage } from "../../cff/sim-cff-stage.js";
|
|
6
|
+
import type { SimCloudFrontFunction } from "../../cff/sim-cloudfront-function.js";
|
|
7
|
+
import type { SimCloudFrontFunctionMap } from "../create-function/create-function.handler.js";
|
|
8
|
+
interface SimCfFunctionAccessProperties {
|
|
9
|
+
readonly accountId: SimAwsAccountId;
|
|
10
|
+
readonly cloudFrontFunctions: SimCloudFrontFunctionMap;
|
|
11
|
+
readonly iam: SimIamInterServiceAuthZ;
|
|
12
|
+
readonly background: BackgroundScheduler;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* What every command reading a Function back needs: the Functions, IAM, and
|
|
16
|
+
* the clock.
|
|
17
|
+
*
|
|
18
|
+
* ListFunctions, DescribeFunction and GetFunction authorize the same way and
|
|
19
|
+
* resolve a Function the same way, so the wiring is here once rather than in
|
|
20
|
+
* each of them. Each command class is then only its own AWS behaviour.
|
|
21
|
+
*/
|
|
22
|
+
export declare class SimCfFunctionAccess {
|
|
23
|
+
readonly cloudFrontFunctions: SimCloudFrontFunctionMap;
|
|
24
|
+
readonly background: BackgroundScheduler;
|
|
25
|
+
private readonly accountId;
|
|
26
|
+
private readonly iam;
|
|
27
|
+
constructor(properties: SimCfFunctionAccessProperties);
|
|
28
|
+
/**
|
|
29
|
+
* Ensure the caller may take an action on a Function ARN.
|
|
30
|
+
*/
|
|
31
|
+
authorize(action: string, resource: string, caller?: SimAwsCaller): void;
|
|
32
|
+
/**
|
|
33
|
+
* Ensure the caller may take an action on any Function in the Account.
|
|
34
|
+
*
|
|
35
|
+
* ListFunctions names no Function, so a policy granting it has to use the
|
|
36
|
+
* wildcard, and this is what it is authorized against.
|
|
37
|
+
*/
|
|
38
|
+
authorizeAnyFunction(action: string, caller?: SimAwsCaller): void;
|
|
39
|
+
/**
|
|
40
|
+
* Resolve a Function in a stage, having authorized the action against it.
|
|
41
|
+
*
|
|
42
|
+
* The ARN is built from the name the caller gave, so authorization happens
|
|
43
|
+
* before the Function map is read and an unauthorized caller is refused
|
|
44
|
+
* whether or not the name resolves.
|
|
45
|
+
*/
|
|
46
|
+
authorizedByName(action: string, functionName: string, stage: SimCloudFrontFunctionStage, caller?: SimAwsCaller): SimCloudFrontFunction;
|
|
47
|
+
}
|
|
48
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { simCfAuthorize } from "../../sim-cf-authorize.js";
|
|
2
|
+
import { simCfFunctionInStage } from "./sim-cf-function-lookup.js";
|
|
3
|
+
/**
|
|
4
|
+
* What every command reading a Function back needs: the Functions, IAM, and
|
|
5
|
+
* the clock.
|
|
6
|
+
*
|
|
7
|
+
* ListFunctions, DescribeFunction and GetFunction authorize the same way and
|
|
8
|
+
* resolve a Function the same way, so the wiring is here once rather than in
|
|
9
|
+
* each of them. Each command class is then only its own AWS behaviour.
|
|
10
|
+
*/
|
|
11
|
+
export class SimCfFunctionAccess {
|
|
12
|
+
cloudFrontFunctions;
|
|
13
|
+
background;
|
|
14
|
+
accountId;
|
|
15
|
+
iam;
|
|
16
|
+
constructor(properties) {
|
|
17
|
+
this.accountId = properties.accountId;
|
|
18
|
+
this.cloudFrontFunctions = properties.cloudFrontFunctions;
|
|
19
|
+
this.iam = properties.iam;
|
|
20
|
+
this.background = properties.background;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Ensure the caller may take an action on a Function ARN.
|
|
24
|
+
*/
|
|
25
|
+
authorize(action, resource, caller) {
|
|
26
|
+
simCfAuthorize({ iam: this.iam, action, resource, caller });
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Ensure the caller may take an action on any Function in the Account.
|
|
30
|
+
*
|
|
31
|
+
* ListFunctions names no Function, so a policy granting it has to use the
|
|
32
|
+
* wildcard, and this is what it is authorized against.
|
|
33
|
+
*/
|
|
34
|
+
authorizeAnyFunction(action, caller) {
|
|
35
|
+
this.authorize(action, `arn:aws:cloudfront::${this.accountId}:function/*`, caller);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Resolve a Function in a stage, having authorized the action against it.
|
|
39
|
+
*
|
|
40
|
+
* The ARN is built from the name the caller gave, so authorization happens
|
|
41
|
+
* before the Function map is read and an unauthorized caller is refused
|
|
42
|
+
* whether or not the name resolves.
|
|
43
|
+
*/
|
|
44
|
+
authorizedByName(action, functionName, stage, caller) {
|
|
45
|
+
this.authorize(action, `arn:aws:cloudfront::${this.accountId}:function/${functionName}`, caller);
|
|
46
|
+
return simCfFunctionInStage(this.cloudFrontFunctions, functionName, stage);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural types for the commands that read a CloudFront Function back.
|
|
3
|
+
*
|
|
4
|
+
* ListFunctions, DescribeFunction and GetFunction all address a Function by
|
|
5
|
+
* name and a stage, and answer with the same summary shape, so their types are
|
|
6
|
+
* together here rather than one file each.
|
|
7
|
+
*
|
|
8
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/
|
|
9
|
+
*/
|
|
10
|
+
import type { SimArn } from "../../../aws/arn.js";
|
|
11
|
+
import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
|
|
12
|
+
import type { SimCloudFrontFunctionRuntime } from "../../cff/sim-cff-configuration.js";
|
|
13
|
+
import type { SimCloudFrontFunctionStage } from "../../cff/sim-cff-stage.js";
|
|
14
|
+
/**
|
|
15
|
+
* Minimal structural sim CloudFront Function config.
|
|
16
|
+
*/
|
|
17
|
+
export interface SimCfFunctionConfig {
|
|
18
|
+
Comment: string;
|
|
19
|
+
Runtime: SimCloudFrontFunctionRuntime;
|
|
20
|
+
KeyValueStoreAssociations?: {
|
|
21
|
+
Quantity: number;
|
|
22
|
+
Items: {
|
|
23
|
+
KeyValueStoreARN: SimArn;
|
|
24
|
+
}[];
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Minimal structural sim CloudFront Function metadata.
|
|
29
|
+
*/
|
|
30
|
+
export interface SimCfFunctionMetadata {
|
|
31
|
+
FunctionARN: SimArn;
|
|
32
|
+
Stage: SimCloudFrontFunctionStage;
|
|
33
|
+
CreatedTime: Date;
|
|
34
|
+
LastModifiedTime: Date;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Minimal structural sim CloudFront Function summary.
|
|
38
|
+
*/
|
|
39
|
+
export interface SimCfFunctionSummary {
|
|
40
|
+
Name: string;
|
|
41
|
+
Status: string;
|
|
42
|
+
FunctionConfig: SimCfFunctionConfig;
|
|
43
|
+
FunctionMetadata: SimCfFunctionMetadata;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Minimal structural sim CloudFront ListFunctions command.
|
|
47
|
+
*/
|
|
48
|
+
export interface SimListFunctionsCommand {
|
|
49
|
+
readonly input: {
|
|
50
|
+
readonly Stage?: string | undefined;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Minimal structural sim CloudFront ListFunctions output.
|
|
55
|
+
*/
|
|
56
|
+
export interface SimListFunctionsCommandOutput {
|
|
57
|
+
readonly $metadata: SimResponseMetadata;
|
|
58
|
+
FunctionList: {
|
|
59
|
+
Quantity: number;
|
|
60
|
+
Items: SimCfFunctionSummary[];
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Minimal structural sim CloudFront DescribeFunction command.
|
|
65
|
+
*/
|
|
66
|
+
export interface SimDescribeFunctionCommand {
|
|
67
|
+
readonly input: {
|
|
68
|
+
readonly Name?: string | undefined;
|
|
69
|
+
readonly Stage?: string | undefined;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Minimal structural sim CloudFront DescribeFunction output.
|
|
74
|
+
*/
|
|
75
|
+
export interface SimDescribeFunctionCommandOutput {
|
|
76
|
+
readonly $metadata: SimResponseMetadata;
|
|
77
|
+
FunctionSummary: SimCfFunctionSummary;
|
|
78
|
+
ETag: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Minimal structural sim CloudFront GetFunction command.
|
|
82
|
+
*/
|
|
83
|
+
export interface SimGetFunctionCommand {
|
|
84
|
+
readonly input: {
|
|
85
|
+
readonly Name?: string | undefined;
|
|
86
|
+
readonly Stage?: string | undefined;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Minimal structural sim CloudFront GetFunction output.
|
|
91
|
+
*/
|
|
92
|
+
export interface SimGetFunctionCommandOutput {
|
|
93
|
+
readonly $metadata: SimResponseMetadata;
|
|
94
|
+
FunctionCode: Uint8Array;
|
|
95
|
+
ETag: string;
|
|
96
|
+
ContentType: string;
|
|
97
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structural types for the commands that read a CloudFront Function back.
|
|
3
|
+
*
|
|
4
|
+
* ListFunctions, DescribeFunction and GetFunction all address a Function by
|
|
5
|
+
* name and a stage, and answer with the same summary shape, so their types are
|
|
6
|
+
* together here rather than one file each.
|
|
7
|
+
*
|
|
8
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type SimCloudFrontFunctionStage } from "../../cff/sim-cff-stage.js";
|
|
2
|
+
import type { SimCloudFrontFunction } from "../../cff/sim-cloudfront-function.js";
|
|
3
|
+
import type { SimCloudFrontFunctionMap } from "../create-function/create-function.handler.js";
|
|
4
|
+
/**
|
|
5
|
+
* Resolve a Function a stage can be read from.
|
|
6
|
+
*
|
|
7
|
+
* A name the Account holds no Function under is refused, and so is one whose
|
|
8
|
+
* Function has not reached the stage asked for. Both answer with
|
|
9
|
+
* NoSuchFunctionExists. That is what CloudFront answers when a stage holds
|
|
10
|
+
* nothing under the name asked for.
|
|
11
|
+
*/
|
|
12
|
+
export declare function simCfFunctionInStage(cloudFrontFunctions: SimCloudFrontFunctionMap, functionName: string, stage: SimCloudFrontFunctionStage): SimCloudFrontFunction;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { simCffInStage, } from "../../cff/sim-cff-stage.js";
|
|
2
|
+
import { SimCloudFrontNoSuchFunctionExists } from "../../error/sim-cloudfront.error.js";
|
|
3
|
+
/**
|
|
4
|
+
* Resolve a Function a stage can be read from.
|
|
5
|
+
*
|
|
6
|
+
* A name the Account holds no Function under is refused, and so is one whose
|
|
7
|
+
* Function has not reached the stage asked for. Both answer with
|
|
8
|
+
* NoSuchFunctionExists. That is what CloudFront answers when a stage holds
|
|
9
|
+
* nothing under the name asked for.
|
|
10
|
+
*/
|
|
11
|
+
export function simCfFunctionInStage(cloudFrontFunctions, functionName, stage) {
|
|
12
|
+
const cloudFrontFunction = cloudFrontFunctions.get(functionName);
|
|
13
|
+
if (cloudFrontFunction === undefined) {
|
|
14
|
+
throw new SimCloudFrontNoSuchFunctionExists(`No sim CloudFront Function named ${functionName}`);
|
|
15
|
+
}
|
|
16
|
+
if (!simCffInStage(cloudFrontFunction, stage)) {
|
|
17
|
+
throw new SimCloudFrontNoSuchFunctionExists(`Sim CloudFront Function ${functionName} has not been published, so it ` +
|
|
18
|
+
`is in DEVELOPMENT and not in ${stage}`);
|
|
19
|
+
}
|
|
20
|
+
return cloudFrontFunction;
|
|
21
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SimCloudFrontFunctionStage } from "../../cff/sim-cff-stage.js";
|
|
2
|
+
import type { SimCloudFrontFunction } from "../../cff/sim-cloudfront-function.js";
|
|
3
|
+
import type { SimCfFunctionSummary } from "./sim-cf-function-command.types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Describe a Function the way ListFunctions and DescribeFunction both do.
|
|
6
|
+
*
|
|
7
|
+
* The stage comes from the request rather than the Function, because a
|
|
8
|
+
* published Function is in both stages and answers under whichever one was
|
|
9
|
+
* asked for.
|
|
10
|
+
*/
|
|
11
|
+
export declare function simCfFunctionSummary(cloudFrontFunction: SimCloudFrontFunction, stage: SimCloudFrontFunctionStage): SimCfFunctionSummary;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Describe a Function the way ListFunctions and DescribeFunction both do.
|
|
3
|
+
*
|
|
4
|
+
* The stage comes from the request rather than the Function, because a
|
|
5
|
+
* published Function is in both stages and answers under whichever one was
|
|
6
|
+
* asked for.
|
|
7
|
+
*/
|
|
8
|
+
export function simCfFunctionSummary(cloudFrontFunction, stage) {
|
|
9
|
+
const keyValueStore = cloudFrontFunction.keyValueStore;
|
|
10
|
+
return {
|
|
11
|
+
Name: cloudFrontFunction.name,
|
|
12
|
+
Status: cloudFrontFunction.status,
|
|
13
|
+
FunctionConfig: {
|
|
14
|
+
Comment: cloudFrontFunction.config.comment,
|
|
15
|
+
Runtime: cloudFrontFunction.config.runtime,
|
|
16
|
+
...(keyValueStore !== undefined && {
|
|
17
|
+
KeyValueStoreAssociations: {
|
|
18
|
+
Quantity: 1,
|
|
19
|
+
Items: [{ KeyValueStoreARN: keyValueStore.arn }],
|
|
20
|
+
},
|
|
21
|
+
}),
|
|
22
|
+
},
|
|
23
|
+
FunctionMetadata: {
|
|
24
|
+
FunctionARN: cloudFrontFunction.arn,
|
|
25
|
+
Stage: stage,
|
|
26
|
+
CreatedTime: cloudFrontFunction.config.createdTime,
|
|
27
|
+
LastModifiedTime: cloudFrontFunction.config.lastModifiedTime,
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimCfFunctionAccess } from "./sim-cf-function-access.js";
|
|
3
|
+
import type { SimGetFunctionCommand, SimGetFunctionCommandOutput } from "./sim-cf-function-command.types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Simulated CloudFront GetFunction command.
|
|
6
|
+
*
|
|
7
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/GetFunctionCommand/
|
|
8
|
+
*/
|
|
9
|
+
export declare class SimCfGetFunction {
|
|
10
|
+
private readonly access;
|
|
11
|
+
private static readonly action;
|
|
12
|
+
constructor(access: SimCfFunctionAccess);
|
|
13
|
+
/**
|
|
14
|
+
* Get one sim CloudFront Function's code.
|
|
15
|
+
*
|
|
16
|
+
* A Function created from source answers with the source it was given. One
|
|
17
|
+
* created from a handler function reference has no uploaded source, and
|
|
18
|
+
* answers with that handler's own source text. That is the code it runs.
|
|
19
|
+
*/
|
|
20
|
+
handle(command: SimGetFunctionCommand, options?: {
|
|
21
|
+
readonly caller?: SimAwsCaller;
|
|
22
|
+
}): Promise<SimGetFunctionCommandOutput>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
+
import { simCffRequestedStage } from "../../cff/sim-cff-stage.js";
|
|
3
|
+
/**
|
|
4
|
+
* Simulated CloudFront GetFunction command.
|
|
5
|
+
*
|
|
6
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/GetFunctionCommand/
|
|
7
|
+
*/
|
|
8
|
+
export class SimCfGetFunction {
|
|
9
|
+
access;
|
|
10
|
+
static action = "cloudfront:GetFunction";
|
|
11
|
+
constructor(access) {
|
|
12
|
+
this.access = access;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Get one sim CloudFront Function's code.
|
|
16
|
+
*
|
|
17
|
+
* A Function created from source answers with the source it was given. One
|
|
18
|
+
* created from a handler function reference has no uploaded source, and
|
|
19
|
+
* answers with that handler's own source text. That is the code it runs.
|
|
20
|
+
*/
|
|
21
|
+
async handle(command, options) {
|
|
22
|
+
assertDefined(command.input.Name, "GetFunctionCommand.input.Name");
|
|
23
|
+
const stage = simCffRequestedStage(command.input.Stage);
|
|
24
|
+
await this.access.background.sequence();
|
|
25
|
+
const cloudFrontFunction = this.access.authorizedByName(SimCfGetFunction.action, command.input.Name, stage, options?.caller);
|
|
26
|
+
return {
|
|
27
|
+
$metadata: {},
|
|
28
|
+
FunctionCode: cloudFrontFunction.config.functionCode,
|
|
29
|
+
ETag: cloudFrontFunction.config.etag,
|
|
30
|
+
ContentType: "application/octet-stream",
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimCfFunctionAccess } from "./sim-cf-function-access.js";
|
|
3
|
+
import type { SimListFunctionsCommand, SimListFunctionsCommandOutput } from "./sim-cf-function-command.types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Simulated CloudFront ListFunctions command.
|
|
6
|
+
*
|
|
7
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/ListFunctionsCommand/
|
|
8
|
+
*/
|
|
9
|
+
export declare class SimCfListFunctions {
|
|
10
|
+
private readonly access;
|
|
11
|
+
private static readonly action;
|
|
12
|
+
constructor(access: SimCfFunctionAccess);
|
|
13
|
+
/**
|
|
14
|
+
* List this Account's sim CloudFront Functions in one stage.
|
|
15
|
+
*
|
|
16
|
+
* The whole list comes back. `Marker` and `MaxItems` are the paging every
|
|
17
|
+
* other simulated listing leaves out, so there is no `NextMarker` either.
|
|
18
|
+
*/
|
|
19
|
+
handle(command: SimListFunctionsCommand, options?: {
|
|
20
|
+
readonly caller?: SimAwsCaller;
|
|
21
|
+
}): Promise<SimListFunctionsCommandOutput>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { simCffInStage, simCffRequestedStage, } from "../../cff/sim-cff-stage.js";
|
|
2
|
+
import { simCfFunctionSummary } from "./sim-cf-function-summary.js";
|
|
3
|
+
/**
|
|
4
|
+
* Simulated CloudFront ListFunctions command.
|
|
5
|
+
*
|
|
6
|
+
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/cloudfront/command/ListFunctionsCommand/
|
|
7
|
+
*/
|
|
8
|
+
export class SimCfListFunctions {
|
|
9
|
+
access;
|
|
10
|
+
static action = "cloudfront:ListFunctions";
|
|
11
|
+
constructor(access) {
|
|
12
|
+
this.access = access;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* List this Account's sim CloudFront Functions in one stage.
|
|
16
|
+
*
|
|
17
|
+
* The whole list comes back. `Marker` and `MaxItems` are the paging every
|
|
18
|
+
* other simulated listing leaves out, so there is no `NextMarker` either.
|
|
19
|
+
*/
|
|
20
|
+
async handle(command, options) {
|
|
21
|
+
const stage = simCffRequestedStage(command.input.Stage);
|
|
22
|
+
await this.access.background.sequence();
|
|
23
|
+
// Listing is authorized across the Account rather than per Function, which
|
|
24
|
+
// is what a policy for this action grants.
|
|
25
|
+
this.access.authorizeAnyFunction(SimCfListFunctions.action, options?.caller);
|
|
26
|
+
const cloudFrontFunctions = this.access.cloudFrontFunctions
|
|
27
|
+
.values()
|
|
28
|
+
.filter((cloudFrontFunction) => simCffInStage(cloudFrontFunction, stage))
|
|
29
|
+
.toArray();
|
|
30
|
+
return {
|
|
31
|
+
$metadata: {},
|
|
32
|
+
FunctionList: {
|
|
33
|
+
Quantity: cloudFrontFunctions.length,
|
|
34
|
+
Items: cloudFrontFunctions.map((cloudFrontFunction) => simCfFunctionSummary(cloudFrontFunction, stage)),
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|