@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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CommandHandler } from "../../../../command/command-handler.js";
|
|
2
2
|
import type { SimAwsCaller, SimAwsDefaultCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
3
|
+
import type { SimAwsAmbientCaller } from "../../../aws/caller/sim-aws-ambient-caller.js";
|
|
3
4
|
import type { SimAwsAccountId } from "../../../aws/sim-aws-account.js";
|
|
4
5
|
import type { SimIamAccountResolver } from "../../../iam/registry/sim-iam-account-resolver.js";
|
|
5
6
|
import type { SimGetCallerIdentityCommand, SimGetCallerIdentityCommandOutput } from "./get-caller-identity.command.js";
|
|
@@ -10,6 +11,10 @@ interface GetCallerIdentityCommandHandlerProperties {
|
|
|
10
11
|
* The caller this simulation attributes a request naming none to.
|
|
11
12
|
*/
|
|
12
13
|
readonly defaultCaller?: SimAwsDefaultCaller | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Where a request naming no caller looks before the default.
|
|
16
|
+
*/
|
|
17
|
+
readonly ambientCaller?: SimAwsAmbientCaller | undefined;
|
|
13
18
|
}
|
|
14
19
|
/**
|
|
15
20
|
* Simulated STS GetCallerIdentity handler.
|
|
@@ -4,6 +4,7 @@ import type { SimAssumeRoleCommand, SimAssumeRoleCommandOutput } from "./command
|
|
|
4
4
|
import type { SimGetCallerIdentityCommand, SimGetCallerIdentityCommandOutput } from "./command/get-caller-identity/get-caller-identity.command.js";
|
|
5
5
|
import type { SimAwsAccountRegionScope } from "../aws/sim-aws-account-region-scope.js";
|
|
6
6
|
import type { SimAwsCaller, SimAwsDefaultCaller } from "../aws/caller/sim-aws-caller.js";
|
|
7
|
+
import type { SimAwsAmbientCaller } from "../aws/caller/sim-aws-ambient-caller.js";
|
|
7
8
|
import type { SimSdkCommandRouter } from "../../sdk/index.js";
|
|
8
9
|
interface SimStsProperties {
|
|
9
10
|
readonly accountRegionScope?: SimAwsAccountRegionScope;
|
|
@@ -16,6 +17,13 @@ interface SimStsProperties {
|
|
|
16
17
|
* the identity GetCallerIdentity then reports.
|
|
17
18
|
*/
|
|
18
19
|
readonly defaultCaller?: SimAwsDefaultCaller | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Where a request naming no caller looks before the default.
|
|
22
|
+
*
|
|
23
|
+
* A run-as block decides who the requests inside it are, so an unattributed
|
|
24
|
+
* GetCallerIdentity in one reports the caller that block named.
|
|
25
|
+
*/
|
|
26
|
+
readonly ambientCaller?: SimAwsAmbientCaller | undefined;
|
|
19
27
|
}
|
|
20
28
|
/**
|
|
21
29
|
* Simulated AWS Security Token Service.
|
|
@@ -29,6 +37,7 @@ export declare class SimSts {
|
|
|
29
37
|
private readonly background;
|
|
30
38
|
private readonly iamResolver;
|
|
31
39
|
private readonly defaultCaller?;
|
|
40
|
+
private readonly ambientCaller?;
|
|
32
41
|
private readonly sdkRouter;
|
|
33
42
|
constructor(properties?: SimStsProperties);
|
|
34
43
|
/**
|
|
@@ -16,6 +16,7 @@ export class SimSts {
|
|
|
16
16
|
background;
|
|
17
17
|
iamResolver;
|
|
18
18
|
defaultCaller;
|
|
19
|
+
ambientCaller;
|
|
19
20
|
sdkRouter = new SimStsSdkCommandRouter(this);
|
|
20
21
|
constructor(properties = {}) {
|
|
21
22
|
this.accountRegionScope =
|
|
@@ -23,6 +24,7 @@ export class SimSts {
|
|
|
23
24
|
this.iamResolver = properties.iamResolver ?? new SimIamRegistry();
|
|
24
25
|
this.background = properties.background ?? new BackgroundTasks();
|
|
25
26
|
this.defaultCaller = properties.defaultCaller;
|
|
27
|
+
this.ambientCaller = properties.ambientCaller;
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* Handle an AssumeRoleCommand from the SDK.
|
|
@@ -34,6 +36,7 @@ export class SimSts {
|
|
|
34
36
|
iamResolver: this.iamResolver,
|
|
35
37
|
background: this.background,
|
|
36
38
|
defaultCaller: this.defaultCaller,
|
|
39
|
+
ambientCaller: this.ambientCaller,
|
|
37
40
|
});
|
|
38
41
|
return await handler.handle(command, options);
|
|
39
42
|
}
|
|
@@ -45,6 +48,7 @@ export class SimSts {
|
|
|
45
48
|
sourceAccountId: this.accountRegionScope.accountId,
|
|
46
49
|
iamResolver: this.iamResolver,
|
|
47
50
|
defaultCaller: this.defaultCaller,
|
|
51
|
+
ambientCaller: this.ambientCaller,
|
|
48
52
|
});
|
|
49
53
|
return await handler.handle(command, options);
|
|
50
54
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memoization cache holding a bounded number of values.
|
|
3
|
+
*
|
|
4
|
+
* The bound stops a long-running process accumulating entries without limit.
|
|
5
|
+
* Which values survive it matters little. A caller gets the same value back
|
|
6
|
+
* either way, and an evicted one costs another call to the factory that made
|
|
7
|
+
* it.
|
|
8
|
+
*
|
|
9
|
+
* Eviction is by insertion order, and a value read again stays where it is. A
|
|
10
|
+
* memo worth bounding is one whose reads are hot, and reordering the cache on
|
|
11
|
+
* every read costs more than the occasional recomputation it saves.
|
|
12
|
+
*
|
|
13
|
+
* A cached value has to be something (undefined stands for a key the cache is
|
|
14
|
+
* missing). A hit then costs one map lookup.
|
|
15
|
+
*/
|
|
16
|
+
export declare class BoundedMemo<T extends NonNullable<unknown>> {
|
|
17
|
+
private readonly limit;
|
|
18
|
+
private readonly cache;
|
|
19
|
+
/**
|
|
20
|
+
* Hold up to `limit` values, dropping the oldest to make room past that.
|
|
21
|
+
*/
|
|
22
|
+
constructor(limit: number);
|
|
23
|
+
/**
|
|
24
|
+
* Returns the cached value for the given key, or creates and caches it using
|
|
25
|
+
* `factory`.
|
|
26
|
+
*/
|
|
27
|
+
getOrCreate<V extends T>(key: PropertyKey, factory: () => V): V;
|
|
28
|
+
/**
|
|
29
|
+
* Returns whether the cache is currently holding `key`.
|
|
30
|
+
*/
|
|
31
|
+
has(key: PropertyKey): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Drop what was cached first, until the cache is back within its limit.
|
|
34
|
+
*/
|
|
35
|
+
private evictOverflow;
|
|
36
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memoization cache holding a bounded number of values.
|
|
3
|
+
*
|
|
4
|
+
* The bound stops a long-running process accumulating entries without limit.
|
|
5
|
+
* Which values survive it matters little. A caller gets the same value back
|
|
6
|
+
* either way, and an evicted one costs another call to the factory that made
|
|
7
|
+
* it.
|
|
8
|
+
*
|
|
9
|
+
* Eviction is by insertion order, and a value read again stays where it is. A
|
|
10
|
+
* memo worth bounding is one whose reads are hot, and reordering the cache on
|
|
11
|
+
* every read costs more than the occasional recomputation it saves.
|
|
12
|
+
*
|
|
13
|
+
* A cached value has to be something (undefined stands for a key the cache is
|
|
14
|
+
* missing). A hit then costs one map lookup.
|
|
15
|
+
*/
|
|
16
|
+
export class BoundedMemo {
|
|
17
|
+
limit;
|
|
18
|
+
cache = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* Hold up to `limit` values, dropping the oldest to make room past that.
|
|
21
|
+
*/
|
|
22
|
+
constructor(limit) {
|
|
23
|
+
this.limit = limit;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns the cached value for the given key, or creates and caches it using
|
|
27
|
+
* `factory`.
|
|
28
|
+
*/
|
|
29
|
+
getOrCreate(key, factory) {
|
|
30
|
+
const cached = this.cache.get(key);
|
|
31
|
+
if (cached !== undefined) {
|
|
32
|
+
return cached;
|
|
33
|
+
}
|
|
34
|
+
const value = factory();
|
|
35
|
+
this.cache.set(key, value);
|
|
36
|
+
this.evictOverflow();
|
|
37
|
+
return value;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Returns whether the cache is currently holding `key`.
|
|
41
|
+
*/
|
|
42
|
+
has(key) {
|
|
43
|
+
return this.cache.has(key);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Drop what was cached first, until the cache is back within its limit.
|
|
47
|
+
*/
|
|
48
|
+
evictOverflow() {
|
|
49
|
+
while (this.cache.size > this.limit) {
|
|
50
|
+
const oldest = this.cache.keys().next();
|
|
51
|
+
/* v8 ignore next 3 -- a cache over its limit has a first key */
|
|
52
|
+
if (oldest.done === true) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
this.cache.delete(oldest.value);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
package/docs/sdk/README.md
CHANGED
|
@@ -85,7 +85,9 @@ none. See
|
|
|
85
85
|
[Name the caller a simulation uses by default](https://yulinsim.dev/services/iam/#name-the-caller-a-simulation-uses-by-default).
|
|
86
86
|
|
|
87
87
|
`runAs` runs a function with an ambient simulated caller, such as an IAM Role. Commands sent during
|
|
88
|
-
the run are attributed to that caller, with no changes to the client or the code under test
|
|
88
|
+
the run are attributed to that caller, with no changes to the client or the code under test. A
|
|
89
|
+
direct sim service call inside the run is attributed to it too, covered in
|
|
90
|
+
[Run a block of calls as one caller](https://yulinsim.dev/services/iam/#run-a-block-of-calls-as-one-caller):
|
|
89
91
|
|
|
90
92
|
```typescript sim-sdk-run-as
|
|
91
93
|
/**
|
|
@@ -383,10 +383,15 @@ its declared result.
|
|
|
383
383
|
| Binary | `md5`, `sha1`, `sha256`, `sha512`, `xxhash64`, `murmur3`, `crc32`, `to_hex`, `from_hex`, `to_base64`, `from_base64`, `to_utf8`, `from_utf8` |
|
|
384
384
|
| URL | `url_extract_host`, `url_extract_path`, `url_extract_protocol`, `url_extract_port`, `url_extract_query`, `url_extract_fragment`, `url_extract_parameter`, `url_decode`, `url_encode` |
|
|
385
385
|
| Approximate | `approx_distinct`, `approx_percentile` |
|
|
386
|
+
| Comparison | `least`, `greatest` |
|
|
386
387
|
|
|
387
388
|
`substr` and `format` are SQLite's own. Both count from one and take the same `%s` and `%d` a
|
|
388
389
|
statement writes, so shadowing either would replace something that works.
|
|
389
390
|
|
|
391
|
+
`least` and `greatest` take two arguments or more. Numbers order numerically and text orders by its
|
|
392
|
+
code units, matching SQLite's own `min` and `max` in their wider forms. Trino refuses a call mixing
|
|
393
|
+
the two types and this answers one, ordering everything as text. A `varbinary` argument raises.
|
|
394
|
+
|
|
390
395
|
The hashing functions answer with bytes and `to_hex` writes those bytes in the upper case Trino
|
|
391
396
|
writes them in. Node carries every digest here apart from xxHash64 and MurmurHash3, and both of
|
|
392
397
|
those are written out by hand against their published vectors. Trino refuses text where a
|
|
@@ -404,7 +409,8 @@ instant the query started, which is what the execution records.
|
|
|
404
409
|
|
|
405
410
|
A function that cannot answer faithfully raises rather than guessing, and the query falls back.
|
|
406
411
|
`date_add` with a unit Trino does not name, `slice` starting at zero, `array_join` over an array of
|
|
407
|
-
objects, and `regexp_extract` naming a capture group the pattern has not
|
|
412
|
+
objects, `least` over a `varbinary`, and `regexp_extract` naming a capture group the pattern has not
|
|
413
|
+
got all land there. A null
|
|
408
414
|
answer would be a wrong answer wearing the shape of a right one.
|
|
409
415
|
|
|
410
416
|
A function answers null where any argument is null, the way Trino's do. An argument left out takes
|
|
@@ -1086,6 +1086,99 @@ await stack.waitForDeployComplete();
|
|
|
1086
1086
|
Resources that reference another resource with `Ref` are also created after the referenced resource
|
|
1087
1087
|
is ready.
|
|
1088
1088
|
|
|
1089
|
+
### Deploying independent Resources in either order
|
|
1090
|
+
|
|
1091
|
+
Resources with no dependency between them are created together, and the template's own order
|
|
1092
|
+
decides which one starts first. CloudFormation is free to pick either. A Stack that deploys only
|
|
1093
|
+
because of the order its template happens to be written in passes here and then fails in the
|
|
1094
|
+
account.
|
|
1095
|
+
|
|
1096
|
+
The pair that costs a real deployment is an `AWS::IAM::Policy` widening the deploy Role and a
|
|
1097
|
+
Resource in the service that widening allows. Declare the policy first and the deployment succeeds.
|
|
1098
|
+
Declare the Topic first and it fails on `sns:CreateTopic`. Both templates are the same template.
|
|
1099
|
+
|
|
1100
|
+
`resourceOrder: "reversed"` starts each dependency batch from its last Resource.
|
|
1101
|
+
|
|
1102
|
+
```typescript sim-cloudformation-resource-order
|
|
1103
|
+
/**
|
|
1104
|
+
* Deploying a template in the order CloudFormation could have picked instead.
|
|
1105
|
+
*/
|
|
1106
|
+
|
|
1107
|
+
import { SimAws } from "@kensio/yulin";
|
|
1108
|
+
|
|
1109
|
+
const simAws = new SimAws({ defaultAccountId: "123456789012" });
|
|
1110
|
+
|
|
1111
|
+
// The Role a real deployment already runs as, allowed to attach policies and
|
|
1112
|
+
// nothing else.
|
|
1113
|
+
await simAws.iam().createRole({
|
|
1114
|
+
input: {
|
|
1115
|
+
RoleName: "cdk-deploy-role",
|
|
1116
|
+
AssumeRolePolicyDocument: JSON.stringify({
|
|
1117
|
+
Version: "2012-10-17",
|
|
1118
|
+
Statement: {
|
|
1119
|
+
Effect: "Allow",
|
|
1120
|
+
Action: "sts:AssumeRole",
|
|
1121
|
+
Principal: { Service: "cloudformation.amazonaws.com" },
|
|
1122
|
+
},
|
|
1123
|
+
}),
|
|
1124
|
+
},
|
|
1125
|
+
});
|
|
1126
|
+
|
|
1127
|
+
await simAws.iam().putRolePolicy({
|
|
1128
|
+
input: {
|
|
1129
|
+
RoleName: "cdk-deploy-role",
|
|
1130
|
+
PolicyName: "deploy",
|
|
1131
|
+
PolicyDocument: JSON.stringify({
|
|
1132
|
+
Version: "2012-10-17",
|
|
1133
|
+
Statement: { Effect: "Allow", Action: "iam:*", Resource: "*" },
|
|
1134
|
+
}),
|
|
1135
|
+
},
|
|
1136
|
+
});
|
|
1137
|
+
|
|
1138
|
+
const stack = await simAws.cloudFormation().deployTemplate({
|
|
1139
|
+
stackName: "alerts-stack",
|
|
1140
|
+
template: {
|
|
1141
|
+
Resources: {
|
|
1142
|
+
DeployerSns: {
|
|
1143
|
+
Type: "AWS::IAM::Policy",
|
|
1144
|
+
Properties: {
|
|
1145
|
+
PolicyName: "DeployerSns",
|
|
1146
|
+
Roles: ["cdk-deploy-role"],
|
|
1147
|
+
PolicyDocument: {
|
|
1148
|
+
Version: "2012-10-17",
|
|
1149
|
+
Statement: { Effect: "Allow", Action: "sns:*", Resource: "*" },
|
|
1150
|
+
},
|
|
1151
|
+
},
|
|
1152
|
+
},
|
|
1153
|
+
Alerts: {
|
|
1154
|
+
Type: "AWS::SNS::Topic",
|
|
1155
|
+
DependsOn: "DeployerSns",
|
|
1156
|
+
Properties: { TopicName: "alerts" },
|
|
1157
|
+
},
|
|
1158
|
+
},
|
|
1159
|
+
},
|
|
1160
|
+
caller: {
|
|
1161
|
+
kind: "arn",
|
|
1162
|
+
arn: "arn:aws:iam::123456789012:role/cdk-deploy-role",
|
|
1163
|
+
},
|
|
1164
|
+
resourceOrder: "reversed",
|
|
1165
|
+
});
|
|
1166
|
+
|
|
1167
|
+
console.log(stack.getResource("Alerts")?.status); // "CREATE_COMPLETE"
|
|
1168
|
+
```
|
|
1169
|
+
|
|
1170
|
+
Declared dependencies hold under either order. A Resource waits for everything its `Ref` and
|
|
1171
|
+
`Fn::GetAtt` expressions reach, and for everything its `DependsOn` names. Reversing a batch moves
|
|
1172
|
+
only the Resources CloudFormation was free to create either way round (the `DependsOn` above is what
|
|
1173
|
+
keeps the Topic behind the policy).
|
|
1174
|
+
|
|
1175
|
+
Reversing one order gives the other one. Run a deployment both ways to cover the pair, since the
|
|
1176
|
+
template's own order is one of the two and `"reversed"` is the other. The default is `"template"`,
|
|
1177
|
+
which every deployment that asks for nothing gets.
|
|
1178
|
+
|
|
1179
|
+
`deployTemplateFile(...)` takes the option too. `deployCdkOut(...)` takes one order for every Stack
|
|
1180
|
+
in the assembly, and a Stack named in `stackOptions` carries its own.
|
|
1181
|
+
|
|
1089
1182
|
## Deploying synthesized CDK templates
|
|
1090
1183
|
|
|
1091
1184
|
Use `deployTemplateFile(...)` to deploy a template file, including the JSON templates CDK synthesis
|
|
@@ -1427,6 +1520,40 @@ The named principal has to be allowed what the template asks for. IAM allows the
|
|
|
1427
1520
|
default and allows a role only what its policies say. A role with no S3 permission leaves the bucket
|
|
1428
1521
|
above `CREATE_FAILED`, with the role's ARN in the message.
|
|
1429
1522
|
|
|
1523
|
+
A project that scopes its own deploy permissions has the policy document already.
|
|
1524
|
+
`makeDeployRole(...)` turns one into a caller in a single call, creating the role with the trust
|
|
1525
|
+
CloudFormation needs and returning its ARN:
|
|
1526
|
+
|
|
1527
|
+
```typescript sim-cloudformation-make-deploy-role
|
|
1528
|
+
/**
|
|
1529
|
+
* Deploying a cloud assembly as a Role made from a policy document.
|
|
1530
|
+
*/
|
|
1531
|
+
|
|
1532
|
+
import { SimAws } from "@kensio/yulin";
|
|
1533
|
+
|
|
1534
|
+
const simAws = new SimAws({
|
|
1535
|
+
defaultAccountId: "123456789012",
|
|
1536
|
+
defaultRegionName: "eu-west-2",
|
|
1537
|
+
});
|
|
1538
|
+
|
|
1539
|
+
const deployer = await simAws.iam().makeDeployRole({
|
|
1540
|
+
roleName: "cdk-exec",
|
|
1541
|
+
policyDocument: {
|
|
1542
|
+
Version: "2012-10-17",
|
|
1543
|
+
Statement: { Effect: "Allow", Action: "s3:*", Resource: "*" },
|
|
1544
|
+
},
|
|
1545
|
+
});
|
|
1546
|
+
|
|
1547
|
+
const stacks = await simAws
|
|
1548
|
+
.cloudFormation()
|
|
1549
|
+
.deployCdkOut({ directoryPath: "cdk.out", caller: deployer });
|
|
1550
|
+
|
|
1551
|
+
console.log(stacks.size);
|
|
1552
|
+
```
|
|
1553
|
+
|
|
1554
|
+
See [simulated IAM](https://yulinsim.dev/services/iam/ "Simulated IAM usage docs") for the documents
|
|
1555
|
+
it takes.
|
|
1556
|
+
|
|
1430
1557
|
### One caller for an assembly, and one per Stack
|
|
1431
1558
|
|
|
1432
1559
|
`deployCdkOut(...)` takes a caller for every Stack in the assembly. A Stack deployed by a different
|
|
@@ -1864,9 +1991,14 @@ CloudFront hostname adapted to the local server.
|
|
|
1864
1991
|
|
|
1865
1992
|
## CloudFront Function bindings
|
|
1866
1993
|
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1994
|
+
A `bindings` entry backs an executable Resource of the template with a real in-process handler.
|
|
1995
|
+
`AWS::CloudFront::Function` and `AWS::Lambda::Function` both take one, and a binding is what to
|
|
1996
|
+
reach for first. The bound handler stops on a breakpoint and can close over the test's own state.
|
|
1997
|
+
Deploy without one where the test is about the code the template carries. That is the artefact a
|
|
1998
|
+
deployment runs.
|
|
1999
|
+
|
|
2000
|
+
Binding a CloudFront Function a CDK template declares lets a local integration test run the same
|
|
2001
|
+
handler function that will run at the CloudFront edge.
|
|
1870
2002
|
|
|
1871
2003
|
```typescript sim-cloudformation-cloudfront-function-binding
|
|
1872
2004
|
/**
|
|
@@ -1942,9 +2074,8 @@ to provide an executable local function directly.
|
|
|
1942
2074
|
## Lambda function bindings
|
|
1943
2075
|
|
|
1944
2076
|
`AWS::Lambda::Function` resources support the same bindings. The deployed function is backed by your
|
|
1945
|
-
real in-process handler
|
|
1946
|
-
|
|
1947
|
-
may omit template `Code` and `Handler` entirely.
|
|
2077
|
+
real in-process handler, while the stack still wires roles, grants and references as the template
|
|
2078
|
+
declares. A bound function may omit template `Code` and `Handler` entirely.
|
|
1948
2079
|
|
|
1949
2080
|
```typescript sim-cloudformation-lambda-binding
|
|
1950
2081
|
/**
|
|
@@ -1989,9 +2120,10 @@ console.log(new TextDecoder().decode(output.Payload));
|
|
|
1989
2120
|
|
|
1990
2121
|
Bindings can target the CloudFormation logical ID (or the CDK construct ID recovered from
|
|
1991
2122
|
synthesized metadata), the function name, or the function ARN. Bound handlers still run with the
|
|
1992
|
-
function's execution Role as the ambient simulated caller
|
|
1993
|
-
|
|
1994
|
-
a matching binding keep their template code, running in the
|
|
2123
|
+
function's execution Role as the ambient simulated caller. Simulated IAM authorizes their downstream
|
|
2124
|
+
calls as on real Lambda, whether those go through a `SimSdk`-intercepted client or straight to a
|
|
2125
|
+
simulated service. Functions without a matching binding keep their template code, running in the
|
|
2126
|
+
simulated vm runtime.
|
|
1995
2127
|
|
|
1996
2128
|
### Naming the binding type
|
|
1997
2129
|
|
|
@@ -2838,6 +2970,59 @@ one that reaches an Output in these docs.
|
|
|
2838
2970
|
const nameServers = stack.outputs.get("HostedZoneNameServers")?.value;
|
|
2839
2971
|
```
|
|
2840
2972
|
|
|
2973
|
+
## Names CloudFormation generates
|
|
2974
|
+
|
|
2975
|
+
A Resource whose template leaves its name out is named `<stack name>-<logical ID>-<tail>`, as real
|
|
2976
|
+
CloudFormation names one. The tail is twelve characters derived from the other two parts, standing
|
|
2977
|
+
in for the twelve random characters an account produces. The same template deployed under the same
|
|
2978
|
+
stack name generates the same name again, and a test reads that name back from a `Ref` or an
|
|
2979
|
+
attribute.
|
|
2980
|
+
|
|
2981
|
+
```typescript sim-cloudformation-generated-resource-name
|
|
2982
|
+
/**
|
|
2983
|
+
* Reading the name CloudFormation generated for a Resource the template does
|
|
2984
|
+
* not name.
|
|
2985
|
+
*/
|
|
2986
|
+
|
|
2987
|
+
import { SimAws } from "@kensio/yulin";
|
|
2988
|
+
|
|
2989
|
+
const simAws = new SimAws();
|
|
2990
|
+
|
|
2991
|
+
const stack = await simAws.cloudFormation().deployTemplate({
|
|
2992
|
+
stackName: "orders-stack",
|
|
2993
|
+
template: {
|
|
2994
|
+
Resources: {
|
|
2995
|
+
OrdersQueue: { Type: "AWS::SQS::Queue" },
|
|
2996
|
+
},
|
|
2997
|
+
Outputs: {
|
|
2998
|
+
QueueName: {
|
|
2999
|
+
Value: { "Fn::GetAtt": ["OrdersQueue", "QueueName"] },
|
|
3000
|
+
},
|
|
3001
|
+
},
|
|
3002
|
+
},
|
|
3003
|
+
});
|
|
3004
|
+
|
|
3005
|
+
await stack.waitForDeployComplete();
|
|
3006
|
+
|
|
3007
|
+
const queueName = stack.output("QueueName");
|
|
3008
|
+
|
|
3009
|
+
console.log(queueName); // "orders-stack-OrdersQueue-1dca4dbe253b"
|
|
3010
|
+
```
|
|
3011
|
+
|
|
3012
|
+
Each service caps how long a name may be. Where the stack name and the logical ID are too long
|
|
3013
|
+
together, thirteen characters of the limit are kept for the tail and its hyphen, and what is left is
|
|
3014
|
+
shared between the two parts either side of one more hyphen. The stack name rounds up, and each part
|
|
3015
|
+
takes the characters the other leaves. Where a service allows 64 characters, a long stack name keeps
|
|
3016
|
+
25 of them and a long logical ID keeps 25.
|
|
3017
|
+
|
|
3018
|
+
The trimmed stack name is what an IAM policy scoped by name prefix matches. A stack called
|
|
3019
|
+
`ChineseboostAnalyticsStack` deploying an unnamed `AWS::Events::Rule` puts the rule under
|
|
3020
|
+
`ChineseboostAnalyticsStac-`. A deploy Role allowed `events:PutRule` on
|
|
3021
|
+
`ChineseboostAnalyticsStack-*` is refused here, as it is in an account.
|
|
3022
|
+
|
|
3023
|
+
AWS documents none of the trimming, and the rule here is inferred from names real CloudFormation
|
|
3024
|
+
produced.
|
|
3025
|
+
|
|
2841
3026
|
## Inspecting stacks and resources
|
|
2842
3027
|
|
|
2843
3028
|
After deployment, you can inspect the returned stack and its resources.
|
|
@@ -3332,8 +3517,9 @@ The resource types it creates are:
|
|
|
3332
3517
|
`AWS::ApiGatewayV2::Stage`
|
|
3333
3518
|
- `AWS::CertificateManager::Certificate`
|
|
3334
3519
|
- `AWS::CloudFormation::WaitConditionHandle`
|
|
3335
|
-
- `AWS::CloudFront::Distribution`, `AWS::CloudFront::Function
|
|
3336
|
-
`AWS::CloudFront::ResponseHeadersPolicy`
|
|
3520
|
+
- `AWS::CloudFront::Distribution`, `AWS::CloudFront::Function`,
|
|
3521
|
+
`AWS::CloudFront::ResponseHeadersPolicy`, `AWS::CloudFront::CachePolicy` and
|
|
3522
|
+
`AWS::CloudFront::OriginRequestPolicy`
|
|
3337
3523
|
- `AWS::CloudWatch::Alarm`
|
|
3338
3524
|
- `AWS::Cognito::UserPool`, `AWS::Cognito::UserPoolClient` and
|
|
3339
3525
|
`AWS::Cognito::UserPoolGroup`
|