@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BackgroundScheduler } from "../../../util/background/background.js";
|
|
2
2
|
import type { SimS3NotificationDestinations } from "./destination/sim-s3-notification-destination.js";
|
|
3
|
-
import { type SimS3ObjectCreatedInput, type SimS3ObjectRemovedInput } from "./event/sim-s3-object-event-builder.js";
|
|
3
|
+
import { type SimS3ObjectCreatedInput, type SimS3ObjectRemovedInput, type SimS3ObjectTaggedInput } from "./event/sim-s3-object-event-builder.js";
|
|
4
4
|
import type { SimS3NotificationDeliveryFailure } from "./sim-s3-notification-failures.js";
|
|
5
5
|
interface SimS3ObjectNotifierProperties {
|
|
6
6
|
readonly destinations: SimS3NotificationDestinations;
|
|
@@ -29,6 +29,10 @@ export declare class SimS3ObjectNotifier {
|
|
|
29
29
|
* Raise an Object creation, as whichever kind of creation it was.
|
|
30
30
|
*/
|
|
31
31
|
objectCreated(input: SimS3ObjectCreatedInput): void;
|
|
32
|
+
/**
|
|
33
|
+
* Raise a change to an Object's tags, as whichever kind of change it was.
|
|
34
|
+
*/
|
|
35
|
+
objectTagged(input: SimS3ObjectTaggedInput): void;
|
|
32
36
|
/**
|
|
33
37
|
* Raise an Object removal, as whichever kind of removal it was.
|
|
34
38
|
*/
|
|
@@ -36,6 +36,12 @@ export class SimS3ObjectNotifier {
|
|
|
36
36
|
objectCreated(input) {
|
|
37
37
|
this.schedule.matching(input.bucket, input.eventName, input.object.key, () => this.events.forCreated(input));
|
|
38
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Raise a change to an Object's tags, as whichever kind of change it was.
|
|
41
|
+
*/
|
|
42
|
+
objectTagged(input) {
|
|
43
|
+
this.schedule.matching(input.bucket, input.eventName, input.object.key, () => this.events.forTagged(input));
|
|
44
|
+
}
|
|
39
45
|
/**
|
|
40
46
|
* Raise an Object removal, as whichever kind of removal it was.
|
|
41
47
|
*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An Object key in the encoded form S3 hands one back in.
|
|
3
|
+
*
|
|
4
|
+
* S3 form-URL-encodes a key, so a space becomes a plus sign, while the slashes
|
|
5
|
+
* that make up a key prefix stay as they are. An event notification record
|
|
6
|
+
* carries a key this way, and so does a listing that asked for one.
|
|
7
|
+
*
|
|
8
|
+
* The encoding is what lets a key hold a character XML cannot carry. An
|
|
9
|
+
* unencoded key holding a control character is a document no parser will read,
|
|
10
|
+
* which is the reason `EncodingType` exists.
|
|
11
|
+
*/
|
|
12
|
+
export declare function simS3EncodedKey(key: string): string;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An Object key in the encoded form S3 hands one back in.
|
|
3
|
+
*
|
|
4
|
+
* S3 form-URL-encodes a key, so a space becomes a plus sign, while the slashes
|
|
5
|
+
* that make up a key prefix stay as they are. An event notification record
|
|
6
|
+
* carries a key this way, and so does a listing that asked for one.
|
|
7
|
+
*
|
|
8
|
+
* The encoding is what lets a key hold a character XML cannot carry. An
|
|
9
|
+
* unencoded key holding a control character is a document no parser will read,
|
|
10
|
+
* which is the reason `EncodingType` exists.
|
|
11
|
+
*/
|
|
12
|
+
export function simS3EncodedKey(key) {
|
|
13
|
+
return encodeURIComponent(key).replaceAll("%20", "+").replaceAll("%2F", "/");
|
|
14
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { SimS3CommonPrefix } from "./s3-common-prefix.js";
|
|
2
|
+
import type { SimS3ObjectSummary } from "./s3-object-summary.js";
|
|
3
|
+
/**
|
|
4
|
+
* How a listing writes the keys it answers with.
|
|
5
|
+
*
|
|
6
|
+
* A listing hands back keys, the prefix and delimiter it was asked for, and the
|
|
7
|
+
* marker the next page starts at. All of them are keys or parts of one, so all
|
|
8
|
+
* of them are encoded together or none of them are. That is what this decides,
|
|
9
|
+
* once, for the whole page.
|
|
10
|
+
*
|
|
11
|
+
* A listing that asked for no encoding is answered with the keys as they are
|
|
12
|
+
* stored, which is what almost every caller wants and what every caller got
|
|
13
|
+
* before `EncodingType` was read at all.
|
|
14
|
+
*
|
|
15
|
+
* https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html
|
|
16
|
+
*/
|
|
17
|
+
export declare class SimS3ListingEncoding {
|
|
18
|
+
/**
|
|
19
|
+
* The encoding type to report back, which real S3 echoes only when the
|
|
20
|
+
* listing asked for one.
|
|
21
|
+
*/
|
|
22
|
+
readonly encodingType: string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* A value real S3 does not have is refused rather than quietly treated as no
|
|
25
|
+
* encoding, since a caller misspelling it would otherwise decode keys that
|
|
26
|
+
* were never encoded.
|
|
27
|
+
*/
|
|
28
|
+
constructor(encodingType?: string);
|
|
29
|
+
/**
|
|
30
|
+
* One key, prefix, delimiter or marker as the listing carries it.
|
|
31
|
+
*/
|
|
32
|
+
value(value: string | undefined): string | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* The Objects on a page, each under the key the listing carries.
|
|
35
|
+
*/
|
|
36
|
+
summaries(summaries: SimS3ObjectSummary[] | undefined): SimS3ObjectSummary[] | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* The folders a page rolled keys up into, each under the prefix the listing
|
|
39
|
+
* carries.
|
|
40
|
+
*/
|
|
41
|
+
commonPrefixes(commonPrefixes: SimS3CommonPrefix[] | undefined): SimS3CommonPrefix[] | undefined;
|
|
42
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { SimS3InvalidArgument } from "../error/sim-s3.error.js";
|
|
2
|
+
import { simS3EncodedKey } from "./s3-key-encoding.js";
|
|
3
|
+
/**
|
|
4
|
+
* The only encoding a listing can ask for, which is the only one real S3 has.
|
|
5
|
+
*/
|
|
6
|
+
const urlEncodingType = "url";
|
|
7
|
+
/**
|
|
8
|
+
* How a listing writes the keys it answers with.
|
|
9
|
+
*
|
|
10
|
+
* A listing hands back keys, the prefix and delimiter it was asked for, and the
|
|
11
|
+
* marker the next page starts at. All of them are keys or parts of one, so all
|
|
12
|
+
* of them are encoded together or none of them are. That is what this decides,
|
|
13
|
+
* once, for the whole page.
|
|
14
|
+
*
|
|
15
|
+
* A listing that asked for no encoding is answered with the keys as they are
|
|
16
|
+
* stored, which is what almost every caller wants and what every caller got
|
|
17
|
+
* before `EncodingType` was read at all.
|
|
18
|
+
*
|
|
19
|
+
* https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html
|
|
20
|
+
*/
|
|
21
|
+
export class SimS3ListingEncoding {
|
|
22
|
+
/**
|
|
23
|
+
* The encoding type to report back, which real S3 echoes only when the
|
|
24
|
+
* listing asked for one.
|
|
25
|
+
*/
|
|
26
|
+
encodingType;
|
|
27
|
+
/**
|
|
28
|
+
* A value real S3 does not have is refused rather than quietly treated as no
|
|
29
|
+
* encoding, since a caller misspelling it would otherwise decode keys that
|
|
30
|
+
* were never encoded.
|
|
31
|
+
*/
|
|
32
|
+
constructor(encodingType) {
|
|
33
|
+
if (encodingType !== undefined && encodingType !== urlEncodingType) {
|
|
34
|
+
throw new SimS3InvalidArgument(`Not an EncodingType real S3 has: ${encodingType}. ` +
|
|
35
|
+
`The only one is "${urlEncodingType}".`);
|
|
36
|
+
}
|
|
37
|
+
this.encodingType = encodingType;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* One key, prefix, delimiter or marker as the listing carries it.
|
|
41
|
+
*/
|
|
42
|
+
value(value) {
|
|
43
|
+
if (value === undefined || this.encodingType === undefined) {
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
return simS3EncodedKey(value);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* The Objects on a page, each under the key the listing carries.
|
|
50
|
+
*/
|
|
51
|
+
summaries(summaries) {
|
|
52
|
+
if (summaries === undefined || this.encodingType === undefined) {
|
|
53
|
+
return summaries;
|
|
54
|
+
}
|
|
55
|
+
return summaries.map((summary) =>
|
|
56
|
+
/* v8 ignore next -- a listed Object always has a key */
|
|
57
|
+
summary.Key === undefined
|
|
58
|
+
? summary
|
|
59
|
+
: { ...summary, Key: simS3EncodedKey(summary.Key) });
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The folders a page rolled keys up into, each under the prefix the listing
|
|
63
|
+
* carries.
|
|
64
|
+
*/
|
|
65
|
+
commonPrefixes(commonPrefixes) {
|
|
66
|
+
if (commonPrefixes === undefined || this.encodingType === undefined) {
|
|
67
|
+
return commonPrefixes;
|
|
68
|
+
}
|
|
69
|
+
return commonPrefixes.map((commonPrefix) =>
|
|
70
|
+
/* v8 ignore next -- a rolled-up folder always has a prefix */
|
|
71
|
+
commonPrefix.Prefix === undefined
|
|
72
|
+
? commonPrefix
|
|
73
|
+
: { Prefix: simS3EncodedKey(commonPrefix.Prefix) });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -4,6 +4,16 @@
|
|
|
4
4
|
export interface SimS3ObjectResponseDescription {
|
|
5
5
|
/** The system metadata S3 was told when the Object was written. */
|
|
6
6
|
readonly metadata?: Readonly<Record<string, string>> | undefined;
|
|
7
|
+
/**
|
|
8
|
+
* The metadata the caller attached to the Object, under the keys it used
|
|
9
|
+
* rather than the prefixed names the headers carry.
|
|
10
|
+
*/
|
|
11
|
+
readonly userMetadata?: Readonly<Record<string, string>> | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* The headers the read asked to be served in place of the Object's own,
|
|
14
|
+
* under the same names, from its `response-` parameters.
|
|
15
|
+
*/
|
|
16
|
+
readonly overrides?: Readonly<Record<string, string>> | undefined;
|
|
7
17
|
/** The length of the body being served, in bytes. */
|
|
8
18
|
readonly bodyLength: number;
|
|
9
19
|
/** The Object's ETag, quoted as an HTTP entity tag. */
|
|
@@ -15,6 +25,13 @@ export interface SimS3ObjectResponseDescription {
|
|
|
15
25
|
* of them rather than all of them.
|
|
16
26
|
*/
|
|
17
27
|
readonly contentRange?: string | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* The storage class the Object is in, for one outside the default class.
|
|
30
|
+
* Real S3 leaves the header off a Standard Object.
|
|
31
|
+
*/
|
|
32
|
+
readonly storageClass?: string | undefined;
|
|
33
|
+
/** The encryption S3 applied when it stored the Object. */
|
|
34
|
+
readonly serverSideEncryption?: string | undefined;
|
|
18
35
|
}
|
|
19
36
|
/**
|
|
20
37
|
* The headers S3 sets on a read from what it was told when the Object was
|
|
@@ -26,6 +43,17 @@ export interface SimS3ObjectResponseDescription {
|
|
|
26
43
|
* client can decode. `Cache-Control` matters for a different reason, being the
|
|
27
44
|
* only one of these a caller can set per Object rather than per response.
|
|
28
45
|
*
|
|
46
|
+
* `x-amz-storage-class` and `x-amz-server-side-encryption` say where and how
|
|
47
|
+
* S3 keeps the Object. The class is set for an Object outside the default one,
|
|
48
|
+
* as real S3 sets it, and the encryption is set for every Object S3 stored
|
|
49
|
+
* itself.
|
|
50
|
+
*
|
|
51
|
+
* User-defined metadata goes back out under the `x-amz-meta-` prefix S3 sends
|
|
52
|
+
* it with, one header per entry. The prefix is what keeps a caller's own key
|
|
53
|
+
* apart from a header S3 sets itself, so an Object holding a `content-type`
|
|
54
|
+
* key is served an `x-amz-meta-content-type` header alongside its own content
|
|
55
|
+
* type rather than in place of it.
|
|
56
|
+
*
|
|
29
57
|
* `ETag` and `Last-Modified` are not metadata but facts about the stored bytes,
|
|
30
58
|
* and are what makes a conditional request or a content-hash comparison
|
|
31
59
|
* possible over HTTP. `Content-Range` is a fact about the response rather than
|
|
@@ -37,3 +65,15 @@ export interface SimS3ObjectResponseDescription {
|
|
|
37
65
|
* https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html
|
|
38
66
|
*/
|
|
39
67
|
export declare function simS3ObjectResponseHeaders(description: SimS3ObjectResponseDescription): Record<string, string>;
|
|
68
|
+
/**
|
|
69
|
+
* The response headers a read asked to be served in place of the Object's own.
|
|
70
|
+
*
|
|
71
|
+
* Real S3 has one of these per system metadata header, named after it, so they
|
|
72
|
+
* are read by the same list rather than spelled out again. `Content-Type` and
|
|
73
|
+
* `Content-Disposition` are the two worth having: a presigned URL naming them
|
|
74
|
+
* decides whether the browser opens the file or saves it, and under what name,
|
|
75
|
+
* without anything being written to the Object.
|
|
76
|
+
*
|
|
77
|
+
* https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
|
78
|
+
*/
|
|
79
|
+
export declare function simS3ResponseHeaderOverrides(query: URLSearchParams): Record<string, string>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { simS3SystemMetadataHeaders } from "./s3-system-metadata.js";
|
|
1
|
+
import { simS3SystemMetadataHeaders, simS3UserMetadataPrefix, } from "./s3-system-metadata.js";
|
|
2
2
|
/**
|
|
3
3
|
* The headers S3 sets on a read from what it was told when the Object was
|
|
4
4
|
* written.
|
|
@@ -9,6 +9,17 @@ import { simS3SystemMetadataHeaders } from "./s3-system-metadata.js";
|
|
|
9
9
|
* client can decode. `Cache-Control` matters for a different reason, being the
|
|
10
10
|
* only one of these a caller can set per Object rather than per response.
|
|
11
11
|
*
|
|
12
|
+
* `x-amz-storage-class` and `x-amz-server-side-encryption` say where and how
|
|
13
|
+
* S3 keeps the Object. The class is set for an Object outside the default one,
|
|
14
|
+
* as real S3 sets it, and the encryption is set for every Object S3 stored
|
|
15
|
+
* itself.
|
|
16
|
+
*
|
|
17
|
+
* User-defined metadata goes back out under the `x-amz-meta-` prefix S3 sends
|
|
18
|
+
* it with, one header per entry. The prefix is what keeps a caller's own key
|
|
19
|
+
* apart from a header S3 sets itself, so an Object holding a `content-type`
|
|
20
|
+
* key is served an `x-amz-meta-content-type` header alongside its own content
|
|
21
|
+
* type rather than in place of it.
|
|
22
|
+
*
|
|
12
23
|
* `ETag` and `Last-Modified` are not metadata but facts about the stored bytes,
|
|
13
24
|
* and are what makes a conditional request or a content-hash comparison
|
|
14
25
|
* possible over HTTP. `Content-Range` is a fact about the response rather than
|
|
@@ -24,11 +35,16 @@ export function simS3ObjectResponseHeaders(description) {
|
|
|
24
35
|
"content-length": String(description.bodyLength),
|
|
25
36
|
};
|
|
26
37
|
for (const header of simS3SystemMetadataHeaders) {
|
|
27
|
-
const value = description.
|
|
38
|
+
const value = description.overrides?.[header.name] ??
|
|
39
|
+
description.metadata?.[header.name];
|
|
28
40
|
if (value !== undefined) {
|
|
29
41
|
headers[header.name] = value;
|
|
30
42
|
}
|
|
31
43
|
}
|
|
44
|
+
const userDefined = Object.entries(description.userMetadata ?? {});
|
|
45
|
+
for (const [key, value] of userDefined) {
|
|
46
|
+
headers[`${simS3UserMetadataPrefix}${key}`] = value;
|
|
47
|
+
}
|
|
32
48
|
if (description.etag !== undefined) {
|
|
33
49
|
headers["etag"] = description.etag;
|
|
34
50
|
}
|
|
@@ -38,5 +54,36 @@ export function simS3ObjectResponseHeaders(description) {
|
|
|
38
54
|
if (description.contentRange !== undefined) {
|
|
39
55
|
headers["content-range"] = description.contentRange;
|
|
40
56
|
}
|
|
57
|
+
if (description.storageClass !== undefined) {
|
|
58
|
+
headers["x-amz-storage-class"] = description.storageClass;
|
|
59
|
+
}
|
|
60
|
+
if (description.serverSideEncryption !== undefined) {
|
|
61
|
+
headers["x-amz-server-side-encryption"] = description.serverSideEncryption;
|
|
62
|
+
}
|
|
41
63
|
return headers;
|
|
42
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* The prefix a read overrides a response header with.
|
|
67
|
+
*/
|
|
68
|
+
const responseOverridePrefix = "response-";
|
|
69
|
+
/**
|
|
70
|
+
* The response headers a read asked to be served in place of the Object's own.
|
|
71
|
+
*
|
|
72
|
+
* Real S3 has one of these per system metadata header, named after it, so they
|
|
73
|
+
* are read by the same list rather than spelled out again. `Content-Type` and
|
|
74
|
+
* `Content-Disposition` are the two worth having: a presigned URL naming them
|
|
75
|
+
* decides whether the browser opens the file or saves it, and under what name,
|
|
76
|
+
* without anything being written to the Object.
|
|
77
|
+
*
|
|
78
|
+
* https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
|
|
79
|
+
*/
|
|
80
|
+
export function simS3ResponseHeaderOverrides(query) {
|
|
81
|
+
const overrides = {};
|
|
82
|
+
for (const header of simS3SystemMetadataHeaders) {
|
|
83
|
+
const value = query.get(`${responseOverridePrefix}${header.name}`);
|
|
84
|
+
if (value !== null) {
|
|
85
|
+
overrides[header.name] = value;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return overrides;
|
|
89
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SimS3Object } from "./s3-object.js";
|
|
2
|
+
import type { SimS3ServerSideEncryption } from "./s3-server-side-encryption.js";
|
|
3
|
+
import { type SimS3StorageClass } from "./s3-storage-class.js";
|
|
4
|
+
/**
|
|
5
|
+
* What a read says about where and how S3 keeps an Object.
|
|
6
|
+
*/
|
|
7
|
+
export interface SimS3ObjectStorageReport {
|
|
8
|
+
readonly StorageClass?: SimS3StorageClass;
|
|
9
|
+
readonly ServerSideEncryption?: SimS3ServerSideEncryption;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Describe where and how S3 keeps an Object, as `GetObject` and `HeadObject`
|
|
13
|
+
* report it.
|
|
14
|
+
*
|
|
15
|
+
* Real S3 leaves the storage class out of a read of a Standard Object and
|
|
16
|
+
* reports it for every other class. An Object's encryption is reported
|
|
17
|
+
* whatever it is, because S3 encrypts every Object it stores.
|
|
18
|
+
*/
|
|
19
|
+
export declare function simS3ObjectStorageReport(object: SimS3Object): SimS3ObjectStorageReport;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { simS3ReportedStorageClass, } from "./s3-storage-class.js";
|
|
2
|
+
/**
|
|
3
|
+
* Describe where and how S3 keeps an Object, as `GetObject` and `HeadObject`
|
|
4
|
+
* report it.
|
|
5
|
+
*
|
|
6
|
+
* Real S3 leaves the storage class out of a read of a Standard Object and
|
|
7
|
+
* reports it for every other class. An Object's encryption is reported
|
|
8
|
+
* whatever it is, because S3 encrypts every Object it stores.
|
|
9
|
+
*/
|
|
10
|
+
export function simS3ObjectStorageReport(object) {
|
|
11
|
+
const storageClass = simS3ReportedStorageClass(object.storageClass);
|
|
12
|
+
return {
|
|
13
|
+
...(storageClass !== undefined && { StorageClass: storageClass }),
|
|
14
|
+
...(object.serverSideEncryption !== undefined && {
|
|
15
|
+
ServerSideEncryption: object.serverSideEncryption,
|
|
16
|
+
}),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
import type { SimS3Object } from "./s3-object.js";
|
|
2
|
-
|
|
3
|
-
* The storage class S3 reports for an Object nobody asked to store elsewhere.
|
|
4
|
-
*
|
|
5
|
-
* Storage classes are not simulated, and this is the one real S3 puts an Object
|
|
6
|
-
* in unless told otherwise. It is reported rather than omitted because a
|
|
7
|
-
* listing that leaves it out reads as an Object of unknown class, which is a
|
|
8
|
-
* different thing from a Standard one.
|
|
9
|
-
*/
|
|
10
|
-
export declare const simS3DefaultStorageClass = "STANDARD";
|
|
2
|
+
import type { SimS3StorageClass } from "./s3-storage-class.js";
|
|
11
3
|
/**
|
|
12
4
|
* One Object as a listing describes it.
|
|
13
5
|
*
|
|
@@ -20,7 +12,7 @@ export interface SimS3ObjectSummary {
|
|
|
20
12
|
readonly Size?: number;
|
|
21
13
|
readonly ETag?: string;
|
|
22
14
|
readonly LastModified?: Date;
|
|
23
|
-
readonly StorageClass?:
|
|
15
|
+
readonly StorageClass?: SimS3StorageClass;
|
|
24
16
|
}
|
|
25
17
|
/**
|
|
26
18
|
* Describe a stored Object the way a listing does.
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
import { simS3QuotedETag } from "./s3-object-etag.js";
|
|
2
|
-
/**
|
|
3
|
-
* The storage class S3 reports for an Object nobody asked to store elsewhere.
|
|
4
|
-
*
|
|
5
|
-
* Storage classes are not simulated, and this is the one real S3 puts an Object
|
|
6
|
-
* in unless told otherwise. It is reported rather than omitted because a
|
|
7
|
-
* listing that leaves it out reads as an Object of unknown class, which is a
|
|
8
|
-
* different thing from a Standard one.
|
|
9
|
-
*/
|
|
10
|
-
export const simS3DefaultStorageClass = "STANDARD";
|
|
11
2
|
/**
|
|
12
3
|
* Describe a stored Object the way a listing does.
|
|
13
4
|
*
|
|
@@ -21,7 +12,7 @@ export function simS3ObjectSummary(object) {
|
|
|
21
12
|
Size: object.body.length,
|
|
22
13
|
ETag: simS3QuotedETag(object.etag),
|
|
23
14
|
LastModified: object.lastModified,
|
|
24
|
-
StorageClass:
|
|
15
|
+
StorageClass: object.storageClass,
|
|
25
16
|
};
|
|
26
17
|
}
|
|
27
18
|
/**
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One tag on an Object, in the form a request states it and a read hands it
|
|
3
|
+
* back.
|
|
4
|
+
*/
|
|
5
|
+
export interface SimS3ObjectTag {
|
|
6
|
+
readonly Key: string;
|
|
7
|
+
readonly Value: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* One tag as it arrives, where a request is free to leave either half out.
|
|
11
|
+
*
|
|
12
|
+
* The SDK types both members optional, so a tag naming no key reaches the
|
|
13
|
+
* simulator and is refused here rather than stored under an empty key.
|
|
14
|
+
*/
|
|
15
|
+
export interface SimS3ObjectTagInput {
|
|
16
|
+
readonly Key?: string | undefined;
|
|
17
|
+
readonly Value?: string | undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The tags one simulated S3 Object carries.
|
|
21
|
+
*
|
|
22
|
+
* Held as a map because a tag set is keyed. Real S3 refuses two tags sharing a
|
|
23
|
+
* key, and every question anything asks of a tag set is about the value under
|
|
24
|
+
* one. The insertion order is the order the request stated, and a read hands
|
|
25
|
+
* them back in it.
|
|
26
|
+
*
|
|
27
|
+
* A set is built once and never changed, so the Object holding it cannot have
|
|
28
|
+
* its tags rewritten by whoever was handed them. `PutObjectTagging` replaces
|
|
29
|
+
* the whole set, which is what real S3 does with one.
|
|
30
|
+
*
|
|
31
|
+
* https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html
|
|
32
|
+
*/
|
|
33
|
+
export declare class SimS3ObjectTagSet {
|
|
34
|
+
private readonly held;
|
|
35
|
+
private constructor();
|
|
36
|
+
/**
|
|
37
|
+
* The tag set an Object nobody has tagged carries.
|
|
38
|
+
*/
|
|
39
|
+
static empty(): SimS3ObjectTagSet;
|
|
40
|
+
/**
|
|
41
|
+
* The tag set a request states, refusing one real S3 would not hold.
|
|
42
|
+
*
|
|
43
|
+
* Every refusal is checked before anything is stored. An Object is never
|
|
44
|
+
* left carrying part of a tag set S3 would have rejected whole. The context
|
|
45
|
+
* names the request, since the same tag set can arrive on a write, on a copy
|
|
46
|
+
* or on a tagging request of its own.
|
|
47
|
+
*/
|
|
48
|
+
static from(tags: readonly SimS3ObjectTagInput[], context: string): SimS3ObjectTagSet;
|
|
49
|
+
/**
|
|
50
|
+
* The tags, in the order the request that set them stated.
|
|
51
|
+
*/
|
|
52
|
+
get tags(): readonly SimS3ObjectTag[];
|
|
53
|
+
/**
|
|
54
|
+
* Whether this Object carries exactly this tag.
|
|
55
|
+
*
|
|
56
|
+
* Both halves have to match, because that is what a lifecycle rule filtering
|
|
57
|
+
* on a tag asks: a rule for `archive=true` says nothing about an Object
|
|
58
|
+
* tagged `archive=false`.
|
|
59
|
+
*/
|
|
60
|
+
has(key: string, value: string): boolean;
|
|
61
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { SimS3InvalidTag } from "../error/sim-s3.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* The most tags real S3 holds against one Object.
|
|
4
|
+
*/
|
|
5
|
+
const simS3MaxObjectTags = 10;
|
|
6
|
+
/**
|
|
7
|
+
* The tags one simulated S3 Object carries.
|
|
8
|
+
*
|
|
9
|
+
* Held as a map because a tag set is keyed. Real S3 refuses two tags sharing a
|
|
10
|
+
* key, and every question anything asks of a tag set is about the value under
|
|
11
|
+
* one. The insertion order is the order the request stated, and a read hands
|
|
12
|
+
* them back in it.
|
|
13
|
+
*
|
|
14
|
+
* A set is built once and never changed, so the Object holding it cannot have
|
|
15
|
+
* its tags rewritten by whoever was handed them. `PutObjectTagging` replaces
|
|
16
|
+
* the whole set, which is what real S3 does with one.
|
|
17
|
+
*
|
|
18
|
+
* https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html
|
|
19
|
+
*/
|
|
20
|
+
export class SimS3ObjectTagSet {
|
|
21
|
+
held;
|
|
22
|
+
constructor(held) {
|
|
23
|
+
this.held = held;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The tag set an Object nobody has tagged carries.
|
|
27
|
+
*/
|
|
28
|
+
static empty() {
|
|
29
|
+
return new SimS3ObjectTagSet(new Map());
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The tag set a request states, refusing one real S3 would not hold.
|
|
33
|
+
*
|
|
34
|
+
* Every refusal is checked before anything is stored. An Object is never
|
|
35
|
+
* left carrying part of a tag set S3 would have rejected whole. The context
|
|
36
|
+
* names the request, since the same tag set can arrive on a write, on a copy
|
|
37
|
+
* or on a tagging request of its own.
|
|
38
|
+
*/
|
|
39
|
+
static from(tags, context) {
|
|
40
|
+
if (tags.length > simS3MaxObjectTags) {
|
|
41
|
+
throw new SimS3InvalidTag(`The tag set of ${context} holds ${tags.length} tags. An S3 Object ` +
|
|
42
|
+
`holds at most ${simS3MaxObjectTags}.`);
|
|
43
|
+
}
|
|
44
|
+
const held = new Map();
|
|
45
|
+
for (const tag of tags) {
|
|
46
|
+
const key = tag.Key;
|
|
47
|
+
if (key === undefined || key.length === 0) {
|
|
48
|
+
throw new SimS3InvalidTag(`A tag of ${context} names no key.`);
|
|
49
|
+
}
|
|
50
|
+
if (held.has(key)) {
|
|
51
|
+
throw new SimS3InvalidTag(`The tag set of ${context} states the key ${key} twice. An S3 ` +
|
|
52
|
+
`Object holds one value under each tag key.`);
|
|
53
|
+
}
|
|
54
|
+
held.set(key, tag.Value ?? "");
|
|
55
|
+
}
|
|
56
|
+
return new SimS3ObjectTagSet(held);
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The tags, in the order the request that set them stated.
|
|
60
|
+
*/
|
|
61
|
+
get tags() {
|
|
62
|
+
return this.held
|
|
63
|
+
.entries()
|
|
64
|
+
.map(([Key, Value]) => ({ Key, Value }))
|
|
65
|
+
.toArray();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Whether this Object carries exactly this tag.
|
|
69
|
+
*
|
|
70
|
+
* Both halves have to match, because that is what a lifecycle rule filtering
|
|
71
|
+
* on a tag asks: a rule for `archive=true` says nothing about an Object
|
|
72
|
+
* tagged `archive=false`.
|
|
73
|
+
*/
|
|
74
|
+
has(key, value) {
|
|
75
|
+
return this.held.get(key) === value;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { SimS3ObjectTagSet } from "./s3-object-tags.js";
|
|
2
|
+
import type { SimS3ServerSideEncryption } from "./s3-server-side-encryption.js";
|
|
3
|
+
import { type SimS3StorageClass } from "./s3-storage-class.js";
|
|
1
4
|
import { type SimS3SystemMetadataOutput } from "./s3-system-metadata-read.js";
|
|
2
5
|
/**
|
|
3
6
|
* Simulated S3 object metadata.
|
|
@@ -29,6 +32,22 @@ interface SimS3ObjectProperties {
|
|
|
29
32
|
* them. Only a multipart upload produces one.
|
|
30
33
|
*/
|
|
31
34
|
readonly etag?: string;
|
|
35
|
+
/**
|
|
36
|
+
* The storage class the Object is in. An Object nobody asked to store
|
|
37
|
+
* elsewhere is in the default class.
|
|
38
|
+
*/
|
|
39
|
+
readonly storageClass?: SimS3StorageClass;
|
|
40
|
+
/**
|
|
41
|
+
* The encryption S3 applied when it stored these bytes, from the write or
|
|
42
|
+
* from the Bucket's default. The bytes are stored as they arrived whatever
|
|
43
|
+
* this says, and it is what a read reports about them.
|
|
44
|
+
*/
|
|
45
|
+
readonly serverSideEncryption?: SimS3ServerSideEncryption | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* The tags S3 holds against the Object. A write that named none, and an
|
|
48
|
+
* Object nobody has tagged since, carries an empty set.
|
|
49
|
+
*/
|
|
50
|
+
readonly tags?: SimS3ObjectTagSet | undefined;
|
|
32
51
|
}
|
|
33
52
|
/**
|
|
34
53
|
* Simulated S3 object.
|
|
@@ -37,9 +56,31 @@ export declare class SimS3Object {
|
|
|
37
56
|
readonly key: string;
|
|
38
57
|
readonly body: Buffer;
|
|
39
58
|
readonly metadata: SimS3ObjectMetadata;
|
|
59
|
+
readonly storageClass: SimS3StorageClass;
|
|
60
|
+
readonly serverSideEncryption: SimS3ServerSideEncryption | undefined;
|
|
61
|
+
readonly tags: SimS3ObjectTagSet;
|
|
40
62
|
private readonly writtenAt;
|
|
41
63
|
private readonly givenETag;
|
|
42
64
|
constructor(properties?: SimS3ObjectProperties);
|
|
65
|
+
/**
|
|
66
|
+
* The same Object in another storage class, for a lifecycle rule that has
|
|
67
|
+
* transitioned it.
|
|
68
|
+
*
|
|
69
|
+
* The bytes are shared with the Object this came from. A transition moves
|
|
70
|
+
* where S3 keeps an Object and leaves the Object itself alone, so its ETag,
|
|
71
|
+
* its metadata, its tags and the instant it was last written all carry over.
|
|
72
|
+
*/
|
|
73
|
+
withStorageClass(storageClass: SimS3StorageClass): SimS3Object;
|
|
74
|
+
/**
|
|
75
|
+
* The same Object under another tag set, for a tagging request that has
|
|
76
|
+
* replaced the one it carried.
|
|
77
|
+
*
|
|
78
|
+
* Real S3 holds tags against an Object without rewriting it, so nothing else
|
|
79
|
+
* about it changes: the bytes, the ETag and the instant it was last written
|
|
80
|
+
* are the ones it already had. A read after tagging reports the same
|
|
81
|
+
* `LastModified` as a read before it.
|
|
82
|
+
*/
|
|
83
|
+
withTags(tags: SimS3ObjectTagSet): SimS3Object;
|
|
43
84
|
/**
|
|
44
85
|
* When S3 last wrote these bytes.
|
|
45
86
|
*
|
|
@@ -67,5 +108,13 @@ export declare class SimS3Object {
|
|
|
67
108
|
* about the joined bytes records, so it cannot be recomputed from them.
|
|
68
109
|
*/
|
|
69
110
|
get etag(): string;
|
|
111
|
+
/**
|
|
112
|
+
* The same Object with one thing about it replaced.
|
|
113
|
+
*
|
|
114
|
+
* Everything S3 remembers is carried over by hand rather than by copying the
|
|
115
|
+
* instance, because an Object holds its write time and its given ETag
|
|
116
|
+
* privately and a spread would lose both.
|
|
117
|
+
*/
|
|
118
|
+
private with;
|
|
70
119
|
}
|
|
71
120
|
export {};
|