@kensio/yulin 1.21.2 → 1.21.4
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/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/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.js +12 -12
- 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.js +8 -15
- 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/factory/sim-cfn-resource-factory.type.d.ts +9 -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 +19 -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/resource/update/sim-cfn-resource-update-validator.d.ts +26 -0
- package/dist/service/cloudformation/resource/update/sim-cfn-resource-update-validator.js +55 -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-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 +51 -3
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +84 -6
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +59 -32
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +7 -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 +16 -1
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +27 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +7 -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/cfn/sim-cfn-dynamodb-resource-factory.d.ts +5 -0
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +15 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-update-validator.d.ts +24 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-update-validator.js +38 -0
- 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/dynamodb/table/sim-dynamodb-index-update.js +1 -2
- 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-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-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 +4 -0
- package/dist/service/s3/sim-s3-commands.js +6 -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 +12 -0
- package/dist/service/s3/sim-s3.js +13 -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 +775 -65
- 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,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,8 +57,10 @@ 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;
|
|
62
66
|
constructor(properties: SimS3CommandsProperties);
|
|
@@ -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,8 +29,10 @@ 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;
|
|
34
38
|
constructor(properties) {
|
|
@@ -56,8 +60,10 @@ export class SimS3Commands {
|
|
|
56
60
|
this.notifications = new SimS3NotificationCommands(state);
|
|
57
61
|
this.lifecycles = new SimS3LifecycleCommands(state);
|
|
58
62
|
this.versioning = new SimS3VersioningCommands(state);
|
|
63
|
+
this.encryption = new SimS3EncryptionCommands(state);
|
|
59
64
|
this.objectLock = new SimS3ObjectLockCommands(state);
|
|
60
65
|
this.objects = new SimS3ObjectCommands(state);
|
|
66
|
+
this.objectTagging = new SimS3ObjectTaggingCommands(state);
|
|
61
67
|
this.multipartUploads = new SimS3MultipartCommands(state);
|
|
62
68
|
}
|
|
63
69
|
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import type * as simS3Commands from "./command/sim-s3-command.types.js";
|
|
2
2
|
import type { SimS3RequestOptions } from "./command/sim-s3-request-options.js";
|
|
3
|
-
import {
|
|
3
|
+
import { SimS3TaggingOperations } from "./sim-s3-tagging-operations.js";
|
|
4
4
|
/**
|
|
5
5
|
* The AWS operations simulated S3 answers. One delegation per SDK Command,
|
|
6
6
|
* onto the handler in `SimS3Commands` that runs it.
|
|
7
7
|
*
|
|
8
8
|
* `SimS3` extends this. A caller reaches every operation on the one service
|
|
9
9
|
* object, alongside the simulator-only controls `SimS3` holds itself. The
|
|
10
|
-
* operations that
|
|
11
|
-
* `SimS3VersionOperations
|
|
10
|
+
* operations that tag an Object are on `SimS3TaggingOperations`, and the ones
|
|
11
|
+
* that make a Bucket keep what it held are on `SimS3VersionOperations` below
|
|
12
|
+
* it, both of which this extends.
|
|
12
13
|
*/
|
|
13
|
-
export declare abstract class SimS3Operations extends
|
|
14
|
+
export declare abstract class SimS3Operations extends SimS3TaggingOperations {
|
|
14
15
|
/** Handle a Create Bucket Command from the SDK. */
|
|
15
16
|
createBucket(command: simS3Commands.SimCreateBucketCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimCreateBucketCommandOutput>;
|
|
16
17
|
/** Handle a Head Bucket Command from the SDK. */
|
|
@@ -33,6 +34,12 @@ export declare abstract class SimS3Operations extends SimS3VersionOperations {
|
|
|
33
34
|
getPublicAccessBlock(command: simS3Commands.SimGetPublicAccessBlockCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimGetPublicAccessBlockCommandOutput>;
|
|
34
35
|
/** Handle a Delete Public Access Block Command from the SDK. */
|
|
35
36
|
deletePublicAccessBlock(command: simS3Commands.SimDeletePublicAccessBlockCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimDeletePublicAccessBlockCommandOutput>;
|
|
37
|
+
/** Handle a Put Bucket Encryption Command from the SDK. */
|
|
38
|
+
putBucketEncryption(command: simS3Commands.SimPutBucketEncryptionCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimPutBucketEncryptionCommandOutput>;
|
|
39
|
+
/** Handle a Get Bucket Encryption Command from the SDK. */
|
|
40
|
+
getBucketEncryption(command: simS3Commands.SimGetBucketEncryptionCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimGetBucketEncryptionCommandOutput>;
|
|
41
|
+
/** Handle a Delete Bucket Encryption Command from the SDK. */
|
|
42
|
+
deleteBucketEncryption(command: simS3Commands.SimDeleteBucketEncryptionCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimDeleteBucketEncryptionCommandOutput>;
|
|
36
43
|
/** Handle a Put Bucket Website Command from the SDK. */
|
|
37
44
|
putBucketWebsite(command: simS3Commands.SimPutBucketWebsiteCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimPutBucketWebsiteCommandOutput>;
|
|
38
45
|
/** Handle a Put Bucket Notification Configuration Command from the SDK. */
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SimS3TaggingOperations } from "./sim-s3-tagging-operations.js";
|
|
2
2
|
/**
|
|
3
3
|
* The AWS operations simulated S3 answers. One delegation per SDK Command,
|
|
4
4
|
* onto the handler in `SimS3Commands` that runs it.
|
|
5
5
|
*
|
|
6
6
|
* `SimS3` extends this. A caller reaches every operation on the one service
|
|
7
7
|
* object, alongside the simulator-only controls `SimS3` holds itself. The
|
|
8
|
-
* operations that
|
|
9
|
-
* `SimS3VersionOperations
|
|
8
|
+
* operations that tag an Object are on `SimS3TaggingOperations`, and the ones
|
|
9
|
+
* that make a Bucket keep what it held are on `SimS3VersionOperations` below
|
|
10
|
+
* it, both of which this extends.
|
|
10
11
|
*/
|
|
11
|
-
export class SimS3Operations extends
|
|
12
|
+
export class SimS3Operations extends SimS3TaggingOperations {
|
|
12
13
|
/** Handle a Create Bucket Command from the SDK. */
|
|
13
14
|
async createBucket(command, options) {
|
|
14
15
|
return await this.commands.buckets.create(command, options);
|
|
@@ -53,6 +54,18 @@ export class SimS3Operations extends SimS3VersionOperations {
|
|
|
53
54
|
async deletePublicAccessBlock(command, options) {
|
|
54
55
|
return await this.commands.publicAccessBlocks.delete(command, options);
|
|
55
56
|
}
|
|
57
|
+
/** Handle a Put Bucket Encryption Command from the SDK. */
|
|
58
|
+
async putBucketEncryption(command, options) {
|
|
59
|
+
return await this.commands.encryption.put(command, options);
|
|
60
|
+
}
|
|
61
|
+
/** Handle a Get Bucket Encryption Command from the SDK. */
|
|
62
|
+
async getBucketEncryption(command, options) {
|
|
63
|
+
return await this.commands.encryption.get(command, options);
|
|
64
|
+
}
|
|
65
|
+
/** Handle a Delete Bucket Encryption Command from the SDK. */
|
|
66
|
+
async deleteBucketEncryption(command, options) {
|
|
67
|
+
return await this.commands.encryption.delete(command, options);
|
|
68
|
+
}
|
|
56
69
|
/** Handle a Put Bucket Website Command from the SDK. */
|
|
57
70
|
async putBucketWebsite(command, options) {
|
|
58
71
|
return await this.commands.buckets.putWebsite(command, options);
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type * as simS3Commands from "./command/sim-s3-command.types.js";
|
|
2
|
+
import type { SimS3RequestOptions } from "./command/sim-s3-request-options.js";
|
|
3
|
+
import { SimS3VersionOperations } from "./sim-s3-version-operations.js";
|
|
4
|
+
/**
|
|
5
|
+
* The AWS operations that hold tags against an Object.
|
|
6
|
+
*
|
|
7
|
+
* They sit together because real S3 grants each of them a permission of its
|
|
8
|
+
* own, and none of them is reachable through the read and the write of the
|
|
9
|
+
* Object they name.
|
|
10
|
+
*
|
|
11
|
+
* `SimS3Operations` extends this, and `SimS3` extends that, so a caller reaches
|
|
12
|
+
* all of them on the one service object.
|
|
13
|
+
*/
|
|
14
|
+
export declare abstract class SimS3TaggingOperations extends SimS3VersionOperations {
|
|
15
|
+
/** Handle a Put Object Tagging Command from the SDK. */
|
|
16
|
+
putObjectTagging(command: simS3Commands.SimPutObjectTaggingCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimPutObjectTaggingCommandOutput>;
|
|
17
|
+
/** Handle a Get Object Tagging Command from the SDK. */
|
|
18
|
+
getObjectTagging(command: simS3Commands.SimGetObjectTaggingCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimGetObjectTaggingCommandOutput>;
|
|
19
|
+
/** Handle a Delete Object Tagging Command from the SDK. */
|
|
20
|
+
deleteObjectTagging(command: simS3Commands.SimDeleteObjectTaggingCommand, options?: SimS3RequestOptions): Promise<simS3Commands.SimDeleteObjectTaggingCommandOutput>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { SimS3VersionOperations } from "./sim-s3-version-operations.js";
|
|
2
|
+
/**
|
|
3
|
+
* The AWS operations that hold tags against an Object.
|
|
4
|
+
*
|
|
5
|
+
* They sit together because real S3 grants each of them a permission of its
|
|
6
|
+
* own, and none of them is reachable through the read and the write of the
|
|
7
|
+
* Object they name.
|
|
8
|
+
*
|
|
9
|
+
* `SimS3Operations` extends this, and `SimS3` extends that, so a caller reaches
|
|
10
|
+
* all of them on the one service object.
|
|
11
|
+
*/
|
|
12
|
+
export class SimS3TaggingOperations extends SimS3VersionOperations {
|
|
13
|
+
/** Handle a Put Object Tagging Command from the SDK. */
|
|
14
|
+
async putObjectTagging(command, options) {
|
|
15
|
+
return await this.commands.objectTagging.put(command, options);
|
|
16
|
+
}
|
|
17
|
+
/** Handle a Get Object Tagging Command from the SDK. */
|
|
18
|
+
async getObjectTagging(command, options) {
|
|
19
|
+
return await this.commands.objectTagging.get(command, options);
|
|
20
|
+
}
|
|
21
|
+
/** Handle a Delete Object Tagging Command from the SDK. */
|
|
22
|
+
async deleteObjectTagging(command, options) {
|
|
23
|
+
return await this.commands.objectTagging.delete(command, options);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -5,6 +5,7 @@ import { type SimS3Properties } from "./sim-s3-commands.js";
|
|
|
5
5
|
import { SimS3Operations } from "./sim-s3-operations.js";
|
|
6
6
|
import type { SimSdkCommandRouter } from "../../sdk/router/sim-sdk-command-router.type.js";
|
|
7
7
|
import type { SimS3NotificationDeliveryFailure } from "./notification/sim-s3-notification-failures.js";
|
|
8
|
+
import type { SimS3ObjectNotifier } from "./notification/sim-s3-object-notifier.js";
|
|
8
9
|
import type { SimS3MountFilesystemOptions } from "./mount/sim-s3-mount.type.js";
|
|
9
10
|
/**
|
|
10
11
|
* Simulated S3. Handles SDK commands. Emulates AWS behaviour and state.
|
|
@@ -36,6 +37,17 @@ export declare class SimS3 extends SimS3Operations {
|
|
|
36
37
|
* real S3 tells the caller who wrote the Object nothing about a delivery.
|
|
37
38
|
*/
|
|
38
39
|
getNotificationDeliveryFailures(): readonly SimS3NotificationDeliveryFailure[];
|
|
40
|
+
/**
|
|
41
|
+
* Get the notifier this scope's Object commands raise their events through.
|
|
42
|
+
*
|
|
43
|
+
* A write that reaches a Bucket without going through an S3 command still
|
|
44
|
+
* owes the Bucket's destinations an event. A CDK BucketDeployment is one. It
|
|
45
|
+
* stands in for a provider function that syncs a directory into the Bucket,
|
|
46
|
+
* and the Bucket notifies whatever it was configured to notify. One notifier
|
|
47
|
+
* serves the scope, so the events a deployment raises are sequenced against
|
|
48
|
+
* the commands' own rather than starting a sequence beside them.
|
|
49
|
+
*/
|
|
50
|
+
objectNotifier(): SimS3ObjectNotifier;
|
|
39
51
|
/**
|
|
40
52
|
* Get the simulated S3 REST API endpoint URL for this Region, which is what
|
|
41
53
|
* an AWS SDK S3 client, and the presigner built on it, is configured with.
|
|
@@ -55,6 +55,19 @@ export class SimS3 extends SimS3Operations {
|
|
|
55
55
|
getNotificationDeliveryFailures() {
|
|
56
56
|
return this.commands.objectNotifier.deliveryFailures;
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Get the notifier this scope's Object commands raise their events through.
|
|
60
|
+
*
|
|
61
|
+
* A write that reaches a Bucket without going through an S3 command still
|
|
62
|
+
* owes the Bucket's destinations an event. A CDK BucketDeployment is one. It
|
|
63
|
+
* stands in for a provider function that syncs a directory into the Bucket,
|
|
64
|
+
* and the Bucket notifies whatever it was configured to notify. One notifier
|
|
65
|
+
* serves the scope, so the events a deployment raises are sequenced against
|
|
66
|
+
* the commands' own rather than starting a sequence beside them.
|
|
67
|
+
*/
|
|
68
|
+
objectNotifier() {
|
|
69
|
+
return this.commands.objectNotifier;
|
|
70
|
+
}
|
|
58
71
|
/**
|
|
59
72
|
* Get the simulated S3 REST API endpoint URL for this Region, which is what
|
|
60
73
|
* an AWS SDK S3 client, and the presigner built on it, is configured with.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { FilesystemS3BucketStorage, type FilesystemS3BucketStorageProperties } from "./s3-filesystem-storage.js";
|
|
2
|
+
interface FilesystemS3MountStorageProperties extends FilesystemS3BucketStorageProperties {
|
|
3
|
+
/**
|
|
4
|
+
* Whether the mount asked to be able to delete the files under it.
|
|
5
|
+
*/
|
|
6
|
+
readonly allowDelete?: boolean | undefined;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Filesystem-backed storage for a mount that asked to be able to delete.
|
|
10
|
+
*
|
|
11
|
+
* A mounted Bucket refuses a delete by default, for the reason
|
|
12
|
+
* `FilesystemS3BucketStorage.deleteObject` gives. `allowDelete` on the mount
|
|
13
|
+
* is what puts this in its place, and the Bucket then deletes the way an
|
|
14
|
+
* in-memory one does.
|
|
15
|
+
*/
|
|
16
|
+
export declare class DeletingFilesystemS3BucketStorage extends FilesystemS3BucketStorage {
|
|
17
|
+
/**
|
|
18
|
+
* Remove the file backing a simulated Object.
|
|
19
|
+
*
|
|
20
|
+
* The removal is reported, so the Bucket raises the event a removal raises,
|
|
21
|
+
* and the key goes through the same safety checks a read and a write do. A
|
|
22
|
+
* delete naming a path or a file type those refuse is refused here too.
|
|
23
|
+
*/
|
|
24
|
+
deleteObject(key: string): Promise<boolean>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The storage a mounted directory gets, deleting only where the mount said so.
|
|
28
|
+
*
|
|
29
|
+
* The choice is made once, when the directory is mounted, so a Bucket that may
|
|
30
|
+
* delete and a Bucket that may not are two different pieces of storage rather
|
|
31
|
+
* than one holding a flag.
|
|
32
|
+
*/
|
|
33
|
+
export declare function filesystemS3MountStorage(properties: FilesystemS3MountStorageProperties): FilesystemS3BucketStorage;
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { unlinkFilesystemS3File } from "./s3-filesystem-deletion.js";
|
|
2
|
+
import { FilesystemS3BucketStorage, } from "./s3-filesystem-storage.js";
|
|
3
|
+
/**
|
|
4
|
+
* Filesystem-backed storage for a mount that asked to be able to delete.
|
|
5
|
+
*
|
|
6
|
+
* A mounted Bucket refuses a delete by default, for the reason
|
|
7
|
+
* `FilesystemS3BucketStorage.deleteObject` gives. `allowDelete` on the mount
|
|
8
|
+
* is what puts this in its place, and the Bucket then deletes the way an
|
|
9
|
+
* in-memory one does.
|
|
10
|
+
*/
|
|
11
|
+
export class DeletingFilesystemS3BucketStorage extends FilesystemS3BucketStorage {
|
|
12
|
+
/**
|
|
13
|
+
* Remove the file backing a simulated Object.
|
|
14
|
+
*
|
|
15
|
+
* The removal is reported, so the Bucket raises the event a removal raises,
|
|
16
|
+
* and the key goes through the same safety checks a read and a write do. A
|
|
17
|
+
* delete naming a path or a file type those refuse is refused here too.
|
|
18
|
+
*/
|
|
19
|
+
async deleteObject(key) {
|
|
20
|
+
return await unlinkFilesystemS3File(this.objectKeys.filePathFor(key));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The storage a mounted directory gets, deleting only where the mount said so.
|
|
25
|
+
*
|
|
26
|
+
* The choice is made once, when the directory is mounted, so a Bucket that may
|
|
27
|
+
* delete and a Bucket that may not are two different pieces of storage rather
|
|
28
|
+
* than one holding a flag.
|
|
29
|
+
*/
|
|
30
|
+
export function filesystemS3MountStorage(properties) {
|
|
31
|
+
return properties.allowDelete === true
|
|
32
|
+
? new DeletingFilesystemS3BucketStorage(properties)
|
|
33
|
+
: new FilesystemS3BucketStorage(properties);
|
|
34
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remove one file, reporting whether there was one to remove.
|
|
3
|
+
*
|
|
4
|
+
* A key the directory does not hold is what an idempotent S3 delete of a
|
|
5
|
+
* missing Object looks like, and the Bucket raises no removal event for it.
|
|
6
|
+
* The directory the file was in stays where it is, since a Bucket has no
|
|
7
|
+
* directories for an empty one to be.
|
|
8
|
+
*/
|
|
9
|
+
export declare function unlinkFilesystemS3File(filePath: string): Promise<boolean>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { unlink } from "node:fs/promises";
|
|
2
|
+
import { isMissingFilesystemPathError } from "./filesystem-path-exists.js";
|
|
3
|
+
/**
|
|
4
|
+
* Remove one file, reporting whether there was one to remove.
|
|
5
|
+
*
|
|
6
|
+
* A key the directory does not hold is what an idempotent S3 delete of a
|
|
7
|
+
* missing Object looks like, and the Bucket raises no removal event for it.
|
|
8
|
+
* The directory the file was in stays where it is, since a Bucket has no
|
|
9
|
+
* directories for an empty one to be.
|
|
10
|
+
*/
|
|
11
|
+
export async function unlinkFilesystemS3File(filePath) {
|
|
12
|
+
try {
|
|
13
|
+
// oxlint-disable-next-line security/detect-non-literal-fs-filename
|
|
14
|
+
await unlink(filePath);
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
if (isMissingFilesystemPathError(error)) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
/* v8 ignore next */
|
|
21
|
+
throw error;
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { SimS3BucketStorage } from "../s3-bucket-storage.js";
|
|
2
2
|
import type { SimS3Object } from "../../object/s3-object.js";
|
|
3
|
+
import { FilesystemS3ObjectKeys } from "./s3-filesystem-object-keys.js";
|
|
3
4
|
import { SimS3DeclaredSystemMetadata } from "../../object/s3-declared-system-metadata.js";
|
|
4
|
-
interface FilesystemS3BucketStorageProperties {
|
|
5
|
+
export interface FilesystemS3BucketStorageProperties {
|
|
5
6
|
readonly directoryPath: string;
|
|
6
7
|
readonly allowedDirectoryNames?: readonly string[];
|
|
7
8
|
readonly additionalFileExtensions?: readonly string[];
|
|
@@ -21,9 +22,9 @@ interface FilesystemS3BucketStorageProperties {
|
|
|
21
22
|
* potential safety issues.
|
|
22
23
|
*/
|
|
23
24
|
export declare class FilesystemS3BucketStorage implements SimS3BucketStorage {
|
|
25
|
+
protected readonly objectKeys: FilesystemS3ObjectKeys;
|
|
24
26
|
private readonly directoryPath;
|
|
25
27
|
private readonly safety;
|
|
26
|
-
private readonly objectKeys;
|
|
27
28
|
private readonly systemMetadata;
|
|
28
29
|
constructor(properties: FilesystemS3BucketStorageProperties);
|
|
29
30
|
/**
|
|
@@ -45,8 +46,8 @@ export declare class FilesystemS3BucketStorage implements SimS3BucketStorage {
|
|
|
45
46
|
* a Bucket at an ordinary directory of the user's, and the safety checks here
|
|
46
47
|
* are local-development tooling rather than a sandbox boundary. Unlinking
|
|
47
48
|
* someone's files because a test called DeleteObject is the wrong default, so
|
|
48
|
-
*
|
|
49
|
+
* a mount that wants deletes asks for one with `allowDelete` and gets
|
|
50
|
+
* `DeletingFilesystemS3BucketStorage` in place of this.
|
|
49
51
|
*/
|
|
50
52
|
deleteObject(key: string): Promise<boolean>;
|
|
51
53
|
}
|
|
52
|
-
export {};
|
|
@@ -16,9 +16,9 @@ import { filesystemS3ObjectFile } from "./s3-filesystem-object-file.js";
|
|
|
16
16
|
* potential safety issues.
|
|
17
17
|
*/
|
|
18
18
|
export class FilesystemS3BucketStorage {
|
|
19
|
+
objectKeys;
|
|
19
20
|
directoryPath;
|
|
20
21
|
safety;
|
|
21
|
-
objectKeys;
|
|
22
22
|
systemMetadata;
|
|
23
23
|
constructor(properties) {
|
|
24
24
|
this.systemMetadata =
|
|
@@ -76,11 +76,13 @@ export class FilesystemS3BucketStorage {
|
|
|
76
76
|
* a Bucket at an ordinary directory of the user's, and the safety checks here
|
|
77
77
|
* are local-development tooling rather than a sandbox boundary. Unlinking
|
|
78
78
|
* someone's files because a test called DeleteObject is the wrong default, so
|
|
79
|
-
*
|
|
79
|
+
* a mount that wants deletes asks for one with `allowDelete` and gets
|
|
80
|
+
* `DeletingFilesystemS3BucketStorage` in place of this.
|
|
80
81
|
*/
|
|
81
82
|
deleteObject(key) {
|
|
82
83
|
return Promise.reject(new SimS3NotImplemented(`Simulated S3 will not delete ${key} from filesystem-backed storage ` +
|
|
83
84
|
`at ${this.directoryPath}, because it would remove a real file. ` +
|
|
84
|
-
`
|
|
85
|
+
`Mount the directory with { allowDelete: true } to allow it, or use ` +
|
|
86
|
+
`the default in-memory Bucket storage to simulate deletion.`));
|
|
85
87
|
}
|
|
86
88
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SimS3MalformedXml } from "../error/sim-s3.error.js";
|
|
2
|
+
import { SimS3InvalidPart, SimS3InvalidPartOrder, } from "../error/sim-s3-upload.error.js";
|
|
2
3
|
import { SimS3Object } from "../object/s3-object.js";
|
|
3
4
|
import { simS3MultipartETag, simS3UnquotedETag, } from "../object/s3-object-etag.js";
|
|
4
5
|
/**
|
|
@@ -28,6 +29,9 @@ export function simS3CompletedUploadObject(properties) {
|
|
|
28
29
|
metadata: upload.metadata,
|
|
29
30
|
lastModified: properties.completedAt,
|
|
30
31
|
etag: simS3MultipartETag(stored.map((part) => part.etag)),
|
|
32
|
+
storageClass: upload.storageClass,
|
|
33
|
+
serverSideEncryption: upload.serverSideEncryption,
|
|
34
|
+
tags: upload.tags,
|
|
31
35
|
});
|
|
32
36
|
}
|
|
33
37
|
/**
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { Brand } from "../../../util/brand.type.js";
|
|
2
2
|
import type { SimS3ObjectMetadata } from "../object/s3-object.js";
|
|
3
|
+
import { SimS3ObjectTagSet } from "../object/s3-object-tags.js";
|
|
4
|
+
import type { SimS3ServerSideEncryption } from "../object/s3-server-side-encryption.js";
|
|
5
|
+
import { type SimS3StorageClass } from "../object/s3-storage-class.js";
|
|
3
6
|
export type SimS3UploadId = Brand<string, "SimS3UploadId">;
|
|
4
7
|
/**
|
|
5
8
|
* One numbered part of a multipart upload, as S3 holds it between the
|
|
@@ -21,6 +24,18 @@ interface SimS3MultipartUploadProperties {
|
|
|
21
24
|
readonly key: string;
|
|
22
25
|
readonly metadata: SimS3ObjectMetadata;
|
|
23
26
|
readonly initiated: Date;
|
|
27
|
+
/**
|
|
28
|
+
* Where and how the completed Object will be stored. Real S3 takes both at
|
|
29
|
+
* `CreateMultipartUpload`, alongside the metadata, rather than at completion.
|
|
30
|
+
*/
|
|
31
|
+
readonly storageClass?: SimS3StorageClass;
|
|
32
|
+
readonly serverSideEncryption?: SimS3ServerSideEncryption | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* The tags the completed Object will carry. Real S3 takes these at
|
|
35
|
+
* `CreateMultipartUpload` too, for the same reason it takes the metadata
|
|
36
|
+
* there: the request describing the Object arrives before its bytes.
|
|
37
|
+
*/
|
|
38
|
+
readonly tags?: SimS3ObjectTagSet | undefined;
|
|
24
39
|
}
|
|
25
40
|
/**
|
|
26
41
|
* A simulated S3 multipart upload in progress.
|
|
@@ -40,6 +55,9 @@ export declare class SimS3MultipartUpload {
|
|
|
40
55
|
readonly key: string;
|
|
41
56
|
readonly metadata: SimS3ObjectMetadata;
|
|
42
57
|
readonly initiated: Date;
|
|
58
|
+
readonly storageClass: SimS3StorageClass;
|
|
59
|
+
readonly serverSideEncryption: SimS3ServerSideEncryption | undefined;
|
|
60
|
+
readonly tags: SimS3ObjectTagSet;
|
|
43
61
|
private readonly parts;
|
|
44
62
|
constructor(properties: SimS3MultipartUploadProperties);
|
|
45
63
|
/**
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
+
import { SimS3ObjectTagSet } from "../object/s3-object-tags.js";
|
|
3
|
+
import { simS3DefaultStorageClass, } from "../object/s3-storage-class.js";
|
|
2
4
|
/**
|
|
3
5
|
* One numbered part of a multipart upload, as S3 holds it between the
|
|
4
6
|
* `UploadPart` that stored it and the `CompleteMultipartUpload` that joins it
|
|
@@ -37,12 +39,18 @@ export class SimS3MultipartUpload {
|
|
|
37
39
|
key;
|
|
38
40
|
metadata;
|
|
39
41
|
initiated;
|
|
42
|
+
storageClass;
|
|
43
|
+
serverSideEncryption;
|
|
44
|
+
tags;
|
|
40
45
|
parts = new Map();
|
|
41
46
|
constructor(properties) {
|
|
42
47
|
this.uploadId = properties.uploadId;
|
|
43
48
|
this.key = properties.key;
|
|
44
49
|
this.metadata = properties.metadata;
|
|
45
50
|
this.initiated = new Date(properties.initiated);
|
|
51
|
+
this.storageClass = properties.storageClass ?? simS3DefaultStorageClass;
|
|
52
|
+
this.serverSideEncryption = properties.serverSideEncryption;
|
|
53
|
+
this.tags = properties.tags ?? SimS3ObjectTagSet.empty();
|
|
46
54
|
}
|
|
47
55
|
/**
|
|
48
56
|
* Store a numbered part, replacing whatever was under that number.
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import type { SimS3ObjectMetadata } from "../object/s3-object.js";
|
|
2
|
+
import type { SimS3ObjectTagSet } from "../object/s3-object-tags.js";
|
|
3
|
+
import type { SimS3ServerSideEncryption } from "../object/s3-server-side-encryption.js";
|
|
4
|
+
import type { SimS3StorageClass } from "../object/s3-storage-class.js";
|
|
2
5
|
import { SimS3MultipartUpload, type SimS3UploadId } from "./sim-s3-multipart-upload.js";
|
|
3
6
|
interface SimS3StartUploadProperties {
|
|
4
7
|
readonly key: string;
|
|
5
8
|
readonly metadata: SimS3ObjectMetadata;
|
|
6
9
|
readonly initiated: Date;
|
|
10
|
+
readonly storageClass?: SimS3StorageClass;
|
|
11
|
+
readonly serverSideEncryption?: SimS3ServerSideEncryption | undefined;
|
|
12
|
+
readonly tags?: SimS3ObjectTagSet | undefined;
|
|
7
13
|
}
|
|
8
14
|
/**
|
|
9
15
|
* The multipart uploads one Bucket has in progress.
|