@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
|
@@ -8,8 +8,9 @@ import { SimS3ObjectMetadata } from "./s3-object.js";
|
|
|
8
8
|
* headers S3 remembers about an Object and returns on a read. There is one for
|
|
9
9
|
* every entry in `simS3SystemMetadataHeaders`, which is what the conversion
|
|
10
10
|
* below reads them by, so a header added to that list without a field here
|
|
11
|
-
* fails to compile. `Expires` is a `Date`
|
|
12
|
-
* it as an HTTP date
|
|
11
|
+
* fails to compile. `Expires` is a `Date` where the SDK takes one and formats
|
|
12
|
+
* it as an HTTP date, and the formatted string itself where the write arrived
|
|
13
|
+
* over HTTP with the date already written out.
|
|
13
14
|
*/
|
|
14
15
|
export interface SimS3ObjectWriteMetadata {
|
|
15
16
|
readonly Metadata?: Record<string, string> | undefined;
|
|
@@ -18,7 +19,7 @@ export interface SimS3ObjectWriteMetadata {
|
|
|
18
19
|
readonly ContentEncoding?: string | undefined;
|
|
19
20
|
readonly ContentLanguage?: string | undefined;
|
|
20
21
|
readonly ContentType?: string | undefined;
|
|
21
|
-
readonly Expires?: Date | undefined;
|
|
22
|
+
readonly Expires?: Date | string | undefined;
|
|
22
23
|
}
|
|
23
24
|
/**
|
|
24
25
|
* Convert the metadata members of a write into what an Object stores.
|
|
@@ -34,3 +35,16 @@ export interface SimS3ObjectWriteMetadata {
|
|
|
34
35
|
* write named it or not.
|
|
35
36
|
*/
|
|
36
37
|
export declare function simS3WriteMetadata(input: SimS3ObjectWriteMetadata): SimS3ObjectMetadata;
|
|
38
|
+
/**
|
|
39
|
+
* Read the metadata headers of an upload into the members a write carries.
|
|
40
|
+
*
|
|
41
|
+
* A request arriving over HTTP states its metadata in the headers real S3
|
|
42
|
+
* carries it in, which is the form a `PutObjectCommand` is serialized into by
|
|
43
|
+
* the SDK. Reading them by the same list a write and a read agree on is what
|
|
44
|
+
* keeps an upload over an endpoint describing an Object exactly as an
|
|
45
|
+
* in-process one does.
|
|
46
|
+
*
|
|
47
|
+
* Every value stays a string, expiry included, because it arrives as the HTTP
|
|
48
|
+
* date S3 stores rather than as a `Date` waiting to be formatted.
|
|
49
|
+
*/
|
|
50
|
+
export declare function simS3WriteMetadataHeaders(headers: Headers): SimS3ObjectWriteMetadata;
|
|
@@ -41,3 +41,46 @@ function metadataValue(value) {
|
|
|
41
41
|
}
|
|
42
42
|
return value;
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Read the metadata headers of an upload into the members a write carries.
|
|
46
|
+
*
|
|
47
|
+
* A request arriving over HTTP states its metadata in the headers real S3
|
|
48
|
+
* carries it in, which is the form a `PutObjectCommand` is serialized into by
|
|
49
|
+
* the SDK. Reading them by the same list a write and a read agree on is what
|
|
50
|
+
* keeps an upload over an endpoint describing an Object exactly as an
|
|
51
|
+
* in-process one does.
|
|
52
|
+
*
|
|
53
|
+
* Every value stays a string, expiry included, because it arrives as the HTTP
|
|
54
|
+
* date S3 stores rather than as a `Date` waiting to be formatted.
|
|
55
|
+
*/
|
|
56
|
+
export function simS3WriteMetadataHeaders(headers) {
|
|
57
|
+
const written = {};
|
|
58
|
+
for (const header of simS3SystemMetadataHeaders) {
|
|
59
|
+
const value = headers.get(header.name);
|
|
60
|
+
if (value !== null) {
|
|
61
|
+
written[header.field] = value;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const attached = simS3AttachedMetadata(headers);
|
|
65
|
+
return attached === undefined ? written : { ...written, Metadata: attached };
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* The user-defined metadata an upload attached, or nothing where it attached
|
|
69
|
+
* none.
|
|
70
|
+
*
|
|
71
|
+
* S3 sends each entry as its own `x-amz-meta-` header and answers a read with
|
|
72
|
+
* the keys without the prefix, which is the form a write states them in. An
|
|
73
|
+
* upload that attached nothing leaves `Metadata` absent rather than empty, so
|
|
74
|
+
* a copy carrying the source's metadata is not handed an empty object to
|
|
75
|
+
* copy over it.
|
|
76
|
+
*/
|
|
77
|
+
function simS3AttachedMetadata(headers) {
|
|
78
|
+
const attached = {};
|
|
79
|
+
for (const [name, value] of headers) {
|
|
80
|
+
if (name.toLowerCase().startsWith(simS3UserMetadataPrefix)) {
|
|
81
|
+
attached[name.slice(simS3UserMetadataPrefix.length).toLowerCase()] =
|
|
82
|
+
value;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return Object.keys(attached).length === 0 ? undefined : attached;
|
|
86
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type SimS3ServerSideEncryption } from "./s3-server-side-encryption.js";
|
|
2
|
+
import { type SimS3StorageClass } from "./s3-storage-class.js";
|
|
3
|
+
/**
|
|
4
|
+
* The members of a request that say where and how S3 keeps an Object.
|
|
5
|
+
*
|
|
6
|
+
* `PutObject`, `CopyObject` and `CreateMultipartUpload` all carry these
|
|
7
|
+
* alongside the metadata that says what the Object is. Both are read before
|
|
8
|
+
* anything is stored, because real S3 refuses a write naming a storage class
|
|
9
|
+
* or an algorithm it has no such thing for.
|
|
10
|
+
*/
|
|
11
|
+
export interface SimS3ObjectWriteStorage {
|
|
12
|
+
readonly StorageClass?: string | undefined;
|
|
13
|
+
readonly ServerSideEncryption?: string | undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The storage class a write asks for, or nothing where it asks for none.
|
|
17
|
+
*/
|
|
18
|
+
export declare function simS3WriteStorageClass(input: SimS3ObjectWriteStorage, context: string): SimS3StorageClass | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* The encryption S3 stamps on the Object a write is storing.
|
|
21
|
+
*
|
|
22
|
+
* The write has the last word, the Bucket's default configuration comes next,
|
|
23
|
+
* and an Object written into a Bucket carrying neither is SSE-S3 encrypted.
|
|
24
|
+
* Real S3 has encrypted every new Object that way since January 2023, so
|
|
25
|
+
* `AES256` is what a read reports for one nobody configured anything for.
|
|
26
|
+
*/
|
|
27
|
+
export declare function simS3WriteEncryption(input: SimS3ObjectWriteStorage, bucketDefault: SimS3ServerSideEncryption | undefined, context: string): SimS3ServerSideEncryption;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { simS3DefaultServerSideEncryption, simS3ServerSideEncryptionFrom, } from "./s3-server-side-encryption.js";
|
|
2
|
+
import { simS3StorageClassFrom, } from "./s3-storage-class.js";
|
|
3
|
+
/**
|
|
4
|
+
* The storage class a write asks for, or nothing where it asks for none.
|
|
5
|
+
*/
|
|
6
|
+
export function simS3WriteStorageClass(input, context) {
|
|
7
|
+
return simS3StorageClassFrom(input.StorageClass, context);
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* The encryption S3 stamps on the Object a write is storing.
|
|
11
|
+
*
|
|
12
|
+
* The write has the last word, the Bucket's default configuration comes next,
|
|
13
|
+
* and an Object written into a Bucket carrying neither is SSE-S3 encrypted.
|
|
14
|
+
* Real S3 has encrypted every new Object that way since January 2023, so
|
|
15
|
+
* `AES256` is what a read reports for one nobody configured anything for.
|
|
16
|
+
*/
|
|
17
|
+
export function simS3WriteEncryption(input, bucketDefault, context) {
|
|
18
|
+
return (simS3ServerSideEncryptionFrom(input.ServerSideEncryption, context) ??
|
|
19
|
+
bucketDefault ??
|
|
20
|
+
simS3DefaultServerSideEncryption);
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { SimS3ObjectTagSet } from "./s3-object-tags.js";
|
|
2
|
+
/**
|
|
3
|
+
* The tagging members of a request that stores an Object.
|
|
4
|
+
*
|
|
5
|
+
* `PutObject`, `CopyObject` and `CreateMultipartUpload` all carry `Tagging`,
|
|
6
|
+
* and only a copy carries a directive, because only a copy has a source tag set
|
|
7
|
+
* to choose between.
|
|
8
|
+
*/
|
|
9
|
+
export interface SimS3ObjectWriteTagging {
|
|
10
|
+
/**
|
|
11
|
+
* The tags to put on the Object, as the URL query string real S3 takes them
|
|
12
|
+
* in: `department=finance&retention=long`.
|
|
13
|
+
*/
|
|
14
|
+
readonly Tagging?: string | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The tags a write asks S3 to put on the Object it is storing.
|
|
18
|
+
*
|
|
19
|
+
* Real S3 sends a tag set on a write as a query string rather than as a list,
|
|
20
|
+
* because it travels in the `x-amz-tagging` header where a list has nowhere to
|
|
21
|
+
* go. It is read the same way here, so an SDK caller and an HTTP one produce
|
|
22
|
+
* the same tag set. A write naming no tags stores an untagged Object.
|
|
23
|
+
*/
|
|
24
|
+
export declare function simS3WriteTags(input: SimS3ObjectWriteTagging, context: string): SimS3ObjectTagSet;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SimS3ObjectTagSet } from "./s3-object-tags.js";
|
|
2
|
+
/**
|
|
3
|
+
* The tags a write asks S3 to put on the Object it is storing.
|
|
4
|
+
*
|
|
5
|
+
* Real S3 sends a tag set on a write as a query string rather than as a list,
|
|
6
|
+
* because it travels in the `x-amz-tagging` header where a list has nowhere to
|
|
7
|
+
* go. It is read the same way here, so an SDK caller and an HTTP one produce
|
|
8
|
+
* the same tag set. A write naming no tags stores an untagged Object.
|
|
9
|
+
*/
|
|
10
|
+
export function simS3WriteTags(input, context) {
|
|
11
|
+
const tagging = input.Tagging;
|
|
12
|
+
if (tagging === undefined) {
|
|
13
|
+
return SimS3ObjectTagSet.empty();
|
|
14
|
+
}
|
|
15
|
+
return SimS3ObjectTagSet.from(new URLSearchParams(tagging)
|
|
16
|
+
.entries()
|
|
17
|
+
.map(([Key, Value]) => ({ Key, Value }))
|
|
18
|
+
.toArray(), context);
|
|
19
|
+
}
|
|
@@ -64,6 +64,18 @@ export function simS3SdkBucketRoutes(simS3) {
|
|
|
64
64
|
"GetBucketVersioningCommand",
|
|
65
65
|
async (command, context) => await simS3.getBucketVersioning(command, simSdkCallerOptions(context)),
|
|
66
66
|
],
|
|
67
|
+
[
|
|
68
|
+
"PutBucketEncryptionCommand",
|
|
69
|
+
async (command, context) => await simS3.putBucketEncryption(command, simSdkCallerOptions(context)),
|
|
70
|
+
],
|
|
71
|
+
[
|
|
72
|
+
"GetBucketEncryptionCommand",
|
|
73
|
+
async (command, context) => await simS3.getBucketEncryption(command, simSdkCallerOptions(context)),
|
|
74
|
+
],
|
|
75
|
+
[
|
|
76
|
+
"DeleteBucketEncryptionCommand",
|
|
77
|
+
async (command, context) => await simS3.deleteBucketEncryption(command, simSdkCallerOptions(context)),
|
|
78
|
+
],
|
|
67
79
|
[
|
|
68
80
|
"PutBucketWebsiteCommand",
|
|
69
81
|
async (command, context) => await simS3.putBucketWebsite(command, simSdkCallerOptions(context)),
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { simS3SdkBucketRoutes } from "./sim-s3-sdk-bucket-routes.js";
|
|
2
2
|
import { simS3SdkObjectLockRoutes } from "./sim-s3-sdk-object-lock-routes.js";
|
|
3
3
|
import { simS3SdkObjectRoutes } from "./sim-s3-sdk-object-routes.js";
|
|
4
|
+
import { simS3SdkObjectTaggingRoutes } from "./sim-s3-sdk-object-tagging-routes.js";
|
|
4
5
|
/**
|
|
5
6
|
* Routes intercepted SDK Commands to one scoped simulated S3 instance.
|
|
6
7
|
*/
|
|
@@ -11,6 +12,7 @@ export class SimS3SdkCommandRouter {
|
|
|
11
12
|
...simS3SdkBucketRoutes(simS3),
|
|
12
13
|
...simS3SdkObjectRoutes(simS3),
|
|
13
14
|
...simS3SdkObjectLockRoutes(simS3),
|
|
15
|
+
...simS3SdkObjectTaggingRoutes(simS3),
|
|
14
16
|
]);
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SimSdkCommandRoute } from "../../../sdk/index.js";
|
|
2
|
+
import type { SimS3 } from "../sim-s3.js";
|
|
3
|
+
/**
|
|
4
|
+
* The SDK Commands that hold tags against an Object.
|
|
5
|
+
*
|
|
6
|
+
* They route together because each is granted by a permission of its own, and
|
|
7
|
+
* none of them is reachable through `PutObject` or `GetObject`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function simS3SdkObjectTaggingRoutes(simS3: SimS3): readonly (readonly [string, SimSdkCommandRoute])[];
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { simSdkCallerOptions } from "../../../sdk/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* The SDK Commands that hold tags against an Object.
|
|
4
|
+
*
|
|
5
|
+
* They route together because each is granted by a permission of its own, and
|
|
6
|
+
* none of them is reachable through `PutObject` or `GetObject`.
|
|
7
|
+
*/
|
|
8
|
+
export function simS3SdkObjectTaggingRoutes(simS3) {
|
|
9
|
+
return [
|
|
10
|
+
[
|
|
11
|
+
"PutObjectTaggingCommand",
|
|
12
|
+
async (command, context) => await simS3.putObjectTagging(command, simSdkCallerOptions(context)),
|
|
13
|
+
],
|
|
14
|
+
[
|
|
15
|
+
"GetObjectTaggingCommand",
|
|
16
|
+
async (command, context) => await simS3.getObjectTagging(command, simSdkCallerOptions(context)),
|
|
17
|
+
],
|
|
18
|
+
[
|
|
19
|
+
"DeleteObjectTaggingCommand",
|
|
20
|
+
async (command, context) => await simS3.deleteObjectTagging(command, simSdkCallerOptions(context)),
|
|
21
|
+
],
|
|
22
|
+
];
|
|
23
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { readSimS3NotificationConfiguration } from "./sim-s3-api-notification-read.js";
|
|
2
|
+
import { readSimS3EncryptionConfiguration } from "./sim-s3-api-encryption-read.js";
|
|
2
3
|
import { readSimS3DeleteRequest, readSimS3PublicAccessBlock, readSimS3WebsiteConfiguration, } from "./sim-s3-api-xml-read.js";
|
|
3
4
|
import { bucketBodyInput, bucketInput, listBucketsInput, listObjectsInput, listObjectsV2Input, } from "./sim-s3-api-input.js";
|
|
4
5
|
import { listMultipartUploadsInput } from "./sim-s3-api-multipart-input.js";
|
|
@@ -35,6 +36,13 @@ export const simS3BucketApiRoutes = [
|
|
|
35
36
|
commandName: "GetPublicAccessBlockCommand",
|
|
36
37
|
input: bucketInput,
|
|
37
38
|
},
|
|
39
|
+
{
|
|
40
|
+
method: "GET",
|
|
41
|
+
target: "bucket",
|
|
42
|
+
subResource: "encryption",
|
|
43
|
+
commandName: "GetBucketEncryptionCommand",
|
|
44
|
+
input: bucketInput,
|
|
45
|
+
},
|
|
38
46
|
{
|
|
39
47
|
method: "GET",
|
|
40
48
|
target: "bucket",
|
|
@@ -84,6 +92,13 @@ export const simS3BucketApiRoutes = [
|
|
|
84
92
|
commandName: "PutPublicAccessBlockCommand",
|
|
85
93
|
input: (request) => bucketBodyInput(request, "PublicAccessBlockConfiguration", readSimS3PublicAccessBlock),
|
|
86
94
|
},
|
|
95
|
+
{
|
|
96
|
+
method: "PUT",
|
|
97
|
+
target: "bucket",
|
|
98
|
+
subResource: "encryption",
|
|
99
|
+
commandName: "PutBucketEncryptionCommand",
|
|
100
|
+
input: (request) => bucketBodyInput(request, "ServerSideEncryptionConfiguration", readSimS3EncryptionConfiguration),
|
|
101
|
+
},
|
|
87
102
|
{
|
|
88
103
|
method: "PUT",
|
|
89
104
|
target: "bucket",
|
|
@@ -111,6 +126,13 @@ export const simS3BucketApiRoutes = [
|
|
|
111
126
|
commandName: "DeleteBucketPolicyCommand",
|
|
112
127
|
input: bucketInput,
|
|
113
128
|
},
|
|
129
|
+
{
|
|
130
|
+
method: "DELETE",
|
|
131
|
+
target: "bucket",
|
|
132
|
+
subResource: "encryption",
|
|
133
|
+
commandName: "DeleteBucketEncryptionCommand",
|
|
134
|
+
input: bucketInput,
|
|
135
|
+
},
|
|
114
136
|
{
|
|
115
137
|
method: "DELETE",
|
|
116
138
|
target: "bucket",
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
* Write a Block Public Access configuration.
|
|
9
9
|
*/
|
|
10
10
|
export declare function publicAccessBlockXml(output: Record<string, unknown>): string;
|
|
11
|
+
/**
|
|
12
|
+
* Write a Bucket's default encryption configuration.
|
|
13
|
+
*/
|
|
14
|
+
export declare function encryptionConfigurationXml(output: Record<string, unknown>): string;
|
|
11
15
|
/**
|
|
12
16
|
* Write an event notification configuration.
|
|
13
17
|
*/
|
|
@@ -16,6 +16,16 @@ export function publicAccessBlockXml(output) {
|
|
|
16
16
|
xmlValue("BlockPublicPolicy", configuration["BlockPublicPolicy"]) +
|
|
17
17
|
xmlValue("RestrictPublicBuckets", configuration["RestrictPublicBuckets"]));
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Write a Bucket's default encryption configuration.
|
|
21
|
+
*/
|
|
22
|
+
export function encryptionConfigurationXml(output) {
|
|
23
|
+
const configuration = (output["ServerSideEncryptionConfiguration"] ?? {});
|
|
24
|
+
return xmlDocument("ServerSideEncryptionConfiguration", (configuration.Rules ?? [])
|
|
25
|
+
.map((rule) => xmlElement("Rule", xmlElement("ApplyServerSideEncryptionByDefault", xmlValue("SSEAlgorithm", rule.ApplyServerSideEncryptionByDefault?.SSEAlgorithm) +
|
|
26
|
+
xmlValue("KMSMasterKeyID", rule.ApplyServerSideEncryptionByDefault?.KMSMasterKeyID)) + xmlValue("BucketKeyEnabled", rule.BucketKeyEnabled)))
|
|
27
|
+
.join(""));
|
|
28
|
+
}
|
|
19
29
|
/**
|
|
20
30
|
* Write an event notification configuration.
|
|
21
31
|
*/
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read a default encryption configuration.
|
|
3
|
+
*
|
|
4
|
+
* Real S3 takes one rule and the SDK sends a list, so the list is read here
|
|
5
|
+
* and the Bucket decides what to do with more than one of them.
|
|
6
|
+
*/
|
|
7
|
+
export declare function readSimS3EncryptionConfiguration(body: string): object;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { parseXmlDocument, xmlBoolean, xmlChild, xmlChildren, xmlText, } from "../../../../util/xml/xml-document.js";
|
|
2
|
+
/**
|
|
3
|
+
* Read a default encryption configuration.
|
|
4
|
+
*
|
|
5
|
+
* Real S3 takes one rule and the SDK sends a list, so the list is read here
|
|
6
|
+
* and the Bucket decides what to do with more than one of them.
|
|
7
|
+
*/
|
|
8
|
+
export function readSimS3EncryptionConfiguration(body) {
|
|
9
|
+
const root = parseXmlDocument(body);
|
|
10
|
+
return {
|
|
11
|
+
Rules: xmlChildren(root, "Rule").map((rule) => {
|
|
12
|
+
const byDefault = xmlChild(rule, "ApplyServerSideEncryptionByDefault");
|
|
13
|
+
return {
|
|
14
|
+
...(byDefault !== undefined && {
|
|
15
|
+
ApplyServerSideEncryptionByDefault: {
|
|
16
|
+
...defined("SSEAlgorithm", xmlText(byDefault, "SSEAlgorithm")),
|
|
17
|
+
...defined("KMSMasterKeyID", xmlText(byDefault, "KMSMasterKeyID")),
|
|
18
|
+
},
|
|
19
|
+
}),
|
|
20
|
+
...defined("BucketKeyEnabled", xmlBoolean(rule, "BucketKeyEnabled")),
|
|
21
|
+
};
|
|
22
|
+
}),
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* One member of a request document, or nothing where it was absent.
|
|
27
|
+
*/
|
|
28
|
+
function defined(name, value) {
|
|
29
|
+
return value === undefined ? {} : { [name]: value };
|
|
30
|
+
}
|
|
@@ -9,9 +9,11 @@
|
|
|
9
9
|
* Answer a HEAD with what a read would have said and none of the Object.
|
|
10
10
|
*
|
|
11
11
|
* The `content-length` describes the Object rather than the response, which is
|
|
12
|
-
* what makes a HEAD worth sending.
|
|
12
|
+
* what makes a HEAD worth sending. A HEAD reads the same `response-` parameters
|
|
13
|
+
* a GET does, so a caller can see what a presigned URL would serve without
|
|
14
|
+
* fetching the Object.
|
|
13
15
|
*/
|
|
14
|
-
export declare function simS3HeadObjectResponse(output: Record<string, unknown
|
|
16
|
+
export declare function simS3HeadObjectResponse(output: Record<string, unknown>, overrides: Readonly<Record<string, string>>): Response;
|
|
15
17
|
/**
|
|
16
18
|
* Answer that a Bucket is there and reachable.
|
|
17
19
|
*
|
|
@@ -11,16 +11,22 @@ import { simS3SystemMetadataHeadersFrom } from "../../object/s3-system-metadata-
|
|
|
11
11
|
* Answer a HEAD with what a read would have said and none of the Object.
|
|
12
12
|
*
|
|
13
13
|
* The `content-length` describes the Object rather than the response, which is
|
|
14
|
-
* what makes a HEAD worth sending.
|
|
14
|
+
* what makes a HEAD worth sending. A HEAD reads the same `response-` parameters
|
|
15
|
+
* a GET does, so a caller can see what a presigned URL would serve without
|
|
16
|
+
* fetching the Object.
|
|
15
17
|
*/
|
|
16
|
-
export function simS3HeadObjectResponse(output) {
|
|
18
|
+
export function simS3HeadObjectResponse(output, overrides) {
|
|
17
19
|
return new Response(undefined, {
|
|
18
20
|
status: 200,
|
|
19
21
|
headers: simS3ObjectResponseHeaders({
|
|
20
22
|
metadata: simS3SystemMetadataHeadersFrom(output),
|
|
23
|
+
userMetadata: output["Metadata"],
|
|
24
|
+
overrides,
|
|
21
25
|
bodyLength: output["ContentLength"] ?? 0,
|
|
22
26
|
etag: output["ETag"],
|
|
23
27
|
lastModified: output["LastModified"],
|
|
28
|
+
storageClass: output["StorageClass"],
|
|
29
|
+
serverSideEncryption: output["ServerSideEncryption"],
|
|
24
30
|
}),
|
|
25
31
|
});
|
|
26
32
|
}
|
|
@@ -26,12 +26,6 @@ export declare function listObjectsV2Input(request: SimS3ApiRequest): object;
|
|
|
26
26
|
* The first ListObjects input, which pages by marker.
|
|
27
27
|
*/
|
|
28
28
|
export declare function listObjectsInput(request: SimS3ApiRequest): object;
|
|
29
|
-
/**
|
|
30
|
-
* The user metadata an upload carried, which S3 sends as `x-amz-meta-` headers.
|
|
31
|
-
*/
|
|
32
|
-
export declare function simS3UserMetadata(headers: Headers): {
|
|
33
|
-
Metadata?: Record<string, string>;
|
|
34
|
-
};
|
|
35
29
|
/**
|
|
36
30
|
* Include a member only when the request stated it, since an operation treats
|
|
37
31
|
* an absent member and an empty one differently.
|
|
@@ -38,6 +38,7 @@ export function listObjectsV2Input(request) {
|
|
|
38
38
|
...optional("ContinuationToken", request.query.get("continuation-token")),
|
|
39
39
|
...optional("StartAfter", request.query.get("start-after")),
|
|
40
40
|
...optionalNumber("MaxKeys", request.query.get("max-keys")),
|
|
41
|
+
...optional("EncodingType", request.query.get("encoding-type")),
|
|
41
42
|
};
|
|
42
43
|
}
|
|
43
44
|
/**
|
|
@@ -50,21 +51,9 @@ export function listObjectsInput(request) {
|
|
|
50
51
|
...optional("Delimiter", request.query.get("delimiter")),
|
|
51
52
|
...optional("Marker", request.query.get("marker")),
|
|
52
53
|
...optionalNumber("MaxKeys", request.query.get("max-keys")),
|
|
54
|
+
...optional("EncodingType", request.query.get("encoding-type")),
|
|
53
55
|
};
|
|
54
56
|
}
|
|
55
|
-
/**
|
|
56
|
-
* The user metadata an upload carried, which S3 sends as `x-amz-meta-` headers.
|
|
57
|
-
*/
|
|
58
|
-
export function simS3UserMetadata(headers) {
|
|
59
|
-
const prefix = "x-amz-meta-";
|
|
60
|
-
const metadata = {};
|
|
61
|
-
for (const [name, value] of headers) {
|
|
62
|
-
if (name.toLowerCase().startsWith(prefix)) {
|
|
63
|
-
metadata[name.slice(prefix.length).toLowerCase()] = value;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return Object.keys(metadata).length === 0 ? {} : { Metadata: metadata };
|
|
67
|
-
}
|
|
68
57
|
/**
|
|
69
58
|
* Include a member only when the request stated it, since an operation treats
|
|
70
59
|
* an absent member and an empty one differently.
|
|
@@ -26,6 +26,7 @@ interface ListObjectsOutput {
|
|
|
26
26
|
readonly StartAfter?: string | undefined;
|
|
27
27
|
readonly Marker?: string | undefined;
|
|
28
28
|
readonly NextMarker?: string | undefined;
|
|
29
|
+
readonly EncodingType?: string | undefined;
|
|
29
30
|
}
|
|
30
31
|
interface ListBucketsOutput {
|
|
31
32
|
readonly Buckets?: readonly BucketSummary[] | undefined;
|
|
@@ -42,6 +43,10 @@ export declare function simS3ListBucketsXml(output: ListBucketsOutput): string;
|
|
|
42
43
|
* Both listing versions answer in a `ListBucketResult`, and differ only in how
|
|
43
44
|
* they say where the next page starts. The version is passed in because the
|
|
44
45
|
* output alone cannot say which was asked for.
|
|
46
|
+
*
|
|
47
|
+
* The keys arrive encoded or not according to what the listing was asked for,
|
|
48
|
+
* so nothing is encoded here. `EncodingType` says which of the two a client is
|
|
49
|
+
* reading, and is absent from a listing that asked for no encoding.
|
|
45
50
|
*/
|
|
46
51
|
export declare function simS3ListObjectsXml(output: ListObjectsOutput, version: 1 | 2): string;
|
|
47
52
|
export {};
|
|
@@ -17,6 +17,10 @@ export function simS3ListBucketsXml(output) {
|
|
|
17
17
|
* Both listing versions answer in a `ListBucketResult`, and differ only in how
|
|
18
18
|
* they say where the next page starts. The version is passed in because the
|
|
19
19
|
* output alone cannot say which was asked for.
|
|
20
|
+
*
|
|
21
|
+
* The keys arrive encoded or not according to what the listing was asked for,
|
|
22
|
+
* so nothing is encoded here. `EncodingType` says which of the two a client is
|
|
23
|
+
* reading, and is absent from a listing that asked for no encoding.
|
|
20
24
|
*/
|
|
21
25
|
export function simS3ListObjectsXml(output, version) {
|
|
22
26
|
const contents = (output.Contents ?? []).map(objectSummaryXml).join("");
|
|
@@ -26,6 +30,7 @@ export function simS3ListObjectsXml(output, version) {
|
|
|
26
30
|
return xmlDocument("ListBucketResult", xmlValue("Name", output.Name) +
|
|
27
31
|
xmlValue("Prefix", output.Prefix) +
|
|
28
32
|
xmlValue("Delimiter", output.Delimiter) +
|
|
33
|
+
xmlValue("EncodingType", output.EncodingType) +
|
|
29
34
|
xmlValue("MaxKeys", output.MaxKeys) +
|
|
30
35
|
xmlValue("IsTruncated", output.IsTruncated ?? false) +
|
|
31
36
|
pagingXml(output, version) +
|
|
@@ -15,6 +15,17 @@ export declare const simS3CopySourceHeader = "x-amz-copy-source";
|
|
|
15
15
|
* The input of an operation naming one Object.
|
|
16
16
|
*/
|
|
17
17
|
export declare function objectInput(request: SimS3ApiRequest): object;
|
|
18
|
+
/**
|
|
19
|
+
* The input of an operation naming one Object, or one version of it.
|
|
20
|
+
*
|
|
21
|
+
* Real S3 names the version in the query string alongside the sub-resource, so
|
|
22
|
+
* a request naming none acts on whatever a plain read of the key answers with.
|
|
23
|
+
*/
|
|
24
|
+
export declare function versionedObjectInput(request: SimS3ApiRequest): object;
|
|
25
|
+
/**
|
|
26
|
+
* The input of a tagging write, which carries its tag set as a document.
|
|
27
|
+
*/
|
|
28
|
+
export declare function putObjectTaggingInput(request: SimS3ApiRequest): object;
|
|
18
29
|
/**
|
|
19
30
|
* The input of a read, which can ask for part of an Object.
|
|
20
31
|
*/
|
|
@@ -36,5 +47,10 @@ export declare function copyObjectInput(request: SimS3ApiRequest): object;
|
|
|
36
47
|
/**
|
|
37
48
|
* The input of a request that describes an Object without carrying its bytes,
|
|
38
49
|
* which is what starting a multipart upload is.
|
|
50
|
+
*
|
|
51
|
+
* The metadata headers are read by the list a write and a read share, so an
|
|
52
|
+
* upload over this endpoint describes an Object exactly as a `PutObjectCommand`
|
|
53
|
+
* does. Where S3 keeps the Object and how it encrypts it are read alongside
|
|
54
|
+
* them, being facts about the storage rather than metadata about the Object.
|
|
39
55
|
*/
|
|
40
56
|
export declare function createMultipartUploadInput(request: SimS3ApiRequest): object;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { simS3WriteMetadataHeaders } from "../../object/s3-write-metadata.js";
|
|
2
|
+
import { optional, utf8 } from "./sim-s3-api-input.js";
|
|
3
|
+
import { readSimS3Tagging } from "./sim-s3-api-tagging-read.js";
|
|
2
4
|
/**
|
|
3
5
|
* Reading the Object operations' inputs out of a request.
|
|
4
6
|
*
|
|
@@ -17,6 +19,27 @@ export const simS3CopySourceHeader = "x-amz-copy-source";
|
|
|
17
19
|
export function objectInput(request) {
|
|
18
20
|
return { Bucket: request.bucketName, Key: request.objectKey };
|
|
19
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* The input of an operation naming one Object, or one version of it.
|
|
24
|
+
*
|
|
25
|
+
* Real S3 names the version in the query string alongside the sub-resource, so
|
|
26
|
+
* a request naming none acts on whatever a plain read of the key answers with.
|
|
27
|
+
*/
|
|
28
|
+
export function versionedObjectInput(request) {
|
|
29
|
+
return {
|
|
30
|
+
...objectInput(request),
|
|
31
|
+
...optional("VersionId", request.query.get("versionId")),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The input of a tagging write, which carries its tag set as a document.
|
|
36
|
+
*/
|
|
37
|
+
export function putObjectTaggingInput(request) {
|
|
38
|
+
return {
|
|
39
|
+
...versionedObjectInput(request),
|
|
40
|
+
Tagging: readSimS3Tagging(utf8(request.body)),
|
|
41
|
+
};
|
|
42
|
+
}
|
|
20
43
|
/**
|
|
21
44
|
* The input of a read, which can ask for part of an Object.
|
|
22
45
|
*/
|
|
@@ -46,21 +69,25 @@ export function copyObjectInput(request) {
|
|
|
46
69
|
...createMultipartUploadInput(request),
|
|
47
70
|
...optional("CopySource", request.headers.get(simS3CopySourceHeader)),
|
|
48
71
|
...optional("MetadataDirective", request.headers.get("x-amz-metadata-directive")),
|
|
72
|
+
...optional("TaggingDirective", request.headers.get("x-amz-tagging-directive")),
|
|
49
73
|
};
|
|
50
74
|
}
|
|
51
75
|
/**
|
|
52
76
|
* The input of a request that describes an Object without carrying its bytes,
|
|
53
77
|
* which is what starting a multipart upload is.
|
|
78
|
+
*
|
|
79
|
+
* The metadata headers are read by the list a write and a read share, so an
|
|
80
|
+
* upload over this endpoint describes an Object exactly as a `PutObjectCommand`
|
|
81
|
+
* does. Where S3 keeps the Object and how it encrypts it are read alongside
|
|
82
|
+
* them, being facts about the storage rather than metadata about the Object.
|
|
54
83
|
*/
|
|
55
84
|
export function createMultipartUploadInput(request) {
|
|
56
85
|
return {
|
|
57
86
|
Bucket: request.bucketName,
|
|
58
87
|
Key: request.objectKey,
|
|
59
|
-
...
|
|
60
|
-
...optional("
|
|
61
|
-
...optional("
|
|
62
|
-
...optional("
|
|
63
|
-
...optional("ContentLanguage", request.headers.get("content-language")),
|
|
64
|
-
...simS3UserMetadata(request.headers),
|
|
88
|
+
...simS3WriteMetadataHeaders(request.headers),
|
|
89
|
+
...optional("StorageClass", request.headers.get("x-amz-storage-class")),
|
|
90
|
+
...optional("Tagging", request.headers.get("x-amz-tagging")),
|
|
91
|
+
...optional("ServerSideEncryption", request.headers.get("x-amz-server-side-encryption")),
|
|
65
92
|
};
|
|
66
93
|
}
|
|
@@ -11,13 +11,30 @@ interface CopyObjectOutput {
|
|
|
11
11
|
* reads the new ETag and write time out of this body and nowhere else.
|
|
12
12
|
*/
|
|
13
13
|
export declare function simS3CopyObjectXml(output: CopyObjectOutput): string;
|
|
14
|
+
interface TagSetOutput {
|
|
15
|
+
readonly TagSet?: readonly {
|
|
16
|
+
readonly Key?: string;
|
|
17
|
+
readonly Value?: string;
|
|
18
|
+
}[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Write the tags on an Object as the document real S3 answers them with.
|
|
22
|
+
*
|
|
23
|
+
* An Object nobody has tagged answers with an empty `TagSet` element rather
|
|
24
|
+
* than none at all, which is what tells a client the Object exists and carries
|
|
25
|
+
* no tags.
|
|
26
|
+
*/
|
|
27
|
+
export declare function simS3ObjectTaggingXml(output: TagSetOutput): string;
|
|
14
28
|
/**
|
|
15
29
|
* Answer a read with the Object itself, headers and all.
|
|
16
30
|
*
|
|
31
|
+
* The headers the read named in its `response-` parameters are served in place
|
|
32
|
+
* of the Object's own, leaving what the Object was written with alone.
|
|
33
|
+
*
|
|
17
34
|
* A read that asked for part of the Object is answered `206 Partial Content`
|
|
18
35
|
* and says which part it carries, because a client reading a large Object in
|
|
19
36
|
* pieces at once writes each response at the offset it asked for, and a `200`
|
|
20
37
|
* carrying the whole Object would be written over its neighbours.
|
|
21
38
|
*/
|
|
22
|
-
export declare function simS3GetObjectResponse(output: Record<string, unknown
|
|
39
|
+
export declare function simS3GetObjectResponse(output: Record<string, unknown>, overrides: Readonly<Record<string, string>>): Promise<Response>;
|
|
23
40
|
export {};
|