@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,4 +1,4 @@
|
|
|
1
|
-
import { xmlDocument, xmlValue } from "../../../../util/xml/xml-writer.js";
|
|
1
|
+
import { xmlDocument, xmlElement, xmlValue, } from "../../../../util/xml/xml-writer.js";
|
|
2
2
|
import { simS3ObjectResponseHeaders } from "../../object/s3-object-response-headers.js";
|
|
3
3
|
import { simS3SystemMetadataHeadersFrom } from "../../object/s3-system-metadata-read.js";
|
|
4
4
|
/**
|
|
@@ -12,25 +12,44 @@ export function simS3CopyObjectXml(output) {
|
|
|
12
12
|
return xmlDocument("CopyObjectResult", xmlValue("ETag", result.ETag) +
|
|
13
13
|
xmlValue("LastModified", result.LastModified));
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Write the tags on an Object as the document real S3 answers them with.
|
|
17
|
+
*
|
|
18
|
+
* An Object nobody has tagged answers with an empty `TagSet` element rather
|
|
19
|
+
* than none at all, which is what tells a client the Object exists and carries
|
|
20
|
+
* no tags.
|
|
21
|
+
*/
|
|
22
|
+
export function simS3ObjectTaggingXml(output) {
|
|
23
|
+
return xmlDocument("Tagging", xmlElement("TagSet", (output.TagSet ?? [])
|
|
24
|
+
.map((tag) => xmlElement("Tag", xmlValue("Key", tag.Key) + xmlValue("Value", tag.Value)))
|
|
25
|
+
.join("")));
|
|
26
|
+
}
|
|
15
27
|
/**
|
|
16
28
|
* Answer a read with the Object itself, headers and all.
|
|
17
29
|
*
|
|
30
|
+
* The headers the read named in its `response-` parameters are served in place
|
|
31
|
+
* of the Object's own, leaving what the Object was written with alone.
|
|
32
|
+
*
|
|
18
33
|
* A read that asked for part of the Object is answered `206 Partial Content`
|
|
19
34
|
* and says which part it carries, because a client reading a large Object in
|
|
20
35
|
* pieces at once writes each response at the offset it asked for, and a `200`
|
|
21
36
|
* carrying the whole Object would be written over its neighbours.
|
|
22
37
|
*/
|
|
23
|
-
export async function simS3GetObjectResponse(output) {
|
|
38
|
+
export async function simS3GetObjectResponse(output, overrides) {
|
|
24
39
|
const body = await objectBodyBytes(output["Body"]);
|
|
25
40
|
const contentRange = output["ContentRange"];
|
|
26
41
|
return new Response(body, {
|
|
27
42
|
status: contentRange === undefined ? 200 : 206,
|
|
28
43
|
headers: simS3ObjectResponseHeaders({
|
|
29
44
|
metadata: simS3SystemMetadataHeadersFrom(output),
|
|
45
|
+
userMetadata: output["Metadata"],
|
|
46
|
+
overrides,
|
|
30
47
|
bodyLength: body.length,
|
|
31
48
|
etag: output["ETag"],
|
|
32
49
|
lastModified: output["LastModified"],
|
|
33
50
|
contentRange,
|
|
51
|
+
storageClass: output["StorageClass"],
|
|
52
|
+
serverSideEncryption: output["ServerSideEncryption"],
|
|
34
53
|
}),
|
|
35
54
|
});
|
|
36
55
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { copyObjectInput, createMultipartUploadInput, getObjectInput, objectInput, putObjectInput, simS3CopySourceHeader, } from "./sim-s3-api-object-input.js";
|
|
1
|
+
import { copyObjectInput, createMultipartUploadInput, getObjectInput, objectInput, putObjectInput, putObjectTaggingInput, simS3CopySourceHeader, versionedObjectInput, } from "./sim-s3-api-object-input.js";
|
|
2
2
|
import { completeMultipartUploadInput, uploadInput, uploadPartInput, } from "./sim-s3-api-multipart-input.js";
|
|
3
3
|
/**
|
|
4
4
|
* The Object-level S3 operations this endpoint serves.
|
|
@@ -16,6 +16,13 @@ export const simS3ObjectApiRoutes = [
|
|
|
16
16
|
commandName: "GetObjectCommand",
|
|
17
17
|
input: getObjectInput,
|
|
18
18
|
},
|
|
19
|
+
{
|
|
20
|
+
method: "GET",
|
|
21
|
+
target: "object",
|
|
22
|
+
subResource: "tagging",
|
|
23
|
+
commandName: "GetObjectTaggingCommand",
|
|
24
|
+
input: versionedObjectInput,
|
|
25
|
+
},
|
|
19
26
|
{
|
|
20
27
|
method: "GET",
|
|
21
28
|
target: "object",
|
|
@@ -56,6 +63,13 @@ export const simS3ObjectApiRoutes = [
|
|
|
56
63
|
commandName: "UploadPartCommand",
|
|
57
64
|
input: uploadPartInput,
|
|
58
65
|
},
|
|
66
|
+
{
|
|
67
|
+
method: "PUT",
|
|
68
|
+
target: "object",
|
|
69
|
+
subResource: "tagging",
|
|
70
|
+
commandName: "PutObjectTaggingCommand",
|
|
71
|
+
input: putObjectTaggingInput,
|
|
72
|
+
},
|
|
59
73
|
{
|
|
60
74
|
// A copy and an upload are both a `PUT` on an Object path, and the copy
|
|
61
75
|
// names its source in a header. Matched first, so an upload carrying no
|
|
@@ -72,6 +86,13 @@ export const simS3ObjectApiRoutes = [
|
|
|
72
86
|
commandName: "PutObjectCommand",
|
|
73
87
|
input: putObjectInput,
|
|
74
88
|
},
|
|
89
|
+
{
|
|
90
|
+
method: "DELETE",
|
|
91
|
+
target: "object",
|
|
92
|
+
subResource: "tagging",
|
|
93
|
+
commandName: "DeleteObjectTaggingCommand",
|
|
94
|
+
input: versionedObjectInput,
|
|
95
|
+
},
|
|
75
96
|
{
|
|
76
97
|
method: "DELETE",
|
|
77
98
|
target: "object",
|
|
@@ -5,5 +5,9 @@
|
|
|
5
5
|
* the operation rather than of its output: a listing answers in XML, a read
|
|
6
6
|
* answers with the Object itself, and a write answers with a status and
|
|
7
7
|
* headers alone.
|
|
8
|
+
*
|
|
9
|
+
* The request's query string is read alongside the output because a read can
|
|
10
|
+
* name the headers it wants served in place of the Object's own, and those are
|
|
11
|
+
* a property of the request rather than of what the operation answered.
|
|
8
12
|
*/
|
|
9
|
-
export declare function simS3ApiResponse(commandName: string, output: unknown): Promise<Response>;
|
|
13
|
+
export declare function simS3ApiResponse(commandName: string, output: unknown, query: URLSearchParams): Promise<Response>;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { deleteResultXml, notificationConfigurationXml, publicAccessBlockXml, } from "./sim-s3-api-configuration-output.js";
|
|
1
|
+
import { deleteResultXml, encryptionConfigurationXml, notificationConfigurationXml, publicAccessBlockXml, } from "./sim-s3-api-configuration-output.js";
|
|
2
2
|
import { simS3HeadBucketResponse, simS3HeadObjectResponse, } from "./sim-s3-api-head-output.js";
|
|
3
3
|
import { simS3ListBucketsXml, simS3ListObjectsXml, } from "./sim-s3-api-listing.js";
|
|
4
4
|
import { simS3MultipartResponse } from "./sim-s3-api-multipart-output.js";
|
|
5
|
-
import { simS3CopyObjectXml, simS3GetObjectResponse, } from "./sim-s3-api-object-output.js";
|
|
5
|
+
import { simS3CopyObjectXml, simS3GetObjectResponse, simS3ObjectTaggingXml, } from "./sim-s3-api-object-output.js";
|
|
6
|
+
import { simS3ResponseHeaderOverrides } from "../../object/s3-object-response-headers.js";
|
|
6
7
|
const xmlContentType = { "content-type": "application/xml" };
|
|
7
8
|
/**
|
|
8
9
|
* Build the HTTP response an S3 operation's output is sent as.
|
|
@@ -11,8 +12,12 @@ const xmlContentType = { "content-type": "application/xml" };
|
|
|
11
12
|
* the operation rather than of its output: a listing answers in XML, a read
|
|
12
13
|
* answers with the Object itself, and a write answers with a status and
|
|
13
14
|
* headers alone.
|
|
15
|
+
*
|
|
16
|
+
* The request's query string is read alongside the output because a read can
|
|
17
|
+
* name the headers it wants served in place of the Object's own, and those are
|
|
18
|
+
* a property of the request rather than of what the operation answered.
|
|
14
19
|
*/
|
|
15
|
-
export async function simS3ApiResponse(commandName, output) {
|
|
20
|
+
export async function simS3ApiResponse(commandName, output, query) {
|
|
16
21
|
const value = output;
|
|
17
22
|
switch (commandName) {
|
|
18
23
|
case "ListBucketsCommand": {
|
|
@@ -25,7 +30,7 @@ export async function simS3ApiResponse(commandName, output) {
|
|
|
25
30
|
return xml(simS3ListObjectsXml(value, 2));
|
|
26
31
|
}
|
|
27
32
|
case "GetObjectCommand": {
|
|
28
|
-
return await simS3GetObjectResponse(value);
|
|
33
|
+
return await simS3GetObjectResponse(value, simS3ResponseHeaderOverrides(query));
|
|
29
34
|
}
|
|
30
35
|
case "GetBucketPolicyCommand": {
|
|
31
36
|
// A Bucket policy is a JSON document, and real S3 answers this one
|
|
@@ -39,14 +44,20 @@ export async function simS3ApiResponse(commandName, output) {
|
|
|
39
44
|
case "GetPublicAccessBlockCommand": {
|
|
40
45
|
return xml(publicAccessBlockXml(value));
|
|
41
46
|
}
|
|
47
|
+
case "GetBucketEncryptionCommand": {
|
|
48
|
+
return xml(encryptionConfigurationXml(value));
|
|
49
|
+
}
|
|
42
50
|
case "GetBucketNotificationConfigurationCommand": {
|
|
43
51
|
return xml(notificationConfigurationXml(value));
|
|
44
52
|
}
|
|
53
|
+
case "GetObjectTaggingCommand": {
|
|
54
|
+
return xml(simS3ObjectTaggingXml(value));
|
|
55
|
+
}
|
|
45
56
|
case "DeleteObjectsCommand": {
|
|
46
57
|
return xml(deleteResultXml(value));
|
|
47
58
|
}
|
|
48
59
|
case "HeadObjectCommand": {
|
|
49
|
-
return simS3HeadObjectResponse(value);
|
|
60
|
+
return simS3HeadObjectResponse(value, simS3ResponseHeaderOverrides(query));
|
|
50
61
|
}
|
|
51
62
|
case "HeadBucketCommand": {
|
|
52
63
|
return simS3HeadBucketResponse(value);
|
|
@@ -17,12 +17,13 @@ export interface SimS3ApiRequest {
|
|
|
17
17
|
readonly body: Uint8Array;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Read a request
|
|
20
|
+
* Read a request addressed to the S3 REST API as an S3 request.
|
|
21
21
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
22
|
+
* Both of the addressing styles real S3 offers are read, because both arrive
|
|
23
|
+
* here. A client given an endpoint URL sends path style, with the Bucket as
|
|
24
|
+
* the first path segment. An SDK resolving S3's own endpoint sends virtual
|
|
25
|
+
* host style, with the Bucket in the hostname, and function code bundling the
|
|
26
|
+
* SDK reaches this endpoint with exactly that.
|
|
26
27
|
*/
|
|
27
28
|
export declare function readSimS3ApiRequest(request: Request, body: Uint8Array): SimS3ApiRequest;
|
|
28
29
|
/**
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The hostname label S3's own REST endpoints carry.
|
|
3
|
+
*/
|
|
4
|
+
const s3EndpointLabel = "s3";
|
|
5
|
+
/**
|
|
6
|
+
* Read a request addressed to the S3 REST API as an S3 request.
|
|
3
7
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
+
* Both of the addressing styles real S3 offers are read, because both arrive
|
|
9
|
+
* here. A client given an endpoint URL sends path style, with the Bucket as
|
|
10
|
+
* the first path segment. An SDK resolving S3's own endpoint sends virtual
|
|
11
|
+
* host style, with the Bucket in the hostname, and function code bundling the
|
|
12
|
+
* SDK reaches this endpoint with exactly that.
|
|
8
13
|
*/
|
|
9
14
|
export function readSimS3ApiRequest(request, body) {
|
|
10
15
|
const url = new URL(request.url);
|
|
11
|
-
|
|
12
|
-
// can itself contain slashes.
|
|
13
|
-
const path = url.pathname.replace(/^\//, "");
|
|
14
|
-
const separator = path.indexOf("/");
|
|
15
|
-
const bucketName = separator === -1 ? path : path.slice(0, separator);
|
|
16
|
-
const objectKey = separator === -1 ? "" : path.slice(separator + 1);
|
|
16
|
+
const { bucketName, objectKey } = simS3ApiRequestTargetNames(url.hostname, url.pathname.replace(/^\//, ""));
|
|
17
17
|
return {
|
|
18
18
|
method: request.method,
|
|
19
19
|
bucketName: decodeURIComponent(bucketName),
|
|
@@ -23,6 +23,50 @@ export function readSimS3ApiRequest(request, body) {
|
|
|
23
23
|
body,
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Split what a request addressed into the Bucket it names and the Object key
|
|
28
|
+
* below it, still encoded as they were sent.
|
|
29
|
+
*
|
|
30
|
+
* A virtual host request names its Bucket in the hostname, which leaves its
|
|
31
|
+
* whole path as the key. A path style request names both in the path, where
|
|
32
|
+
* the first segment is the Bucket and everything after it is the key, which
|
|
33
|
+
* can itself contain slashes.
|
|
34
|
+
*/
|
|
35
|
+
function simS3ApiRequestTargetNames(hostname, path) {
|
|
36
|
+
const hostedBucketName = simS3VirtualHostBucketName(hostname);
|
|
37
|
+
if (hostedBucketName !== undefined) {
|
|
38
|
+
return { bucketName: hostedBucketName, objectKey: path };
|
|
39
|
+
}
|
|
40
|
+
const separator = path.indexOf("/");
|
|
41
|
+
if (separator === -1) {
|
|
42
|
+
return { bucketName: path, objectKey: "" };
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
bucketName: path.slice(0, separator),
|
|
46
|
+
objectKey: path.slice(separator + 1),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The Bucket a virtual host style hostname names, or nothing for a hostname
|
|
51
|
+
* that names none.
|
|
52
|
+
*
|
|
53
|
+
* S3's own endpoint hostnames carry an `s3` label, and virtual host style puts
|
|
54
|
+
* the Bucket in front of it, as in `<bucket>.s3.<region>.amazonaws.com`. Path
|
|
55
|
+
* style is the same hostname with nothing in front. The labels before the
|
|
56
|
+
* first `s3` label are the Bucket, and an empty set of them is path style.
|
|
57
|
+
*
|
|
58
|
+
* A Bucket name can contain dots. One Bucket is then several hostname labels,
|
|
59
|
+
* joined back together here.
|
|
60
|
+
*
|
|
61
|
+
* A hostname carrying no `s3` label names no Bucket. That covers the local
|
|
62
|
+
* endpoint an `--endpoint-url` client sends, which addresses every service on
|
|
63
|
+
* one hostname and can only be path style.
|
|
64
|
+
*/
|
|
65
|
+
function simS3VirtualHostBucketName(hostname) {
|
|
66
|
+
const labels = hostname.split(".");
|
|
67
|
+
const endpoint = labels.indexOf(s3EndpointLabel);
|
|
68
|
+
return endpoint <= 0 ? undefined : labels.slice(0, endpoint).join(".");
|
|
69
|
+
}
|
|
26
70
|
/**
|
|
27
71
|
* Decode an Object key from the path it was sent in.
|
|
28
72
|
*
|
|
@@ -13,6 +13,8 @@ const servedSubResources = [
|
|
|
13
13
|
"delete",
|
|
14
14
|
"uploads",
|
|
15
15
|
"uploadId",
|
|
16
|
+
"encryption",
|
|
17
|
+
"tagging",
|
|
16
18
|
];
|
|
17
19
|
/**
|
|
18
20
|
* Every sub-resource S3 defines, served here or not.
|
|
@@ -29,7 +31,6 @@ const knownSubResources = new Set([
|
|
|
29
31
|
"acl",
|
|
30
32
|
"analytics",
|
|
31
33
|
"cors",
|
|
32
|
-
"encryption",
|
|
33
34
|
"intelligent-tiering",
|
|
34
35
|
"inventory",
|
|
35
36
|
"legal-hold",
|
|
@@ -45,7 +46,6 @@ const knownSubResources = new Set([
|
|
|
45
46
|
"restore",
|
|
46
47
|
"retention",
|
|
47
48
|
"select",
|
|
48
|
-
"tagging",
|
|
49
49
|
"torrent",
|
|
50
50
|
"versioning",
|
|
51
51
|
"versions",
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read the tag set a PutObjectTagging body carries.
|
|
3
|
+
*
|
|
4
|
+
* This sits apart from the other request-body readers because it is the only
|
|
5
|
+
* one about an Object rather than about a Bucket's configuration. A tag naming
|
|
6
|
+
* no key comes through with none, so the tagging command refuses it rather than
|
|
7
|
+
* the reader silently dropping it.
|
|
8
|
+
*/
|
|
9
|
+
export declare function readSimS3Tagging(body: string): object;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { parseXmlDocument, xmlChild, xmlChildren, xmlText, } from "../../../../util/xml/xml-document.js";
|
|
2
|
+
/**
|
|
3
|
+
* Read the tag set a PutObjectTagging body carries.
|
|
4
|
+
*
|
|
5
|
+
* This sits apart from the other request-body readers because it is the only
|
|
6
|
+
* one about an Object rather than about a Bucket's configuration. A tag naming
|
|
7
|
+
* no key comes through with none, so the tagging command refuses it rather than
|
|
8
|
+
* the reader silently dropping it.
|
|
9
|
+
*/
|
|
10
|
+
export function readSimS3Tagging(body) {
|
|
11
|
+
return {
|
|
12
|
+
TagSet: xmlChildren(xmlChild(parseXmlDocument(body), "TagSet"), "Tag").map((tag) => ({ Key: xmlText(tag, "Key"), Value: xmlText(tag, "Value") })),
|
|
13
|
+
};
|
|
14
|
+
}
|
|
@@ -22,7 +22,13 @@ export declare class SimS3ApiEndpoint {
|
|
|
22
22
|
* The Region is the one the request was signed for, read from its credential
|
|
23
23
|
* scope, so it arrives as whatever the client wrote rather than as a Region
|
|
24
24
|
* the simulator has already recognised.
|
|
25
|
+
*
|
|
26
|
+
* A request nothing has authenticated arrives with no caller, and runs as
|
|
27
|
+
* the ambient caller of whatever sent it, in the same way an intercepted SDK
|
|
28
|
+
* client's Command does. A sim Lambda's outbound call relies on that. Its
|
|
29
|
+
* signature is over placeholder credentials, and the invocation is already
|
|
30
|
+
* running as the execution Role.
|
|
25
31
|
*/
|
|
26
|
-
handle(request: Request, body: Uint8Array, caller: SimAwsCaller, regionName: string): Promise<Response>;
|
|
32
|
+
handle(request: Request, body: Uint8Array, caller: SimAwsCaller | undefined, regionName: string): Promise<Response>;
|
|
27
33
|
}
|
|
28
34
|
export {};
|
|
@@ -30,6 +30,12 @@ export class SimS3ApiEndpoint {
|
|
|
30
30
|
* The Region is the one the request was signed for, read from its credential
|
|
31
31
|
* scope, so it arrives as whatever the client wrote rather than as a Region
|
|
32
32
|
* the simulator has already recognised.
|
|
33
|
+
*
|
|
34
|
+
* A request nothing has authenticated arrives with no caller, and runs as
|
|
35
|
+
* the ambient caller of whatever sent it, in the same way an intercepted SDK
|
|
36
|
+
* client's Command does. A sim Lambda's outbound call relies on that. Its
|
|
37
|
+
* signature is over placeholder credentials, and the invocation is already
|
|
38
|
+
* running as the execution Role.
|
|
33
39
|
*/
|
|
34
40
|
async handle(request, body, caller, regionName) {
|
|
35
41
|
const apiRequest = readSimS3ApiRequest(request, body);
|
|
@@ -47,7 +53,7 @@ export class SimS3ApiEndpoint {
|
|
|
47
53
|
}
|
|
48
54
|
try {
|
|
49
55
|
const output = await this.dispatcher.dispatch(makeSimSdkWireCommand(route.commandName, route.input(apiRequest)), makeSimSdkWireClient(s3ServiceId, regionName), undefined, caller);
|
|
50
|
-
return await simS3ApiResponse(route.commandName, output);
|
|
56
|
+
return await simS3ApiResponse(route.commandName, output, apiRequest.query);
|
|
51
57
|
}
|
|
52
58
|
catch (error) {
|
|
53
59
|
if (error instanceof SimSdkUnsupportedCommandError) {
|
|
@@ -30,11 +30,7 @@ export declare class SimS3RestController {
|
|
|
30
30
|
*/
|
|
31
31
|
private deleteObject;
|
|
32
32
|
/**
|
|
33
|
-
* Store an uploaded Object.
|
|
34
|
-
*
|
|
35
|
-
* The stated checksum is checked before anything is stored, as real S3 does,
|
|
36
|
-
* so an upload that would be refused there is refused here rather than
|
|
37
|
-
* quietly landing in the Bucket.
|
|
33
|
+
* Store an uploaded Object, as whatever the request said about it.
|
|
38
34
|
*/
|
|
39
35
|
private putObject;
|
|
40
36
|
private s3For;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SimS3RestErrorResponse } from "./sim-s3-rest-error-response.js";
|
|
2
2
|
import { SimS3RestObjectReader } from "./sim-s3-rest-object-reader.js";
|
|
3
|
-
import {
|
|
3
|
+
import { simS3RestUploadInput } from "./sim-s3-rest-upload.js";
|
|
4
4
|
/**
|
|
5
5
|
* Serves Object requests that arrived at the simulated S3 REST endpoint.
|
|
6
6
|
*
|
|
@@ -51,24 +51,10 @@ export class SimS3RestController {
|
|
|
51
51
|
return new Response(undefined, { status: 204 });
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
|
-
* Store an uploaded Object.
|
|
55
|
-
*
|
|
56
|
-
* The stated checksum is checked before anything is stored, as real S3 does,
|
|
57
|
-
* so an upload that would be refused there is refused here rather than
|
|
58
|
-
* quietly landing in the Bucket.
|
|
54
|
+
* Store an uploaded Object, as whatever the request said about it.
|
|
59
55
|
*/
|
|
60
56
|
async putObject(route, serviceRequest) {
|
|
61
|
-
|
|
62
|
-
SimS3UploadChecksum.stated(new URL(request.url), request.headers)?.check(body);
|
|
63
|
-
const contentType = request.headers.get("content-type") ?? undefined;
|
|
64
|
-
await this.s3For(route).putObject({
|
|
65
|
-
input: {
|
|
66
|
-
Bucket: route.bucket.bucketName,
|
|
67
|
-
Key: route.objectKey,
|
|
68
|
-
Body: body ?? new Uint8Array(),
|
|
69
|
-
...(contentType !== undefined && { ContentType: contentType }),
|
|
70
|
-
},
|
|
71
|
-
}, { caller: serviceRequest.caller.toCaller() });
|
|
57
|
+
await this.s3For(route).putObject({ input: simS3RestUploadInput(route, serviceRequest) }, { caller: serviceRequest.caller.toCaller() });
|
|
72
58
|
return new Response(undefined, { status: 200 });
|
|
73
59
|
}
|
|
74
60
|
s3For(route) {
|
|
@@ -8,6 +8,9 @@ import type { SimAwsServiceRequest } from "../../../serve/controller/sim-service
|
|
|
8
8
|
* response real S3 stops short of sending, so they are read the same way here
|
|
9
9
|
* and differ only in what comes back.
|
|
10
10
|
*
|
|
11
|
+
* Either can name the headers it wants served in place of the Object's own,
|
|
12
|
+
* which is what a presigned URL handing a browser a download does.
|
|
13
|
+
*
|
|
11
14
|
* A `GET` may ask for part of the Object, and is answered with that part and
|
|
12
15
|
* `206 Partial Content`. A `HEAD` may not. Simulated S3 describes the whole
|
|
13
16
|
* Object however it is asked about, and HeadObject does the same for an
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { simS3ObjectResponseHeaders } from "../object/s3-object-response-headers.js";
|
|
1
|
+
import { simS3ObjectResponseHeaders, simS3ResponseHeaderOverrides, } from "../object/s3-object-response-headers.js";
|
|
2
2
|
import { simS3SystemMetadataHeadersFrom } from "../object/s3-system-metadata-read.js";
|
|
3
3
|
/**
|
|
4
4
|
* Answers a `GET` or `HEAD` at the simulated S3 REST endpoint.
|
|
@@ -7,6 +7,9 @@ import { simS3SystemMetadataHeadersFrom } from "../object/s3-system-metadata-rea
|
|
|
7
7
|
* response real S3 stops short of sending, so they are read the same way here
|
|
8
8
|
* and differ only in what comes back.
|
|
9
9
|
*
|
|
10
|
+
* Either can name the headers it wants served in place of the Object's own,
|
|
11
|
+
* which is what a presigned URL handing a browser a download does.
|
|
12
|
+
*
|
|
10
13
|
* A `GET` may ask for part of the Object, and is answered with that part and
|
|
11
14
|
* `206 Partial Content`. A `HEAD` may not. Simulated S3 describes the whole
|
|
12
15
|
* Object however it is asked about, and HeadObject does the same for an
|
|
@@ -29,10 +32,14 @@ export class SimS3RestObjectReader {
|
|
|
29
32
|
const body = await bodyBytes(output.Body);
|
|
30
33
|
const headers = simS3ObjectResponseHeaders({
|
|
31
34
|
metadata: simS3SystemMetadataHeadersFrom(output),
|
|
35
|
+
userMetadata: output.Metadata,
|
|
36
|
+
overrides: simS3ResponseHeaderOverrides(new URL(request.url).searchParams),
|
|
32
37
|
bodyLength: body.length,
|
|
33
38
|
etag: output.ETag,
|
|
34
39
|
lastModified: output.LastModified,
|
|
35
40
|
contentRange: output.ContentRange,
|
|
41
|
+
storageClass: output.StorageClass,
|
|
42
|
+
serverSideEncryption: output.ServerSideEncryption,
|
|
36
43
|
});
|
|
37
44
|
if (head) {
|
|
38
45
|
return new Response(undefined, { status: 200, headers });
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SimAwsServiceRequest } from "../../../serve/controller/sim-service-controller.js";
|
|
2
|
+
import type { SimPutObjectCommandInput } from "../command/put-object/put-object.command.js";
|
|
3
|
+
import type { SimS3RestObjectRoute } from "./sim-s3-route.js";
|
|
4
|
+
/**
|
|
5
|
+
* The write an upload over the S3 REST endpoint asks for.
|
|
6
|
+
*
|
|
7
|
+
* A presigned `PUT` states everything about the Object in its headers, since
|
|
8
|
+
* that is the only place it has to put anything. The metadata headers are read
|
|
9
|
+
* by the same list a `PutObjectCommand` sets them with, so an upload here can
|
|
10
|
+
* describe an Object as fully as an in-process write can. A static site upload
|
|
11
|
+
* usually wants `cache-control` and `content-disposition`.
|
|
12
|
+
*
|
|
13
|
+
* The stated checksum is checked while the request is read, as real S3 checks
|
|
14
|
+
* it before storing anything, so an upload that would be refused there is
|
|
15
|
+
* refused here instead of quietly landing in the Bucket.
|
|
16
|
+
*
|
|
17
|
+
* `x-amz-tagging` is read alongside them, being the tags S3 holds against the
|
|
18
|
+
* Object rather than metadata it hands back on a read.
|
|
19
|
+
*/
|
|
20
|
+
export declare function simS3RestUploadInput(route: SimS3RestObjectRoute, serviceRequest: SimAwsServiceRequest): SimPutObjectCommandInput;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { simS3WriteMetadataHeaders } from "../object/s3-write-metadata.js";
|
|
2
|
+
import { SimS3UploadChecksum } from "./sim-s3-upload-checksum.js";
|
|
3
|
+
/**
|
|
4
|
+
* The write an upload over the S3 REST endpoint asks for.
|
|
5
|
+
*
|
|
6
|
+
* A presigned `PUT` states everything about the Object in its headers, since
|
|
7
|
+
* that is the only place it has to put anything. The metadata headers are read
|
|
8
|
+
* by the same list a `PutObjectCommand` sets them with, so an upload here can
|
|
9
|
+
* describe an Object as fully as an in-process write can. A static site upload
|
|
10
|
+
* usually wants `cache-control` and `content-disposition`.
|
|
11
|
+
*
|
|
12
|
+
* The stated checksum is checked while the request is read, as real S3 checks
|
|
13
|
+
* it before storing anything, so an upload that would be refused there is
|
|
14
|
+
* refused here instead of quietly landing in the Bucket.
|
|
15
|
+
*
|
|
16
|
+
* `x-amz-tagging` is read alongside them, being the tags S3 holds against the
|
|
17
|
+
* Object rather than metadata it hands back on a read.
|
|
18
|
+
*/
|
|
19
|
+
export function simS3RestUploadInput(route, serviceRequest) {
|
|
20
|
+
const { request, body } = serviceRequest;
|
|
21
|
+
SimS3UploadChecksum.stated(new URL(request.url), request.headers)?.check(body);
|
|
22
|
+
const tagging = request.headers.get("x-amz-tagging");
|
|
23
|
+
return {
|
|
24
|
+
Bucket: route.bucket.bucketName,
|
|
25
|
+
Key: route.objectKey,
|
|
26
|
+
Body: body ?? new Uint8Array(),
|
|
27
|
+
...simS3WriteMetadataHeaders(request.headers),
|
|
28
|
+
...(tagging !== null && { Tagging: tagging }),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -46,6 +46,7 @@ export class SimS3WebsiteObjectLoader {
|
|
|
46
46
|
return new SimS3WebsiteObject({
|
|
47
47
|
body: await simS3BodyToBuffer(output.Body),
|
|
48
48
|
metadata: simS3SystemMetadataHeadersFrom(output),
|
|
49
|
+
userMetadata: output.Metadata,
|
|
49
50
|
etag: output.ETag,
|
|
50
51
|
lastModified: output.LastModified,
|
|
51
52
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
interface SimS3WebsiteObjectProperties {
|
|
2
2
|
readonly body: Buffer;
|
|
3
3
|
readonly metadata?: Readonly<Record<string, string>> | undefined;
|
|
4
|
+
readonly userMetadata?: Readonly<Record<string, string>> | undefined;
|
|
4
5
|
readonly etag?: string | undefined;
|
|
5
6
|
readonly lastModified?: Date | undefined;
|
|
6
7
|
}
|
|
@@ -14,6 +15,7 @@ interface SimS3WebsiteObjectProperties {
|
|
|
14
15
|
export declare class SimS3WebsiteObject {
|
|
15
16
|
readonly body: Buffer;
|
|
16
17
|
private readonly metadata;
|
|
18
|
+
private readonly userMetadata;
|
|
17
19
|
private readonly etag;
|
|
18
20
|
private readonly lastModified;
|
|
19
21
|
constructor(properties: SimS3WebsiteObjectProperties);
|
|
@@ -9,11 +9,13 @@ import { simS3ObjectResponseHeaders } from "../../object/s3-object-response-head
|
|
|
9
9
|
export class SimS3WebsiteObject {
|
|
10
10
|
body;
|
|
11
11
|
metadata;
|
|
12
|
+
userMetadata;
|
|
12
13
|
etag;
|
|
13
14
|
lastModified;
|
|
14
15
|
constructor(properties) {
|
|
15
16
|
this.body = properties.body;
|
|
16
17
|
this.metadata = properties.metadata;
|
|
18
|
+
this.userMetadata = properties.userMetadata;
|
|
17
19
|
this.etag = properties.etag;
|
|
18
20
|
this.lastModified = properties.lastModified;
|
|
19
21
|
}
|
|
@@ -23,6 +25,7 @@ export class SimS3WebsiteObject {
|
|
|
23
25
|
headers() {
|
|
24
26
|
return simS3ObjectResponseHeaders({
|
|
25
27
|
metadata: this.metadata,
|
|
28
|
+
userMetadata: this.userMetadata,
|
|
26
29
|
bodyLength: this.body.length,
|
|
27
30
|
etag: this.etag,
|
|
28
31
|
lastModified: this.lastModified,
|
|
@@ -4,11 +4,13 @@ import type { SimIamInterServiceAuthZ } from "../iam/authorize/sim-iam-inter-ser
|
|
|
4
4
|
import type { SimS3Bucket, SimS3BucketName } from "./bucket/sim-s3-bucket.js";
|
|
5
5
|
import { SimS3BucketCommands } from "./command/bucket/sim-s3-bucket-commands.js";
|
|
6
6
|
import { SimS3BucketPolicyCommands } from "./command/bucket-policy/sim-s3-bucket-policy-commands.js";
|
|
7
|
+
import { SimS3EncryptionCommands } from "./command/encryption/sim-s3-encryption-commands.js";
|
|
7
8
|
import { SimS3LifecycleCommands } from "./command/lifecycle/sim-s3-lifecycle-commands.js";
|
|
8
9
|
import { SimS3MultipartCommands } from "./command/multipart/sim-s3-multipart-commands.js";
|
|
9
10
|
import { SimS3NotificationCommands } from "./command/notification/sim-s3-notification-commands.js";
|
|
10
11
|
import { SimS3ObjectCommands } from "./command/object/sim-s3-object-commands.js";
|
|
11
12
|
import { SimS3ObjectLockCommands } from "./command/object-lock/sim-s3-object-lock-commands.js";
|
|
13
|
+
import { SimS3ObjectTaggingCommands } from "./command/tagging/sim-s3-object-tagging-commands.js";
|
|
12
14
|
import { SimS3PublicAccessBlockCommands } from "./command/public-access-block/sim-s3-public-access-block-commands.js";
|
|
13
15
|
import { SimS3VersioningCommands } from "./command/versioning/sim-s3-versioning-commands.js";
|
|
14
16
|
import type { SimS3NotificationDestinations } from "./notification/destination/sim-s3-notification-destination.js";
|
|
@@ -55,10 +57,18 @@ export declare class SimS3Commands {
|
|
|
55
57
|
readonly notifications: SimS3NotificationCommands;
|
|
56
58
|
readonly lifecycles: SimS3LifecycleCommands;
|
|
57
59
|
readonly versioning: SimS3VersioningCommands;
|
|
60
|
+
readonly encryption: SimS3EncryptionCommands;
|
|
58
61
|
readonly objectLock: SimS3ObjectLockCommands;
|
|
59
62
|
readonly objects: SimS3ObjectCommands;
|
|
63
|
+
readonly objectTagging: SimS3ObjectTaggingCommands;
|
|
60
64
|
readonly multipartUploads: SimS3MultipartCommands;
|
|
61
65
|
readonly objectNotifier: SimS3ObjectNotifier;
|
|
66
|
+
/**
|
|
67
|
+
* The scheduler and clock every command area here shares, which a
|
|
68
|
+
* simulator-only control on the service facade needs to hand a Bucket it
|
|
69
|
+
* makes outside the commands.
|
|
70
|
+
*/
|
|
71
|
+
readonly background: BackgroundScheduler;
|
|
62
72
|
constructor(properties: SimS3CommandsProperties);
|
|
63
73
|
}
|
|
64
74
|
export {};
|
|
@@ -2,11 +2,13 @@ import { BackgroundTasks, } from "../../util/background/background.js";
|
|
|
2
2
|
import { simIamInRegion } from "../iam/authorize/sim-iam-region-auth-z.js";
|
|
3
3
|
import { SimS3BucketCommands } from "./command/bucket/sim-s3-bucket-commands.js";
|
|
4
4
|
import { SimS3BucketPolicyCommands } from "./command/bucket-policy/sim-s3-bucket-policy-commands.js";
|
|
5
|
+
import { SimS3EncryptionCommands } from "./command/encryption/sim-s3-encryption-commands.js";
|
|
5
6
|
import { SimS3LifecycleCommands } from "./command/lifecycle/sim-s3-lifecycle-commands.js";
|
|
6
7
|
import { SimS3MultipartCommands } from "./command/multipart/sim-s3-multipart-commands.js";
|
|
7
8
|
import { SimS3NotificationCommands } from "./command/notification/sim-s3-notification-commands.js";
|
|
8
9
|
import { SimS3ObjectCommands } from "./command/object/sim-s3-object-commands.js";
|
|
9
10
|
import { SimS3ObjectLockCommands } from "./command/object-lock/sim-s3-object-lock-commands.js";
|
|
11
|
+
import { SimS3ObjectTaggingCommands } from "./command/tagging/sim-s3-object-tagging-commands.js";
|
|
10
12
|
import { SimS3PublicAccessBlockCommands } from "./command/public-access-block/sim-s3-public-access-block-commands.js";
|
|
11
13
|
import { SimS3VersioningCommands } from "./command/versioning/sim-s3-versioning-commands.js";
|
|
12
14
|
import { SimS3NoNotificationDestinations } from "./notification/destination/sim-s3-service-notification-destinations.js";
|
|
@@ -27,12 +29,21 @@ export class SimS3Commands {
|
|
|
27
29
|
notifications;
|
|
28
30
|
lifecycles;
|
|
29
31
|
versioning;
|
|
32
|
+
encryption;
|
|
30
33
|
objectLock;
|
|
31
34
|
objects;
|
|
35
|
+
objectTagging;
|
|
32
36
|
multipartUploads;
|
|
33
37
|
objectNotifier;
|
|
38
|
+
/**
|
|
39
|
+
* The scheduler and clock every command area here shares, which a
|
|
40
|
+
* simulator-only control on the service facade needs to hand a Bucket it
|
|
41
|
+
* makes outside the commands.
|
|
42
|
+
*/
|
|
43
|
+
background;
|
|
34
44
|
constructor(properties) {
|
|
35
45
|
const { background = new BackgroundTasks(), notificationDestinations = new SimS3NoNotificationDestinations(), } = properties;
|
|
46
|
+
this.background = background;
|
|
36
47
|
const iam = simIamInRegion(properties.iam, properties.accountRegionScope.regionName);
|
|
37
48
|
this.objectNotifier = new SimS3ObjectNotifier({
|
|
38
49
|
destinations: notificationDestinations,
|
|
@@ -56,8 +67,10 @@ export class SimS3Commands {
|
|
|
56
67
|
this.notifications = new SimS3NotificationCommands(state);
|
|
57
68
|
this.lifecycles = new SimS3LifecycleCommands(state);
|
|
58
69
|
this.versioning = new SimS3VersioningCommands(state);
|
|
70
|
+
this.encryption = new SimS3EncryptionCommands(state);
|
|
59
71
|
this.objectLock = new SimS3ObjectLockCommands(state);
|
|
60
72
|
this.objects = new SimS3ObjectCommands(state);
|
|
73
|
+
this.objectTagging = new SimS3ObjectTaggingCommands(state);
|
|
61
74
|
this.multipartUploads = new SimS3MultipartCommands(state);
|
|
62
75
|
}
|
|
63
76
|
}
|