@kensio/yulin 1.21.3 → 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/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-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 +46 -3
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +67 -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 +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-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 +7 -1
|
@@ -20,7 +20,7 @@ interface SimLambdaStreamProgressProperties {
|
|
|
20
20
|
*/
|
|
21
21
|
export declare class SimLambdaStreamProgress {
|
|
22
22
|
private readonly checkpoint;
|
|
23
|
-
private readonly
|
|
23
|
+
private readonly retry;
|
|
24
24
|
private readonly schedule;
|
|
25
25
|
constructor(properties: SimLambdaStreamProgressProperties);
|
|
26
26
|
/**
|
|
@@ -44,7 +44,10 @@ export declare class SimLambdaStreamProgress {
|
|
|
44
44
|
*/
|
|
45
45
|
after(outcome: SimLambdaStreamBatchOutcome, batch: SimLambdaEventSourceStreamProgressBatch): void;
|
|
46
46
|
/**
|
|
47
|
-
* Move past a batch
|
|
47
|
+
* Move past a batch that is finished with, and read on.
|
|
48
|
+
*
|
|
49
|
+
* A batch the function took is finished with, and so is one the mapping has
|
|
50
|
+
* given up on.
|
|
48
51
|
*/
|
|
49
52
|
handled(batch: SimLambdaEventSourceStreamProgressBatch): void;
|
|
50
53
|
/**
|
|
@@ -54,10 +57,11 @@ export declare class SimLambdaStreamProgress {
|
|
|
54
57
|
* what AWS does when a stream mapping's error handling runs out. Parking the
|
|
55
58
|
* shard instead would be a simulator invention.
|
|
56
59
|
*
|
|
57
|
-
* A
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
60
|
+
* A batch runs out either by having had its retries or by every record left
|
|
61
|
+
* in it being older than the mapping will carry. Records that aged out of the
|
|
62
|
+
* front of a batch are left behind, and the ones behind them go over again,
|
|
63
|
+
* so a mapping given a record age keeps working through its shard rather than
|
|
64
|
+
* stalling on the oldest record on it.
|
|
61
65
|
*/
|
|
62
66
|
failed(outcome: SimLambdaStreamBatchOutcome, batch: SimLambdaEventSourceStreamProgressBatch): void;
|
|
63
67
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
2
|
import { PollSchedule } from "../../../../util/background/poll-schedule.js";
|
|
3
3
|
import { SimLambdaStreamCheckpoint } from "./sim-lambda-stream-checkpoint.js";
|
|
4
|
-
import {
|
|
4
|
+
import { SimLambdaStreamRetry } from "./sim-lambda-stream-retry.js";
|
|
5
5
|
/**
|
|
6
6
|
* How far along its stream one mapping has got, and what it does next.
|
|
7
7
|
*
|
|
@@ -15,15 +15,20 @@ import { SimLambdaStreamRetryBackoff } from "./sim-lambda-stream-retry-backoff.j
|
|
|
15
15
|
*/
|
|
16
16
|
export class SimLambdaStreamProgress {
|
|
17
17
|
checkpoint;
|
|
18
|
-
|
|
18
|
+
retry;
|
|
19
19
|
schedule;
|
|
20
20
|
constructor(properties) {
|
|
21
21
|
// A stream mapping is refused at creation unless it names a starting
|
|
22
22
|
// position, so one that has got this far without one is the simulator
|
|
23
23
|
// having gone wrong rather than a request having been wrong.
|
|
24
|
-
const { start } = properties.mapping;
|
|
24
|
+
const { start, streamRetryLimits } = properties.mapping;
|
|
25
25
|
assertDefined(start, "stream mapping start position");
|
|
26
|
+
assertDefined(streamRetryLimits, "stream mapping retry limits");
|
|
26
27
|
this.checkpoint = new SimLambdaStreamCheckpoint(start);
|
|
28
|
+
this.retry = new SimLambdaStreamRetry({
|
|
29
|
+
limits: streamRetryLimits,
|
|
30
|
+
clock: properties.background,
|
|
31
|
+
});
|
|
27
32
|
this.schedule = new PollSchedule(properties);
|
|
28
33
|
}
|
|
29
34
|
/**
|
|
@@ -59,10 +64,13 @@ export class SimLambdaStreamProgress {
|
|
|
59
64
|
this.failed(outcome, batch);
|
|
60
65
|
}
|
|
61
66
|
/**
|
|
62
|
-
* Move past a batch
|
|
67
|
+
* Move past a batch that is finished with, and read on.
|
|
68
|
+
*
|
|
69
|
+
* A batch the function took is finished with, and so is one the mapping has
|
|
70
|
+
* given up on.
|
|
63
71
|
*/
|
|
64
72
|
handled(batch) {
|
|
65
|
-
this.
|
|
73
|
+
this.retry.reset();
|
|
66
74
|
this.checkpoint.advanceTo(batch.next);
|
|
67
75
|
if (!batch.drained) {
|
|
68
76
|
this.schedule.now();
|
|
@@ -75,17 +83,19 @@ export class SimLambdaStreamProgress {
|
|
|
75
83
|
* what AWS does when a stream mapping's error handling runs out. Parking the
|
|
76
84
|
* shard instead would be a simulator invention.
|
|
77
85
|
*
|
|
78
|
-
* A
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
86
|
+
* A batch runs out either by having had its retries or by every record left
|
|
87
|
+
* in it being older than the mapping will carry. Records that aged out of the
|
|
88
|
+
* front of a batch are left behind, and the ones behind them go over again,
|
|
89
|
+
* so a mapping given a record age keeps working through its shard rather than
|
|
90
|
+
* stalling on the oldest record on it.
|
|
82
91
|
*/
|
|
83
92
|
failed(outcome, batch) {
|
|
84
|
-
|
|
93
|
+
const again = this.retry.after(outcome, this.checkpoint.position);
|
|
94
|
+
if (again === undefined) {
|
|
85
95
|
this.handled(batch);
|
|
86
96
|
return;
|
|
87
97
|
}
|
|
88
|
-
this.checkpoint.
|
|
89
|
-
this.schedule.afterSeconds(
|
|
98
|
+
this.checkpoint.advanceTo(again.position);
|
|
99
|
+
this.schedule.afterSeconds(again.afterSeconds);
|
|
90
100
|
}
|
|
91
101
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SimLambdaKinesisStreamRecord } from "../stream/kinesis/sim-lambda-kinesis-streams.js";
|
|
2
|
+
import type { SimLambdaEventSourceStreamRecord } from "../stream/sim-lambda-event-source-streams.js";
|
|
3
|
+
/**
|
|
4
|
+
* One record of a delivered batch, as deciding what to do with a failed batch
|
|
5
|
+
* sees it.
|
|
6
|
+
*
|
|
7
|
+
* Two things about a record matter once its function has failed: the name the
|
|
8
|
+
* mapping can be sent back to, and the instant its age is measured from. Each
|
|
9
|
+
* stream service cuts both out of its own record shape, the way it already does
|
|
10
|
+
* for the sequence numbers a batch item failure report names.
|
|
11
|
+
*/
|
|
12
|
+
export interface SimLambdaStreamRecordTime {
|
|
13
|
+
readonly sequenceNumber: string | undefined;
|
|
14
|
+
readonly at: Date | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* What a DynamoDB Streams batch's records are named by and dated from.
|
|
18
|
+
*/
|
|
19
|
+
export declare function simLambdaDynamoDbStreamRecordTimes(records: readonly SimLambdaEventSourceStreamRecord[]): readonly SimLambdaStreamRecordTime[];
|
|
20
|
+
/**
|
|
21
|
+
* What a Kinesis batch's records are named by and dated from.
|
|
22
|
+
*/
|
|
23
|
+
export declare function simLambdaKinesisStreamRecordTimes(records: readonly SimLambdaKinesisStreamRecord[]): readonly SimLambdaStreamRecordTime[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a DynamoDB Streams batch's records are named by and dated from.
|
|
3
|
+
*/
|
|
4
|
+
export function simLambdaDynamoDbStreamRecordTimes(records) {
|
|
5
|
+
return records.map((one) => ({
|
|
6
|
+
sequenceNumber: one.dynamodb?.SequenceNumber,
|
|
7
|
+
at: one.dynamodb?.ApproximateCreationDateTime,
|
|
8
|
+
}));
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* What a Kinesis batch's records are named by and dated from.
|
|
12
|
+
*/
|
|
13
|
+
export function simLambdaKinesisStreamRecordTimes(records) {
|
|
14
|
+
return records.map((one) => ({
|
|
15
|
+
sequenceNumber: one.SequenceNumber,
|
|
16
|
+
at: one.ApproximateArrivalTimestamp,
|
|
17
|
+
}));
|
|
18
|
+
}
|
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* How long a mapping waits before handing a failed batch to its function
|
|
3
|
-
* again, and
|
|
3
|
+
* again, and how many waits it has left.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
* deliberate.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* scheduled at the instant the clock already reads, and advancing the clock
|
|
10
|
-
* keeps dispatching whatever falls due inside the interval it is moving
|
|
5
|
+
* The delay is a simulator constraint rather than AWS behaviour, and it is
|
|
6
|
+
* deliberate. AWS documents no delay between attempts. A delay of zero here
|
|
7
|
+
* would be scheduled at the instant the clock already reads, and advancing the
|
|
8
|
+
* clock keeps dispatching whatever falls due inside the interval it is moving
|
|
11
9
|
* through, so a batch the function always throws on would leave `advanceBy`
|
|
12
10
|
* with work to do forever. The delay is therefore strictly positive and grows
|
|
13
|
-
* with each attempt, which is also what a consumer under load actually wants
|
|
11
|
+
* with each attempt, which is also what a consumer under load actually wants,
|
|
12
|
+
* and it is what lets a test walk through the attempts by advancing the clock.
|
|
14
13
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* instead. What happens at the end is AWS's own behaviour: the records are
|
|
19
|
-
* discarded and the mapping carries on with the stream.
|
|
14
|
+
* How many attempts there are belongs to the mapping rather than to this: a
|
|
15
|
+
* mapping that asked for a retry quota gets the quota it asked for, and one
|
|
16
|
+
* that asked for neither limit gets the simulator's own cap.
|
|
20
17
|
*/
|
|
21
18
|
export declare class SimLambdaStreamRetryBackoff {
|
|
19
|
+
private readonly attemptLimit;
|
|
22
20
|
private attempts;
|
|
21
|
+
constructor(attemptLimit: number);
|
|
23
22
|
/**
|
|
24
23
|
* Whether this batch has had all the attempts it gets.
|
|
25
24
|
*/
|
|
@@ -1,41 +1,48 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The longest wait, in seconds, the simulation's clock can be scheduled at.
|
|
3
|
+
*
|
|
4
|
+
* A `Date` holds about 275,000 years either side of the epoch, and a wait past
|
|
5
|
+
* that would be scheduled at an instant that is not a date at all. Doubling
|
|
6
|
+
* reaches it on the 44th attempt, which is further than any test can advance
|
|
7
|
+
* the clock, so this is a guard on the arithmetic rather than a wait a mapping
|
|
8
|
+
* meets.
|
|
3
9
|
*/
|
|
4
|
-
const
|
|
10
|
+
const longestWaitSeconds = 2 ** 42;
|
|
5
11
|
/**
|
|
6
12
|
* How long a mapping waits before handing a failed batch to its function
|
|
7
|
-
* again, and
|
|
8
|
-
*
|
|
9
|
-
* Both are simulator constraints rather than AWS behaviour, and both are
|
|
10
|
-
* deliberate.
|
|
13
|
+
* again, and how many waits it has left.
|
|
11
14
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
+
* The delay is a simulator constraint rather than AWS behaviour, and it is
|
|
16
|
+
* deliberate. AWS documents no delay between attempts. A delay of zero here
|
|
17
|
+
* would be scheduled at the instant the clock already reads, and advancing the
|
|
18
|
+
* clock keeps dispatching whatever falls due inside the interval it is moving
|
|
15
19
|
* through, so a batch the function always throws on would leave `advanceBy`
|
|
16
20
|
* with work to do forever. The delay is therefore strictly positive and grows
|
|
17
|
-
* with each attempt, which is also what a consumer under load actually wants
|
|
21
|
+
* with each attempt, which is also what a consumer under load actually wants,
|
|
22
|
+
* and it is what lets a test walk through the attempts by advancing the clock.
|
|
18
23
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* instead. What happens at the end is AWS's own behaviour: the records are
|
|
23
|
-
* discarded and the mapping carries on with the stream.
|
|
24
|
+
* How many attempts there are belongs to the mapping rather than to this: a
|
|
25
|
+
* mapping that asked for a retry quota gets the quota it asked for, and one
|
|
26
|
+
* that asked for neither limit gets the simulator's own cap.
|
|
24
27
|
*/
|
|
25
28
|
export class SimLambdaStreamRetryBackoff {
|
|
29
|
+
attemptLimit;
|
|
26
30
|
attempts = 0;
|
|
31
|
+
constructor(attemptLimit) {
|
|
32
|
+
this.attemptLimit = attemptLimit;
|
|
33
|
+
}
|
|
27
34
|
/**
|
|
28
35
|
* Whether this batch has had all the attempts it gets.
|
|
29
36
|
*/
|
|
30
37
|
get isExhausted() {
|
|
31
|
-
return this.attempts >= attemptLimit;
|
|
38
|
+
return this.attempts >= this.attemptLimit;
|
|
32
39
|
}
|
|
33
40
|
/**
|
|
34
41
|
* How long to wait before the next attempt, in seconds.
|
|
35
42
|
*/
|
|
36
43
|
nextSeconds() {
|
|
37
44
|
this.attempts += 1;
|
|
38
|
-
return 2 ** (this.attempts - 1);
|
|
45
|
+
return Math.min(2 ** (this.attempts - 1), longestWaitSeconds);
|
|
39
46
|
}
|
|
40
47
|
/**
|
|
41
48
|
* Start counting again, which a batch that is finished with does.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { SimClock } from "../../../../util/clock/sim-clock.js";
|
|
2
|
+
import type { SimLambdaStreamRetryLimits } from "../sim-lambda-stream-retry-limits.js";
|
|
3
|
+
import type { SimLambdaEventSourceStreamPosition } from "../stream/sim-lambda-event-source-streams.js";
|
|
4
|
+
import type { SimLambdaStreamBatchOutcome } from "./sim-lambda-stream-batch-outcome.js";
|
|
5
|
+
interface SimLambdaStreamRetryProperties {
|
|
6
|
+
readonly limits: SimLambdaStreamRetryLimits;
|
|
7
|
+
readonly clock: SimClock;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* One more delivery of a failed batch: where it starts, and how long the
|
|
11
|
+
* mapping waits first.
|
|
12
|
+
*/
|
|
13
|
+
export interface SimLambdaStreamRetryAttempt {
|
|
14
|
+
readonly position: SimLambdaEventSourceStreamPosition;
|
|
15
|
+
readonly afterSeconds: number;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Whether a failed batch is handed over again, and from which record.
|
|
19
|
+
*
|
|
20
|
+
* Both of Lambda's failed-batch limits end here because they end the same
|
|
21
|
+
* thing. A batch stops being delivered when it has had its retries, and a
|
|
22
|
+
* record stops being delivered when it is older than the mapping will carry;
|
|
23
|
+
* whichever comes first, what is left of the batch is discarded and the mapping
|
|
24
|
+
* reads on. Records age out of the front of a batch, because a batch is in
|
|
25
|
+
* stream order, so the answer is one record to start from rather than a list of
|
|
26
|
+
* survivors.
|
|
27
|
+
*
|
|
28
|
+
* Ages are read at the instant the next delivery falls due rather than now,
|
|
29
|
+
* because the wait before it is what ages the records out. A record judged now
|
|
30
|
+
* would be handed to the function and only then found to be too old.
|
|
31
|
+
*/
|
|
32
|
+
export declare class SimLambdaStreamRetry {
|
|
33
|
+
private readonly limits;
|
|
34
|
+
private readonly clock;
|
|
35
|
+
private readonly backoff;
|
|
36
|
+
constructor(properties: SimLambdaStreamRetryProperties);
|
|
37
|
+
/**
|
|
38
|
+
* The next delivery of a failed batch, or nothing when the batch is finished
|
|
39
|
+
* with.
|
|
40
|
+
*/
|
|
41
|
+
after(outcome: SimLambdaStreamBatchOutcome, readFrom: SimLambdaEventSourceStreamPosition): SimLambdaStreamRetryAttempt | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Start counting again, which a batch that is finished with does.
|
|
44
|
+
*/
|
|
45
|
+
reset(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Where the next delivery starts, or nothing when every record left in the
|
|
48
|
+
* batch has aged out.
|
|
49
|
+
*/
|
|
50
|
+
private retryPosition;
|
|
51
|
+
/**
|
|
52
|
+
* The first record from `from` on that is still young enough to deliver.
|
|
53
|
+
*/
|
|
54
|
+
private firstLiveIndex;
|
|
55
|
+
/**
|
|
56
|
+
* When the next delivery falls due, which is what a record's age is judged
|
|
57
|
+
* against.
|
|
58
|
+
*
|
|
59
|
+
* Judging it now would hand a record over and only then notice that it was
|
|
60
|
+
* too old to be worth handing over, since the wait is what makes it too old.
|
|
61
|
+
*/
|
|
62
|
+
private deliveryAt;
|
|
63
|
+
}
|
|
64
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { SimLambdaStreamRetryBackoff } from "./sim-lambda-stream-retry-backoff.js";
|
|
2
|
+
const millisecondsPerSecond = 1000;
|
|
3
|
+
/**
|
|
4
|
+
* Whether a failed batch is handed over again, and from which record.
|
|
5
|
+
*
|
|
6
|
+
* Both of Lambda's failed-batch limits end here because they end the same
|
|
7
|
+
* thing. A batch stops being delivered when it has had its retries, and a
|
|
8
|
+
* record stops being delivered when it is older than the mapping will carry;
|
|
9
|
+
* whichever comes first, what is left of the batch is discarded and the mapping
|
|
10
|
+
* reads on. Records age out of the front of a batch, because a batch is in
|
|
11
|
+
* stream order, so the answer is one record to start from rather than a list of
|
|
12
|
+
* survivors.
|
|
13
|
+
*
|
|
14
|
+
* Ages are read at the instant the next delivery falls due rather than now,
|
|
15
|
+
* because the wait before it is what ages the records out. A record judged now
|
|
16
|
+
* would be handed to the function and only then found to be too old.
|
|
17
|
+
*/
|
|
18
|
+
export class SimLambdaStreamRetry {
|
|
19
|
+
limits;
|
|
20
|
+
clock;
|
|
21
|
+
backoff;
|
|
22
|
+
constructor(properties) {
|
|
23
|
+
this.limits = properties.limits;
|
|
24
|
+
this.clock = properties.clock;
|
|
25
|
+
this.backoff = new SimLambdaStreamRetryBackoff(properties.limits.attemptLimit);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The next delivery of a failed batch, or nothing when the batch is finished
|
|
29
|
+
* with.
|
|
30
|
+
*/
|
|
31
|
+
after(outcome, readFrom) {
|
|
32
|
+
if (this.backoff.isExhausted) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
const afterSeconds = this.backoff.nextSeconds();
|
|
36
|
+
const deliveryAt = this.deliveryAt(afterSeconds);
|
|
37
|
+
const position = this.retryPosition(outcome, readFrom, deliveryAt);
|
|
38
|
+
if (position === undefined) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
return { position, afterSeconds };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Start counting again, which a batch that is finished with does.
|
|
45
|
+
*/
|
|
46
|
+
reset() {
|
|
47
|
+
this.backoff.reset();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Where the next delivery starts, or nothing when every record left in the
|
|
51
|
+
* batch has aged out.
|
|
52
|
+
*/
|
|
53
|
+
retryPosition(outcome, readFrom, deliveryAt) {
|
|
54
|
+
const { records, retryIndex } = outcome;
|
|
55
|
+
const live = this.firstLiveIndex(records, retryIndex, deliveryAt);
|
|
56
|
+
if (live === undefined) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
const sequenceNumber = records.at(live)?.sequenceNumber;
|
|
60
|
+
// Nothing aged out of the front, so the batch goes back exactly where the
|
|
61
|
+
// report left it. A record that aged out but cannot be named leaves the
|
|
62
|
+
// batch where it was too, since skipping past a record the mapping cannot
|
|
63
|
+
// name would skip the records after it as well.
|
|
64
|
+
if (live === retryIndex || sequenceNumber === undefined) {
|
|
65
|
+
return outcome.retryPosition(readFrom);
|
|
66
|
+
}
|
|
67
|
+
return { kind: "sequence", sequenceNumber };
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The first record from `from` on that is still young enough to deliver.
|
|
71
|
+
*/
|
|
72
|
+
firstLiveIndex(records, from, deliveryAt) {
|
|
73
|
+
const index = records.findIndex((record, position) => position >= from && !this.limits.hasAgedOut(record.at, deliveryAt));
|
|
74
|
+
return index === -1 ? undefined : index;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* When the next delivery falls due, which is what a record's age is judged
|
|
78
|
+
* against.
|
|
79
|
+
*
|
|
80
|
+
* Judging it now would hand a record over and only then notice that it was
|
|
81
|
+
* too old to be worth handing over, since the wait is what makes it too old.
|
|
82
|
+
*/
|
|
83
|
+
deliveryAt(afterSeconds) {
|
|
84
|
+
return new Date(this.clock.now().getTime() + afterSeconds * millisecondsPerSecond);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SimLambdaEventSourceBatchRules } from "../sim-lambda-event-source-batch-rules.js";
|
|
2
|
+
import type { SimLambdaEventSourceRetryLimitRules } from "../sim-lambda-event-source-retry-limits.js";
|
|
2
3
|
import { SimLambdaEventSourcePollingPermission } from "../sim-lambda-event-source-polling-permission.js";
|
|
3
4
|
import type { SimLambdaEventSourceStartingPositionRules } from "../sim-lambda-event-source-starting-position.js";
|
|
4
5
|
/**
|
|
@@ -44,6 +45,11 @@ export declare class SimLambdaSqsEventSourceArn {
|
|
|
44
45
|
* is none of them.
|
|
45
46
|
*/
|
|
46
47
|
get startingPositionRules(): SimLambdaEventSourceStartingPositionRules;
|
|
48
|
+
/**
|
|
49
|
+
* The failed-batch limits a mapping on this queue may be created with, which
|
|
50
|
+
* is neither of them.
|
|
51
|
+
*/
|
|
52
|
+
get retryLimitRules(): SimLambdaEventSourceRetryLimitRules;
|
|
47
53
|
/**
|
|
48
54
|
* The URL SQS requests name this queue by.
|
|
49
55
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SimLambdaInvalidParameterValueException } from "../../error/sim-lambda.error.js";
|
|
2
2
|
import { sqsQueueUrl } from "../../../sqs/queue/sim-sqs-queue-arn.js";
|
|
3
3
|
import { SimLambdaEventSourcePollingPermission } from "../sim-lambda-event-source-polling-permission.js";
|
|
4
|
-
import { sqsBatchRules, sqsPollingOperations, sqsStartingPositionRules, } from "./sim-lambda-sqs-event-source-rules.js";
|
|
4
|
+
import { sqsBatchRules, sqsPollingOperations, sqsRetryLimitRules, sqsStartingPositionRules, } from "./sim-lambda-sqs-event-source-rules.js";
|
|
5
5
|
const queueArnPattern = /^arn:aws:sqs:(?<region>[a-z0-9-]+):(?<account>\d{12}):(?<name>[\w-]{1,80})$/u;
|
|
6
6
|
/**
|
|
7
7
|
* The queue ARN an event source mapping is created for.
|
|
@@ -68,6 +68,13 @@ export class SimLambdaSqsEventSourceArn {
|
|
|
68
68
|
get startingPositionRules() {
|
|
69
69
|
return sqsStartingPositionRules;
|
|
70
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* The failed-batch limits a mapping on this queue may be created with, which
|
|
73
|
+
* is neither of them.
|
|
74
|
+
*/
|
|
75
|
+
get retryLimitRules() {
|
|
76
|
+
return sqsRetryLimitRules;
|
|
77
|
+
}
|
|
71
78
|
/**
|
|
72
79
|
* The URL SQS requests name this queue by.
|
|
73
80
|
*/
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SimLambdaEventSourceBatchRules } from "../sim-lambda-event-source-batch-rules.js";
|
|
2
|
+
import { SimLambdaNoRetryLimits } from "../sim-lambda-event-source-retry-limits.js";
|
|
2
3
|
import { SimLambdaNoStartingPosition } from "../sim-lambda-event-source-starting-position.js";
|
|
3
4
|
/**
|
|
4
5
|
* What a function's execution role has to be allowed to do on a queue for
|
|
@@ -21,3 +22,8 @@ export declare const sqsBatchRules: SimLambdaEventSourceBatchRules;
|
|
|
21
22
|
* front of the queue, and there is nowhere else it could start from.
|
|
22
23
|
*/
|
|
23
24
|
export declare const sqsStartingPositionRules: SimLambdaNoStartingPosition;
|
|
25
|
+
/**
|
|
26
|
+
* A queue keeps its own count of how often a message has been received, so
|
|
27
|
+
* neither of Lambda's failed-batch limits is a queue mapping's to keep.
|
|
28
|
+
*/
|
|
29
|
+
export declare const sqsRetryLimitRules: SimLambdaNoRetryLimits;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SimLambdaEventSourceBatchRules } from "../sim-lambda-event-source-batch-rules.js";
|
|
2
|
+
import { SimLambdaNoRetryLimits } from "../sim-lambda-event-source-retry-limits.js";
|
|
2
3
|
import { SimLambdaNoStartingPosition } from "../sim-lambda-event-source-starting-position.js";
|
|
3
4
|
/**
|
|
4
5
|
* What a function's execution role has to be allowed to do on a queue for
|
|
@@ -30,3 +31,9 @@ export const sqsBatchRules = new SimLambdaEventSourceBatchRules({
|
|
|
30
31
|
* front of the queue, and there is nowhere else it could start from.
|
|
31
32
|
*/
|
|
32
33
|
export const sqsStartingPositionRules = new SimLambdaNoStartingPosition("a queue");
|
|
34
|
+
/**
|
|
35
|
+
* A queue keeps its own count of how often a message has been received, so
|
|
36
|
+
* neither of Lambda's failed-batch limits is a queue mapping's to keep.
|
|
37
|
+
*/
|
|
38
|
+
export const sqsRetryLimitRules = new SimLambdaNoRetryLimits("a queue", "a message the function never handles is left to the queue's own redrive " +
|
|
39
|
+
"policy");
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
2
|
import type { SimLambdaFunctionArn } from "../function/sim-lambda-function-configuration.js";
|
|
3
|
+
import type { SimLambdaStreamRetryLimits, SimLambdaStreamRetryLimitsConfiguration } from "./sim-lambda-stream-retry-limits.js";
|
|
3
4
|
import type { SimLambdaEventSourceStart, SimLambdaEventSourceStartingPosition } from "./sim-lambda-event-source-starting-position.js";
|
|
4
5
|
/**
|
|
5
6
|
* Event source mapping ARNs address the mapping by its UUID.
|
|
@@ -29,6 +30,7 @@ interface SimLambdaEventSourceMappingProperties {
|
|
|
29
30
|
readonly start?: SimLambdaEventSourceStart | undefined;
|
|
30
31
|
readonly enabled?: boolean | undefined;
|
|
31
32
|
readonly functionResponseTypes?: readonly SimLambdaFunctionResponseType[] | undefined;
|
|
33
|
+
readonly streamRetryLimits?: SimLambdaStreamRetryLimits | undefined;
|
|
32
34
|
readonly createdAt: Date;
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
@@ -36,7 +38,7 @@ interface SimLambdaEventSourceMappingProperties {
|
|
|
36
38
|
* CreateEventSourceMapping, GetEventSourceMapping, ListEventSourceMappings and
|
|
37
39
|
* DeleteEventSourceMapping responses all report it.
|
|
38
40
|
*/
|
|
39
|
-
export interface SimLambdaEventSourceMappingConfiguration {
|
|
41
|
+
export interface SimLambdaEventSourceMappingConfiguration extends Partial<SimLambdaStreamRetryLimitsConfiguration> {
|
|
40
42
|
readonly UUID: string;
|
|
41
43
|
readonly EventSourceMappingArn: SimLambdaEventSourceMappingArn;
|
|
42
44
|
readonly EventSourceArn: string;
|
|
@@ -81,6 +83,14 @@ export declare class SimLambdaEventSourceMapping {
|
|
|
81
83
|
*/
|
|
82
84
|
readonly start: SimLambdaEventSourceStart | undefined;
|
|
83
85
|
readonly functionResponseTypes: readonly SimLambdaFunctionResponseType[];
|
|
86
|
+
/**
|
|
87
|
+
* When this mapping stops delivering a batch its function keeps failing, for
|
|
88
|
+
* a source that leaves the counting to the mapping.
|
|
89
|
+
*
|
|
90
|
+
* A queue mapping has none, because a message the function never handles is
|
|
91
|
+
* the queue's own problem once the batch comes back.
|
|
92
|
+
*/
|
|
93
|
+
readonly streamRetryLimits: SimLambdaStreamRetryLimits | undefined;
|
|
84
94
|
private readonly accountRegionScope;
|
|
85
95
|
private readonly enabled;
|
|
86
96
|
private readonly lastModified;
|
|
@@ -29,6 +29,14 @@ export class SimLambdaEventSourceMapping {
|
|
|
29
29
|
*/
|
|
30
30
|
start;
|
|
31
31
|
functionResponseTypes;
|
|
32
|
+
/**
|
|
33
|
+
* When this mapping stops delivering a batch its function keeps failing, for
|
|
34
|
+
* a source that leaves the counting to the mapping.
|
|
35
|
+
*
|
|
36
|
+
* A queue mapping has none, because a message the function never handles is
|
|
37
|
+
* the queue's own problem once the batch comes back.
|
|
38
|
+
*/
|
|
39
|
+
streamRetryLimits;
|
|
32
40
|
accountRegionScope;
|
|
33
41
|
enabled;
|
|
34
42
|
lastModified;
|
|
@@ -44,6 +52,7 @@ export class SimLambdaEventSourceMapping {
|
|
|
44
52
|
// Copied rather than held, so a caller keeping the list it passed in
|
|
45
53
|
// cannot change what this mapping does with a batch afterwards.
|
|
46
54
|
this.functionResponseTypes = [...(properties.functionResponseTypes ?? [])];
|
|
55
|
+
this.streamRetryLimits = properties.streamRetryLimits;
|
|
47
56
|
this.enabled = properties.enabled ?? true;
|
|
48
57
|
this.lastModified = properties.createdAt;
|
|
49
58
|
}
|
|
@@ -97,6 +106,10 @@ export class SimLambdaEventSourceMapping {
|
|
|
97
106
|
// Partial batches are delivered as soon as anything is available, so the
|
|
98
107
|
// batching window is always zero. Anything else is refused at creation.
|
|
99
108
|
MaximumBatchingWindowInSeconds: 0,
|
|
109
|
+
// Real Lambda reports both failed-batch limits for a stream mapping and
|
|
110
|
+
// neither for a queue one, so a mapping with no limits to keep leaves
|
|
111
|
+
// them out rather than reporting a limit it does not have.
|
|
112
|
+
...this.streamRetryLimits?.configuration(),
|
|
100
113
|
FunctionResponseTypes: this.functionResponseTypes,
|
|
101
114
|
State: this.#state,
|
|
102
115
|
StateTransitionReason: "USER_INITIATED",
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { type SimLambdaEventSourceRetryLimitsInput, SimLambdaStreamRetryLimits } from "./sim-lambda-stream-retry-limits.js";
|
|
2
|
+
/**
|
|
3
|
+
* Whether the event source a mapping names has failed-batch limits at all.
|
|
4
|
+
*
|
|
5
|
+
* A stream does: a record stays on the stream whatever the function makes of
|
|
6
|
+
* it, so the mapping is the only thing that decides when to stop trying. A
|
|
7
|
+
* queue does not, because a message the function never handles goes to the
|
|
8
|
+
* queue's own redrive policy, and real Lambda refuses a request that names
|
|
9
|
+
* either limit for one.
|
|
10
|
+
*/
|
|
11
|
+
export interface SimLambdaEventSourceRetryLimitRules {
|
|
12
|
+
/**
|
|
13
|
+
* The limits a mapping on this source keeps, or nothing for a source that has
|
|
14
|
+
* none, refusing a request that asks for limits this source does not have.
|
|
15
|
+
*/
|
|
16
|
+
limitsIn(input: SimLambdaEventSourceRetryLimitsInput): SimLambdaStreamRetryLimits | undefined;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The rules for an event source that decides for itself when to give up.
|
|
20
|
+
*/
|
|
21
|
+
export declare class SimLambdaNoRetryLimits implements SimLambdaEventSourceRetryLimitRules {
|
|
22
|
+
private readonly sourceDescription;
|
|
23
|
+
private readonly insteadDescription;
|
|
24
|
+
constructor(sourceDescription: string, insteadDescription: string);
|
|
25
|
+
/**
|
|
26
|
+
* Refuse both limits, since this source is not the one counting.
|
|
27
|
+
*/
|
|
28
|
+
limitsIn(input: SimLambdaEventSourceRetryLimitsInput): SimLambdaStreamRetryLimits | undefined;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The rules for a stream, which counts a failed batch's attempts itself.
|
|
32
|
+
*/
|
|
33
|
+
export declare class SimLambdaStreamRetryLimitRules implements SimLambdaEventSourceRetryLimitRules {
|
|
34
|
+
/**
|
|
35
|
+
* The limits a mapping on this stream keeps, which are Lambda's own defaults
|
|
36
|
+
* of no limit when the request named neither.
|
|
37
|
+
*/
|
|
38
|
+
limitsIn(input: SimLambdaEventSourceRetryLimitsInput): SimLambdaStreamRetryLimits;
|
|
39
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { SimLambdaInvalidParameterValueException } from "../error/sim-lambda.error.js";
|
|
2
|
+
import { SimLambdaStreamRetryLimits, } from "./sim-lambda-stream-retry-limits.js";
|
|
3
|
+
/**
|
|
4
|
+
* The rules for an event source that decides for itself when to give up.
|
|
5
|
+
*/
|
|
6
|
+
export class SimLambdaNoRetryLimits {
|
|
7
|
+
sourceDescription;
|
|
8
|
+
insteadDescription;
|
|
9
|
+
constructor(sourceDescription, insteadDescription) {
|
|
10
|
+
this.sourceDescription = sourceDescription;
|
|
11
|
+
this.insteadDescription = insteadDescription;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Refuse both limits, since this source is not the one counting.
|
|
15
|
+
*/
|
|
16
|
+
limitsIn(input) {
|
|
17
|
+
const named = namedLimit(input);
|
|
18
|
+
if (named === undefined) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
throw new SimLambdaInvalidParameterValueException(`${named} is not valid for ${this.sourceDescription}: ${this.insteadDescription}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The rules for a stream, which counts a failed batch's attempts itself.
|
|
26
|
+
*/
|
|
27
|
+
export class SimLambdaStreamRetryLimitRules {
|
|
28
|
+
/**
|
|
29
|
+
* The limits a mapping on this stream keeps, which are Lambda's own defaults
|
|
30
|
+
* of no limit when the request named neither.
|
|
31
|
+
*/
|
|
32
|
+
limitsIn(input) {
|
|
33
|
+
return new SimLambdaStreamRetryLimits(input);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Which limit a request named, for a refusal to name it back.
|
|
38
|
+
*/
|
|
39
|
+
function namedLimit(input) {
|
|
40
|
+
if (input.maximumRetryAttempts !== undefined) {
|
|
41
|
+
return "MaximumRetryAttempts";
|
|
42
|
+
}
|
|
43
|
+
return input.maximumRecordAgeInSeconds === undefined
|
|
44
|
+
? undefined
|
|
45
|
+
: "MaximumRecordAgeInSeconds";
|
|
46
|
+
}
|