@kensio/yulin 1.21.3 → 1.21.5
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-column-types.d.ts +2 -0
- package/dist/service/athena/engine/sim-athena-column-types.js +4 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.d.ts +7 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.js +51 -0
- package/dist/service/athena/engine/sim-athena-engine-result.js +5 -0
- package/dist/service/athena/engine/sim-athena-engine-run.d.ts +22 -2
- package/dist/service/athena/engine/sim-athena-engine-run.js +21 -31
- package/dist/service/athena/engine/sim-athena-loaded-tables.d.ts +10 -0
- package/dist/service/athena/engine/sim-athena-loaded-tables.js +35 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.d.ts +25 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.js +39 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.d.ts +13 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.js +57 -0
- package/dist/service/athena/engine/sim-athena-query-engine.d.ts +23 -5
- package/dist/service/athena/engine/sim-athena-query-engine.js +31 -10
- package/dist/service/athena/engine/sim-athena-record-reader.d.ts +12 -6
- package/dist/service/athena/engine/sim-athena-record-reader.js +28 -53
- package/dist/service/athena/engine/sim-athena-sql-translation.d.ts +15 -9
- package/dist/service/athena/engine/sim-athena-sql-translation.js +25 -13
- package/dist/service/athena/engine/sim-athena-sqlite-values.d.ts +5 -0
- package/dist/service/athena/engine/sim-athena-sqlite-values.js +24 -1
- package/dist/service/athena/engine/sim-athena-table-objects.d.ts +7 -2
- package/dist/service/athena/engine/sim-athena-table-objects.js +8 -4
- package/dist/service/athena/engine/sim-athena-table-rows.js +4 -3
- package/dist/service/athena/engine/sim-athena-turn-down.d.ts +26 -0
- package/dist/service/athena/engine/sim-athena-turn-down.js +43 -0
- package/dist/service/athena/execution/sim-athena-query-completion.d.ts +3 -1
- package/dist/service/athena/execution/sim-athena-query-completion.js +7 -1
- package/dist/service/athena/index.d.ts +1 -1
- package/dist/service/athena/index.js +1 -1
- package/dist/service/athena/result/sim-athena-query-answer.d.ts +12 -0
- package/dist/service/athena/result/sim-athena-query-answer.js +26 -4
- package/dist/service/athena/sim-athena-answered-query.fixture.d.ts +2 -0
- package/dist/service/athena/sim-athena-answered-query.fixture.js +1 -0
- package/dist/service/athena/sim-athena-engine.fixture.d.ts +20 -0
- package/dist/service/athena/sim-athena-engine.fixture.js +34 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.d.ts +23 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.js +37 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +18 -13
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +16 -24
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +2 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +7 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +13 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +6 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +7 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.d.ts +50 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.js +71 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +6 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts +5 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +7 -0
- package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.d.ts +12 -0
- package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.js +16 -7
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.d.ts +9 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.js +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.d.ts +42 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.js +69 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.d.ts +62 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.js +89 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.d.ts +31 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.js +59 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.d.ts +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.js +19 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.d.ts +17 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.js +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.d.ts +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.js +13 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.d.ts +45 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.js +52 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.d.ts +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.js +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.d.ts +54 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.js +49 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.d.ts +35 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.js +1 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.d.ts +53 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.js +83 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.d.ts +32 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.d.ts +38 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.js +80 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +3 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +16 -13
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.d.ts +22 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.d.ts +27 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.js +35 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +6 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +11 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +15 -1
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.d.ts +48 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.d.ts +23 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.js +52 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts +3 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +8 -4
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +18 -6
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +22 -7
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +1 -1
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.d.ts +25 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.d.ts +31 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.js +37 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.d.ts +36 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.js +1 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.d.ts +26 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.js +39 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.d.ts +31 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.js +52 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.d.ts +22 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.js +34 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +17 -1
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +6 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +15 -16
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-options-deployed.d.ts +10 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-options-deployed.js +14 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +11 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +3 -2
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +5 -8
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +0 -14
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +9 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +2 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +10 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
- package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts +21 -0
- package/dist/service/cloudformation/error/sim-cloudformation.error.js +25 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.d.ts +7 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.js +3 -1
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +9 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +12 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +4 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +10 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.d.ts +44 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.js +33 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +15 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +21 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +9 -7
- package/dist/service/cloudformation/resource/sim-cfn-resource.js +11 -11
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +8 -0
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +3 -3
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +3 -3
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +9 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.d.ts +37 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.js +77 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.d.ts +51 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.js +10 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.js +34 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.d.ts +21 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.js +31 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.d.ts +14 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.js +1 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.js +58 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.js +89 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.js +65 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.js +60 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.js +50 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.js +30 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.js +44 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.js +43 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.js +67 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.js +61 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +4 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +12 -5
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-api-event.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.d.ts +26 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.js +88 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +12 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +1 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +8 -5
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +23 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +9 -2
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +5 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +6 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +7 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.d.ts +19 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.js +69 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +5 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +3 -1
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.d.ts +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.js +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +1 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +6 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +2 -4
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.d.ts +31 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.js +17 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +11 -6
- package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +20 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +4 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-api.js +6 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.d.ts +10 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.js +94 -0
- package/dist/service/cloudformation/sim-cloudformation.d.ts +31 -0
- package/dist/service/cloudformation/sim-cloudformation.js +56 -9
- package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.d.ts +20 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.js +23 -0
- package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +6 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-deploy-context.d.ts +47 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-deploy-context.js +46 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.d.ts +30 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.js +24 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +53 -20
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +79 -32
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +60 -32
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +21 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +7 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +3 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.d.ts +18 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.js +30 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +25 -14
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +41 -24
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +6 -1
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +12 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +29 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.d.ts +28 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.js +39 -0
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +25 -1
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +43 -11
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.d.ts +7 -0
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.js +29 -3
- package/dist/service/cloudformation/template/sim-cfn-command-template.d.ts +40 -0
- package/dist/service/cloudformation/template/sim-cfn-command-template.js +45 -0
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts +7 -0
- package/dist/service/cloudformation/template/sim-cfn-template.js +15 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +2 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +49 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +1 -0
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +1 -1
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.d.ts +5 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.js +17 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +5 -5
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +24 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.d.ts +11 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.js +20 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +2 -0
- package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +14 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +16 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.d.ts +17 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.js +39 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.d.ts +28 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.js +50 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +12 -5
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts +3 -3
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +3 -4
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.d.ts +5 -16
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.js +4 -21
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.d.ts +15 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.js +18 -1
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.d.ts +13 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.js +15 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +2 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +5 -3
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.d.ts +21 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.js +37 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +6 -0
- package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js +5 -1
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +2 -3
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +1 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +6 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +10 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +2 -6
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.js +49 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.js +57 -0
- package/dist/service/lambda/command/function-url/function-url-input.d.ts +7 -0
- package/dist/service/lambda/command/function-url/function-url-input.js +9 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-invocation.js +10 -13
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-outcome.js +2 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.d.ts +13 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.js +12 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +2 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +1 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-bus.js +1 -1
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-function.js +8 -12
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-queue.js +4 -3
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-send.d.ts +2 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-topic.js +4 -3
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.d.ts +4 -6
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.js +6 -6
- package/dist/service/lambda/destination/sim-lambda-destination-targets.d.ts +3 -0
- package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +22 -3
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +39 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +7 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +14 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +9 -15
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +9 -16
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +10 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +22 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.d.ts +23 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.js +18 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +12 -13
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +24 -17
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.d.ts +64 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.js +86 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +8 -1
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +7 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +11 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +13 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.d.ts +39 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.js +46 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.d.ts +56 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.js +110 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts +5 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js +7 -1
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js +6 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +6 -1
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +8 -6
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +10 -8
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +18 -1
- package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +8 -2
- package/dist/service/lambda/function/code/sim-lambda-executable-code.js +2 -1
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +2 -11
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +13 -39
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +7 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +13 -7
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.d.ts +23 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.js +42 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.d.ts +12 -4
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.js +15 -5
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +7 -0
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +6 -2
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.d.ts +26 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.js +84 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.d.ts +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.js +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +6 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +1 -2
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +6 -1
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +19 -6
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.d.ts +15 -0
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.js +18 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.d.ts +12 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.js +28 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.d.ts +46 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.js +104 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.d.ts +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.js +27 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.d.ts +43 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.js +112 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.d.ts +57 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.js +79 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.d.ts +10 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.js +15 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.d.ts +11 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.js +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.d.ts +50 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.js +43 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +17 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +12 -1
- package/dist/service/lambda/function/logging/sim-lambda-output.d.ts +56 -0
- package/dist/service/lambda/function/logging/sim-lambda-output.js +62 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.d.ts +8 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.js +27 -1
- package/dist/service/lambda/function/sim-lambda-function.d.ts +1 -1
- package/dist/service/lambda/function/sim-lambda-function.js +11 -9
- package/dist/service/lambda/function/sim-lambda-function.type.d.ts +15 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.d.ts +22 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.js +17 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.js +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +2 -1
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.js +16 -1
- package/dist/service/lambda/index.d.ts +1 -0
- package/dist/service/lambda/index.js +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.d.ts +50 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.js +96 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts +14 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js +27 -0
- package/dist/service/lambda/sim-lambda-commands.d.ts +10 -0
- package/dist/service/lambda/sim-lambda-commands.js +11 -0
- package/dist/service/lambda/sim-lambda.d.ts +12 -0
- package/dist/service/lambda/sim-lambda.js +13 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.d.ts +67 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.js +69 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +4 -31
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +7 -6
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +5 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +8 -4
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +1 -14
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +16 -8
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.d.ts +41 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.js +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +14 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +32 -2
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.d.ts +33 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.js +48 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.d.ts +16 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.js +44 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +8 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +27 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +5 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -3
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +3 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -2
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.d.ts +84 -0
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.js +115 -0
- package/dist/service/s3/bucket/sim-s3-bucket-maker.d.ts +31 -0
- package/dist/service/s3/bucket/sim-s3-bucket-maker.js +41 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +10 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.js +18 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.d.ts +41 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.js +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -83
- package/dist/service/s3/bucket/sim-s3-bucket.js +14 -83
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +6 -0
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +20 -6
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.d.ts +58 -0
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.js +73 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +19 -1
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +20 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.js +44 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +6 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +5 -4
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +12 -5
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.js +30 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +14 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +41 -16
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +3 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +7 -10
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +6 -1
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +5 -0
- package/dist/service/s3/command/copy-object/copy-object-builder.d.ts +10 -1
- package/dist/service/s3/command/copy-object/copy-object-builder.js +17 -1
- package/dist/service/s3/command/copy-object/copy-object.command.d.ts +11 -1
- package/dist/service/s3/command/copy-object/copy-object.handler.js +2 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +2 -2
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +4 -12
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +5 -1
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +7 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.d.ts +19 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.d.ts +30 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.js +38 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.d.ts +23 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.js +1 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.js +42 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.d.ts +29 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.js +49 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.d.ts +22 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.js +30 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.d.ts +24 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.js +39 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +11 -8
- package/dist/service/s3/command/get-object/get-object-authorizer.js +26 -34
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +7 -3
- package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
- package/dist/service/s3/command/get-object/get-object.command.d.ts +2 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -0
- package/dist/service/s3/command/get-object/get-object.handler.js +13 -7
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.d.ts +29 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.js +1 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.d.ts +21 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.js +33 -0
- package/dist/service/s3/command/head-object/head-object-loader.js +2 -0
- package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +18 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +1 -2
- package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +1 -2
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +5 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js +11 -6
- package/dist/service/s3/command/list-objects/list-objects.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +5 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +6 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +11 -5
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +5 -0
- package/dist/service/s3/command/list-parts/list-parts.handler.js +3 -3
- package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +1 -1
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.d.ts +21 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.js +41 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +10 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +2 -1
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.d.ts +37 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.js +1 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.js +46 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.d.ts +61 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.js +49 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.d.ts +30 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.js +27 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.d.ts +26 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.js +34 -0
- package/dist/service/s3/error/sim-s3-upload.error.d.ts +41 -0
- package/dist/service/s3/error/sim-s3-upload.error.js +47 -0
- package/dist/service/s3/error/sim-s3.error.d.ts +22 -34
- package/dist/service/s3/error/sim-s3.error.js +26 -40
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts +10 -0
- package/dist/service/s3/notification/event/sim-s3-event-records.d.ts +3 -2
- package/dist/service/s3/notification/event/sim-s3-event-records.js +5 -3
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +33 -8
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +23 -9
- package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +5 -1
- package/dist/service/s3/notification/sim-s3-object-notifier.js +6 -0
- package/dist/service/s3/object/s3-key-encoding.d.ts +12 -0
- package/dist/service/s3/object/s3-key-encoding.js +14 -0
- package/dist/service/s3/object/s3-listing-encoding.d.ts +42 -0
- package/dist/service/s3/object/s3-listing-encoding.js +75 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +40 -0
- package/dist/service/s3/object/s3-object-response-headers.js +49 -2
- package/dist/service/s3/object/s3-object-storage-report.d.ts +19 -0
- package/dist/service/s3/object/s3-object-storage-report.js +18 -0
- package/dist/service/s3/object/s3-object-summary.d.ts +2 -10
- package/dist/service/s3/object/s3-object-summary.js +1 -10
- package/dist/service/s3/object/s3-object-tags.d.ts +61 -0
- package/dist/service/s3/object/s3-object-tags.js +77 -0
- package/dist/service/s3/object/s3-object.d.ts +49 -0
- package/dist/service/s3/object/s3-object.js +52 -1
- package/dist/service/s3/object/s3-server-side-encryption.d.ts +30 -0
- package/dist/service/s3/object/s3-server-side-encryption.js +42 -0
- package/dist/service/s3/object/s3-storage-class.d.ts +45 -0
- package/dist/service/s3/object/s3-storage-class.js +67 -0
- package/dist/service/s3/object/s3-write-metadata.d.ts +17 -3
- package/dist/service/s3/object/s3-write-metadata.js +43 -0
- package/dist/service/s3/object/s3-write-storage.d.ts +27 -0
- package/dist/service/s3/object/s3-write-storage.js +21 -0
- package/dist/service/s3/object/s3-write-tagging.d.ts +24 -0
- package/dist/service/s3/object/s3-write-tagging.js +19 -0
- package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +12 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +2 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.d.ts +9 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.js +23 -0
- package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +22 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +4 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +10 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.d.ts +7 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.js +30 -0
- package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +4 -2
- package/dist/service/s3/serve/api/sim-s3-api-head-output.js +8 -2
- package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -6
- package/dist/service/s3/serve/api/sim-s3-api-input.js +2 -13
- package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-listing.js +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +16 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.js +34 -7
- package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +18 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-output.js +21 -2
- package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +22 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +5 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.js +16 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +6 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.js +55 -11
- package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -2
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.d.ts +9 -0
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.js +14 -0
- package/dist/service/s3/serve/api/sim-s3-api.d.ts +7 -1
- package/dist/service/s3/serve/api/sim-s3-api.js +7 -1
- package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +1 -5
- package/dist/service/s3/serve/sim-s3-rest-controller.js +3 -17
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +3 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +8 -1
- package/dist/service/s3/serve/sim-s3-rest-upload.d.ts +20 -0
- package/dist/service/s3/serve/sim-s3-rest-upload.js +30 -0
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +2 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.js +3 -0
- package/dist/service/s3/sim-s3-commands.d.ts +10 -0
- package/dist/service/s3/sim-s3-commands.js +13 -0
- package/dist/service/s3/sim-s3-operations.d.ts +11 -4
- package/dist/service/s3/sim-s3-operations.js +17 -4
- package/dist/service/s3/sim-s3-tagging-operations.d.ts +21 -0
- package/dist/service/s3/sim-s3-tagging-operations.js +25 -0
- package/dist/service/s3/sim-s3.d.ts +28 -0
- package/dist/service/s3/sim-s3.js +38 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.d.ts +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.js +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.d.ts +9 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.js +24 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +5 -4
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -3
- package/dist/service/s3/upload/sim-s3-completed-upload.js +5 -1
- package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +18 -0
- package/dist/service/s3/upload/sim-s3-multipart-upload.js +8 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +6 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.js +5 -0
- package/dist/util/background/background-clock-waits.d.ts +52 -0
- package/dist/util/background/background-clock-waits.js +76 -0
- package/dist/util/background/background-jitter.js +1 -0
- package/dist/util/background/background-pending-tasks.d.ts +55 -0
- package/dist/util/background/background-pending-tasks.js +117 -0
- package/dist/util/background/background-settled-tasks.d.ts +4 -1
- package/dist/util/background/background-settled-tasks.js +4 -1
- package/dist/util/background/background.d.ts +43 -0
- package/dist/util/background/background.js +27 -19
- package/dist/util/background/non-deterministic-background.d.ts +12 -0
- package/dist/util/background/non-deterministic-background.js +24 -20
- package/dist/util/clock/sim-clock-control.js +23 -2
- package/docs/services/apigateway/README.md +3 -1
- package/docs/services/athena/README.md +126 -3
- package/docs/services/cloudformation/README.md +831 -67
- package/docs/services/cognito/README.md +5 -0
- package/docs/services/dynamodb/README.md +86 -11
- package/docs/services/lambda/README.md +603 -39
- package/docs/services/s3/README.md +688 -57
- package/package.json +8 -2
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Brand } from "../../../../util/brand.type.js";
|
|
2
2
|
import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
|
|
3
3
|
import type { SimLambdaFunctionName } from "../sim-lambda-function.js";
|
|
4
|
+
import type { SimLambdaFunctionUrlCors } from "./sim-lambda-function-url-cors.js";
|
|
4
5
|
import { type SimClock } from "../../../../util/clock/sim-clock.js";
|
|
5
6
|
/**
|
|
6
7
|
* The id AWS allocates for one Function URL, which is the leading DNS label of
|
|
@@ -31,6 +32,7 @@ interface SimLambdaFunctionUrlProperties {
|
|
|
31
32
|
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
32
33
|
readonly authType?: SimLambdaFunctionUrlAuthType | undefined;
|
|
33
34
|
readonly invokeMode?: SimLambdaFunctionUrlInvokeMode | undefined;
|
|
35
|
+
readonly cors?: SimLambdaFunctionUrlCors | undefined;
|
|
34
36
|
/**
|
|
35
37
|
* Clock stamping this Function URL's creation and last modified times. A
|
|
36
38
|
* Function URL built standalone, outside a SimAws instance, falls back to the
|
|
@@ -42,12 +44,16 @@ interface SimLambdaFunctionUrlProperties {
|
|
|
42
44
|
* Minimal structural Function URL configuration, as returned by the
|
|
43
45
|
* CreateFunctionUrlConfig, GetFunctionUrlConfig and UpdateFunctionUrlConfig
|
|
44
46
|
* commands.
|
|
47
|
+
*
|
|
48
|
+
* A URL configured without CORS has no `Cors` member at all. An empty block
|
|
49
|
+
* would still decide headers.
|
|
45
50
|
*/
|
|
46
51
|
export interface SimLambdaFunctionUrlConfiguration {
|
|
47
52
|
FunctionUrl: string;
|
|
48
53
|
FunctionArn: string;
|
|
49
54
|
AuthType: SimLambdaFunctionUrlAuthType;
|
|
50
55
|
InvokeMode: SimLambdaFunctionUrlInvokeMode;
|
|
56
|
+
Cors?: SimLambdaFunctionUrlCors | undefined;
|
|
51
57
|
CreationTime: string;
|
|
52
58
|
LastModifiedTime: string;
|
|
53
59
|
}
|
|
@@ -75,6 +81,11 @@ export declare class SimLambdaFunctionUrl {
|
|
|
75
81
|
* Get the invocation mode for this Function URL.
|
|
76
82
|
*/
|
|
77
83
|
get invokeMode(): SimLambdaFunctionUrlInvokeMode;
|
|
84
|
+
/**
|
|
85
|
+
* Get the CORS configuration for this Function URL. A URL without one sends
|
|
86
|
+
* no CORS headers of its own.
|
|
87
|
+
*/
|
|
88
|
+
get cors(): SimLambdaFunctionUrlCors | undefined;
|
|
78
89
|
/**
|
|
79
90
|
* Get the endpoint hostname for this Function URL.
|
|
80
91
|
*/
|
|
@@ -88,10 +99,15 @@ export declare class SimLambdaFunctionUrl {
|
|
|
88
99
|
* Apply an update to this Function URL's configuration.
|
|
89
100
|
*
|
|
90
101
|
* Omitted values are left as they are, as real UpdateFunctionUrlConfig does.
|
|
102
|
+
*
|
|
103
|
+
* A stated `Cors` replaces the whole block. An update naming only
|
|
104
|
+
* `AllowOrigins` drops the methods and headers the URL was created with, the
|
|
105
|
+
* way it does on AWS.
|
|
91
106
|
*/
|
|
92
107
|
update(properties: {
|
|
93
108
|
readonly authType?: SimLambdaFunctionUrlAuthType | undefined;
|
|
94
109
|
readonly invokeMode?: SimLambdaFunctionUrlInvokeMode | undefined;
|
|
110
|
+
readonly cors?: SimLambdaFunctionUrlCors | undefined;
|
|
95
111
|
}): void;
|
|
96
112
|
/**
|
|
97
113
|
* Get the AWS-like configuration for this Function URL.
|
|
@@ -23,10 +23,11 @@ export class SimLambdaFunctionUrl {
|
|
|
23
23
|
creationTime;
|
|
24
24
|
#authType;
|
|
25
25
|
#invokeMode;
|
|
26
|
+
#cors;
|
|
26
27
|
#lastModifiedTime;
|
|
27
28
|
clock;
|
|
28
29
|
constructor(properties) {
|
|
29
|
-
const { urlId, functionName, functionArn, accountRegionScope, authType = "NONE", invokeMode = "BUFFERED", clock = new SimRealClock(), } = properties;
|
|
30
|
+
const { urlId, functionName, functionArn, accountRegionScope, authType = "NONE", invokeMode = "BUFFERED", cors, clock = new SimRealClock(), } = properties;
|
|
30
31
|
this.clock = clock;
|
|
31
32
|
this.urlId = urlId;
|
|
32
33
|
this.functionName = functionName;
|
|
@@ -34,6 +35,7 @@ export class SimLambdaFunctionUrl {
|
|
|
34
35
|
this.accountRegionScope = accountRegionScope;
|
|
35
36
|
this.#authType = authType;
|
|
36
37
|
this.#invokeMode = invokeMode;
|
|
38
|
+
this.#cors = cors;
|
|
37
39
|
this.creationTime = clock.now().toISOString();
|
|
38
40
|
this.#lastModifiedTime = this.creationTime;
|
|
39
41
|
}
|
|
@@ -49,6 +51,13 @@ export class SimLambdaFunctionUrl {
|
|
|
49
51
|
get invokeMode() {
|
|
50
52
|
return this.#invokeMode;
|
|
51
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Get the CORS configuration for this Function URL. A URL without one sends
|
|
56
|
+
* no CORS headers of its own.
|
|
57
|
+
*/
|
|
58
|
+
get cors() {
|
|
59
|
+
return this.#cors;
|
|
60
|
+
}
|
|
52
61
|
/**
|
|
53
62
|
* Get the endpoint hostname for this Function URL.
|
|
54
63
|
*/
|
|
@@ -69,10 +78,15 @@ export class SimLambdaFunctionUrl {
|
|
|
69
78
|
* Apply an update to this Function URL's configuration.
|
|
70
79
|
*
|
|
71
80
|
* Omitted values are left as they are, as real UpdateFunctionUrlConfig does.
|
|
81
|
+
*
|
|
82
|
+
* A stated `Cors` replaces the whole block. An update naming only
|
|
83
|
+
* `AllowOrigins` drops the methods and headers the URL was created with, the
|
|
84
|
+
* way it does on AWS.
|
|
72
85
|
*/
|
|
73
86
|
update(properties) {
|
|
74
87
|
this.#authType = properties.authType ?? this.#authType;
|
|
75
88
|
this.#invokeMode = properties.invokeMode ?? this.#invokeMode;
|
|
89
|
+
this.#cors = properties.cors ?? this.#cors;
|
|
76
90
|
this.#lastModifiedTime = this.clock.now().toISOString();
|
|
77
91
|
}
|
|
78
92
|
/**
|
|
@@ -84,6 +98,7 @@ export class SimLambdaFunctionUrl {
|
|
|
84
98
|
FunctionArn: this.functionArn,
|
|
85
99
|
AuthType: this.#authType,
|
|
86
100
|
InvokeMode: this.#invokeMode,
|
|
101
|
+
...(this.#cors !== undefined && { Cors: this.#cors }),
|
|
87
102
|
CreationTime: this.creationTime,
|
|
88
103
|
LastModifiedTime: this.#lastModifiedTime,
|
|
89
104
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { SimLambda } from "./sim-lambda.js";
|
|
2
|
+
export { SimLambdaOutput } from "./function/logging/sim-lambda-output.js";
|
|
2
3
|
export { SimLambdaNoVmSdkModuleProvider, type SimLambdaVmSdkModuleProvider, } from "./function/code/vm/sdk/sim-lambda-vm-sdk-module-provider.js";
|
|
3
4
|
export { SimSdkLambdaVmModuleProvider } from "./function/code/vm/sdk/sim-sdk-lambda-vm-module-provider.js";
|
|
4
5
|
export { makeLambdaZipFileInput } from "./function/code/lambda-zip-file-input.js";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { SimLambda } from "./sim-lambda.js";
|
|
2
|
+
export { SimLambdaOutput } from "./function/logging/sim-lambda-output.js";
|
|
2
3
|
export { SimLambdaNoVmSdkModuleProvider, } from "./function/code/vm/sdk/sim-lambda-vm-sdk-module-provider.js";
|
|
3
4
|
export { SimSdkLambdaVmModuleProvider } from "./function/code/vm/sdk/sim-sdk-lambda-vm-module-provider.js";
|
|
4
5
|
export { makeLambdaZipFileInput } from "./function/code/lambda-zip-file-input.js";
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { SimLambdaFunctionUrlCors } from "../../function/url/sim-lambda-function-url-cors.js";
|
|
2
|
+
/**
|
|
3
|
+
* The CORS headers one Function URL configuration decides for a request.
|
|
4
|
+
*
|
|
5
|
+
* Lambda adds these to every response the URL serves, and answers a preflight
|
|
6
|
+
* with them itself. `AllowOrigins` is the one member whose header depends on
|
|
7
|
+
* the request. A browser reads one value there, so Lambda sends back either the
|
|
8
|
+
* Origin that asked or the wildcard.
|
|
9
|
+
*
|
|
10
|
+
* https://docs.aws.amazon.com/lambda/latest/dg/urls-configuration.html
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimLambdaUrlCorsHeaders {
|
|
13
|
+
private readonly cors;
|
|
14
|
+
constructor(cors: SimLambdaFunctionUrlCors);
|
|
15
|
+
/**
|
|
16
|
+
* Whether this request is the preflight a browser sends before a
|
|
17
|
+
* cross-origin call it is not allowed to make blind.
|
|
18
|
+
*/
|
|
19
|
+
isPreflight(request: Request): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The answer Lambda gives a preflight request itself.
|
|
22
|
+
*
|
|
23
|
+
* The function never runs for one. The configured headers are the whole
|
|
24
|
+
* response, and the handler has said nothing that could conflict with them.
|
|
25
|
+
*/
|
|
26
|
+
preflightResponse(request: Request): Response;
|
|
27
|
+
/**
|
|
28
|
+
* Add the configured CORS headers to a response the function produced.
|
|
29
|
+
*
|
|
30
|
+
* They are appended. A handler that sends CORS headers of its own keeps them
|
|
31
|
+
* and the response carries both values, which is what AWS documents for
|
|
32
|
+
* anything but a preflight.
|
|
33
|
+
*/
|
|
34
|
+
apply(headers: Headers, request: Request): void;
|
|
35
|
+
/**
|
|
36
|
+
* Which Origin this request is told it may read the response from.
|
|
37
|
+
*
|
|
38
|
+
* A list holding the wildcard allows every Origin outright. Otherwise the
|
|
39
|
+
* Origin has to be one the list names. A request carrying no Origin at all,
|
|
40
|
+
* such as one from curl, is told nothing.
|
|
41
|
+
*/
|
|
42
|
+
private allowOrigin;
|
|
43
|
+
/**
|
|
44
|
+
* Send a configured list as one comma-separated header.
|
|
45
|
+
*
|
|
46
|
+
* An empty list names nothing. A header carrying an empty value says
|
|
47
|
+
* something else to a browser, so the header is left off.
|
|
48
|
+
*/
|
|
49
|
+
private appendList;
|
|
50
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The request header a browser states the method it is asking about in.
|
|
3
|
+
*
|
|
4
|
+
* A preflight names it and nothing else does. That is what separates a
|
|
5
|
+
* preflight from an ordinary `OPTIONS` request the function should handle.
|
|
6
|
+
*/
|
|
7
|
+
const requestMethodHeader = "access-control-request-method";
|
|
8
|
+
/**
|
|
9
|
+
* The CORS headers one Function URL configuration decides for a request.
|
|
10
|
+
*
|
|
11
|
+
* Lambda adds these to every response the URL serves, and answers a preflight
|
|
12
|
+
* with them itself. `AllowOrigins` is the one member whose header depends on
|
|
13
|
+
* the request. A browser reads one value there, so Lambda sends back either the
|
|
14
|
+
* Origin that asked or the wildcard.
|
|
15
|
+
*
|
|
16
|
+
* https://docs.aws.amazon.com/lambda/latest/dg/urls-configuration.html
|
|
17
|
+
*/
|
|
18
|
+
export class SimLambdaUrlCorsHeaders {
|
|
19
|
+
cors;
|
|
20
|
+
constructor(cors) {
|
|
21
|
+
this.cors = cors;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Whether this request is the preflight a browser sends before a
|
|
25
|
+
* cross-origin call it is not allowed to make blind.
|
|
26
|
+
*/
|
|
27
|
+
isPreflight(request) {
|
|
28
|
+
return (request.method === "OPTIONS" &&
|
|
29
|
+
request.headers.has("origin") &&
|
|
30
|
+
request.headers.has(requestMethodHeader));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The answer Lambda gives a preflight request itself.
|
|
34
|
+
*
|
|
35
|
+
* The function never runs for one. The configured headers are the whole
|
|
36
|
+
* response, and the handler has said nothing that could conflict with them.
|
|
37
|
+
*/
|
|
38
|
+
preflightResponse(request) {
|
|
39
|
+
const headers = new Headers();
|
|
40
|
+
this.apply(headers, request);
|
|
41
|
+
return new Response(null, { status: 200, headers });
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Add the configured CORS headers to a response the function produced.
|
|
45
|
+
*
|
|
46
|
+
* They are appended. A handler that sends CORS headers of its own keeps them
|
|
47
|
+
* and the response carries both values, which is what AWS documents for
|
|
48
|
+
* anything but a preflight.
|
|
49
|
+
*/
|
|
50
|
+
apply(headers, request) {
|
|
51
|
+
const allowOrigin = this.allowOrigin(request.headers.get("origin"));
|
|
52
|
+
if (allowOrigin !== undefined) {
|
|
53
|
+
headers.append("access-control-allow-origin", allowOrigin);
|
|
54
|
+
}
|
|
55
|
+
// A false Access-Control-Allow-Credentials is not a value the fetch spec
|
|
56
|
+
// recognises. The header is left off instead.
|
|
57
|
+
if (this.cors.AllowCredentials === true) {
|
|
58
|
+
headers.append("access-control-allow-credentials", "true");
|
|
59
|
+
}
|
|
60
|
+
this.appendList(headers, "allow-methods", this.cors.AllowMethods);
|
|
61
|
+
this.appendList(headers, "allow-headers", this.cors.AllowHeaders);
|
|
62
|
+
this.appendList(headers, "expose-headers", this.cors.ExposeHeaders);
|
|
63
|
+
if (this.cors.MaxAge !== undefined) {
|
|
64
|
+
headers.append("access-control-max-age", String(this.cors.MaxAge));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Which Origin this request is told it may read the response from.
|
|
69
|
+
*
|
|
70
|
+
* A list holding the wildcard allows every Origin outright. Otherwise the
|
|
71
|
+
* Origin has to be one the list names. A request carrying no Origin at all,
|
|
72
|
+
* such as one from curl, is told nothing.
|
|
73
|
+
*/
|
|
74
|
+
allowOrigin(requestOrigin) {
|
|
75
|
+
const allowOrigins = this.cors.AllowOrigins ?? [];
|
|
76
|
+
if (allowOrigins.includes("*")) {
|
|
77
|
+
return "*";
|
|
78
|
+
}
|
|
79
|
+
if (requestOrigin === null || !allowOrigins.includes(requestOrigin)) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
return requestOrigin;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Send a configured list as one comma-separated header.
|
|
86
|
+
*
|
|
87
|
+
* An empty list names nothing. A header carrying an empty value says
|
|
88
|
+
* something else to a browser, so the header is left off.
|
|
89
|
+
*/
|
|
90
|
+
appendList(headers, suffix, values) {
|
|
91
|
+
if (values === undefined || values.length === 0) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
headers.append(`access-control-${suffix}`, values.join(","));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -16,6 +16,11 @@ interface SimLambdaServiceControllerProperties {
|
|
|
16
16
|
* Either way the function itself runs as its execution Role, as it does for
|
|
17
17
|
* any other invocation. Who invoked it and what it runs as are separate
|
|
18
18
|
* questions on real Lambda, and stay separate here.
|
|
19
|
+
*
|
|
20
|
+
* A URL configured for CORS answers a preflight request itself, once the
|
|
21
|
+
* request has got past whatever its auth type asks of it. A browser cannot sign
|
|
22
|
+
* a preflight, and an `AWS_IAM` URL refuses one on the same terms it refuses
|
|
23
|
+
* any other unsigned request.
|
|
19
24
|
*/
|
|
20
25
|
export declare class SimLambdaServiceController implements SimAwsServiceController {
|
|
21
26
|
private readonly router;
|
|
@@ -46,6 +51,15 @@ export declare class SimLambdaServiceController implements SimAwsServiceControll
|
|
|
46
51
|
* payload, so it is refused here rather than reaching the function.
|
|
47
52
|
*/
|
|
48
53
|
private invokeAuthenticated;
|
|
54
|
+
/**
|
|
55
|
+
* Serve a request the Function URL has admitted.
|
|
56
|
+
*
|
|
57
|
+
* CORS is settled around the invocation. A preflight is answered from the
|
|
58
|
+
* configuration alone, and every other response carries the configured
|
|
59
|
+
* headers alongside whatever the handler sent, including a duplicate where
|
|
60
|
+
* the two disagree.
|
|
61
|
+
*/
|
|
49
62
|
private invoke;
|
|
63
|
+
private invokeFunction;
|
|
50
64
|
}
|
|
51
65
|
export {};
|
|
@@ -2,6 +2,7 @@ import { SimPayload2EventBuilder } from "../../../serve/payload-2/sim-payload-2-
|
|
|
2
2
|
import { SimPayload2ResponseBuilder } from "../../../serve/payload-2/sim-payload-2-response-builder.js";
|
|
3
3
|
import { SimAws } from "../../aws/sim-aws.js";
|
|
4
4
|
import { simLambdaUrlEndpoint } from "./event/sim-lambda-url-endpoint.js";
|
|
5
|
+
import { SimLambdaUrlCorsHeaders } from "./response/sim-lambda-url-cors-headers.js";
|
|
5
6
|
import { SimLambdaUrlErrorResponse } from "./response/sim-lambda-url-error-response.js";
|
|
6
7
|
import { SimLambdaUrlRouter, } from "./sim-lambda-url-router.js";
|
|
7
8
|
import { SimLambdaUrlAuthorizer } from "./auth/sim-lambda-url-authorizer.js";
|
|
@@ -17,6 +18,11 @@ import { simLambdaUrlPayloadRefusal } from "./auth/sim-lambda-url-payload-hash.j
|
|
|
17
18
|
* Either way the function itself runs as its execution Role, as it does for
|
|
18
19
|
* any other invocation. Who invoked it and what it runs as are separate
|
|
19
20
|
* questions on real Lambda, and stay separate here.
|
|
21
|
+
*
|
|
22
|
+
* A URL configured for CORS answers a preflight request itself, once the
|
|
23
|
+
* request has got past whatever its auth type asks of it. A browser cannot sign
|
|
24
|
+
* a preflight, and an `AWS_IAM` URL refuses one on the same terms it refuses
|
|
25
|
+
* any other unsigned request.
|
|
20
26
|
*/
|
|
21
27
|
export class SimLambdaServiceController {
|
|
22
28
|
router;
|
|
@@ -82,7 +88,28 @@ export class SimLambdaServiceController {
|
|
|
82
88
|
}
|
|
83
89
|
return await this.invoke(route, serviceRequest.request, caller);
|
|
84
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Serve a request the Function URL has admitted.
|
|
93
|
+
*
|
|
94
|
+
* CORS is settled around the invocation. A preflight is answered from the
|
|
95
|
+
* configuration alone, and every other response carries the configured
|
|
96
|
+
* headers alongside whatever the handler sent, including a duplicate where
|
|
97
|
+
* the two disagree.
|
|
98
|
+
*/
|
|
85
99
|
async invoke(route, request, authenticatedCaller) {
|
|
100
|
+
const { cors } = route.functionUrl;
|
|
101
|
+
if (cors === undefined) {
|
|
102
|
+
return await this.invokeFunction(route, request, authenticatedCaller);
|
|
103
|
+
}
|
|
104
|
+
const corsHeaders = new SimLambdaUrlCorsHeaders(cors);
|
|
105
|
+
if (corsHeaders.isPreflight(request)) {
|
|
106
|
+
return corsHeaders.preflightResponse(request);
|
|
107
|
+
}
|
|
108
|
+
const response = await this.invokeFunction(route, request, authenticatedCaller);
|
|
109
|
+
corsHeaders.apply(response.headers, request);
|
|
110
|
+
return response;
|
|
111
|
+
}
|
|
112
|
+
async invokeFunction(route, request, authenticatedCaller) {
|
|
86
113
|
try {
|
|
87
114
|
const event = await this.eventBuilder.build(request, simLambdaUrlEndpoint(route.functionUrl), { caller: authenticatedCaller });
|
|
88
115
|
return this.responseBuilder.build(await route.simFunction.invoke(event));
|
|
@@ -18,6 +18,7 @@ import type { SimLambdaVmSdkModuleProvider } from "./function/code/vm/sdk/sim-la
|
|
|
18
18
|
import type { SimCloudWatchServiceWriter } from "../cloudwatch/write/sim-cloudwatch-service-writer.js";
|
|
19
19
|
import type { SimLogsServiceWriter } from "../logs/write/sim-logs-service-writer.js";
|
|
20
20
|
import type { SimLambdaOutboundHttp } from "./function/outbound/sim-lambda-outbound-http.js";
|
|
21
|
+
import { SimLambdaOutput } from "./function/logging/sim-lambda-output.js";
|
|
21
22
|
import { SimLambdaEventInvokeConfigStore } from "./function/event-invoke/sim-lambda-event-invoke-config-store.js";
|
|
22
23
|
import { type SimLambdaDestinationTargets } from "./destination/sim-lambda-destination-targets.js";
|
|
23
24
|
import type { SimLambdaFunctionMap } from "./function/sim-lambda-function.js";
|
|
@@ -79,6 +80,15 @@ export declare class SimLambdaCommands {
|
|
|
79
80
|
readonly functionUrlStore: SimLambdaFunctionUrlStore;
|
|
80
81
|
readonly versionStore: SimLambdaFunctionVersionStore;
|
|
81
82
|
readonly aliasStore: SimLambdaFunctionAliasStore;
|
|
83
|
+
/**
|
|
84
|
+
* Where this simulated Lambda's functions send what they print, besides
|
|
85
|
+
* their own log groups.
|
|
86
|
+
*
|
|
87
|
+
* Shared across every function so that one setting covers a simulation with
|
|
88
|
+
* several of them, and read as each line is written so that a function that
|
|
89
|
+
* has already cold started follows a change.
|
|
90
|
+
*/
|
|
91
|
+
readonly output: SimLambdaOutput;
|
|
82
92
|
readonly functionLookup: SimLambdaFunctionLookup;
|
|
83
93
|
readonly eventInvokeConfigStore: SimLambdaEventInvokeConfigStore;
|
|
84
94
|
readonly functions: SimLambdaFunctionCommands;
|
|
@@ -14,6 +14,7 @@ import { SimLambdaNoEventSourceStreams, } from "./event-source/stream/sim-lambda
|
|
|
14
14
|
import { SimLambdaNoKinesisStreams } from "./event-source/stream/kinesis/sim-lambda-no-kinesis-streams.js";
|
|
15
15
|
import { SimLambdaNoContainerImages, } from "./function/code/image/sim-lambda-container-images.js";
|
|
16
16
|
import { SimLambdaEnvironmentConflicts } from "./function/environment/sim-lambda-environment-conflicts.js";
|
|
17
|
+
import { SimLambdaOutput } from "./function/logging/sim-lambda-output.js";
|
|
17
18
|
import { SimLambdaEventInvokeConfigStore } from "./function/event-invoke/sim-lambda-event-invoke-config-store.js";
|
|
18
19
|
import { SimLambdaNoDestinationTargets, } from "./destination/sim-lambda-destination-targets.js";
|
|
19
20
|
import { SimLambdaFunctionLookup } from "./function/url/sim-lambda-function-lookup.js";
|
|
@@ -41,6 +42,15 @@ export class SimLambdaCommands {
|
|
|
41
42
|
aliasStore = new SimLambdaFunctionAliasStore({
|
|
42
43
|
versions: this.versionStore,
|
|
43
44
|
});
|
|
45
|
+
/**
|
|
46
|
+
* Where this simulated Lambda's functions send what they print, besides
|
|
47
|
+
* their own log groups.
|
|
48
|
+
*
|
|
49
|
+
* Shared across every function so that one setting covers a simulation with
|
|
50
|
+
* several of them, and read as each line is written so that a function that
|
|
51
|
+
* has already cold started follows a change.
|
|
52
|
+
*/
|
|
53
|
+
output = new SimLambdaOutput();
|
|
44
54
|
functionLookup;
|
|
45
55
|
eventInvokeConfigStore;
|
|
46
56
|
functions;
|
|
@@ -142,6 +152,7 @@ export class SimLambdaCommands {
|
|
|
142
152
|
containerImages,
|
|
143
153
|
vmSdkModuleProvider,
|
|
144
154
|
logs,
|
|
155
|
+
output: this.output,
|
|
145
156
|
metrics,
|
|
146
157
|
outboundHttp,
|
|
147
158
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SimSdkCommandRouter } from "../../sdk/index.js";
|
|
2
2
|
import type { SimCfnServiceResourceFactory } from "../cloudformation/resource/factory/sim-cfn-resource-factory.type.js";
|
|
3
3
|
import type { SimLambdaContainerImages } from "./function/code/image/sim-lambda-container-images.js";
|
|
4
|
+
import type { SimLambdaOutput } from "./function/logging/sim-lambda-output.js";
|
|
4
5
|
import type { SimLambdaFunctionMap } from "./function/sim-lambda-function.js";
|
|
5
6
|
import type * as simLambdaCommands from "./command/sim-lambda-command.types.js";
|
|
6
7
|
import { SimLambdaCommands, type SimLambdaProperties } from "./sim-lambda-commands.js";
|
|
@@ -32,6 +33,17 @@ export declare class SimLambda extends SimLambdaEventInvokeOperations {
|
|
|
32
33
|
* @internal
|
|
33
34
|
*/
|
|
34
35
|
containerImages(): SimLambdaContainerImages;
|
|
36
|
+
/**
|
|
37
|
+
* Where this simulated Lambda's functions send what they print, besides the
|
|
38
|
+
* log group they always reach. The host console gets a copy until told
|
|
39
|
+
* otherwise, and these settings belong to one Account and Region as the
|
|
40
|
+
* functions do.
|
|
41
|
+
*
|
|
42
|
+
* ```typescript
|
|
43
|
+
* simAws.lambda().output().captureOnly();
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
output(): SimLambdaOutput;
|
|
35
47
|
/** Handle a Create Function Command from the SDK. */
|
|
36
48
|
createFunction(command: simLambdaCommands.SimCreateFunctionCommand, options?: SimLambdaRequestOptions): Promise<simLambdaCommands.SimCreateFunctionCommandOutput>;
|
|
37
49
|
/** Handle a Get Function Command from the SDK. */
|
|
@@ -39,6 +39,19 @@ export class SimLambda extends SimLambdaEventInvokeOperations {
|
|
|
39
39
|
containerImages() {
|
|
40
40
|
return this.commands.containerImages;
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Where this simulated Lambda's functions send what they print, besides the
|
|
44
|
+
* log group they always reach. The host console gets a copy until told
|
|
45
|
+
* otherwise, and these settings belong to one Account and Region as the
|
|
46
|
+
* functions do.
|
|
47
|
+
*
|
|
48
|
+
* ```typescript
|
|
49
|
+
* simAws.lambda().output().captureOnly();
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
output() {
|
|
53
|
+
return this.commands.output;
|
|
54
|
+
}
|
|
42
55
|
/** Handle a Create Function Command from the SDK. */
|
|
43
56
|
async createFunction(command, options) {
|
|
44
57
|
return await this.commands.functions.create(command, options);
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type SimS3ServerSideEncryption } from "../../object/s3-server-side-encryption.js";
|
|
2
|
+
/**
|
|
3
|
+
* The encryption a Bucket applies to an Object whose write named none.
|
|
4
|
+
*/
|
|
5
|
+
export interface SimS3ServerSideEncryptionByDefault {
|
|
6
|
+
readonly SSEAlgorithm?: string | undefined;
|
|
7
|
+
readonly KMSMasterKeyID?: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* One rule of a Bucket's default encryption configuration.
|
|
11
|
+
*
|
|
12
|
+
* Real S3 takes exactly one. `BucketKeyEnabled` says whether S3 uses a bucket
|
|
13
|
+
* key to cut KMS calls, and is stored and read back here without acting.
|
|
14
|
+
*/
|
|
15
|
+
export interface SimS3ServerSideEncryptionRule {
|
|
16
|
+
readonly ApplyServerSideEncryptionByDefault?: SimS3ServerSideEncryptionByDefault | undefined;
|
|
17
|
+
readonly BucketKeyEnabled?: boolean | undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A Bucket's default encryption configuration, as a request states it.
|
|
21
|
+
*/
|
|
22
|
+
export interface SimS3ServerSideEncryptionConfiguration {
|
|
23
|
+
readonly Rules?: readonly SimS3ServerSideEncryptionRule[] | undefined;
|
|
24
|
+
}
|
|
25
|
+
interface SimS3BucketEncryptionProperties {
|
|
26
|
+
readonly rules?: readonly SimS3ServerSideEncryptionRule[] | undefined;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The default encryption of one simulated S3 Bucket.
|
|
30
|
+
*
|
|
31
|
+
* Nothing is encrypted. The bytes of an Object are stored as they arrive, and
|
|
32
|
+
* its ETag stays the MD5 of them, which is what real S3 reports for an
|
|
33
|
+
* SSE-S3 Object as well. What this decides is the algorithm a write stamps on
|
|
34
|
+
* an Object when it names none itself, and what `GetBucketEncryption` answers.
|
|
35
|
+
*
|
|
36
|
+
* A Bucket nobody has configured is SSE-S3 encrypted. Real S3 has applied that
|
|
37
|
+
* default to every Bucket since January 2023, and answers a read of an
|
|
38
|
+
* unconfigured Bucket with the same `AES256` rule as one configured that way.
|
|
39
|
+
*/
|
|
40
|
+
export declare class SimS3BucketEncryption {
|
|
41
|
+
private readonly storedRules;
|
|
42
|
+
constructor(properties?: SimS3BucketEncryptionProperties);
|
|
43
|
+
/**
|
|
44
|
+
* The encryption a Bucket nobody has configured has, which is what
|
|
45
|
+
* `DeleteBucketEncryption` puts a Bucket back to.
|
|
46
|
+
*/
|
|
47
|
+
static default(): SimS3BucketEncryption;
|
|
48
|
+
/**
|
|
49
|
+
* The encryption a PutBucketEncryption request asks for.
|
|
50
|
+
*
|
|
51
|
+
* Every algorithm named is read here, before the Bucket is changed, so a
|
|
52
|
+
* configuration real S3 refuses leaves the Bucket as it was.
|
|
53
|
+
*/
|
|
54
|
+
static fromConfiguration(configuration: SimS3ServerSideEncryptionConfiguration, bucketName: string): SimS3BucketEncryption;
|
|
55
|
+
/**
|
|
56
|
+
* The algorithm this Bucket stamps on an Object written without one.
|
|
57
|
+
*/
|
|
58
|
+
get algorithm(): SimS3ServerSideEncryption;
|
|
59
|
+
/**
|
|
60
|
+
* The configuration a read of the Bucket answers with.
|
|
61
|
+
*
|
|
62
|
+
* Cloned on the way out, so a caller holding what it was given cannot change
|
|
63
|
+
* what the Bucket applies by mutating it.
|
|
64
|
+
*/
|
|
65
|
+
get configuration(): SimS3ServerSideEncryptionConfiguration;
|
|
66
|
+
}
|
|
67
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { simS3DefaultServerSideEncryption, simS3ServerSideEncryptionFrom, } from "../../object/s3-server-side-encryption.js";
|
|
2
|
+
/**
|
|
3
|
+
* The default encryption of one simulated S3 Bucket.
|
|
4
|
+
*
|
|
5
|
+
* Nothing is encrypted. The bytes of an Object are stored as they arrive, and
|
|
6
|
+
* its ETag stays the MD5 of them, which is what real S3 reports for an
|
|
7
|
+
* SSE-S3 Object as well. What this decides is the algorithm a write stamps on
|
|
8
|
+
* an Object when it names none itself, and what `GetBucketEncryption` answers.
|
|
9
|
+
*
|
|
10
|
+
* A Bucket nobody has configured is SSE-S3 encrypted. Real S3 has applied that
|
|
11
|
+
* default to every Bucket since January 2023, and answers a read of an
|
|
12
|
+
* unconfigured Bucket with the same `AES256` rule as one configured that way.
|
|
13
|
+
*/
|
|
14
|
+
export class SimS3BucketEncryption {
|
|
15
|
+
storedRules;
|
|
16
|
+
constructor(properties = {}) {
|
|
17
|
+
this.storedRules = structuredClone(properties.rules ?? defaultRules);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The encryption a Bucket nobody has configured has, which is what
|
|
21
|
+
* `DeleteBucketEncryption` puts a Bucket back to.
|
|
22
|
+
*/
|
|
23
|
+
static default() {
|
|
24
|
+
return new SimS3BucketEncryption();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The encryption a PutBucketEncryption request asks for.
|
|
28
|
+
*
|
|
29
|
+
* Every algorithm named is read here, before the Bucket is changed, so a
|
|
30
|
+
* configuration real S3 refuses leaves the Bucket as it was.
|
|
31
|
+
*/
|
|
32
|
+
static fromConfiguration(configuration, bucketName) {
|
|
33
|
+
const rules = configuration.Rules ?? [];
|
|
34
|
+
for (const rule of rules) {
|
|
35
|
+
simS3ServerSideEncryptionFrom(rule.ApplyServerSideEncryptionByDefault?.SSEAlgorithm, `the default encryption of Bucket ${bucketName}`);
|
|
36
|
+
}
|
|
37
|
+
return new SimS3BucketEncryption({ rules });
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The algorithm this Bucket stamps on an Object written without one.
|
|
41
|
+
*/
|
|
42
|
+
get algorithm() {
|
|
43
|
+
const named = this.storedRules
|
|
44
|
+
.map((rule) => rule.ApplyServerSideEncryptionByDefault?.SSEAlgorithm)
|
|
45
|
+
.find((algorithm) => algorithm !== undefined);
|
|
46
|
+
return (simS3ServerSideEncryptionFrom(named, "a stored Bucket configuration") ??
|
|
47
|
+
simS3DefaultServerSideEncryption);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The configuration a read of the Bucket answers with.
|
|
51
|
+
*
|
|
52
|
+
* Cloned on the way out, so a caller holding what it was given cannot change
|
|
53
|
+
* what the Bucket applies by mutating it.
|
|
54
|
+
*/
|
|
55
|
+
get configuration() {
|
|
56
|
+
return { Rules: structuredClone(this.storedRules) };
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The rule real S3 reports for a Bucket nobody has configured.
|
|
61
|
+
*/
|
|
62
|
+
const defaultRules = [
|
|
63
|
+
{
|
|
64
|
+
ApplyServerSideEncryptionByDefault: {
|
|
65
|
+
SSEAlgorithm: simS3DefaultServerSideEncryption,
|
|
66
|
+
},
|
|
67
|
+
BucketKeyEnabled: false,
|
|
68
|
+
},
|
|
69
|
+
];
|
|
@@ -1,36 +1,8 @@
|
|
|
1
1
|
import type { SimS3LifecycleConfiguration as SimS3LifecycleConfigurationInput, SimS3LifecycleRule } from "../../command/put-bucket-lifecycle-configuration/put-bucket-lifecycle-configuration.command.js";
|
|
2
|
+
import type { SimS3LifecycleNoncurrentVersion, SimS3LifecycleObject, SimS3LifecycleUpload } from "./sim-s3-lifecycle-subject.js";
|
|
2
3
|
interface SimS3LifecycleConfigurationProperties {
|
|
3
4
|
readonly rules?: readonly SimS3LifecycleRule[];
|
|
4
5
|
}
|
|
5
|
-
/**
|
|
6
|
-
* An Object as a lifecycle rule reads it.
|
|
7
|
-
*/
|
|
8
|
-
export interface SimS3LifecycleObject {
|
|
9
|
-
readonly key: string;
|
|
10
|
-
readonly size: number;
|
|
11
|
-
readonly lastModified: Date;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* A noncurrent version as a lifecycle rule reads it.
|
|
15
|
-
*
|
|
16
|
-
* `newerVersionsAhead` is how many noncurrent versions of the same key are
|
|
17
|
-
* newer than this one, which is what `NewerNoncurrentVersions` counts. The
|
|
18
|
-
* current version is not one of them, since a rule for noncurrent versions
|
|
19
|
-
* never reaches it.
|
|
20
|
-
*/
|
|
21
|
-
export interface SimS3LifecycleNoncurrentVersion {
|
|
22
|
-
readonly key: string;
|
|
23
|
-
readonly size: number;
|
|
24
|
-
readonly noncurrentSince: Date | undefined;
|
|
25
|
-
readonly newerVersionsAhead: number;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* A multipart upload in progress as a lifecycle rule reads it.
|
|
29
|
-
*/
|
|
30
|
-
export interface SimS3LifecycleUpload {
|
|
31
|
-
readonly key: string;
|
|
32
|
-
readonly initiated: Date;
|
|
33
|
-
}
|
|
34
6
|
/**
|
|
35
7
|
* The lifecycle configuration of one simulated S3 Bucket.
|
|
36
8
|
*
|
|
@@ -107,8 +79,9 @@ export declare class SimS3LifecycleConfiguration {
|
|
|
107
79
|
*
|
|
108
80
|
* Read from the stored rules rather than from `rules`, because every read of
|
|
109
81
|
* a Bucket asks and cloning the whole configuration each time would be the
|
|
110
|
-
* cost of having one.
|
|
82
|
+
* cost of having one. A transition is worked out from these by
|
|
83
|
+
* `simS3TransitionedObjectClass`.
|
|
111
84
|
*/
|
|
112
|
-
|
|
85
|
+
get enabledRules(): readonly SimS3LifecycleRule[];
|
|
113
86
|
}
|
|
114
87
|
export {};
|