@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,4 +1,5 @@
|
|
|
1
1
|
import type { SimDynamoDbFilter } from "../../expression/filter/sim-dynamodb-filter.js";
|
|
2
|
+
import type { SimDynamoDbProjection } from "../../expression/projection/sim-dynamodb-projection.js";
|
|
2
3
|
import type { SimDynamoDbReadView } from "../../table/sim-dynamodb-read-view.js";
|
|
3
4
|
import type { SimDynamoDbAttributeValue } from "../item/item.types.js";
|
|
4
5
|
import type { SimDynamoDbItemPage } from "../item/sim-dynamodb-item-page.js";
|
|
@@ -15,6 +16,7 @@ export interface SimDynamoDbReadFields {
|
|
|
15
16
|
interface SimDynamoDbReadAnswerProperties {
|
|
16
17
|
readonly page: SimDynamoDbItemPage;
|
|
17
18
|
readonly filter: SimDynamoDbFilter | undefined;
|
|
19
|
+
readonly projection: SimDynamoDbProjection | undefined;
|
|
18
20
|
readonly select: SimDynamoDbSelect;
|
|
19
21
|
readonly view: SimDynamoDbReadView;
|
|
20
22
|
}
|
|
@@ -35,6 +37,7 @@ export declare class SimDynamoDbReadAnswer {
|
|
|
35
37
|
private readonly kept;
|
|
36
38
|
private readonly scannedCount;
|
|
37
39
|
private readonly lastEvaluatedKey;
|
|
40
|
+
private readonly projection;
|
|
38
41
|
private readonly select;
|
|
39
42
|
private readonly view;
|
|
40
43
|
constructor(properties: SimDynamoDbReadAnswerProperties);
|
|
@@ -49,10 +52,17 @@ export declare class SimDynamoDbReadAnswer {
|
|
|
49
52
|
/**
|
|
50
53
|
* One item as the read answers with it.
|
|
51
54
|
*
|
|
52
|
-
* A
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
55
|
+
* A `ProjectionExpression` names the attributes it wants, so it is applied to
|
|
56
|
+
* the whole item and the view is not asked to cut one first. On a global
|
|
57
|
+
* secondary index that changes nothing, since every path the projection names
|
|
58
|
+
* has already been checked against what the index projects. On a local
|
|
59
|
+
* secondary index it is what fetches an unprojected attribute from the base
|
|
60
|
+
* table, which is what real DynamoDB does for the same read.
|
|
61
|
+
*
|
|
62
|
+
* Without a projection, a read asking for whole items answers with the whole
|
|
63
|
+
* item, and anything else is cut to what the view carries. That is how a read
|
|
64
|
+
* of an index answers with the attributes that index projects rather than
|
|
65
|
+
* with everything. A read of the table cuts nothing either way.
|
|
56
66
|
*/
|
|
57
67
|
private answered;
|
|
58
68
|
}
|
|
@@ -15,6 +15,7 @@ export class SimDynamoDbReadAnswer {
|
|
|
15
15
|
kept;
|
|
16
16
|
scannedCount;
|
|
17
17
|
lastEvaluatedKey;
|
|
18
|
+
projection;
|
|
18
19
|
select;
|
|
19
20
|
view;
|
|
20
21
|
constructor(properties) {
|
|
@@ -22,6 +23,7 @@ export class SimDynamoDbReadAnswer {
|
|
|
22
23
|
this.scannedCount = evaluated.length;
|
|
23
24
|
this.kept = properties.filter?.applyTo(evaluated) ?? evaluated;
|
|
24
25
|
this.lastEvaluatedKey = properties.page.lastEvaluatedKey;
|
|
26
|
+
this.projection = properties.projection;
|
|
25
27
|
this.select = properties.select;
|
|
26
28
|
this.view = properties.view;
|
|
27
29
|
}
|
|
@@ -50,12 +52,22 @@ export class SimDynamoDbReadAnswer {
|
|
|
50
52
|
/**
|
|
51
53
|
* One item as the read answers with it.
|
|
52
54
|
*
|
|
53
|
-
* A
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
55
|
+
* A `ProjectionExpression` names the attributes it wants, so it is applied to
|
|
56
|
+
* the whole item and the view is not asked to cut one first. On a global
|
|
57
|
+
* secondary index that changes nothing, since every path the projection names
|
|
58
|
+
* has already been checked against what the index projects. On a local
|
|
59
|
+
* secondary index it is what fetches an unprojected attribute from the base
|
|
60
|
+
* table, which is what real DynamoDB does for the same read.
|
|
61
|
+
*
|
|
62
|
+
* Without a projection, a read asking for whole items answers with the whole
|
|
63
|
+
* item, and anything else is cut to what the view carries. That is how a read
|
|
64
|
+
* of an index answers with the attributes that index projects rather than
|
|
65
|
+
* with everything. A read of the table cuts nothing either way.
|
|
57
66
|
*/
|
|
58
67
|
answered(item) {
|
|
68
|
+
if (this.projection !== undefined) {
|
|
69
|
+
return this.projection.apply(item);
|
|
70
|
+
}
|
|
59
71
|
if (this.select.wholeItems) {
|
|
60
72
|
return item;
|
|
61
73
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { SimDynamoDb } from "../../sim-dynamodb.js";
|
|
2
|
+
import type { SimQueryCommandInput, SimQueryCommandOutput } from "../query/query.command.js";
|
|
3
|
+
import type { SimScanCommandInput } from "../scan/scan.command.js";
|
|
4
|
+
/**
|
|
5
|
+
* One way of reading a table, against `simDynamoDbStockedTableFactory`.
|
|
6
|
+
*
|
|
7
|
+
* A query carries a key condition of its own, so what a test writes is added to
|
|
8
|
+
* that rather than replacing it.
|
|
9
|
+
*/
|
|
10
|
+
export interface SimDynamoDbTableRead {
|
|
11
|
+
readonly operation: string;
|
|
12
|
+
readonly read: (simDynamoDb: SimDynamoDb, input: SimQueryCommandInput & SimScanCommandInput) => Promise<SimQueryCommandOutput>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Every way of reading a table, for a test that iterates them.
|
|
16
|
+
*/
|
|
17
|
+
export declare const simDynamoDbTableReads: readonly SimDynamoDbTableRead[];
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Test support for checking one rule on both of the operations it governs.
|
|
3
|
+
*
|
|
4
|
+
* `Select`, `ProjectionExpression` and the rest of the read parameters mean the
|
|
5
|
+
* same thing to a Query and to a Scan, and a rule proved on one of them says
|
|
6
|
+
* nothing about the other. Tests of those iterate this rather than being
|
|
7
|
+
* written twice.
|
|
8
|
+
*
|
|
9
|
+
* These helpers drive the simulator through structural command shapes rather
|
|
10
|
+
* than real SDK command objects, because this is source rather than a test
|
|
11
|
+
* file. The colocated tests cover SDK-shaped input.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* The values a query's own key condition needs, whatever the test adds.
|
|
15
|
+
*/
|
|
16
|
+
const keyConditionValues = { ":customer": { S: "c-1" } };
|
|
17
|
+
/**
|
|
18
|
+
* Every way of reading a table, for a test that iterates them.
|
|
19
|
+
*/
|
|
20
|
+
export const simDynamoDbTableReads = [
|
|
21
|
+
{
|
|
22
|
+
operation: "Query",
|
|
23
|
+
read: async (simDynamoDb, input) => simDynamoDb.query({
|
|
24
|
+
input: {
|
|
25
|
+
TableName: "OrdersTable",
|
|
26
|
+
KeyConditionExpression: "customerId = :customer",
|
|
27
|
+
...input,
|
|
28
|
+
ExpressionAttributeValues: {
|
|
29
|
+
...keyConditionValues,
|
|
30
|
+
...input.ExpressionAttributeValues,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
}),
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
operation: "Scan",
|
|
37
|
+
read: async (simDynamoDb, input) => simDynamoDb.scan({ input: { TableName: "OrdersTable", ...input } }),
|
|
38
|
+
},
|
|
39
|
+
];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SimDynamoDbFilter } from "../../expression/filter/sim-dynamodb-filter.js";
|
|
2
|
+
import type { SimDynamoDbProjection } from "../../expression/projection/sim-dynamodb-projection.js";
|
|
3
|
+
import type { SimScanCommandInput } from "./scan.command.js";
|
|
4
|
+
/**
|
|
5
|
+
* What a scan's expressions say, once both have been read.
|
|
6
|
+
*/
|
|
7
|
+
export interface SimDynamoDbScanExpressions {
|
|
8
|
+
readonly filter: SimDynamoDbFilter | undefined;
|
|
9
|
+
readonly projection: SimDynamoDbProjection | undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Read both expressions of a scan against one set of placeholders.
|
|
13
|
+
*
|
|
14
|
+
* `ExpressionAttributeNames` and `ExpressionAttributeValues` are shared between
|
|
15
|
+
* the filter and the projection, so they are checked once both have been read.
|
|
16
|
+
* A placeholder used by either counts as used, and one used by neither is
|
|
17
|
+
* refused.
|
|
18
|
+
*
|
|
19
|
+
* A scan that names neither expression is a different refusal. There is nothing
|
|
20
|
+
* for a placeholder to be unused in, which is the wording real DynamoDB uses
|
|
21
|
+
* for a request carrying parameters and no expression at all.
|
|
22
|
+
*
|
|
23
|
+
* Both are read before the table is reached, so an expression DynamoDB would
|
|
24
|
+
* refuse is refused whether or not the table is there. What is left is which
|
|
25
|
+
* attributes the view being read carries, which each of them is held to once
|
|
26
|
+
* the table has been found.
|
|
27
|
+
*/
|
|
28
|
+
export declare function readSimDynamoDbScanExpressions(input: SimScanCommandInput): SimDynamoDbScanExpressions;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { parseSimDynamoDbFilter } from "../../expression/filter/sim-dynamodb-filter-expression.js";
|
|
2
|
+
import { parseSimDynamoDbProjection } from "../../expression/projection/sim-dynamodb-projection-expression.js";
|
|
3
|
+
import { SimDynamoDbExpressionParameters } from "../../expression/sim-dynamodb-expression-parameters.js";
|
|
4
|
+
/**
|
|
5
|
+
* Read both expressions of a scan against one set of placeholders.
|
|
6
|
+
*
|
|
7
|
+
* `ExpressionAttributeNames` and `ExpressionAttributeValues` are shared between
|
|
8
|
+
* the filter and the projection, so they are checked once both have been read.
|
|
9
|
+
* A placeholder used by either counts as used, and one used by neither is
|
|
10
|
+
* refused.
|
|
11
|
+
*
|
|
12
|
+
* A scan that names neither expression is a different refusal. There is nothing
|
|
13
|
+
* for a placeholder to be unused in, which is the wording real DynamoDB uses
|
|
14
|
+
* for a request carrying parameters and no expression at all.
|
|
15
|
+
*
|
|
16
|
+
* Both are read before the table is reached, so an expression DynamoDB would
|
|
17
|
+
* refuse is refused whether or not the table is there. What is left is which
|
|
18
|
+
* attributes the view being read carries, which each of them is held to once
|
|
19
|
+
* the table has been found.
|
|
20
|
+
*/
|
|
21
|
+
export function readSimDynamoDbScanExpressions(input) {
|
|
22
|
+
if (input.FilterExpression === undefined &&
|
|
23
|
+
input.ProjectionExpression === undefined) {
|
|
24
|
+
SimDynamoDbExpressionParameters.assertNoneWithout(input);
|
|
25
|
+
return { filter: undefined, projection: undefined };
|
|
26
|
+
}
|
|
27
|
+
const parameters = new SimDynamoDbExpressionParameters(input);
|
|
28
|
+
const filter = filterIn(input.FilterExpression, parameters);
|
|
29
|
+
const projection = projectionIn(input.ProjectionExpression, parameters);
|
|
30
|
+
parameters.assertAllUsed();
|
|
31
|
+
return { filter, projection };
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Read the filter a scan drops read items by, if it names one.
|
|
35
|
+
*/
|
|
36
|
+
function filterIn(expression, parameters) {
|
|
37
|
+
if (expression === undefined) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
return parseSimDynamoDbFilter(expression, parameters);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Read the parts of an item a scan answers with, if it names them.
|
|
44
|
+
*/
|
|
45
|
+
function projectionIn(expression, parameters) {
|
|
46
|
+
if (expression === undefined) {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
return parseSimDynamoDbProjection(expression, parameters);
|
|
50
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { readSimDynamoDbFilter } from "../../expression/filter/sim-dynamodb-filter-expression.js";
|
|
2
1
|
import { SimDynamoDbItemPage } from "../item/sim-dynamodb-item-page.js";
|
|
3
2
|
import { SimDynamoDbReadAnswer } from "../read/sim-dynamodb-read-answer.js";
|
|
4
3
|
import { assertSimDynamoDbConsistentReadAnswerable } from "../read/sim-dynamodb-consistent-read.js";
|
|
5
4
|
import { SimDynamoDbSelect } from "../read/sim-dynamodb-select.js";
|
|
5
|
+
import { readSimDynamoDbScanExpressions } from "./sim-dynamodb-scan-expressions.js";
|
|
6
6
|
import { readSimDynamoDbScanSegment } from "./sim-dynamodb-scan-segment-input.js";
|
|
7
7
|
import { readSimDynamoDbScanStartKey } from "./sim-dynamodb-scan-start-key.js";
|
|
8
8
|
import { refuseUnsimulatedScanInput } from "./sim-dynamodb-unsimulated-scan-input.js";
|
|
@@ -33,12 +33,12 @@ export class SimDynamoDbScan {
|
|
|
33
33
|
// for at all.
|
|
34
34
|
const select = SimDynamoDbSelect.from(input);
|
|
35
35
|
refuseUnsimulatedScanInput(input);
|
|
36
|
-
// The segment and the
|
|
36
|
+
// The segment and the expressions are read before the table is reached, so
|
|
37
37
|
// input DynamoDB would refuse is refused whether or not the table is
|
|
38
38
|
// there. A scan narrows nothing, so unlike a query its filter may name any
|
|
39
39
|
// attribute, including a key attribute, and needs no key schema to check.
|
|
40
40
|
const segment = readSimDynamoDbScanSegment(input);
|
|
41
|
-
const
|
|
41
|
+
const expressions = readSimDynamoDbScanExpressions(input);
|
|
42
42
|
const table = this.access.required("dynamodb:Scan", input.TableName, options?.caller);
|
|
43
43
|
// What is being read is settled here: the table, or one of its indexes.
|
|
44
44
|
const view = table.view(input.IndexName);
|
|
@@ -47,7 +47,8 @@ export class SimDynamoDbScan {
|
|
|
47
47
|
// two index kinds is being read, so it waits for the view.
|
|
48
48
|
assertSimDynamoDbConsistentReadAnswerable(input, view);
|
|
49
49
|
select.assertAnswerableBy(view);
|
|
50
|
-
filter?.assertNamesOnlyCarried(view);
|
|
50
|
+
expressions.filter?.assertNamesOnlyCarried(view);
|
|
51
|
+
expressions.projection?.assertNamesOnlyCarried(view);
|
|
51
52
|
// The token names a place in this view's scan order, so it can only be
|
|
52
53
|
// checked once that order is known.
|
|
53
54
|
const after = readSimDynamoDbScanStartKey({
|
|
@@ -62,7 +63,13 @@ export class SimDynamoDbScan {
|
|
|
62
63
|
view,
|
|
63
64
|
});
|
|
64
65
|
return {
|
|
65
|
-
...new SimDynamoDbReadAnswer({
|
|
66
|
+
...new SimDynamoDbReadAnswer({
|
|
67
|
+
page,
|
|
68
|
+
filter: expressions.filter,
|
|
69
|
+
projection: expressions.projection,
|
|
70
|
+
select,
|
|
71
|
+
view,
|
|
72
|
+
}).fields(),
|
|
66
73
|
$metadata: {},
|
|
67
74
|
};
|
|
68
75
|
}
|
|
@@ -8,8 +8,8 @@ import type { SimScanCommandInput } from "./scan.command.js";
|
|
|
8
8
|
* application reading the page.
|
|
9
9
|
*
|
|
10
10
|
* `ExpressionAttributeNames` and `ExpressionAttributeValues` are not among
|
|
11
|
-
* them. They are the placeholders of the `FilterExpression
|
|
12
|
-
*
|
|
13
|
-
* way it is on AWS.
|
|
11
|
+
* them. They are the placeholders of the `FilterExpression` and the
|
|
12
|
+
* `ProjectionExpression`, and a request carrying them with neither expression
|
|
13
|
+
* to use them in is a ValidationException the way it is on AWS.
|
|
14
14
|
*/
|
|
15
15
|
export declare function refuseUnsimulatedScanInput(input: SimScanCommandInput): void;
|
|
@@ -8,13 +8,12 @@ import { SimDynamoDbUnsimulatedInput } from "../item/sim-dynamodb-unsimulated-in
|
|
|
8
8
|
* application reading the page.
|
|
9
9
|
*
|
|
10
10
|
* `ExpressionAttributeNames` and `ExpressionAttributeValues` are not among
|
|
11
|
-
* them. They are the placeholders of the `FilterExpression
|
|
12
|
-
*
|
|
13
|
-
* way it is on AWS.
|
|
11
|
+
* them. They are the placeholders of the `FilterExpression` and the
|
|
12
|
+
* `ProjectionExpression`, and a request carrying them with neither expression
|
|
13
|
+
* to use them in is a ValidationException the way it is on AWS.
|
|
14
14
|
*/
|
|
15
15
|
export function refuseUnsimulatedScanInput(input) {
|
|
16
16
|
const unsimulated = new SimDynamoDbUnsimulatedInput("Scan");
|
|
17
|
-
unsimulated.refuse(input.ProjectionExpression !== undefined, "ProjectionExpression", "answering with whole items where part of them was asked for");
|
|
18
17
|
unsimulated.refuse((input.AttributesToGet ?? []).length > 0, "AttributesToGet", "answering with whole items where part of them was asked for");
|
|
19
18
|
unsimulated.refuseNamed(input.ScanFilter, "ScanFilter", "answering with the items a legacy filter would have dropped");
|
|
20
19
|
unsimulated.refuse(input.ConditionalOperator !== undefined, "ConditionalOperator", "joining the legacy conditions it applies to");
|
|
@@ -1,23 +1,12 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { SimDynamoDbExpressionParameters } from "../sim-dynamodb-expression-parameters.js";
|
|
1
|
+
import type { SimDynamoDbExpressionParameters } from "../sim-dynamodb-expression-parameters.js";
|
|
3
2
|
import { SimDynamoDbFilter } from "./sim-dynamodb-filter.js";
|
|
4
|
-
interface SimDynamoDbFilterRequest extends SimDynamoDbExpressionParameterInput {
|
|
5
|
-
readonly FilterExpression?: string | undefined;
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
* Read the filter a read drops items by, if it names one.
|
|
9
|
-
*
|
|
10
|
-
* A request with no FilterExpression answers with every item it read, so there
|
|
11
|
-
* is nothing to drop by.
|
|
12
|
-
*/
|
|
13
|
-
export declare function readSimDynamoDbFilter(request: SimDynamoDbFilterRequest): SimDynamoDbFilter | undefined;
|
|
14
3
|
/**
|
|
15
4
|
* Read one FilterExpression against placeholders that have already been
|
|
16
5
|
* gathered.
|
|
17
6
|
*
|
|
18
|
-
*
|
|
19
|
-
* same `ExpressionAttributeNames` and
|
|
20
|
-
*
|
|
7
|
+
* Every read that can carry a filter can carry another expression alongside it,
|
|
8
|
+
* and they draw on the same `ExpressionAttributeNames` and
|
|
9
|
+
* `ExpressionAttributeValues`, so the placeholders are gathered by the caller
|
|
10
|
+
* and checked once every expression has been read.
|
|
21
11
|
*/
|
|
22
12
|
export declare function parseSimDynamoDbFilter(expression: string, parameters: SimDynamoDbExpressionParameters): SimDynamoDbFilter;
|
|
23
|
-
export {};
|
|
@@ -1,31 +1,14 @@
|
|
|
1
1
|
import { simDynamoDbConditionParser } from "../condition/sim-dynamodb-condition-grammar.js";
|
|
2
|
-
import { SimDynamoDbExpressionParameters } from "../sim-dynamodb-expression-parameters.js";
|
|
3
2
|
import { SimDynamoDbFilter } from "./sim-dynamodb-filter.js";
|
|
4
3
|
const expressionName = "FilterExpression";
|
|
5
|
-
/**
|
|
6
|
-
* Read the filter a read drops items by, if it names one.
|
|
7
|
-
*
|
|
8
|
-
* A request with no FilterExpression answers with every item it read, so there
|
|
9
|
-
* is nothing to drop by.
|
|
10
|
-
*/
|
|
11
|
-
export function readSimDynamoDbFilter(request) {
|
|
12
|
-
const expression = request.FilterExpression;
|
|
13
|
-
if (expression === undefined) {
|
|
14
|
-
SimDynamoDbExpressionParameters.assertNoneWithout(request);
|
|
15
|
-
return undefined;
|
|
16
|
-
}
|
|
17
|
-
const parameters = new SimDynamoDbExpressionParameters(request);
|
|
18
|
-
const filter = parseSimDynamoDbFilter(expression, parameters);
|
|
19
|
-
parameters.assertAllUsed();
|
|
20
|
-
return filter;
|
|
21
|
-
}
|
|
22
4
|
/**
|
|
23
5
|
* Read one FilterExpression against placeholders that have already been
|
|
24
6
|
* gathered.
|
|
25
7
|
*
|
|
26
|
-
*
|
|
27
|
-
* same `ExpressionAttributeNames` and
|
|
28
|
-
*
|
|
8
|
+
* Every read that can carry a filter can carry another expression alongside it,
|
|
9
|
+
* and they draw on the same `ExpressionAttributeNames` and
|
|
10
|
+
* `ExpressionAttributeValues`, so the placeholders are gathered by the caller
|
|
11
|
+
* and checked once every expression has been read.
|
|
29
12
|
*/
|
|
30
13
|
export function parseSimDynamoDbFilter(expression, parameters) {
|
|
31
14
|
const parser = simDynamoDbConditionParser(expressionName, expression, parameters);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SimDynamoDbExpressionParameterInput } from "../sim-dynamodb-expression-parameters.js";
|
|
2
|
+
import { SimDynamoDbExpressionParameters } from "../sim-dynamodb-expression-parameters.js";
|
|
2
3
|
import { SimDynamoDbProjection } from "./sim-dynamodb-projection.js";
|
|
3
4
|
interface SimDynamoDbProjectionRequest extends SimDynamoDbExpressionParameterInput {
|
|
4
5
|
readonly ProjectionExpression?: string | undefined;
|
|
@@ -8,6 +9,20 @@ interface SimDynamoDbProjectionRequest extends SimDynamoDbExpressionParameterInp
|
|
|
8
9
|
*
|
|
9
10
|
* A request with no ProjectionExpression asks for the whole item, so there is
|
|
10
11
|
* nothing to project.
|
|
12
|
+
*
|
|
13
|
+
* This is the form for a request whose projection is its only expression, which
|
|
14
|
+
* is every read that names one item or a list of them. A query or a scan can
|
|
15
|
+
* carry a filter alongside its projection, and reads both against one set of
|
|
16
|
+
* placeholders through `parseSimDynamoDbProjection`.
|
|
11
17
|
*/
|
|
12
18
|
export declare function readSimDynamoDbProjection(request: SimDynamoDbProjectionRequest): SimDynamoDbProjection | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Read one ProjectionExpression against placeholders that have already been
|
|
21
|
+
* gathered.
|
|
22
|
+
*
|
|
23
|
+
* A query carries a key condition and may carry a filter alongside its
|
|
24
|
+
* projection, and all three draw on the same `ExpressionAttributeNames`, so the
|
|
25
|
+
* placeholders are checked once every expression has been read.
|
|
26
|
+
*/
|
|
27
|
+
export declare function parseSimDynamoDbProjection(expression: string, parameters: SimDynamoDbExpressionParameters): SimDynamoDbProjection;
|
|
13
28
|
export {};
|
|
@@ -9,6 +9,11 @@ const expressionName = "ProjectionExpression";
|
|
|
9
9
|
*
|
|
10
10
|
* A request with no ProjectionExpression asks for the whole item, so there is
|
|
11
11
|
* nothing to project.
|
|
12
|
+
*
|
|
13
|
+
* This is the form for a request whose projection is its only expression, which
|
|
14
|
+
* is every read that names one item or a list of them. A query or a scan can
|
|
15
|
+
* carry a filter alongside its projection, and reads both against one set of
|
|
16
|
+
* placeholders through `parseSimDynamoDbProjection`.
|
|
12
17
|
*/
|
|
13
18
|
export function readSimDynamoDbProjection(request) {
|
|
14
19
|
const expression = request.ProjectionExpression;
|
|
@@ -17,8 +22,20 @@ export function readSimDynamoDbProjection(request) {
|
|
|
17
22
|
return undefined;
|
|
18
23
|
}
|
|
19
24
|
const parameters = new SimDynamoDbExpressionParameters(request);
|
|
20
|
-
const
|
|
25
|
+
const projection = parseSimDynamoDbProjection(expression, parameters);
|
|
21
26
|
parameters.assertAllUsed();
|
|
27
|
+
return projection;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Read one ProjectionExpression against placeholders that have already been
|
|
31
|
+
* gathered.
|
|
32
|
+
*
|
|
33
|
+
* A query carries a key condition and may carry a filter alongside its
|
|
34
|
+
* projection, and all three draw on the same `ExpressionAttributeNames`, so the
|
|
35
|
+
* placeholders are checked once every expression has been read.
|
|
36
|
+
*/
|
|
37
|
+
export function parseSimDynamoDbProjection(expression, parameters) {
|
|
38
|
+
const paths = projectedPaths(SimDynamoDbExpressionTokens.of(expressionName, expression, "the expression names no attributes, and an expression cannot be empty"), parameters.names);
|
|
22
39
|
return new SimDynamoDbProjection({ expressionName, paths });
|
|
23
40
|
}
|
|
24
41
|
/**
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SimDynamoDbItem } from "../../item/sim-dynamodb-item.js";
|
|
2
|
+
import type { SimDynamoDbReadView } from "../../table/sim-dynamodb-read-view.js";
|
|
2
3
|
import type { SimDynamoDbDocumentPath } from "../sim-dynamodb-document-path.js";
|
|
3
4
|
interface SimDynamoDbProjectionProperties {
|
|
4
5
|
readonly expressionName: string;
|
|
@@ -12,7 +13,19 @@ interface SimDynamoDbProjectionProperties {
|
|
|
12
13
|
*/
|
|
13
14
|
export declare class SimDynamoDbProjection {
|
|
14
15
|
private readonly root;
|
|
16
|
+
private readonly paths;
|
|
15
17
|
constructor(properties: SimDynamoDbProjectionProperties);
|
|
18
|
+
/**
|
|
19
|
+
* Refuse a projection naming an attribute the view being read does not carry.
|
|
20
|
+
*
|
|
21
|
+
* A global secondary index holds only what it projects, so a path outside
|
|
22
|
+
* that would leave the attribute out of every item it answers with. An
|
|
23
|
+
* attribute quietly missing reads as an item that happens not to have it,
|
|
24
|
+
* which is the answer a projection used as an allow-list must never give. A
|
|
25
|
+
* local secondary index fetches from the base table, so any path is nameable
|
|
26
|
+
* there.
|
|
27
|
+
*/
|
|
28
|
+
assertNamesOnlyCarried(view: SimDynamoDbReadView): void;
|
|
16
29
|
/**
|
|
17
30
|
* Cut an item down to what this projection asked for.
|
|
18
31
|
*
|
|
@@ -8,12 +8,27 @@ import { SimDynamoDbProjectionNode } from "./sim-dynamodb-projection-node.js";
|
|
|
8
8
|
*/
|
|
9
9
|
export class SimDynamoDbProjection {
|
|
10
10
|
root;
|
|
11
|
+
paths;
|
|
11
12
|
constructor(properties) {
|
|
12
13
|
this.root = new SimDynamoDbProjectionNode(properties.expressionName);
|
|
14
|
+
this.paths = properties.paths;
|
|
13
15
|
for (const path of properties.paths) {
|
|
14
16
|
this.root.add(path);
|
|
15
17
|
}
|
|
16
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Refuse a projection naming an attribute the view being read does not carry.
|
|
21
|
+
*
|
|
22
|
+
* A global secondary index holds only what it projects, so a path outside
|
|
23
|
+
* that would leave the attribute out of every item it answers with. An
|
|
24
|
+
* attribute quietly missing reads as an item that happens not to have it,
|
|
25
|
+
* which is the answer a projection used as an allow-list must never give. A
|
|
26
|
+
* local secondary index fetches from the base table, so any path is nameable
|
|
27
|
+
* there.
|
|
28
|
+
*/
|
|
29
|
+
assertNamesOnlyCarried(view) {
|
|
30
|
+
view.assertCarriesPaths(this.paths);
|
|
31
|
+
}
|
|
17
32
|
/**
|
|
18
33
|
* Cut an item down to what this projection asked for.
|
|
19
34
|
*
|
|
@@ -73,8 +73,7 @@ export class SimDynamoDbIndexUpdate {
|
|
|
73
73
|
.map((entry) => deletedIndexName(entry))
|
|
74
74
|
.filter((name) => name !== undefined);
|
|
75
75
|
if (created.length + deleted.length > 1) {
|
|
76
|
-
throw new SimDynamoDbValidationException("
|
|
77
|
-
"UpdateTable operation");
|
|
76
|
+
throw new SimDynamoDbValidationException("Cannot perform more than one GSI creation or deletion in a single update");
|
|
78
77
|
}
|
|
79
78
|
return new this({ created: created.at(0), deletedName: deleted.at(0) });
|
|
80
79
|
}
|
|
@@ -38,6 +38,8 @@ export class SimCfnLambdaEventSourceMappingProperties {
|
|
|
38
38
|
BatchSize: this.parser.optionalNumber(this.resource, this.properties["BatchSize"], "BatchSize"),
|
|
39
39
|
Enabled: this.parser.optionalBoolean(this.resource, this.properties["Enabled"], "Enabled"),
|
|
40
40
|
MaximumBatchingWindowInSeconds: this.parser.optionalNumber(this.resource, this.properties["MaximumBatchingWindowInSeconds"], "MaximumBatchingWindowInSeconds"),
|
|
41
|
+
MaximumRetryAttempts: this.parser.optionalNumber(this.resource, this.properties["MaximumRetryAttempts"], "MaximumRetryAttempts"),
|
|
42
|
+
MaximumRecordAgeInSeconds: this.parser.optionalNumber(this.resource, this.properties["MaximumRecordAgeInSeconds"], "MaximumRecordAgeInSeconds"),
|
|
41
43
|
StartingPosition: this.parser.optionalString(this.resource, this.properties["StartingPosition"], "StartingPosition"),
|
|
42
44
|
StartingPositionTimestamp: this.startingPositionTimestamp(),
|
|
43
45
|
FunctionResponseTypes: this.functionResponseTypes(),
|
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
* unsimulated ones because whether a mapping may carry one is the event
|
|
6
6
|
* source's own rule: a stream has to be given a position and a queue is refused
|
|
7
7
|
* for naming one. That is decided by CreateEventSourceMapping, which knows
|
|
8
|
-
* which source the ARN names, so both are read and passed on.
|
|
8
|
+
* which source the ARN names, so both are read and passed on. The two
|
|
9
|
+
* failed-batch limits are read for the same reason: a stream mapping keeps them
|
|
10
|
+
* and a queue mapping is refused for naming one.
|
|
9
11
|
*/
|
|
10
12
|
const simulatedPropertyNames = new Set([
|
|
11
13
|
"BatchSize",
|
|
@@ -14,6 +16,8 @@ const simulatedPropertyNames = new Set([
|
|
|
14
16
|
"FunctionName",
|
|
15
17
|
"FunctionResponseTypes",
|
|
16
18
|
"MaximumBatchingWindowInSeconds",
|
|
19
|
+
"MaximumRecordAgeInSeconds",
|
|
20
|
+
"MaximumRetryAttempts",
|
|
17
21
|
"StartingPosition",
|
|
18
22
|
"StartingPositionTimestamp",
|
|
19
23
|
]);
|
|
@@ -32,8 +36,6 @@ const unsimulatedPropertyNames = new Set([
|
|
|
32
36
|
"DocumentDBEventSourceConfig",
|
|
33
37
|
"FilterCriteria",
|
|
34
38
|
"KmsKeyArn",
|
|
35
|
-
"MaximumRecordAgeInSeconds",
|
|
36
|
-
"MaximumRetryAttempts",
|
|
37
39
|
"MetricsConfig",
|
|
38
40
|
"ParallelizationFactor",
|
|
39
41
|
"ProvisionedPollerConfig",
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../../cloudformation/resource/sim-cfn-resource.js";
|
|
2
|
+
import type { SimCfnTemplateValue } from "../../../cloudformation/template/value/sim-cfn-template-value.js";
|
|
3
|
+
import type { SimLambdaFunctionUrlCors } from "../../function/url/sim-lambda-function-url-cors.js";
|
|
4
|
+
import type { SimCfnLambdaPropertyParser } from "../function/sim-cfn-lambda-property-parser.js";
|
|
5
|
+
interface SimCfnLambdaUrlCorsProperties {
|
|
6
|
+
readonly parser: SimCfnLambdaPropertyParser;
|
|
7
|
+
readonly resource: SimCfnResource;
|
|
8
|
+
readonly value: SimCfnTemplateValue | undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Read the `Cors` block of an `AWS::Lambda::Url` Resource.
|
|
12
|
+
*
|
|
13
|
+
* The members go to `CreateFunctionUrlConfig` as they are written. The bounds
|
|
14
|
+
* Lambda puts on them are applied there, once. This reader settles only the
|
|
15
|
+
* template question, whether each property is the shape CloudFormation says it
|
|
16
|
+
* is.
|
|
17
|
+
*
|
|
18
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html
|
|
19
|
+
*/
|
|
20
|
+
export declare function simCfnLambdaUrlCors(properties: SimCfnLambdaUrlCorsProperties): SimLambdaFunctionUrlCors | undefined;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { isRecord } from "../../../../util/type-guard/record.js";
|
|
2
|
+
/**
|
|
3
|
+
* Read the `Cors` block of an `AWS::Lambda::Url` Resource.
|
|
4
|
+
*
|
|
5
|
+
* The members go to `CreateFunctionUrlConfig` as they are written. The bounds
|
|
6
|
+
* Lambda puts on them are applied there, once. This reader settles only the
|
|
7
|
+
* template question, whether each property is the shape CloudFormation says it
|
|
8
|
+
* is.
|
|
9
|
+
*
|
|
10
|
+
* https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html
|
|
11
|
+
*/
|
|
12
|
+
export function simCfnLambdaUrlCors(properties) {
|
|
13
|
+
const { parser, resource, value } = properties;
|
|
14
|
+
if (value === undefined) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
if (!isRecord(value)) {
|
|
18
|
+
throw parser.invalidPropertyError(resource, "Cors", "an object");
|
|
19
|
+
}
|
|
20
|
+
const cors = value;
|
|
21
|
+
// A member the template said nothing about is left out. What the Lambda API
|
|
22
|
+
// reports back is then what the template wrote.
|
|
23
|
+
return withoutAbsentMembers({
|
|
24
|
+
AllowCredentials: parser.optionalBoolean(resource, cors["AllowCredentials"], "Cors.AllowCredentials"),
|
|
25
|
+
AllowHeaders: parser.optionalStringList(resource, cors["AllowHeaders"], "Cors.AllowHeaders"),
|
|
26
|
+
AllowMethods: parser.optionalStringList(resource, cors["AllowMethods"], "Cors.AllowMethods"),
|
|
27
|
+
AllowOrigins: parser.optionalStringList(resource, cors["AllowOrigins"], "Cors.AllowOrigins"),
|
|
28
|
+
ExposeHeaders: parser.optionalStringList(resource, cors["ExposeHeaders"], "Cors.ExposeHeaders"),
|
|
29
|
+
MaxAge: parser.optionalNumber(resource, cors["MaxAge"], "Cors.MaxAge"),
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Drop the members the template did not state.
|
|
34
|
+
*/
|
|
35
|
+
function withoutAbsentMembers(cors) {
|
|
36
|
+
return Object.fromEntries(Object.entries(cors).filter(([, member]) => member !== undefined));
|
|
37
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
2
|
import { SimCfnLambdaPropertyParser } from "../function/sim-cfn-lambda-property-parser.js";
|
|
3
|
+
import { simCfnLambdaUrlCors } from "./sim-cfn-lambda-url-cors.js";
|
|
3
4
|
import { simCfnLambdaTargetFunctionName } from "../function/sim-cfn-lambda-target-function.js";
|
|
4
5
|
/**
|
|
5
6
|
* Creates simulated Lambda Function URLs from CloudFormation Resources.
|
|
@@ -25,6 +26,11 @@ export class SimCfnLambdaUrlCreator {
|
|
|
25
26
|
FunctionName: functionName,
|
|
26
27
|
AuthType: this.propertyParser.requiredString(resource, properties["AuthType"], "AuthType"),
|
|
27
28
|
InvokeMode: this.propertyParser.optionalString(resource, properties["InvokeMode"], "InvokeMode"),
|
|
29
|
+
Cors: simCfnLambdaUrlCors({
|
|
30
|
+
parser: this.propertyParser,
|
|
31
|
+
resource,
|
|
32
|
+
value: properties["Cors"],
|
|
33
|
+
}),
|
|
28
34
|
},
|
|
29
35
|
}, options);
|
|
30
36
|
const functionUrl = this.lambda.getSimFunctionUrl(functionName);
|