@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
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The bounds Lambda publishes for each list member of a `Cors` block.
|
|
3
|
+
*/
|
|
4
|
+
export const corsListConstraints = [
|
|
5
|
+
{
|
|
6
|
+
member: "AllowHeaders",
|
|
7
|
+
field: "cors.allowHeaders",
|
|
8
|
+
maxItems: 100,
|
|
9
|
+
minLength: 0,
|
|
10
|
+
maxLength: 1024,
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
member: "AllowMethods",
|
|
14
|
+
field: "cors.allowMethods",
|
|
15
|
+
maxItems: 6,
|
|
16
|
+
minLength: 0,
|
|
17
|
+
maxLength: 6,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
member: "AllowOrigins",
|
|
21
|
+
field: "cors.allowOrigins",
|
|
22
|
+
maxItems: 100,
|
|
23
|
+
minLength: 1,
|
|
24
|
+
maxLength: 253,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
member: "ExposeHeaders",
|
|
28
|
+
field: "cors.exposeHeaders",
|
|
29
|
+
maxItems: 100,
|
|
30
|
+
minLength: 0,
|
|
31
|
+
maxLength: 1024,
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
/**
|
|
35
|
+
* The bound a list broke, worded as Lambda words it, or nothing when the list
|
|
36
|
+
* is within every bound.
|
|
37
|
+
*/
|
|
38
|
+
export function corsListViolation(values, constraint) {
|
|
39
|
+
const { maxItems, minLength, maxLength } = constraint;
|
|
40
|
+
if (values.length > maxItems) {
|
|
41
|
+
return `Member must have length less than or equal to ${String(maxItems)}`;
|
|
42
|
+
}
|
|
43
|
+
const outOfRange = values.some((value) => value.length < minLength || value.length > maxLength);
|
|
44
|
+
return outOfRange
|
|
45
|
+
? "Member must satisfy constraint: [Member must have length less than " +
|
|
46
|
+
`or equal to ${String(maxLength)}, Member must have length greater ` +
|
|
47
|
+
`than or equal to ${String(minLength)}]`
|
|
48
|
+
: undefined;
|
|
49
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SimLambdaFunctionUrlCors } from "../../function/url/sim-lambda-function-url-cors.js";
|
|
2
|
+
/**
|
|
3
|
+
* Validates the `Cors` block of Function URL config command input.
|
|
4
|
+
*
|
|
5
|
+
* Every check here is against a bound real Lambda publishes. A configuration
|
|
6
|
+
* this accepts is one the API would have taken. Nothing else is checked,
|
|
7
|
+
* because a refusal the real service would not make costs a working
|
|
8
|
+
* deployment.
|
|
9
|
+
*
|
|
10
|
+
* The check runs before the Function URL is created or updated, leaving a
|
|
11
|
+
* refused configuration with the URL as it was.
|
|
12
|
+
*/
|
|
13
|
+
export declare class FunctionUrlCorsInputParser {
|
|
14
|
+
/**
|
|
15
|
+
* Parse an optional `Cors` block, which every Function URL config command
|
|
16
|
+
* allows a caller to leave out.
|
|
17
|
+
*/
|
|
18
|
+
parseOptional(cors: SimLambdaFunctionUrlCors | undefined): SimLambdaFunctionUrlCors | undefined;
|
|
19
|
+
private checkMaxAge;
|
|
20
|
+
private maxAgeViolation;
|
|
21
|
+
/**
|
|
22
|
+
* Fail the way Lambda fails a request that broke one bound.
|
|
23
|
+
*/
|
|
24
|
+
private refuse;
|
|
25
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { SimLambdaValidationException } from "../../error/sim-lambda.error.js";
|
|
2
|
+
import { corsListConstraints, corsListViolation, } from "./function-url-cors-constraints.js";
|
|
3
|
+
const maxAgeSeconds = 86_400;
|
|
4
|
+
/**
|
|
5
|
+
* Validates the `Cors` block of Function URL config command input.
|
|
6
|
+
*
|
|
7
|
+
* Every check here is against a bound real Lambda publishes. A configuration
|
|
8
|
+
* this accepts is one the API would have taken. Nothing else is checked,
|
|
9
|
+
* because a refusal the real service would not make costs a working
|
|
10
|
+
* deployment.
|
|
11
|
+
*
|
|
12
|
+
* The check runs before the Function URL is created or updated, leaving a
|
|
13
|
+
* refused configuration with the URL as it was.
|
|
14
|
+
*/
|
|
15
|
+
export class FunctionUrlCorsInputParser {
|
|
16
|
+
/**
|
|
17
|
+
* Parse an optional `Cors` block, which every Function URL config command
|
|
18
|
+
* allows a caller to leave out.
|
|
19
|
+
*/
|
|
20
|
+
parseOptional(cors) {
|
|
21
|
+
if (cors === undefined) {
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
for (const constraint of corsListConstraints) {
|
|
25
|
+
const values = cors[constraint.member];
|
|
26
|
+
if (values !== undefined) {
|
|
27
|
+
this.refuse(`[${values.join(", ")}]`, constraint.field, corsListViolation(values, constraint));
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
this.checkMaxAge(cors.MaxAge);
|
|
31
|
+
return cors;
|
|
32
|
+
}
|
|
33
|
+
checkMaxAge(maxAge) {
|
|
34
|
+
if (maxAge === undefined) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.refuse(String(maxAge), "cors.maxAge", this.maxAgeViolation(maxAge));
|
|
38
|
+
}
|
|
39
|
+
maxAgeViolation(maxAge) {
|
|
40
|
+
if (maxAge > maxAgeSeconds) {
|
|
41
|
+
return `Member must have value less than or equal to ${String(maxAgeSeconds)}`;
|
|
42
|
+
}
|
|
43
|
+
return maxAge < 0
|
|
44
|
+
? "Member must have value greater than or equal to 0"
|
|
45
|
+
: undefined;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Fail the way Lambda fails a request that broke one bound.
|
|
49
|
+
*/
|
|
50
|
+
refuse(value, field, violation) {
|
|
51
|
+
if (violation === undefined) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
throw new SimLambdaValidationException(`1 validation error detected: Value '${value}' at '${field}' failed ` +
|
|
55
|
+
`to satisfy constraint: ${violation}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { SimLambdaFunctionUrlCors } from "../../function/url/sim-lambda-function-url-cors.js";
|
|
1
2
|
import type { SimLambdaFunctionUrlAuthType, SimLambdaFunctionUrlInvokeMode } from "../../function/url/sim-lambda-function-url.js";
|
|
2
3
|
/**
|
|
3
4
|
* Validates the enumerated values in Function URL config command input.
|
|
@@ -7,6 +8,7 @@ import type { SimLambdaFunctionUrlAuthType, SimLambdaFunctionUrlInvokeMode } fro
|
|
|
7
8
|
* runtime and reported the way real Lambda reports a bad enum member.
|
|
8
9
|
*/
|
|
9
10
|
export declare class FunctionUrlInputParser {
|
|
11
|
+
private readonly corsParser;
|
|
10
12
|
/**
|
|
11
13
|
* Parse a required AuthType, as CreateFunctionUrlConfig requires one.
|
|
12
14
|
*/
|
|
@@ -19,5 +21,10 @@ export declare class FunctionUrlInputParser {
|
|
|
19
21
|
* Parse an optional InvokeMode, which defaults to BUFFERED on real Lambda.
|
|
20
22
|
*/
|
|
21
23
|
parseOptionalInvokeMode(value: string | undefined): SimLambdaFunctionUrlInvokeMode | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Parse an optional `Cors` block, which every Function URL config command
|
|
26
|
+
* allows a caller to leave out.
|
|
27
|
+
*/
|
|
28
|
+
parseOptionalCors(value: SimLambdaFunctionUrlCors | undefined): SimLambdaFunctionUrlCors | undefined;
|
|
22
29
|
private parseAuthType;
|
|
23
30
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SimLambdaValidationException } from "../../error/sim-lambda.error.js";
|
|
2
|
+
import { FunctionUrlCorsInputParser } from "./function-url-cors-input.js";
|
|
2
3
|
const authTypes = ["NONE", "AWS_IAM"];
|
|
3
4
|
const invokeModes = ["BUFFERED", "RESPONSE_STREAM"];
|
|
4
5
|
/**
|
|
@@ -9,6 +10,7 @@ const invokeModes = ["BUFFERED", "RESPONSE_STREAM"];
|
|
|
9
10
|
* runtime and reported the way real Lambda reports a bad enum member.
|
|
10
11
|
*/
|
|
11
12
|
export class FunctionUrlInputParser {
|
|
13
|
+
corsParser = new FunctionUrlCorsInputParser();
|
|
12
14
|
/**
|
|
13
15
|
* Parse a required AuthType, as CreateFunctionUrlConfig requires one.
|
|
14
16
|
*/
|
|
@@ -39,6 +41,13 @@ export class FunctionUrlInputParser {
|
|
|
39
41
|
}
|
|
40
42
|
return value;
|
|
41
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Parse an optional `Cors` block, which every Function URL config command
|
|
46
|
+
* allows a caller to leave out.
|
|
47
|
+
*/
|
|
48
|
+
parseOptionalCors(value) {
|
|
49
|
+
return this.corsParser.parseOptional(value);
|
|
50
|
+
}
|
|
42
51
|
parseAuthType(value) {
|
|
43
52
|
if (!authTypes.includes(value)) {
|
|
44
53
|
throw new SimLambdaValidationException(`1 validation error detected: Value '${value}' at 'authType' failed to satisfy constraint: Member must satisfy enum value set: [${authTypes.join(", ")}]`);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { simLambdaEventTooOld, simLambdaRetryDueTime, } from "../../../function/event-invoke/sim-lambda-event-invoke-settings.js";
|
|
2
2
|
import { simLambdaAbandonedOutcome, SimLambdaAsyncOutcomeDelivery, simLambdaSuccessOutcome, } from "./sim-lambda-async-outcome.js";
|
|
3
|
+
import { simLambdaHandlerAttempt } from "./sim-lambda-handler-attempt.js";
|
|
3
4
|
/**
|
|
4
5
|
* One asynchronous invocation of a simulated Lambda function, from the first
|
|
5
6
|
* attempt to wherever its result ends up.
|
|
@@ -22,19 +23,17 @@ export class SimLambdaAsyncInvocation {
|
|
|
22
23
|
* Accept the invocation and let it run behind the caller.
|
|
23
24
|
*/
|
|
24
25
|
start() {
|
|
25
|
-
this.properties.background.schedule(
|
|
26
|
-
await this.attempt();
|
|
27
|
-
});
|
|
26
|
+
this.properties.background.schedule(() => this.attempt());
|
|
28
27
|
}
|
|
29
28
|
async attempt() {
|
|
30
29
|
const { simFunction, event } = this.properties;
|
|
31
30
|
this.attemptCount += 1;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
await this.failed(error);
|
|
31
|
+
const attempt = await simLambdaHandlerAttempt(simFunction, event);
|
|
32
|
+
if (!attempt.succeeded) {
|
|
33
|
+
await this.failed(attempt.error);
|
|
34
|
+
return;
|
|
37
35
|
}
|
|
36
|
+
await this.outcomes.deliver(simLambdaSuccessOutcome(attempt.result), this.attemptCount);
|
|
38
37
|
}
|
|
39
38
|
/**
|
|
40
39
|
* Retry the attempt that threw, or give up where the last one has been
|
|
@@ -46,11 +45,9 @@ export class SimLambdaAsyncInvocation {
|
|
|
46
45
|
await this.abandon(error, "RetriesExhausted");
|
|
47
46
|
return;
|
|
48
47
|
}
|
|
49
|
-
background.scheduleAt(simLambdaRetryDueTime(background.now(), this.attemptCount),
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
: this.attempt());
|
|
53
|
-
});
|
|
48
|
+
background.scheduleAt(simLambdaRetryDueTime(background.now(), this.attemptCount), () => simLambdaEventTooOld(this.startedAt, background.now(), settings)
|
|
49
|
+
? this.abandon(error, "EventAgeExceeded")
|
|
50
|
+
: this.attempt());
|
|
54
51
|
}
|
|
55
52
|
/**
|
|
56
53
|
* Give up on the invocation, telling its failure destination why and
|
|
@@ -58,6 +58,7 @@ export class SimLambdaAsyncOutcomeDelivery {
|
|
|
58
58
|
await destinations.deliver({
|
|
59
59
|
destinationArn: SimLambdaDestinationArn.of(destination),
|
|
60
60
|
sourceFunctionArn: simFunction.arn,
|
|
61
|
+
sourceFunctionRoleArn: simFunction.roleArn,
|
|
61
62
|
record: makeSimLambdaDestinationRecord({
|
|
62
63
|
requestId: this.requestId,
|
|
63
64
|
functionArn: simFunction.arn,
|
|
@@ -82,6 +83,7 @@ export class SimLambdaAsyncOutcomeDelivery {
|
|
|
82
83
|
targetArn: SimLambdaDestinationArn.of(settings.deadLetterArn),
|
|
83
84
|
payload: event,
|
|
84
85
|
sourceFunctionArn: simFunction.arn,
|
|
86
|
+
sourceFunctionRoleArn: simFunction.roleArn,
|
|
85
87
|
});
|
|
86
88
|
}
|
|
87
89
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SimLambdaFunction } from "../../../function/sim-lambda-function.js";
|
|
2
|
+
export type SimLambdaHandlerAttempt = {
|
|
3
|
+
readonly succeeded: true;
|
|
4
|
+
readonly result: unknown;
|
|
5
|
+
} | {
|
|
6
|
+
readonly succeeded: false;
|
|
7
|
+
readonly error: unknown;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Invoke a function handler while keeping its error separate from later
|
|
11
|
+
* destination delivery errors.
|
|
12
|
+
*/
|
|
13
|
+
export declare function simLambdaHandlerAttempt(simFunction: SimLambdaFunction, event: unknown): Promise<SimLambdaHandlerAttempt>;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Invoke a function handler while keeping its error separate from later
|
|
3
|
+
* destination delivery errors.
|
|
4
|
+
*/
|
|
5
|
+
export async function simLambdaHandlerAttempt(simFunction, event) {
|
|
6
|
+
try {
|
|
7
|
+
return { succeeded: true, result: await simFunction.invoke(event) };
|
|
8
|
+
}
|
|
9
|
+
catch (error) {
|
|
10
|
+
return { succeeded: false, error };
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/lambda/command/UpdateFunctionUrlConfigCommand/
|
|
3
3
|
*/
|
|
4
4
|
import type { SimResponseMetadata } from "../../../aws/metadata/response-metadata.type.js";
|
|
5
|
+
import type { SimLambdaFunctionUrlCors } from "../../function/url/sim-lambda-function-url-cors.js";
|
|
5
6
|
import type { SimLambdaFunctionUrlAuthType, SimLambdaFunctionUrlConfiguration, SimLambdaFunctionUrlInvokeMode } from "../../function/url/sim-lambda-function-url.js";
|
|
6
7
|
/**
|
|
7
8
|
* Minimal structural sim Lambda UpdateFunctionUrlConfig command.
|
|
@@ -19,6 +20,7 @@ export interface SimUpdateFunctionUrlConfigCommandInput {
|
|
|
19
20
|
readonly FunctionName?: string | undefined;
|
|
20
21
|
readonly AuthType?: SimLambdaFunctionUrlAuthType | undefined;
|
|
21
22
|
readonly InvokeMode?: SimLambdaFunctionUrlInvokeMode | undefined;
|
|
23
|
+
readonly Cors?: SimLambdaFunctionUrlCors | undefined;
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
24
26
|
* Minimal structural sim Lambda UpdateFunctionUrlConfig output.
|
package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js
CHANGED
|
@@ -38,6 +38,7 @@ export class UpdateFunctionUrlConfigCommandHandler {
|
|
|
38
38
|
functionUrl.update({
|
|
39
39
|
authType: this.inputParser.parseOptionalAuthType(command.input.AuthType),
|
|
40
40
|
invokeMode: this.inputParser.parseOptionalInvokeMode(command.input.InvokeMode),
|
|
41
|
+
cors: this.inputParser.parseOptionalCors(command.input.Cors),
|
|
41
42
|
});
|
|
42
43
|
return {
|
|
43
44
|
$metadata: {},
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SimLambdaError } from "../../error/sim-lambda.error.js";
|
|
2
1
|
/**
|
|
3
2
|
* A function a function is sending an asynchronous invocation result to, in
|
|
4
3
|
* the Account and Region the destination ARN names.
|
|
@@ -9,16 +8,13 @@ export class SimLambdaDestinationFunction {
|
|
|
9
8
|
*/
|
|
10
9
|
async deliver(scope, request) {
|
|
11
10
|
const { destinationArn: arn } = request;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
// invocation, and because a delivery failure has to reach the caller who
|
|
21
|
-
// advanced the clock rather than being swallowed a second time.
|
|
22
|
-
await target.simFunction.invoke(request.record);
|
|
11
|
+
await scope.lambda().invoke({
|
|
12
|
+
input: {
|
|
13
|
+
FunctionName: arn.functionName,
|
|
14
|
+
Qualifier: arn.functionQualifier,
|
|
15
|
+
InvocationType: "Event",
|
|
16
|
+
Payload: JSON.stringify(request.record),
|
|
17
|
+
},
|
|
18
|
+
}, { caller: { kind: "arn", arn: request.sourceFunctionRoleArn } });
|
|
23
19
|
}
|
|
24
20
|
}
|
|
@@ -17,8 +17,9 @@ export class SimLambdaDestinationQueue {
|
|
|
17
17
|
}
|
|
18
18
|
// Sent through the ordinary SendMessage path, so what arrives is the same
|
|
19
19
|
// thing an SDK caller would have sent.
|
|
20
|
-
await send.scope
|
|
21
|
-
.
|
|
22
|
-
|
|
20
|
+
await send.scope.sqs().sendMessage({ input: { QueueUrl: queue.arn.url, MessageBody: send.body } }, {
|
|
21
|
+
caller: { kind: "arn", arn: send.sourceFunctionRoleArn },
|
|
22
|
+
sourceArn: send.sourceFunctionArn,
|
|
23
|
+
});
|
|
23
24
|
}
|
|
24
25
|
}
|
|
@@ -11,4 +11,6 @@ export interface SimLambdaDestinationSend {
|
|
|
11
11
|
* The function this came from, supplied to IAM as `aws:SourceArn`.
|
|
12
12
|
*/
|
|
13
13
|
readonly sourceFunctionArn: string;
|
|
14
|
+
/** The execution Role Lambda uses to send the document. */
|
|
15
|
+
readonly sourceFunctionRoleArn: string;
|
|
14
16
|
}
|
|
@@ -15,8 +15,9 @@ export class SimLambdaDestinationTopic {
|
|
|
15
15
|
if (topic === undefined) {
|
|
16
16
|
throw new SimLambdaError(`${send.arn.value} is not a simulated SNS topic.`);
|
|
17
17
|
}
|
|
18
|
-
await send.scope
|
|
19
|
-
.
|
|
20
|
-
|
|
18
|
+
await send.scope.sns().publish({ input: { TopicArn: topic.arn.value, Message: send.body } }, {
|
|
19
|
+
caller: { kind: "arn", arn: send.sourceFunctionRoleArn },
|
|
20
|
+
sourceArn: send.sourceFunctionArn,
|
|
21
|
+
});
|
|
21
22
|
}
|
|
22
23
|
}
|
|
@@ -11,12 +11,10 @@ interface SimAwsLambdaDestinationsProperties {
|
|
|
11
11
|
* built: reaching another service while this one is being constructed is a
|
|
12
12
|
* cycle with no bottom to it.
|
|
13
13
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* a destination needs no resource policy on real AWS either, so nothing about
|
|
19
|
-
* the destination itself has to be set up for a record to arrive.
|
|
14
|
+
* Every delivery uses the source function's execution Role as its caller. The
|
|
15
|
+
* destination service applies its ordinary IAM checks to that Role before it
|
|
16
|
+
* changes any state.
|
|
17
|
+
* @see https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html
|
|
20
18
|
*/
|
|
21
19
|
export declare class SimAwsLambdaDestinations implements SimLambdaDestinationTargets {
|
|
22
20
|
private readonly simAws;
|
|
@@ -10,12 +10,10 @@ import { SimLambdaDestinationTopic } from "./deliver/sim-lambda-destination-topi
|
|
|
10
10
|
* built: reaching another service while this one is being constructed is a
|
|
11
11
|
* cycle with no bottom to it.
|
|
12
12
|
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* a destination needs no resource policy on real AWS either, so nothing about
|
|
18
|
-
* the destination itself has to be set up for a record to arrive.
|
|
13
|
+
* Every delivery uses the source function's execution Role as its caller. The
|
|
14
|
+
* destination service applies its ordinary IAM checks to that Role before it
|
|
15
|
+
* changes any state.
|
|
16
|
+
* @see https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html
|
|
19
17
|
*/
|
|
20
18
|
export class SimAwsLambdaDestinations {
|
|
21
19
|
simAws;
|
|
@@ -58,6 +56,7 @@ export class SimAwsLambdaDestinations {
|
|
|
58
56
|
arn: request.targetArn,
|
|
59
57
|
body: JSON.stringify(request.payload),
|
|
60
58
|
sourceFunctionArn: request.sourceFunctionArn,
|
|
59
|
+
sourceFunctionRoleArn: request.sourceFunctionRoleArn,
|
|
61
60
|
};
|
|
62
61
|
await (request.targetArn.service === "sqs"
|
|
63
62
|
? this.queue.deliver(send)
|
|
@@ -69,6 +68,7 @@ export class SimAwsLambdaDestinations {
|
|
|
69
68
|
arn: request.destinationArn,
|
|
70
69
|
body: JSON.stringify(request.record),
|
|
71
70
|
sourceFunctionArn: request.sourceFunctionArn,
|
|
71
|
+
sourceFunctionRoleArn: request.sourceFunctionRoleArn,
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
74
|
scopeOf(arn) {
|
|
@@ -11,6 +11,8 @@ export interface SimLambdaDestinationDeliveryRequest {
|
|
|
11
11
|
* delivery is attributed to.
|
|
12
12
|
*/
|
|
13
13
|
readonly sourceFunctionArn: string;
|
|
14
|
+
/** The execution Role Lambda uses to deliver this record. */
|
|
15
|
+
readonly sourceFunctionRoleArn: string;
|
|
14
16
|
}
|
|
15
17
|
/**
|
|
16
18
|
* One asynchronous invocation's event on its way to a dead-letter target.
|
|
@@ -23,6 +25,7 @@ export interface SimLambdaDeadLetterRequest {
|
|
|
23
25
|
readonly targetArn: SimLambdaDestinationArn;
|
|
24
26
|
readonly payload: unknown;
|
|
25
27
|
readonly sourceFunctionArn: string;
|
|
28
|
+
readonly sourceFunctionRoleArn: string;
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
31
|
* Everywhere a simulated function's asynchronous invocation results can go.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SimLambdaStreamCascadeGuard } from "../../stream/sim-lambda-stream-cascade-guard.js";
|
|
2
2
|
import { countSimLambdaKinesisIteratorAge } from "../sim-lambda-stream-iterator-age.js";
|
|
3
|
-
import {
|
|
3
|
+
import { simLambdaKinesisStreamRecordTimes } from "../sim-lambda-stream-record-times.js";
|
|
4
4
|
import { SimLambdaStreamBatchResponse } from "../sim-lambda-stream-batch-response.js";
|
|
5
5
|
import { SimLambdaKinesisStreamEventBuilder } from "./sim-lambda-kinesis-stream-event.js";
|
|
6
6
|
/**
|
|
@@ -50,22 +50,17 @@ export class SimLambdaKinesisStreamDelivery {
|
|
|
50
50
|
return this.cascade.noteRecordWritten();
|
|
51
51
|
}
|
|
52
52
|
async handled(simFunction, records) {
|
|
53
|
+
const times = simLambdaKinesisStreamRecordTimes(records);
|
|
53
54
|
try {
|
|
54
|
-
return this.batchResponse.handled(
|
|
55
|
+
return this.batchResponse.handled(times, await simFunction.invoke(this.eventBuilder.of(records)));
|
|
55
56
|
}
|
|
56
57
|
catch {
|
|
57
58
|
// As on real Lambda, the handler error goes to the function's logs. What
|
|
58
59
|
// the stream sees is the batch being tried again.
|
|
59
|
-
return this.batchResponse.failed();
|
|
60
|
+
return this.batchResponse.failed(times);
|
|
60
61
|
}
|
|
61
62
|
finally {
|
|
62
63
|
countSimLambdaKinesisIteratorAge(simFunction, records);
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
|
-
/**
|
|
67
|
-
* The sequence numbers this batch's records can be named by.
|
|
68
|
-
*/
|
|
69
|
-
function sequenceNumbersOf(records) {
|
|
70
|
-
return simLambdaStreamSequenceNumbers(records.map((one) => one.SequenceNumber));
|
|
71
|
-
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SimLambdaStreamCascadeGuard } from "../stream/sim-lambda-stream-cascade-guard.js";
|
|
2
2
|
import { SimLambdaDynamoDbStreamEventBuilder } from "./sim-lambda-dynamodb-stream-event.js";
|
|
3
3
|
import { countSimLambdaDynamoDbIteratorAge } from "./sim-lambda-stream-iterator-age.js";
|
|
4
|
-
import {
|
|
4
|
+
import { simLambdaDynamoDbStreamRecordTimes } from "./sim-lambda-stream-record-times.js";
|
|
5
5
|
import { SimLambdaStreamBatchResponse } from "./sim-lambda-stream-batch-response.js";
|
|
6
6
|
/**
|
|
7
7
|
* Hands one batch of stream records to a function and says what became of it.
|
|
@@ -49,22 +49,17 @@ export class SimLambdaDynamoDbStreamDelivery {
|
|
|
49
49
|
return this.cascade.noteRecordWritten();
|
|
50
50
|
}
|
|
51
51
|
async handled(simFunction, records) {
|
|
52
|
+
const times = simLambdaDynamoDbStreamRecordTimes(records);
|
|
52
53
|
try {
|
|
53
|
-
return this.batchResponse.handled(
|
|
54
|
+
return this.batchResponse.handled(times, await simFunction.invoke(this.eventBuilder.of(records)));
|
|
54
55
|
}
|
|
55
56
|
catch {
|
|
56
57
|
// As on real Lambda, the handler error goes to the function's logs. What
|
|
57
58
|
// the table sees is the batch being tried again.
|
|
58
|
-
return this.batchResponse.failed();
|
|
59
|
+
return this.batchResponse.failed(times);
|
|
59
60
|
}
|
|
60
61
|
finally {
|
|
61
62
|
countSimLambdaDynamoDbIteratorAge(simFunction, records);
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
|
-
/**
|
|
66
|
-
* The sequence numbers this batch's records can be named by.
|
|
67
|
-
*/
|
|
68
|
-
function sequenceNumbersOf(records) {
|
|
69
|
-
return simLambdaStreamSequenceNumbers(records.map((one) => one.dynamodb?.SequenceNumber));
|
|
70
|
-
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SimLambdaEventSourceStreamPosition } from "../stream/sim-lambda-event-source-streams.js";
|
|
2
|
+
import type { SimLambdaStreamRecordTime } from "./sim-lambda-stream-record-times.js";
|
|
2
3
|
/**
|
|
3
4
|
* What became of one batch of stream records handed to a function.
|
|
4
5
|
*
|
|
@@ -7,24 +8,42 @@ import type { SimLambdaEventSourceStreamPosition } from "../stream/sim-lambda-ev
|
|
|
7
8
|
* batch does not split. The mapping holds one place on the shard, so the answer
|
|
8
9
|
* is one place: either the batch is finished with, or reading goes back to a
|
|
9
10
|
* record and everything from there is delivered again.
|
|
11
|
+
*
|
|
12
|
+
* The batch's own records travel with the answer, because what happens to a
|
|
13
|
+
* batch that failed depends on them: they carry the names it can be sent back
|
|
14
|
+
* to and the instants its records are aged from.
|
|
10
15
|
*/
|
|
11
16
|
export declare class SimLambdaStreamBatchOutcome {
|
|
12
17
|
readonly isHandled: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* The records the batch carried, in stream order.
|
|
20
|
+
*/
|
|
21
|
+
readonly records: readonly SimLambdaStreamRecordTime[];
|
|
13
22
|
private readonly rewindTo;
|
|
14
23
|
private constructor();
|
|
15
24
|
/**
|
|
16
25
|
* A batch the function took in full.
|
|
17
26
|
*/
|
|
18
|
-
static handled(): SimLambdaStreamBatchOutcome;
|
|
27
|
+
static handled(records: readonly SimLambdaStreamRecordTime[]): SimLambdaStreamBatchOutcome;
|
|
19
28
|
/**
|
|
20
29
|
* A batch the function did not take, which is read again from where it was.
|
|
21
30
|
*/
|
|
22
|
-
static failed(): SimLambdaStreamBatchOutcome;
|
|
31
|
+
static failed(records: readonly SimLambdaStreamRecordTime[]): SimLambdaStreamBatchOutcome;
|
|
23
32
|
/**
|
|
24
33
|
* A batch the function reported failing partway through, which is read again
|
|
25
34
|
* from the record it named.
|
|
26
35
|
*/
|
|
27
|
-
static failedFrom(sequenceNumber: string): SimLambdaStreamBatchOutcome;
|
|
36
|
+
static failedFrom(records: readonly SimLambdaStreamRecordTime[], sequenceNumber: string): SimLambdaStreamBatchOutcome;
|
|
37
|
+
/**
|
|
38
|
+
* Where in the batch the next delivery starts, as a position in the records
|
|
39
|
+
* the batch carried.
|
|
40
|
+
*
|
|
41
|
+
* A batch that failed whole starts at the first record. One the function
|
|
42
|
+
* reported on starts at the record it named, which the batch response has
|
|
43
|
+
* already checked was in the batch, so a name that is not there is the whole
|
|
44
|
+
* batch again rather than a guess.
|
|
45
|
+
*/
|
|
46
|
+
get retryIndex(): number;
|
|
28
47
|
/**
|
|
29
48
|
* Where the next read starts when the batch goes back.
|
|
30
49
|
*
|
|
@@ -6,32 +6,62 @@
|
|
|
6
6
|
* batch does not split. The mapping holds one place on the shard, so the answer
|
|
7
7
|
* is one place: either the batch is finished with, or reading goes back to a
|
|
8
8
|
* record and everything from there is delivered again.
|
|
9
|
+
*
|
|
10
|
+
* The batch's own records travel with the answer, because what happens to a
|
|
11
|
+
* batch that failed depends on them: they carry the names it can be sent back
|
|
12
|
+
* to and the instants its records are aged from.
|
|
9
13
|
*/
|
|
10
14
|
export class SimLambdaStreamBatchOutcome {
|
|
11
15
|
isHandled;
|
|
16
|
+
/**
|
|
17
|
+
* The records the batch carried, in stream order.
|
|
18
|
+
*/
|
|
19
|
+
records;
|
|
12
20
|
rewindTo;
|
|
13
|
-
constructor(
|
|
14
|
-
this.isHandled = isHandled;
|
|
15
|
-
this.
|
|
21
|
+
constructor(properties) {
|
|
22
|
+
this.isHandled = properties.isHandled;
|
|
23
|
+
this.records = properties.records;
|
|
24
|
+
this.rewindTo = properties.rewindTo;
|
|
16
25
|
}
|
|
17
26
|
/**
|
|
18
27
|
* A batch the function took in full.
|
|
19
28
|
*/
|
|
20
|
-
static handled() {
|
|
21
|
-
return new SimLambdaStreamBatchOutcome(true,
|
|
29
|
+
static handled(records) {
|
|
30
|
+
return new SimLambdaStreamBatchOutcome({ isHandled: true, records });
|
|
22
31
|
}
|
|
23
32
|
/**
|
|
24
33
|
* A batch the function did not take, which is read again from where it was.
|
|
25
34
|
*/
|
|
26
|
-
static failed() {
|
|
27
|
-
return new SimLambdaStreamBatchOutcome(false,
|
|
35
|
+
static failed(records) {
|
|
36
|
+
return new SimLambdaStreamBatchOutcome({ isHandled: false, records });
|
|
28
37
|
}
|
|
29
38
|
/**
|
|
30
39
|
* A batch the function reported failing partway through, which is read again
|
|
31
40
|
* from the record it named.
|
|
32
41
|
*/
|
|
33
|
-
static failedFrom(sequenceNumber) {
|
|
34
|
-
return new SimLambdaStreamBatchOutcome(
|
|
42
|
+
static failedFrom(records, sequenceNumber) {
|
|
43
|
+
return new SimLambdaStreamBatchOutcome({
|
|
44
|
+
isHandled: false,
|
|
45
|
+
records,
|
|
46
|
+
rewindTo: sequenceNumber,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Where in the batch the next delivery starts, as a position in the records
|
|
51
|
+
* the batch carried.
|
|
52
|
+
*
|
|
53
|
+
* A batch that failed whole starts at the first record. One the function
|
|
54
|
+
* reported on starts at the record it named, which the batch response has
|
|
55
|
+
* already checked was in the batch, so a name that is not there is the whole
|
|
56
|
+
* batch again rather than a guess.
|
|
57
|
+
*/
|
|
58
|
+
get retryIndex() {
|
|
59
|
+
const sequenceNumber = this.rewindTo;
|
|
60
|
+
if (sequenceNumber === undefined) {
|
|
61
|
+
return 0;
|
|
62
|
+
}
|
|
63
|
+
const index = this.records.findIndex((record) => record.sequenceNumber === sequenceNumber);
|
|
64
|
+
return index === -1 ? 0 : index;
|
|
35
65
|
}
|
|
36
66
|
/**
|
|
37
67
|
* Where the next read starts when the batch goes back.
|