@kensio/yulin 1.21.3 → 1.21.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/service/athena/engine/sim-athena-column-types.d.ts +2 -0
- package/dist/service/athena/engine/sim-athena-column-types.js +4 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.d.ts +7 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.js +51 -0
- package/dist/service/athena/engine/sim-athena-engine-result.js +5 -0
- package/dist/service/athena/engine/sim-athena-engine-run.d.ts +22 -2
- package/dist/service/athena/engine/sim-athena-engine-run.js +21 -31
- package/dist/service/athena/engine/sim-athena-loaded-tables.d.ts +10 -0
- package/dist/service/athena/engine/sim-athena-loaded-tables.js +35 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.d.ts +25 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.js +39 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.d.ts +13 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.js +57 -0
- package/dist/service/athena/engine/sim-athena-query-engine.d.ts +23 -5
- package/dist/service/athena/engine/sim-athena-query-engine.js +31 -10
- package/dist/service/athena/engine/sim-athena-record-reader.d.ts +12 -6
- package/dist/service/athena/engine/sim-athena-record-reader.js +28 -53
- package/dist/service/athena/engine/sim-athena-sql-translation.d.ts +15 -9
- package/dist/service/athena/engine/sim-athena-sql-translation.js +25 -13
- package/dist/service/athena/engine/sim-athena-sqlite-values.d.ts +5 -0
- package/dist/service/athena/engine/sim-athena-sqlite-values.js +24 -1
- package/dist/service/athena/engine/sim-athena-table-objects.d.ts +7 -2
- package/dist/service/athena/engine/sim-athena-table-objects.js +8 -4
- package/dist/service/athena/engine/sim-athena-table-rows.js +4 -3
- package/dist/service/athena/engine/sim-athena-turn-down.d.ts +26 -0
- package/dist/service/athena/engine/sim-athena-turn-down.js +43 -0
- package/dist/service/athena/execution/sim-athena-query-completion.d.ts +3 -1
- package/dist/service/athena/execution/sim-athena-query-completion.js +7 -1
- package/dist/service/athena/index.d.ts +1 -1
- package/dist/service/athena/index.js +1 -1
- package/dist/service/athena/result/sim-athena-query-answer.d.ts +12 -0
- package/dist/service/athena/result/sim-athena-query-answer.js +26 -4
- package/dist/service/athena/sim-athena-answered-query.fixture.d.ts +2 -0
- package/dist/service/athena/sim-athena-answered-query.fixture.js +1 -0
- package/dist/service/athena/sim-athena-engine.fixture.d.ts +20 -0
- package/dist/service/athena/sim-athena-engine.fixture.js +34 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.d.ts +23 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.js +37 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +18 -13
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +16 -24
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +2 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +7 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +13 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +6 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +7 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.d.ts +50 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.js +71 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +6 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts +5 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +7 -0
- package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.d.ts +12 -0
- package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.js +16 -7
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.d.ts +9 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.js +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.d.ts +42 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.js +69 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.d.ts +62 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.js +89 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.d.ts +31 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.js +59 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.d.ts +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.js +19 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.d.ts +17 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.js +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.d.ts +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.js +13 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.d.ts +45 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.js +52 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.d.ts +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.js +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.d.ts +54 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.js +49 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.d.ts +35 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.js +1 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.d.ts +53 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.js +83 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.d.ts +32 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.d.ts +38 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.js +80 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +3 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +16 -13
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.d.ts +22 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.d.ts +27 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.js +35 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +6 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +11 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +15 -1
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.d.ts +48 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.d.ts +23 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.js +52 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts +3 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +8 -4
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +18 -6
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +22 -7
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +1 -1
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.d.ts +25 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.d.ts +31 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.js +37 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.d.ts +36 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.js +1 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.d.ts +26 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.js +39 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.d.ts +31 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.js +52 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.d.ts +22 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.js +34 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +17 -1
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +6 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +15 -16
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-options-deployed.d.ts +10 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-options-deployed.js +14 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +11 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +3 -2
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +5 -8
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +0 -14
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +9 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +2 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +10 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
- package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts +21 -0
- package/dist/service/cloudformation/error/sim-cloudformation.error.js +25 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.d.ts +7 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.js +3 -1
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +9 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +12 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +4 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +10 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.d.ts +44 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.js +33 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +15 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +21 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +9 -7
- package/dist/service/cloudformation/resource/sim-cfn-resource.js +11 -11
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +8 -0
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +3 -3
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +3 -3
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +9 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.d.ts +37 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.js +77 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.d.ts +51 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.js +10 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.js +34 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.d.ts +21 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.js +31 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.d.ts +14 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.js +1 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.js +58 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.js +89 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.js +65 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.js +60 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.js +50 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.js +30 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.js +44 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.js +43 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.js +67 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.js +61 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +4 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +12 -5
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-api-event.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.d.ts +26 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.js +88 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +12 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +1 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +8 -5
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +23 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +9 -2
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +5 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +6 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +7 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.d.ts +19 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.js +69 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +5 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +3 -1
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.d.ts +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.js +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +1 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +6 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +2 -4
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.d.ts +31 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.js +17 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +11 -6
- package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +20 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +4 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-api.js +6 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.d.ts +10 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.js +94 -0
- package/dist/service/cloudformation/sim-cloudformation.d.ts +31 -0
- package/dist/service/cloudformation/sim-cloudformation.js +56 -9
- package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.d.ts +20 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.js +23 -0
- package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +6 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-deploy-context.d.ts +47 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-deploy-context.js +46 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.d.ts +30 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.js +24 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +53 -20
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +79 -32
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +60 -32
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +21 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +7 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +3 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.d.ts +18 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.js +30 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +25 -14
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +41 -24
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +6 -1
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +12 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +29 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.d.ts +28 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.js +39 -0
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +25 -1
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +43 -11
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.d.ts +7 -0
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.js +29 -3
- package/dist/service/cloudformation/template/sim-cfn-command-template.d.ts +40 -0
- package/dist/service/cloudformation/template/sim-cfn-command-template.js +45 -0
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts +7 -0
- package/dist/service/cloudformation/template/sim-cfn-template.js +15 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +2 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +49 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +1 -0
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +1 -1
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.d.ts +5 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.js +17 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +5 -5
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +24 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.d.ts +11 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.js +20 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +2 -0
- package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +14 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +16 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.d.ts +17 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.js +39 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.d.ts +28 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.js +50 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +12 -5
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts +3 -3
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +3 -4
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.d.ts +5 -16
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.js +4 -21
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.d.ts +15 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.js +18 -1
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.d.ts +13 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.js +15 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +2 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +5 -3
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.d.ts +21 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.js +37 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +6 -0
- package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js +5 -1
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +2 -3
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +1 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +6 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +10 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +2 -6
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.js +49 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.js +57 -0
- package/dist/service/lambda/command/function-url/function-url-input.d.ts +7 -0
- package/dist/service/lambda/command/function-url/function-url-input.js +9 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-invocation.js +10 -13
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-outcome.js +2 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.d.ts +13 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.js +12 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +2 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +1 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-bus.js +1 -1
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-function.js +8 -12
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-queue.js +4 -3
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-send.d.ts +2 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-topic.js +4 -3
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.d.ts +4 -6
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.js +6 -6
- package/dist/service/lambda/destination/sim-lambda-destination-targets.d.ts +3 -0
- package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +22 -3
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +39 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +7 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +14 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +9 -15
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +9 -16
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +10 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +22 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.d.ts +23 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.js +18 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +12 -13
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +24 -17
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.d.ts +64 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.js +86 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +8 -1
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +7 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +11 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +13 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.d.ts +39 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.js +46 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.d.ts +56 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.js +110 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts +5 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js +7 -1
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js +6 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +6 -1
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +8 -6
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +10 -8
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +18 -1
- package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +8 -2
- package/dist/service/lambda/function/code/sim-lambda-executable-code.js +2 -1
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +2 -11
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +13 -39
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +7 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +13 -7
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.d.ts +23 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.js +42 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.d.ts +12 -4
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.js +15 -5
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +7 -0
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +6 -2
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.d.ts +26 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.js +84 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.d.ts +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.js +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +6 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +1 -2
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +6 -1
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +19 -6
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.d.ts +15 -0
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.js +18 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.d.ts +12 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.js +28 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.d.ts +46 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.js +104 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.d.ts +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.js +27 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.d.ts +43 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.js +112 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.d.ts +57 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.js +79 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.d.ts +10 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.js +15 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.d.ts +11 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.js +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.d.ts +50 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.js +43 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +17 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +12 -1
- package/dist/service/lambda/function/logging/sim-lambda-output.d.ts +56 -0
- package/dist/service/lambda/function/logging/sim-lambda-output.js +62 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.d.ts +8 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.js +27 -1
- package/dist/service/lambda/function/sim-lambda-function.d.ts +1 -1
- package/dist/service/lambda/function/sim-lambda-function.js +11 -9
- package/dist/service/lambda/function/sim-lambda-function.type.d.ts +15 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.d.ts +22 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.js +17 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.js +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +2 -1
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.js +16 -1
- package/dist/service/lambda/index.d.ts +1 -0
- package/dist/service/lambda/index.js +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.d.ts +50 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.js +96 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts +14 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js +27 -0
- package/dist/service/lambda/sim-lambda-commands.d.ts +10 -0
- package/dist/service/lambda/sim-lambda-commands.js +11 -0
- package/dist/service/lambda/sim-lambda.d.ts +12 -0
- package/dist/service/lambda/sim-lambda.js +13 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.d.ts +67 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.js +69 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +4 -31
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +7 -6
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +5 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +8 -4
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +1 -14
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +16 -8
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.d.ts +41 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.js +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +14 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +32 -2
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.d.ts +33 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.js +48 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.d.ts +16 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.js +44 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +8 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +27 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +5 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -3
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +3 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -2
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.d.ts +84 -0
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.js +115 -0
- package/dist/service/s3/bucket/sim-s3-bucket-maker.d.ts +31 -0
- package/dist/service/s3/bucket/sim-s3-bucket-maker.js +41 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +10 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.js +18 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.d.ts +41 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.js +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -83
- package/dist/service/s3/bucket/sim-s3-bucket.js +14 -83
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +6 -0
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +20 -6
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.d.ts +58 -0
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.js +73 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +19 -1
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +20 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.js +44 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +6 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +5 -4
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +12 -5
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.js +30 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +14 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +41 -16
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +3 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +7 -10
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +6 -1
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +5 -0
- package/dist/service/s3/command/copy-object/copy-object-builder.d.ts +10 -1
- package/dist/service/s3/command/copy-object/copy-object-builder.js +17 -1
- package/dist/service/s3/command/copy-object/copy-object.command.d.ts +11 -1
- package/dist/service/s3/command/copy-object/copy-object.handler.js +2 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +2 -2
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +4 -12
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +5 -1
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +7 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.d.ts +19 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.d.ts +30 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.js +38 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.d.ts +23 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.js +1 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.js +42 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.d.ts +29 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.js +49 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.d.ts +22 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.js +30 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.d.ts +24 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.js +39 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +11 -8
- package/dist/service/s3/command/get-object/get-object-authorizer.js +26 -34
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +7 -3
- package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
- package/dist/service/s3/command/get-object/get-object.command.d.ts +2 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -0
- package/dist/service/s3/command/get-object/get-object.handler.js +13 -7
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.d.ts +29 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.js +1 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.d.ts +21 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.js +33 -0
- package/dist/service/s3/command/head-object/head-object-loader.js +2 -0
- package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +18 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +1 -2
- package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +1 -2
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +5 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js +11 -6
- package/dist/service/s3/command/list-objects/list-objects.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +5 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +6 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +11 -5
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +5 -0
- package/dist/service/s3/command/list-parts/list-parts.handler.js +3 -3
- package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +1 -1
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.d.ts +21 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.js +41 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +10 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +2 -1
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.d.ts +37 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.js +1 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.js +46 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.d.ts +61 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.js +49 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.d.ts +30 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.js +27 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.d.ts +26 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.js +34 -0
- package/dist/service/s3/error/sim-s3-upload.error.d.ts +41 -0
- package/dist/service/s3/error/sim-s3-upload.error.js +47 -0
- package/dist/service/s3/error/sim-s3.error.d.ts +22 -34
- package/dist/service/s3/error/sim-s3.error.js +26 -40
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts +10 -0
- package/dist/service/s3/notification/event/sim-s3-event-records.d.ts +3 -2
- package/dist/service/s3/notification/event/sim-s3-event-records.js +5 -3
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +33 -8
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +23 -9
- package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +5 -1
- package/dist/service/s3/notification/sim-s3-object-notifier.js +6 -0
- package/dist/service/s3/object/s3-key-encoding.d.ts +12 -0
- package/dist/service/s3/object/s3-key-encoding.js +14 -0
- package/dist/service/s3/object/s3-listing-encoding.d.ts +42 -0
- package/dist/service/s3/object/s3-listing-encoding.js +75 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +40 -0
- package/dist/service/s3/object/s3-object-response-headers.js +49 -2
- package/dist/service/s3/object/s3-object-storage-report.d.ts +19 -0
- package/dist/service/s3/object/s3-object-storage-report.js +18 -0
- package/dist/service/s3/object/s3-object-summary.d.ts +2 -10
- package/dist/service/s3/object/s3-object-summary.js +1 -10
- package/dist/service/s3/object/s3-object-tags.d.ts +61 -0
- package/dist/service/s3/object/s3-object-tags.js +77 -0
- package/dist/service/s3/object/s3-object.d.ts +49 -0
- package/dist/service/s3/object/s3-object.js +52 -1
- package/dist/service/s3/object/s3-server-side-encryption.d.ts +30 -0
- package/dist/service/s3/object/s3-server-side-encryption.js +42 -0
- package/dist/service/s3/object/s3-storage-class.d.ts +45 -0
- package/dist/service/s3/object/s3-storage-class.js +67 -0
- package/dist/service/s3/object/s3-write-metadata.d.ts +17 -3
- package/dist/service/s3/object/s3-write-metadata.js +43 -0
- package/dist/service/s3/object/s3-write-storage.d.ts +27 -0
- package/dist/service/s3/object/s3-write-storage.js +21 -0
- package/dist/service/s3/object/s3-write-tagging.d.ts +24 -0
- package/dist/service/s3/object/s3-write-tagging.js +19 -0
- package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +12 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +2 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.d.ts +9 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.js +23 -0
- package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +22 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +4 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +10 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.d.ts +7 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.js +30 -0
- package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +4 -2
- package/dist/service/s3/serve/api/sim-s3-api-head-output.js +8 -2
- package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -6
- package/dist/service/s3/serve/api/sim-s3-api-input.js +2 -13
- package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-listing.js +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +16 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.js +34 -7
- package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +18 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-output.js +21 -2
- package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +22 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +5 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.js +16 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +6 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.js +55 -11
- package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -2
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.d.ts +9 -0
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.js +14 -0
- package/dist/service/s3/serve/api/sim-s3-api.d.ts +7 -1
- package/dist/service/s3/serve/api/sim-s3-api.js +7 -1
- package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +1 -5
- package/dist/service/s3/serve/sim-s3-rest-controller.js +3 -17
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +3 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +8 -1
- package/dist/service/s3/serve/sim-s3-rest-upload.d.ts +20 -0
- package/dist/service/s3/serve/sim-s3-rest-upload.js +30 -0
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +2 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.js +3 -0
- package/dist/service/s3/sim-s3-commands.d.ts +10 -0
- package/dist/service/s3/sim-s3-commands.js +13 -0
- package/dist/service/s3/sim-s3-operations.d.ts +11 -4
- package/dist/service/s3/sim-s3-operations.js +17 -4
- package/dist/service/s3/sim-s3-tagging-operations.d.ts +21 -0
- package/dist/service/s3/sim-s3-tagging-operations.js +25 -0
- package/dist/service/s3/sim-s3.d.ts +28 -0
- package/dist/service/s3/sim-s3.js +38 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.d.ts +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.js +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.d.ts +9 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.js +24 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +5 -4
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -3
- package/dist/service/s3/upload/sim-s3-completed-upload.js +5 -1
- package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +18 -0
- package/dist/service/s3/upload/sim-s3-multipart-upload.js +8 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +6 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.js +5 -0
- package/dist/util/background/background-clock-waits.d.ts +52 -0
- package/dist/util/background/background-clock-waits.js +76 -0
- package/dist/util/background/background-jitter.js +1 -0
- package/dist/util/background/background-pending-tasks.d.ts +55 -0
- package/dist/util/background/background-pending-tasks.js +117 -0
- package/dist/util/background/background-settled-tasks.d.ts +4 -1
- package/dist/util/background/background-settled-tasks.js +4 -1
- package/dist/util/background/background.d.ts +43 -0
- package/dist/util/background/background.js +27 -19
- package/dist/util/background/non-deterministic-background.d.ts +12 -0
- package/dist/util/background/non-deterministic-background.js +24 -20
- package/dist/util/clock/sim-clock-control.js +23 -2
- package/docs/services/apigateway/README.md +3 -1
- package/docs/services/athena/README.md +126 -3
- package/docs/services/cloudformation/README.md +831 -67
- package/docs/services/cognito/README.md +5 -0
- package/docs/services/dynamodb/README.md +86 -11
- package/docs/services/lambda/README.md +603 -39
- package/docs/services/s3/README.md +688 -57
- package/package.json +8 -2
|
@@ -11,6 +11,12 @@
|
|
|
11
11
|
* issues exactly the two commands a real deployment issues rather than reaching
|
|
12
12
|
* around them, so a test using it exercises the same path a user's own setup
|
|
13
13
|
* would.
|
|
14
|
+
*
|
|
15
|
+
* The policy grants listing alongside the read. Real S3 admits that a key is
|
|
16
|
+
* missing only to a reader holding `s3:ListBucket`, and answers 403 to a
|
|
17
|
+
* reader holding the Object read alone. A site with its own error document, a
|
|
18
|
+
* folder redirect or a custom 404 error response grants both permissions for
|
|
19
|
+
* that reason.
|
|
14
20
|
*/
|
|
15
21
|
export async function grantPublicObjectRead(simS3, bucketName) {
|
|
16
22
|
await simS3.putPublicAccessBlock({
|
|
@@ -27,12 +33,20 @@ export async function grantPublicObjectRead(simS3, bucketName) {
|
|
|
27
33
|
Bucket: bucketName,
|
|
28
34
|
Policy: JSON.stringify({
|
|
29
35
|
Version: "2012-10-17",
|
|
30
|
-
Statement:
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
Statement: [
|
|
37
|
+
{
|
|
38
|
+
Effect: "Allow",
|
|
39
|
+
Principal: "*",
|
|
40
|
+
Action: "s3:GetObject",
|
|
41
|
+
Resource: `arn:aws:s3:::${bucketName}/*`,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
Effect: "Allow",
|
|
45
|
+
Principal: "*",
|
|
46
|
+
Action: "s3:ListBucket",
|
|
47
|
+
Resource: `arn:aws:s3:::${bucketName}`,
|
|
48
|
+
},
|
|
49
|
+
],
|
|
36
50
|
}),
|
|
37
51
|
},
|
|
38
52
|
});
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { SimS3Object } from "../../object/s3-object.js";
|
|
2
|
+
import type { SimS3ObjectTagSet } from "../../object/s3-object-tags.js";
|
|
3
|
+
import type { SimS3BucketStorage } from "../../storage/s3-bucket-storage.js";
|
|
4
|
+
import type { SimS3BucketVersions } from "../versioning/sim-s3-bucket-versions.js";
|
|
5
|
+
/**
|
|
6
|
+
* What a tagging request names, as a Bucket can answer it.
|
|
7
|
+
*
|
|
8
|
+
* `stored` is what a plain read of the key answers with, which a request
|
|
9
|
+
* naming a version has no need of and passes as nothing.
|
|
10
|
+
*/
|
|
11
|
+
interface SimS3TaggingTarget {
|
|
12
|
+
readonly storage: SimS3BucketStorage;
|
|
13
|
+
readonly versions: SimS3BucketVersions;
|
|
14
|
+
readonly key: string;
|
|
15
|
+
readonly versionId: string | undefined;
|
|
16
|
+
readonly stored: SimS3Object | undefined;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The Object a tagging request names, ready to be read or retagged.
|
|
20
|
+
*
|
|
21
|
+
* A tag set lives on the Object, and an Object lives in two places at once on a
|
|
22
|
+
* Bucket that keeps versions: in storage under its key, and in the version
|
|
23
|
+
* history. Retagging the current Object has to reach both, or a read of the key
|
|
24
|
+
* and a read of the version would disagree about the tags. Retagging an older
|
|
25
|
+
* version reaches the history alone, since storage holds nothing of it.
|
|
26
|
+
*/
|
|
27
|
+
export declare class SimS3TaggableObject {
|
|
28
|
+
private readonly object;
|
|
29
|
+
private readonly storage;
|
|
30
|
+
private readonly version;
|
|
31
|
+
private readonly current;
|
|
32
|
+
private constructor();
|
|
33
|
+
/**
|
|
34
|
+
* Find the Object a tagging request names, or refuse the request the way
|
|
35
|
+
* real S3 refuses it.
|
|
36
|
+
*
|
|
37
|
+
* A key holding nothing is `NoSuchKey`, an id no version of it was given is
|
|
38
|
+
* `NoSuchVersion`, and a delete marker holds no Object to tag.
|
|
39
|
+
*/
|
|
40
|
+
static named(target: SimS3TaggingTarget): SimS3TaggableObject;
|
|
41
|
+
/**
|
|
42
|
+
* The tags this Object carries.
|
|
43
|
+
*/
|
|
44
|
+
get tagSet(): SimS3ObjectTagSet;
|
|
45
|
+
/**
|
|
46
|
+
* The version this Object is, on a Bucket keeping versions, which a tagging
|
|
47
|
+
* response reports back.
|
|
48
|
+
*/
|
|
49
|
+
get versionId(): string | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Put a tag set on this Object, answering the Object as it now stands.
|
|
52
|
+
*
|
|
53
|
+
* The version is retagged first so that the Object written back to storage is
|
|
54
|
+
* the one the history holds, rather than an equal Object built alongside it.
|
|
55
|
+
*/
|
|
56
|
+
retag(tags: SimS3ObjectTagSet): Promise<SimS3Object>;
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { SimS3MethodNotAllowed, SimS3NoSuchKey, SimS3NoSuchVersion, } from "../../error/sim-s3.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* The Object a tagging request names, ready to be read or retagged.
|
|
4
|
+
*
|
|
5
|
+
* A tag set lives on the Object, and an Object lives in two places at once on a
|
|
6
|
+
* Bucket that keeps versions: in storage under its key, and in the version
|
|
7
|
+
* history. Retagging the current Object has to reach both, or a read of the key
|
|
8
|
+
* and a read of the version would disagree about the tags. Retagging an older
|
|
9
|
+
* version reaches the history alone, since storage holds nothing of it.
|
|
10
|
+
*/
|
|
11
|
+
export class SimS3TaggableObject {
|
|
12
|
+
object;
|
|
13
|
+
storage;
|
|
14
|
+
version;
|
|
15
|
+
current;
|
|
16
|
+
constructor(object, storage, version, current) {
|
|
17
|
+
this.object = object;
|
|
18
|
+
this.storage = storage;
|
|
19
|
+
this.version = version;
|
|
20
|
+
this.current = current;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Find the Object a tagging request names, or refuse the request the way
|
|
24
|
+
* real S3 refuses it.
|
|
25
|
+
*
|
|
26
|
+
* A key holding nothing is `NoSuchKey`, an id no version of it was given is
|
|
27
|
+
* `NoSuchVersion`, and a delete marker holds no Object to tag.
|
|
28
|
+
*/
|
|
29
|
+
static named(target) {
|
|
30
|
+
const { storage, versions, key, versionId } = target;
|
|
31
|
+
if (versionId === undefined) {
|
|
32
|
+
if (target.stored === undefined) {
|
|
33
|
+
throw new SimS3NoSuchKey(`No S3 Object named ${key}`);
|
|
34
|
+
}
|
|
35
|
+
return new SimS3TaggableObject(target.stored, storage, versions.current(key), true);
|
|
36
|
+
}
|
|
37
|
+
const version = versions.find(key, versionId);
|
|
38
|
+
if (version === undefined) {
|
|
39
|
+
throw new SimS3NoSuchVersion(`No version ${versionId} of S3 Object ${key}`);
|
|
40
|
+
}
|
|
41
|
+
if (version.isDeleteMarker) {
|
|
42
|
+
throw new SimS3MethodNotAllowed(`Version ${versionId} of S3 Object ${key} is a delete marker`);
|
|
43
|
+
}
|
|
44
|
+
return new SimS3TaggableObject(version.object, storage, version, version === versions.current(key));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* The tags this Object carries.
|
|
48
|
+
*/
|
|
49
|
+
get tagSet() {
|
|
50
|
+
return this.object.tags;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The version this Object is, on a Bucket keeping versions, which a tagging
|
|
54
|
+
* response reports back.
|
|
55
|
+
*/
|
|
56
|
+
get versionId() {
|
|
57
|
+
return this.version?.versionId;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Put a tag set on this Object, answering the Object as it now stands.
|
|
61
|
+
*
|
|
62
|
+
* The version is retagged first so that the Object written back to storage is
|
|
63
|
+
* the one the history holds, rather than an equal Object built alongside it.
|
|
64
|
+
*/
|
|
65
|
+
async retag(tags) {
|
|
66
|
+
this.version?.tagged(tags);
|
|
67
|
+
const tagged = this.version?.object ?? this.object.withTags(tags);
|
|
68
|
+
if (this.current) {
|
|
69
|
+
await this.storage.putObject(tagged);
|
|
70
|
+
}
|
|
71
|
+
return tagged;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { SimS3ObjectLock } from "../lock/sim-s3-object-lock.js";
|
|
2
2
|
import type { SimS3Object } from "../../object/s3-object.js";
|
|
3
|
+
import type { SimS3ObjectTagSet } from "../../object/s3-object-tags.js";
|
|
4
|
+
import type { SimS3StorageClass } from "../../object/s3-storage-class.js";
|
|
3
5
|
interface SimS3ObjectVersionProperties {
|
|
4
6
|
readonly versionId: string;
|
|
5
7
|
readonly key: string;
|
|
@@ -32,7 +34,7 @@ export declare class SimS3ObjectVersion {
|
|
|
32
34
|
readonly lock: SimS3ObjectLock;
|
|
33
35
|
private displaced;
|
|
34
36
|
private readonly createdAt;
|
|
35
|
-
private
|
|
37
|
+
private stored;
|
|
36
38
|
constructor(properties: SimS3ObjectVersionProperties);
|
|
37
39
|
/**
|
|
38
40
|
* The version an Object in a Bucket that keeps none reads back under.
|
|
@@ -41,6 +43,22 @@ export declare class SimS3ObjectVersion {
|
|
|
41
43
|
* and answers ListObjectVersions for one as a history a single entry deep.
|
|
42
44
|
*/
|
|
43
45
|
static nullVersionOf(object: SimS3Object): SimS3ObjectVersion;
|
|
46
|
+
/**
|
|
47
|
+
* Move the Object this version holds into another storage class.
|
|
48
|
+
*
|
|
49
|
+
* A lifecycle rule transitions a noncurrent version where it lies, so the
|
|
50
|
+
* class is recorded on the version rather than derived on each read of it. A
|
|
51
|
+
* delete marker holds no Object and transitions nowhere.
|
|
52
|
+
*/
|
|
53
|
+
transitionTo(storageClass: SimS3StorageClass): void;
|
|
54
|
+
/**
|
|
55
|
+
* Replace the tags on the Object this version holds.
|
|
56
|
+
*
|
|
57
|
+
* Tags belong to the version they were put on, so tagging the current
|
|
58
|
+
* version leaves an older one carrying whatever it was written with. A
|
|
59
|
+
* delete marker holds no Object and carries no tags.
|
|
60
|
+
*/
|
|
61
|
+
tagged(tags: SimS3ObjectTagSet): void;
|
|
44
62
|
/**
|
|
45
63
|
* Whether this version records a deletion instead of holding bytes.
|
|
46
64
|
*/
|
|
@@ -44,6 +44,26 @@ export class SimS3ObjectVersion {
|
|
|
44
44
|
object,
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Move the Object this version holds into another storage class.
|
|
49
|
+
*
|
|
50
|
+
* A lifecycle rule transitions a noncurrent version where it lies, so the
|
|
51
|
+
* class is recorded on the version rather than derived on each read of it. A
|
|
52
|
+
* delete marker holds no Object and transitions nowhere.
|
|
53
|
+
*/
|
|
54
|
+
transitionTo(storageClass) {
|
|
55
|
+
this.stored = this.stored?.withStorageClass(storageClass);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Replace the tags on the Object this version holds.
|
|
59
|
+
*
|
|
60
|
+
* Tags belong to the version they were put on, so tagging the current
|
|
61
|
+
* version leaves an older one carrying whatever it was written with. A
|
|
62
|
+
* delete marker holds no Object and carries no tags.
|
|
63
|
+
*/
|
|
64
|
+
tagged(tags) {
|
|
65
|
+
this.stored = this.stored?.withTags(tags);
|
|
66
|
+
}
|
|
47
67
|
/**
|
|
48
68
|
* Whether this version records a deletion instead of holding bytes.
|
|
49
69
|
*/
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SimCfnTemplateValueRecord } from "../../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SimS3ServerSideEncryptionConfiguration } from "../../../bucket/encryption/sim-s3-bucket-encryption.js";
|
|
3
|
+
/**
|
|
4
|
+
* Reads the `BucketEncryption` property of an AWS::S3::Bucket Resource into a
|
|
5
|
+
* PutBucketEncryption request.
|
|
6
|
+
*
|
|
7
|
+
* CloudFormation and the API disagree about one name. A template states
|
|
8
|
+
* `ServerSideEncryptionByDefault` inside each rule where the request states
|
|
9
|
+
* `ApplyServerSideEncryptionByDefault`, so that one is translated here and
|
|
10
|
+
* everything else is handed on as it was declared.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SimCfnS3BucketEncryption {
|
|
13
|
+
private readonly properties;
|
|
14
|
+
private readonly shape;
|
|
15
|
+
constructor(logicalId: string, properties: SimCfnTemplateValueRecord);
|
|
16
|
+
/**
|
|
17
|
+
* The configuration to apply, or nothing when the Resource declares none.
|
|
18
|
+
*/
|
|
19
|
+
read(): SimS3ServerSideEncryptionConfiguration | undefined;
|
|
20
|
+
private readRule;
|
|
21
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { SimCfnValueShape } from "../../../../cloudformation/template/value/sim-cfn-value-shape.js";
|
|
2
|
+
import { s3BucketResourceError } from "../error/sim-cfn-s3-bucket-error.js";
|
|
3
|
+
/**
|
|
4
|
+
* Reads the `BucketEncryption` property of an AWS::S3::Bucket Resource into a
|
|
5
|
+
* PutBucketEncryption request.
|
|
6
|
+
*
|
|
7
|
+
* CloudFormation and the API disagree about one name. A template states
|
|
8
|
+
* `ServerSideEncryptionByDefault` inside each rule where the request states
|
|
9
|
+
* `ApplyServerSideEncryptionByDefault`, so that one is translated here and
|
|
10
|
+
* everything else is handed on as it was declared.
|
|
11
|
+
*/
|
|
12
|
+
export class SimCfnS3BucketEncryption {
|
|
13
|
+
properties;
|
|
14
|
+
shape;
|
|
15
|
+
constructor(logicalId, properties) {
|
|
16
|
+
this.properties = properties;
|
|
17
|
+
this.shape = new SimCfnValueShape((reason) => s3BucketResourceError(logicalId, reason));
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The configuration to apply, or nothing when the Resource declares none.
|
|
21
|
+
*/
|
|
22
|
+
read() {
|
|
23
|
+
const declared = this.properties["BucketEncryption"];
|
|
24
|
+
if (declared === undefined) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
const encryption = this.shape.record(declared, "BucketEncryption");
|
|
28
|
+
const rules = this.shape.list(encryption["ServerSideEncryptionConfiguration"] ?? [], "BucketEncryption ServerSideEncryptionConfiguration");
|
|
29
|
+
return { Rules: rules.map((rule, index) => this.readRule(rule, index)) };
|
|
30
|
+
}
|
|
31
|
+
readRule(value, index) {
|
|
32
|
+
const named = `BucketEncryption rule ${index}`;
|
|
33
|
+
const rule = this.shape.record(value, named);
|
|
34
|
+
const byDefault = rule["ServerSideEncryptionByDefault"];
|
|
35
|
+
return {
|
|
36
|
+
...(byDefault !== undefined && {
|
|
37
|
+
ApplyServerSideEncryptionByDefault: this.shape.record(byDefault, `${named} ServerSideEncryptionByDefault`),
|
|
38
|
+
}),
|
|
39
|
+
...(rule["BucketKeyEnabled"] !== undefined && {
|
|
40
|
+
BucketKeyEnabled: rule["BucketKeyEnabled"] === true,
|
|
41
|
+
}),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SimCfnValueShape } from "../../../../cloudformation/template/value/sim-cfn-value-shape.js";
|
|
2
2
|
import { s3BucketResourceError } from "../error/sim-cfn-s3-bucket-error.js";
|
|
3
3
|
import { simCfnS3CarriedRuleFields, simCfnS3RuleExpiration, simCfnS3RuleNoncurrentExpiration, simCfnS3StatedFields, } from "./sim-cfn-s3-bucket-lifecycle-fields.js";
|
|
4
|
+
import { readSimCfnS3LifecycleFilter } from "./sim-cfn-s3-bucket-lifecycle-filter.js";
|
|
4
5
|
import { readSimCfnS3LifecycleTransitions } from "./sim-cfn-s3-bucket-lifecycle-transitions.js";
|
|
5
6
|
/**
|
|
6
7
|
* Reads the `LifecycleConfiguration` property of an AWS::S3::Bucket Resource
|
|
@@ -43,6 +44,11 @@ export class SimCfnS3BucketLifecycleConfiguration {
|
|
|
43
44
|
...simCfnS3CarriedRuleFields(rule),
|
|
44
45
|
...simCfnS3StatedFields({
|
|
45
46
|
ID: rule["Id"],
|
|
47
|
+
Filter: readSimCfnS3LifecycleFilter({
|
|
48
|
+
shape: this.shape,
|
|
49
|
+
rule,
|
|
50
|
+
path,
|
|
51
|
+
}),
|
|
46
52
|
Expiration: simCfnS3RuleExpiration(rule),
|
|
47
53
|
NoncurrentVersionExpiration: simCfnS3RuleNoncurrentExpiration(rule),
|
|
48
54
|
Transitions: readSimCfnS3LifecycleTransitions({
|
|
@@ -6,10 +6,11 @@ import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../../..
|
|
|
6
6
|
* timing after it, where the request nests both. It carries the noncurrent
|
|
7
7
|
* expiry both ways, as the nested object the request takes and as the older
|
|
8
8
|
* `NoncurrentVersionExpirationInDays` beside it, which is what CDK's
|
|
9
|
-
* `noncurrentVersionExpiration` synthesises.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
9
|
+
* `noncurrentVersionExpiration` synthesises. It also puts the tags a rule
|
|
10
|
+
* filters on beside the rule's `Prefix`, where the request holds both inside a
|
|
11
|
+
* `Filter`. Everything absent from here, `Status`,
|
|
12
|
+
* `AbortIncompleteMultipartUpload` and the object size bounds among them, is
|
|
13
|
+
* spelled the same way in both and goes through untouched.
|
|
13
14
|
*/
|
|
14
15
|
export declare const simCfnS3TranslatedLifecycleFields: ReadonlySet<string>;
|
|
15
16
|
/**
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
* timing after it, where the request nests both. It carries the noncurrent
|
|
6
6
|
* expiry both ways, as the nested object the request takes and as the older
|
|
7
7
|
* `NoncurrentVersionExpirationInDays` beside it, which is what CDK's
|
|
8
|
-
* `noncurrentVersionExpiration` synthesises.
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
8
|
+
* `noncurrentVersionExpiration` synthesises. It also puts the tags a rule
|
|
9
|
+
* filters on beside the rule's `Prefix`, where the request holds both inside a
|
|
10
|
+
* `Filter`. Everything absent from here, `Status`,
|
|
11
|
+
* `AbortIncompleteMultipartUpload` and the object size bounds among them, is
|
|
12
|
+
* spelled the same way in both and goes through untouched.
|
|
12
13
|
*/
|
|
13
14
|
export const simCfnS3TranslatedLifecycleFields = new Set([
|
|
14
15
|
"Id",
|
|
@@ -17,6 +18,7 @@ export const simCfnS3TranslatedLifecycleFields = new Set([
|
|
|
17
18
|
"ExpiredObjectDeleteMarker",
|
|
18
19
|
"NoncurrentVersionExpiration",
|
|
19
20
|
"NoncurrentVersionExpirationInDays",
|
|
21
|
+
"TagFilters",
|
|
20
22
|
"Transition",
|
|
21
23
|
"Transitions",
|
|
22
24
|
]);
|
|
@@ -50,7 +52,12 @@ export function simCfnS3StatedFields(fields) {
|
|
|
50
52
|
* acts on anyway.
|
|
51
53
|
*/
|
|
52
54
|
export function simCfnS3CarriedRuleFields(rule) {
|
|
53
|
-
|
|
55
|
+
// A rule filtering on tags carries its prefix inside the `Filter` built from
|
|
56
|
+
// them, and real S3 refuses a rule stating a `Prefix` alongside one.
|
|
57
|
+
const translated = rule["TagFilters"] === undefined
|
|
58
|
+
? simCfnS3TranslatedLifecycleFields
|
|
59
|
+
: new Set([...simCfnS3TranslatedLifecycleFields, "Prefix"]);
|
|
60
|
+
return Object.fromEntries(Object.entries(rule).filter(([name]) => !translated.has(name)));
|
|
54
61
|
}
|
|
55
62
|
/**
|
|
56
63
|
* The three flattened expiry fields, gathered under the one the request
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue, SimCfnTemplateValueRecord } from "../../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SimCfnValueShape } from "../../../../cloudformation/template/value/sim-cfn-value-shape.js";
|
|
3
|
+
interface SimCfnS3LifecycleFilterProperties {
|
|
4
|
+
readonly shape: SimCfnValueShape;
|
|
5
|
+
readonly rule: SimCfnTemplateValueRecord;
|
|
6
|
+
readonly path: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The `Filter` a rule's `TagFilters` states.
|
|
10
|
+
*
|
|
11
|
+
* CloudFormation puts the tags a rule filters on beside its `Prefix`, where the
|
|
12
|
+
* request holds both inside a `Filter`, so a rule stating tags is read into the
|
|
13
|
+
* shape the request takes. One tag and no prefix becomes a bare `Tag`, and
|
|
14
|
+
* anything more an `And` holding the prefix and the tags together, which is
|
|
15
|
+
* what real S3 requires of a rule scoped by more than one condition.
|
|
16
|
+
*
|
|
17
|
+
* A rule stating no tags keeps its `Prefix` where CloudFormation put it, and
|
|
18
|
+
* gets no `Filter` at all.
|
|
19
|
+
*/
|
|
20
|
+
export declare function readSimCfnS3LifecycleFilter(properties: SimCfnS3LifecycleFilterProperties): SimCfnTemplateValue | undefined;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `Filter` a rule's `TagFilters` states.
|
|
3
|
+
*
|
|
4
|
+
* CloudFormation puts the tags a rule filters on beside its `Prefix`, where the
|
|
5
|
+
* request holds both inside a `Filter`, so a rule stating tags is read into the
|
|
6
|
+
* shape the request takes. One tag and no prefix becomes a bare `Tag`, and
|
|
7
|
+
* anything more an `And` holding the prefix and the tags together, which is
|
|
8
|
+
* what real S3 requires of a rule scoped by more than one condition.
|
|
9
|
+
*
|
|
10
|
+
* A rule stating no tags keeps its `Prefix` where CloudFormation put it, and
|
|
11
|
+
* gets no `Filter` at all.
|
|
12
|
+
*/
|
|
13
|
+
export function readSimCfnS3LifecycleFilter(properties) {
|
|
14
|
+
const { shape, rule, path } = properties;
|
|
15
|
+
const declared = rule["TagFilters"];
|
|
16
|
+
if (declared === undefined) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
const tags = shape
|
|
20
|
+
.list(declared, `${path} TagFilters`)
|
|
21
|
+
.map((tag, index) => shape.record(tag, `${path} TagFilters[${index}]`));
|
|
22
|
+
const prefix = rule["Prefix"];
|
|
23
|
+
const only = tags.length === 1 ? tags[0] : undefined;
|
|
24
|
+
if (prefix === undefined && only !== undefined) {
|
|
25
|
+
return { Tag: only };
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
And: { ...(prefix !== undefined && { Prefix: prefix }), Tags: tags },
|
|
29
|
+
};
|
|
30
|
+
}
|
|
@@ -12,7 +12,7 @@ interface SimCfnS3BucketDeclaredConfigurationsProperties {
|
|
|
12
12
|
* The AWS::S3::Bucket properties that are read straight off the Resource and
|
|
13
13
|
* handed to a command.
|
|
14
14
|
*
|
|
15
|
-
*
|
|
15
|
+
* Six properties with one shape between them. Each is read from the Resource,
|
|
16
16
|
* left alone where the Resource omitted it, and otherwise applied through the
|
|
17
17
|
* command an SDK caller would reach, so a template and an SDK caller are
|
|
18
18
|
* validated identically. The event notification configuration is the one that
|
|
@@ -51,6 +51,19 @@ export declare class SimCfnS3BucketDeclaredConfigurations {
|
|
|
51
51
|
* Apply the lifecycle rules the Resource declares.
|
|
52
52
|
*/
|
|
53
53
|
applyLifecycle(): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Apply the default encryption the Resource declares.
|
|
56
|
+
*/
|
|
57
|
+
applyEncryption(): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Apply one declared property, or leave the Bucket alone where the Resource
|
|
60
|
+
* omitted it.
|
|
61
|
+
*
|
|
62
|
+
* The one absence check for all six of them lives here. Each property is
|
|
63
|
+
* otherwise the same shape: read it off the Resource, and hand it to the
|
|
64
|
+
* command an SDK caller would reach.
|
|
65
|
+
*/
|
|
66
|
+
private applyDeclared;
|
|
54
67
|
/**
|
|
55
68
|
* Read one declared property, or nothing where the Resource omitted it.
|
|
56
69
|
*
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SimCfnS3BucketEncryption } from "./encryption/sim-cfn-s3-bucket-encryption.js";
|
|
1
2
|
import { SimCfnS3BucketLifecycleConfiguration } from "./lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js";
|
|
2
3
|
import { SimCfnS3BucketObjectLockConfiguration } from "./lock/sim-cfn-s3-bucket-object-lock-configuration.js";
|
|
3
4
|
import { SimCfnS3BucketPublicAccessConfiguration } from "./public-access/sim-cfn-s3-bucket-public-access-configuration.js";
|
|
@@ -7,7 +8,7 @@ import { SimCfnS3BucketWebsiteConfiguration } from "./website/sim-cfn-s3-bucket-
|
|
|
7
8
|
* The AWS::S3::Bucket properties that are read straight off the Resource and
|
|
8
9
|
* handed to a command.
|
|
9
10
|
*
|
|
10
|
-
*
|
|
11
|
+
* Six properties with one shape between them. Each is read from the Resource,
|
|
11
12
|
* left alone where the Resource omitted it, and otherwise applied through the
|
|
12
13
|
* command an SDK caller would reach, so a template and an SDK caller are
|
|
13
14
|
* validated identically. The event notification configuration is the one that
|
|
@@ -31,28 +32,27 @@ export class SimCfnS3BucketDeclaredConfigurations {
|
|
|
31
32
|
* Apply the website configuration the Resource declares.
|
|
32
33
|
*/
|
|
33
34
|
async applyWebsite() {
|
|
34
|
-
|
|
35
|
-
if (WebsiteConfiguration !== undefined) {
|
|
35
|
+
await this.applyDeclared(SimCfnS3BucketWebsiteConfiguration, async (WebsiteConfiguration) => {
|
|
36
36
|
await this.simS3.putBucketWebsite({ input: { Bucket: this.bucketName, WebsiteConfiguration } }, this.options);
|
|
37
|
-
}
|
|
37
|
+
});
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Apply the Block Public Access settings the Resource declares.
|
|
41
41
|
*/
|
|
42
42
|
async applyPublicAccess() {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
await this.applyDeclared(SimCfnS3BucketPublicAccessConfiguration, async (PublicAccessBlockConfiguration) => {
|
|
44
|
+
await this.simS3.putPublicAccessBlock({
|
|
45
|
+
input: { Bucket: this.bucketName, PublicAccessBlockConfiguration },
|
|
46
|
+
}, this.options);
|
|
47
|
+
});
|
|
47
48
|
}
|
|
48
49
|
/**
|
|
49
50
|
* Apply the versioning configuration the Resource declares.
|
|
50
51
|
*/
|
|
51
52
|
async applyVersioning() {
|
|
52
|
-
|
|
53
|
-
if (VersioningConfiguration !== undefined) {
|
|
53
|
+
await this.applyDeclared(SimCfnS3BucketVersioningConfiguration, async (VersioningConfiguration) => {
|
|
54
54
|
await this.simS3.putBucketVersioning({ input: { Bucket: this.bucketName, VersioningConfiguration } }, this.options);
|
|
55
|
-
}
|
|
55
|
+
});
|
|
56
56
|
}
|
|
57
57
|
/**
|
|
58
58
|
* Apply the Object Lock configuration the Resource declares.
|
|
@@ -63,18 +63,43 @@ export class SimCfnS3BucketDeclaredConfigurations {
|
|
|
63
63
|
* the words an SDK caller is refused in.
|
|
64
64
|
*/
|
|
65
65
|
async applyObjectLock() {
|
|
66
|
-
|
|
67
|
-
if (ObjectLockConfiguration !== undefined) {
|
|
66
|
+
await this.applyDeclared(SimCfnS3BucketObjectLockConfiguration, async (ObjectLockConfiguration) => {
|
|
68
67
|
await this.simS3.putObjectLockConfiguration({ input: { Bucket: this.bucketName, ObjectLockConfiguration } }, this.options);
|
|
69
|
-
}
|
|
68
|
+
});
|
|
70
69
|
}
|
|
71
70
|
/**
|
|
72
71
|
* Apply the lifecycle rules the Resource declares.
|
|
73
72
|
*/
|
|
74
73
|
async applyLifecycle() {
|
|
75
|
-
|
|
76
|
-
if (LifecycleConfiguration !== undefined) {
|
|
74
|
+
await this.applyDeclared(SimCfnS3BucketLifecycleConfiguration, async (LifecycleConfiguration) => {
|
|
77
75
|
await this.simS3.putBucketLifecycleConfiguration({ input: { Bucket: this.bucketName, LifecycleConfiguration } }, this.options);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Apply the default encryption the Resource declares.
|
|
80
|
+
*/
|
|
81
|
+
async applyEncryption() {
|
|
82
|
+
await this.applyDeclared(SimCfnS3BucketEncryption, async (ServerSideEncryptionConfiguration) => {
|
|
83
|
+
await this.simS3.putBucketEncryption({
|
|
84
|
+
input: {
|
|
85
|
+
Bucket: this.bucketName,
|
|
86
|
+
ServerSideEncryptionConfiguration,
|
|
87
|
+
},
|
|
88
|
+
}, this.options);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Apply one declared property, or leave the Bucket alone where the Resource
|
|
93
|
+
* omitted it.
|
|
94
|
+
*
|
|
95
|
+
* The one absence check for all six of them lives here. Each property is
|
|
96
|
+
* otherwise the same shape: read it off the Resource, and hand it to the
|
|
97
|
+
* command an SDK caller would reach.
|
|
98
|
+
*/
|
|
99
|
+
async applyDeclared(Reader, apply) {
|
|
100
|
+
const declared = this.read(Reader);
|
|
101
|
+
if (declared !== undefined) {
|
|
102
|
+
await apply(declared);
|
|
78
103
|
}
|
|
79
104
|
}
|
|
80
105
|
/**
|
|
@@ -5,11 +5,9 @@ export declare const simulatedPropertyNames: ReadonlySet<string>;
|
|
|
5
5
|
/**
|
|
6
6
|
* Real AWS::S3::Bucket properties this simulation reads and does nothing with.
|
|
7
7
|
*
|
|
8
|
-
* Nothing this simulator models can tell the difference.
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* service reads a Bucket tag. So these are not recorded as ignored either: a
|
|
12
|
-
* report of differences that make no difference is one nobody can read.
|
|
8
|
+
* Nothing this simulator models can tell the difference. No simulated service
|
|
9
|
+
* reads a Bucket tag, so this is not recorded as ignored either: a report of
|
|
10
|
+
* differences that make no difference is one nobody can read.
|
|
13
11
|
*/
|
|
14
12
|
export declare const inertPropertyNames: ReadonlySet<string>;
|
|
15
13
|
import type { SimCfnSkippedPropertyRules } from "../../../cloudformation/resource/ignore/sim-cfn-skipped-property.type.js";
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* The AWS::S3::Bucket properties this simulation acts on.
|
|
3
3
|
*/
|
|
4
4
|
export const simulatedPropertyNames = new Set([
|
|
5
|
+
"BucketEncryption",
|
|
5
6
|
"BucketName",
|
|
6
7
|
"LifecycleConfiguration",
|
|
7
8
|
"ObjectLockConfiguration",
|
|
@@ -14,16 +15,11 @@ export const simulatedPropertyNames = new Set([
|
|
|
14
15
|
/**
|
|
15
16
|
* Real AWS::S3::Bucket properties this simulation reads and does nothing with.
|
|
16
17
|
*
|
|
17
|
-
* Nothing this simulator models can tell the difference.
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* service reads a Bucket tag. So these are not recorded as ignored either: a
|
|
21
|
-
* report of differences that make no difference is one nobody can read.
|
|
18
|
+
* Nothing this simulator models can tell the difference. No simulated service
|
|
19
|
+
* reads a Bucket tag, so this is not recorded as ignored either: a report of
|
|
20
|
+
* differences that make no difference is one nobody can read.
|
|
22
21
|
*/
|
|
23
|
-
export const inertPropertyNames = new Set([
|
|
24
|
-
"BucketEncryption",
|
|
25
|
-
"Tags",
|
|
26
|
-
]);
|
|
22
|
+
export const inertPropertyNames = new Set(["Tags"]);
|
|
27
23
|
import { validateSimCfnS3BucketReplication } from "./replication/sim-cfn-s3-bucket-replication-rules.js";
|
|
28
24
|
/**
|
|
29
25
|
* Real AWS::S3::Bucket properties this simulation does not model, with what
|
|
@@ -55,7 +51,8 @@ export const unsimulatedPropertyReasons = new Map([
|
|
|
55
51
|
],
|
|
56
52
|
[
|
|
57
53
|
"IntelligentTieringConfigurations",
|
|
58
|
-
"
|
|
54
|
+
"Objects are not moved between storage classes by access pattern, and " +
|
|
55
|
+
"only a lifecycle rule transitions one",
|
|
59
56
|
],
|
|
60
57
|
["InventoryConfigurations", "Bucket inventory reports are not simulated"],
|
|
61
58
|
["LoggingConfiguration", "server access logging is not simulated"],
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SimAwsResolvedCaller } from "../../../aws/caller/sim-aws-caller-resolver.js";
|
|
1
2
|
import type { SimIamInterServiceAuthZ } from "../../../iam/authorize/sim-iam-inter-service-auth-z.js";
|
|
2
3
|
import type { SimS3Bucket } from "../../bucket/sim-s3-bucket.js";
|
|
3
4
|
import type { SimS3RequestOptions } from "../sim-s3-request-options.js";
|
|
@@ -20,5 +21,9 @@ export interface SimS3AuthorizedAction {
|
|
|
20
21
|
* supplied as the condition keys a Bucket policy is usually written against.
|
|
21
22
|
* An omitted caller is passed through to sim IAM, so Account root fallback
|
|
22
23
|
* stays owned by IAM.
|
|
24
|
+
*
|
|
25
|
+
* The resolved caller is answered rather than discarded, because this is the
|
|
26
|
+
* only point in a request where the principal has been worked out, and an
|
|
27
|
+
* Object event notification has to say who caused it.
|
|
23
28
|
*/
|
|
24
|
-
export declare function simS3AuthorizeAction(request: SimS3AuthorizedAction):
|
|
29
|
+
export declare function simS3AuthorizeAction(request: SimS3AuthorizedAction): SimAwsResolvedCaller;
|