@kensio/yulin 1.21.2 → 1.21.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/service/athena/engine/sim-athena-column-types.d.ts +2 -0
- package/dist/service/athena/engine/sim-athena-column-types.js +4 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.d.ts +7 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.js +51 -0
- package/dist/service/athena/engine/sim-athena-engine-result.js +5 -0
- package/dist/service/athena/engine/sim-athena-engine-run.d.ts +22 -2
- package/dist/service/athena/engine/sim-athena-engine-run.js +21 -31
- package/dist/service/athena/engine/sim-athena-loaded-tables.d.ts +10 -0
- package/dist/service/athena/engine/sim-athena-loaded-tables.js +35 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.d.ts +25 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.js +39 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.d.ts +13 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.js +57 -0
- package/dist/service/athena/engine/sim-athena-query-engine.d.ts +23 -5
- package/dist/service/athena/engine/sim-athena-query-engine.js +31 -10
- package/dist/service/athena/engine/sim-athena-record-reader.d.ts +12 -6
- package/dist/service/athena/engine/sim-athena-record-reader.js +28 -53
- package/dist/service/athena/engine/sim-athena-sql-translation.d.ts +15 -9
- package/dist/service/athena/engine/sim-athena-sql-translation.js +25 -13
- package/dist/service/athena/engine/sim-athena-sqlite-values.d.ts +5 -0
- package/dist/service/athena/engine/sim-athena-sqlite-values.js +24 -1
- package/dist/service/athena/engine/sim-athena-table-objects.d.ts +7 -2
- package/dist/service/athena/engine/sim-athena-table-objects.js +8 -4
- package/dist/service/athena/engine/sim-athena-table-rows.js +4 -3
- package/dist/service/athena/engine/sim-athena-turn-down.d.ts +26 -0
- package/dist/service/athena/engine/sim-athena-turn-down.js +43 -0
- package/dist/service/athena/execution/sim-athena-query-completion.d.ts +3 -1
- package/dist/service/athena/execution/sim-athena-query-completion.js +7 -1
- package/dist/service/athena/index.d.ts +1 -1
- package/dist/service/athena/index.js +1 -1
- package/dist/service/athena/result/sim-athena-query-answer.d.ts +12 -0
- package/dist/service/athena/result/sim-athena-query-answer.js +26 -4
- package/dist/service/athena/sim-athena-answered-query.fixture.d.ts +2 -0
- package/dist/service/athena/sim-athena-answered-query.fixture.js +1 -0
- package/dist/service/athena/sim-athena-engine.fixture.d.ts +20 -0
- package/dist/service/athena/sim-athena-engine.fixture.js +34 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.d.ts +23 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.js +37 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +2 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +7 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +13 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +6 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +7 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.d.ts +50 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.js +71 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +6 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts +5 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +7 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.d.ts +9 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.js +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.d.ts +42 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.js +69 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.d.ts +62 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.js +89 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.d.ts +31 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.js +59 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.d.ts +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.js +19 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.d.ts +17 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.js +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.d.ts +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.js +13 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.d.ts +45 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.js +52 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.d.ts +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.js +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.d.ts +54 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.js +49 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.d.ts +35 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.js +1 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.d.ts +53 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.js +83 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.d.ts +32 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.d.ts +38 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.js +80 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +12 -12
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.d.ts +22 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.d.ts +27 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.js +35 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +6 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +11 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +15 -1
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.d.ts +48 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.d.ts +23 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.js +52 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts +3 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +8 -4
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +18 -6
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +22 -7
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +1 -1
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.d.ts +25 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.d.ts +31 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.js +37 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.d.ts +36 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.js +1 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.d.ts +26 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.js +39 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.d.ts +31 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.js +52 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.d.ts +22 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.js +34 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +17 -1
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +8 -15
- package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts +21 -0
- package/dist/service/cloudformation/error/sim-cloudformation.error.js +25 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.d.ts +7 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.js +3 -1
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +9 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +12 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +4 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +10 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.d.ts +44 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.js +33 -0
- package/dist/service/cloudformation/resource/factory/sim-cfn-resource-factory.type.d.ts +9 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +15 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +21 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +9 -7
- package/dist/service/cloudformation/resource/sim-cfn-resource.js +11 -11
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +19 -0
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +3 -3
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +3 -3
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +9 -0
- package/dist/service/cloudformation/resource/update/sim-cfn-resource-update-validator.d.ts +26 -0
- package/dist/service/cloudformation/resource/update/sim-cfn-resource-update-validator.js +55 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.d.ts +37 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.js +77 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.d.ts +51 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.js +10 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.js +34 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.d.ts +21 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.js +31 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.d.ts +14 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.js +1 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.js +58 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.js +89 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.js +65 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.js +60 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.js +50 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.js +30 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.js +44 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.js +43 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.js +67 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.js +61 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +4 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +12 -5
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-api-event.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.d.ts +26 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.js +88 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +12 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +1 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +8 -5
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +23 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +9 -2
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +5 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +6 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +7 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.d.ts +19 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.js +69 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +5 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +3 -1
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.d.ts +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.js +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +1 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +6 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +2 -4
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.d.ts +31 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.js +17 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +11 -6
- package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +20 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +4 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-api.js +6 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.d.ts +10 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.js +94 -0
- package/dist/service/cloudformation/sim-cloudformation.d.ts +31 -0
- package/dist/service/cloudformation/sim-cloudformation.js +56 -9
- package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.d.ts +20 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.js +23 -0
- package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +6 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.d.ts +30 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.js +24 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +51 -3
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +84 -6
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +59 -32
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +7 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +7 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +3 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.d.ts +18 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.js +30 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +25 -14
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +41 -24
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +16 -1
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +27 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +7 -1
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +12 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +29 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.d.ts +28 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.js +39 -0
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +25 -1
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +43 -11
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.d.ts +7 -0
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.js +29 -3
- package/dist/service/cloudformation/template/sim-cfn-command-template.d.ts +40 -0
- package/dist/service/cloudformation/template/sim-cfn-command-template.js +45 -0
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts +7 -0
- package/dist/service/cloudformation/template/sim-cfn-template.js +15 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +2 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +49 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +1 -0
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +1 -1
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.d.ts +5 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.js +17 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +5 -5
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +24 -8
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +5 -0
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +15 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-update-validator.d.ts +24 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-update-validator.js +38 -0
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.d.ts +11 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.js +20 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +2 -0
- package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +14 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +16 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.d.ts +17 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.js +39 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.d.ts +28 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.js +50 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +12 -5
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts +3 -3
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +3 -4
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.d.ts +5 -16
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.js +4 -21
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.d.ts +15 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.js +18 -1
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.d.ts +13 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.js +15 -0
- package/dist/service/dynamodb/table/sim-dynamodb-index-update.js +1 -2
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +2 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +5 -3
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.d.ts +21 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.js +37 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +6 -0
- package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js +5 -1
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +2 -3
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +1 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +6 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +10 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +2 -6
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.js +49 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.js +57 -0
- package/dist/service/lambda/command/function-url/function-url-input.d.ts +7 -0
- package/dist/service/lambda/command/function-url/function-url-input.js +9 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-invocation.js +10 -13
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-outcome.js +2 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.d.ts +13 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.js +12 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +2 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +1 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-bus.js +1 -1
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-function.js +8 -12
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-queue.js +4 -3
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-send.d.ts +2 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-topic.js +4 -3
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.d.ts +4 -6
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.js +6 -6
- package/dist/service/lambda/destination/sim-lambda-destination-targets.d.ts +3 -0
- package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +22 -3
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +39 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +7 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +14 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +9 -15
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +9 -16
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +10 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +22 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.d.ts +23 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.js +18 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +12 -13
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +24 -17
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.d.ts +64 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.js +86 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +8 -1
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +7 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +11 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +13 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.d.ts +39 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.js +46 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.d.ts +56 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.js +110 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts +5 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js +7 -1
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js +6 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +6 -1
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +8 -6
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +10 -8
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +18 -1
- package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +8 -2
- package/dist/service/lambda/function/code/sim-lambda-executable-code.js +2 -1
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +2 -11
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +13 -39
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +7 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +13 -7
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.d.ts +23 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.js +42 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.d.ts +12 -4
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.js +15 -5
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +7 -0
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +6 -2
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.d.ts +26 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.js +84 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.d.ts +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.js +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +6 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +1 -2
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +6 -1
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +19 -6
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.d.ts +15 -0
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.js +18 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.d.ts +12 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.js +28 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.d.ts +46 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.js +104 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.d.ts +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.js +27 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.d.ts +43 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.js +112 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.d.ts +57 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.js +79 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.d.ts +10 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.js +15 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.d.ts +11 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.js +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.d.ts +50 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.js +43 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +17 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +12 -1
- package/dist/service/lambda/function/logging/sim-lambda-output.d.ts +56 -0
- package/dist/service/lambda/function/logging/sim-lambda-output.js +62 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.d.ts +8 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.js +27 -1
- package/dist/service/lambda/function/sim-lambda-function.d.ts +1 -1
- package/dist/service/lambda/function/sim-lambda-function.js +11 -9
- package/dist/service/lambda/function/sim-lambda-function.type.d.ts +15 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.d.ts +22 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.js +17 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.js +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +2 -1
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.js +16 -1
- package/dist/service/lambda/index.d.ts +1 -0
- package/dist/service/lambda/index.js +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.d.ts +50 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.js +96 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts +14 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js +27 -0
- package/dist/service/lambda/sim-lambda-commands.d.ts +10 -0
- package/dist/service/lambda/sim-lambda-commands.js +11 -0
- package/dist/service/lambda/sim-lambda.d.ts +12 -0
- package/dist/service/lambda/sim-lambda.js +13 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.d.ts +67 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.js +69 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +4 -31
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +7 -6
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +5 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +8 -4
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +1 -14
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +16 -8
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.d.ts +41 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.js +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +14 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +32 -2
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.d.ts +33 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.js +48 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.d.ts +16 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.js +44 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +8 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +27 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +5 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -3
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +3 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -2
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.d.ts +84 -0
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.js +115 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +10 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.js +18 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.d.ts +41 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.js +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -83
- package/dist/service/s3/bucket/sim-s3-bucket.js +14 -83
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +6 -0
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +20 -6
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.d.ts +58 -0
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.js +73 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +19 -1
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +20 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.js +44 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +6 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +5 -4
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +12 -5
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.js +30 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +14 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +41 -16
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +3 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +7 -10
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +6 -1
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +5 -0
- package/dist/service/s3/command/copy-object/copy-object-builder.d.ts +10 -1
- package/dist/service/s3/command/copy-object/copy-object-builder.js +17 -1
- package/dist/service/s3/command/copy-object/copy-object.command.d.ts +11 -1
- package/dist/service/s3/command/copy-object/copy-object.handler.js +2 -1
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +5 -1
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +7 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.d.ts +19 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.d.ts +30 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.js +38 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.d.ts +23 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.js +1 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.js +42 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.d.ts +29 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.js +49 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.d.ts +22 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.js +30 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.d.ts +24 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.js +39 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +11 -8
- package/dist/service/s3/command/get-object/get-object-authorizer.js +26 -34
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +7 -3
- package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
- package/dist/service/s3/command/get-object/get-object.command.d.ts +2 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -0
- package/dist/service/s3/command/get-object/get-object.handler.js +13 -7
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.d.ts +29 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.js +1 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.d.ts +21 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.js +33 -0
- package/dist/service/s3/command/head-object/head-object-loader.js +2 -0
- package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +18 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +1 -2
- package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +1 -2
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +5 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js +11 -6
- package/dist/service/s3/command/list-objects/list-objects.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +5 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +6 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +11 -5
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +5 -0
- package/dist/service/s3/command/list-parts/list-parts.handler.js +3 -3
- package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +1 -1
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.d.ts +21 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.js +41 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +10 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +2 -1
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.d.ts +37 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.js +1 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.js +46 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.d.ts +61 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.js +49 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.d.ts +30 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.js +27 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.d.ts +26 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.js +34 -0
- package/dist/service/s3/error/sim-s3-upload.error.d.ts +41 -0
- package/dist/service/s3/error/sim-s3-upload.error.js +47 -0
- package/dist/service/s3/error/sim-s3.error.d.ts +22 -34
- package/dist/service/s3/error/sim-s3.error.js +26 -40
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts +10 -0
- package/dist/service/s3/notification/event/sim-s3-event-records.d.ts +3 -2
- package/dist/service/s3/notification/event/sim-s3-event-records.js +5 -3
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +33 -8
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +23 -9
- package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +5 -1
- package/dist/service/s3/notification/sim-s3-object-notifier.js +6 -0
- package/dist/service/s3/object/s3-key-encoding.d.ts +12 -0
- package/dist/service/s3/object/s3-key-encoding.js +14 -0
- package/dist/service/s3/object/s3-listing-encoding.d.ts +42 -0
- package/dist/service/s3/object/s3-listing-encoding.js +75 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +40 -0
- package/dist/service/s3/object/s3-object-response-headers.js +49 -2
- package/dist/service/s3/object/s3-object-storage-report.d.ts +19 -0
- package/dist/service/s3/object/s3-object-storage-report.js +18 -0
- package/dist/service/s3/object/s3-object-summary.d.ts +2 -10
- package/dist/service/s3/object/s3-object-summary.js +1 -10
- package/dist/service/s3/object/s3-object-tags.d.ts +61 -0
- package/dist/service/s3/object/s3-object-tags.js +77 -0
- package/dist/service/s3/object/s3-object.d.ts +49 -0
- package/dist/service/s3/object/s3-object.js +52 -1
- package/dist/service/s3/object/s3-server-side-encryption.d.ts +30 -0
- package/dist/service/s3/object/s3-server-side-encryption.js +42 -0
- package/dist/service/s3/object/s3-storage-class.d.ts +45 -0
- package/dist/service/s3/object/s3-storage-class.js +67 -0
- package/dist/service/s3/object/s3-write-metadata.d.ts +17 -3
- package/dist/service/s3/object/s3-write-metadata.js +43 -0
- package/dist/service/s3/object/s3-write-storage.d.ts +27 -0
- package/dist/service/s3/object/s3-write-storage.js +21 -0
- package/dist/service/s3/object/s3-write-tagging.d.ts +24 -0
- package/dist/service/s3/object/s3-write-tagging.js +19 -0
- package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +12 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +2 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.d.ts +9 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.js +23 -0
- package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +22 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +4 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +10 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.d.ts +7 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.js +30 -0
- package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +4 -2
- package/dist/service/s3/serve/api/sim-s3-api-head-output.js +8 -2
- package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -6
- package/dist/service/s3/serve/api/sim-s3-api-input.js +2 -13
- package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-listing.js +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +16 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.js +34 -7
- package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +18 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-output.js +21 -2
- package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +22 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +5 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.js +16 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +6 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.js +55 -11
- package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -2
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.d.ts +9 -0
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.js +14 -0
- package/dist/service/s3/serve/api/sim-s3-api.d.ts +7 -1
- package/dist/service/s3/serve/api/sim-s3-api.js +7 -1
- package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +1 -5
- package/dist/service/s3/serve/sim-s3-rest-controller.js +3 -17
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +3 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +8 -1
- package/dist/service/s3/serve/sim-s3-rest-upload.d.ts +20 -0
- package/dist/service/s3/serve/sim-s3-rest-upload.js +30 -0
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +2 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.js +3 -0
- package/dist/service/s3/sim-s3-commands.d.ts +4 -0
- package/dist/service/s3/sim-s3-commands.js +6 -0
- package/dist/service/s3/sim-s3-operations.d.ts +11 -4
- package/dist/service/s3/sim-s3-operations.js +17 -4
- package/dist/service/s3/sim-s3-tagging-operations.d.ts +21 -0
- package/dist/service/s3/sim-s3-tagging-operations.js +25 -0
- package/dist/service/s3/sim-s3.d.ts +12 -0
- package/dist/service/s3/sim-s3.js +13 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.d.ts +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.js +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.d.ts +9 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.js +24 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +5 -4
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -3
- package/dist/service/s3/upload/sim-s3-completed-upload.js +5 -1
- package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +18 -0
- package/dist/service/s3/upload/sim-s3-multipart-upload.js +8 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +6 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.js +5 -0
- package/dist/util/background/background-clock-waits.d.ts +52 -0
- package/dist/util/background/background-clock-waits.js +76 -0
- package/dist/util/background/background-jitter.js +1 -0
- package/dist/util/background/background-pending-tasks.d.ts +55 -0
- package/dist/util/background/background-pending-tasks.js +117 -0
- package/dist/util/background/background-settled-tasks.d.ts +4 -1
- package/dist/util/background/background-settled-tasks.js +4 -1
- package/dist/util/background/background.d.ts +43 -0
- package/dist/util/background/background.js +27 -19
- package/dist/util/background/non-deterministic-background.d.ts +12 -0
- package/dist/util/background/non-deterministic-background.js +24 -20
- package/dist/util/clock/sim-clock-control.js +23 -2
- package/docs/services/apigateway/README.md +3 -1
- package/docs/services/athena/README.md +126 -3
- package/docs/services/cloudformation/README.md +775 -65
- package/docs/services/cognito/README.md +5 -0
- package/docs/services/dynamodb/README.md +86 -11
- package/docs/services/lambda/README.md +603 -39
- package/docs/services/s3/README.md +688 -57
- package/package.json +8 -2
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SimCfnTemplateValueRecord } from "../../../template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SamApiAuthApi } from "./sim-cfn-sam-api-auth.types.js";
|
|
3
|
+
/**
|
|
4
|
+
* What one authorizer's `Identity` block is read against.
|
|
5
|
+
*/
|
|
6
|
+
export interface SamApiIdentityProperties {
|
|
7
|
+
readonly api: SamApiAuthApi;
|
|
8
|
+
/** The name the `Authorizers` map declared this authorizer under. */
|
|
9
|
+
readonly authorizerName: string;
|
|
10
|
+
/** The authorizer's own properties, which may declare no `Identity` at all. */
|
|
11
|
+
readonly authorizer: SimCfnTemplateValueRecord;
|
|
12
|
+
/** How the API this authorizer belongs to names the parts of a request. */
|
|
13
|
+
readonly prefixes: ReadonlyMap<string, string>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The request parts the authorizer is keyed on, in the order the API names
|
|
17
|
+
* them.
|
|
18
|
+
*
|
|
19
|
+
* The singular `Header` a Cognito or `TOKEN` authorizer states reads as a
|
|
20
|
+
* `Headers` of one, so both spellings arrive under the same prefix.
|
|
21
|
+
*/
|
|
22
|
+
export declare function samIdentitySource(properties: SamApiIdentityProperties, identity: SimCfnTemplateValueRecord): readonly string[];
|
|
23
|
+
/**
|
|
24
|
+
* The error a property of an authorizer's `Identity` block is refused with.
|
|
25
|
+
*/
|
|
26
|
+
export declare function samIdentityError(properties: SamApiIdentityProperties, property: string, reason: string): Error;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { samAuthError } from "./sim-cfn-sam-api-auth.js";
|
|
2
|
+
/**
|
|
3
|
+
* The request parts the authorizer is keyed on, in the order the API names
|
|
4
|
+
* them.
|
|
5
|
+
*
|
|
6
|
+
* The singular `Header` a Cognito or `TOKEN` authorizer states reads as a
|
|
7
|
+
* `Headers` of one, so both spellings arrive under the same prefix.
|
|
8
|
+
*/
|
|
9
|
+
export function samIdentitySource(properties, identity) {
|
|
10
|
+
return properties.prefixes
|
|
11
|
+
.entries()
|
|
12
|
+
.flatMap(([name, prefix]) => identityNames(properties, identity, name).map((part) => `${prefix}${part}`))
|
|
13
|
+
.toArray();
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The error a property of an authorizer's `Identity` block is refused with.
|
|
17
|
+
*/
|
|
18
|
+
export function samIdentityError(properties, property, reason) {
|
|
19
|
+
return samAuthError(properties.api, `Auth.Authorizers.${properties.authorizerName}.${property}`, reason);
|
|
20
|
+
}
|
|
21
|
+
function identityNames(properties, identity, name) {
|
|
22
|
+
const singular = name === "Headers" ? identity["Header"] : undefined;
|
|
23
|
+
// oxlint-disable-next-line security/detect-object-injection -- a template record read by one of the Identity property names.
|
|
24
|
+
const declared = identity[name];
|
|
25
|
+
return [
|
|
26
|
+
...(singular === undefined ? [] : [singular]),
|
|
27
|
+
...asList(properties, name, declared),
|
|
28
|
+
].map((value) => identityName(properties, name, value));
|
|
29
|
+
}
|
|
30
|
+
function asList(properties, name, declared) {
|
|
31
|
+
if (declared === undefined) {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
if (!Array.isArray(declared)) {
|
|
35
|
+
throw samIdentityError(properties, `Identity.${name}`, "it is not a list of names");
|
|
36
|
+
}
|
|
37
|
+
return declared;
|
|
38
|
+
}
|
|
39
|
+
function identityName(properties, name, value) {
|
|
40
|
+
if (typeof value !== "string") {
|
|
41
|
+
throw samIdentityError(properties, `Identity.${name}`, "it names a part of the request as something other than a string");
|
|
42
|
+
}
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SimCfnTemplateValueRecord } from "../../../template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SamApiAuth } from "./sim-cfn-sam-api-auth.types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The `Auth` of one AWS::Serverless::Api, as the authorizer Resources it
|
|
5
|
+
* declares and the default every method takes.
|
|
6
|
+
*
|
|
7
|
+
* SAM writes these into the Swagger document it generates. They are written as
|
|
8
|
+
* `AWS::ApiGateway::Authorizer` Resources here, the way the methods beside them
|
|
9
|
+
* are written as Resources, so an authorizer is something a Stack holds,
|
|
10
|
+
* answers `Ref` for and tears down.
|
|
11
|
+
*
|
|
12
|
+
* `AWS_IAM` is an authorizer of every REST API without being declared, since a
|
|
13
|
+
* SAM template names it as a `DefaultAuthorizer` without declaring one.
|
|
14
|
+
*/
|
|
15
|
+
export declare function samRestApiAuth(logicalId: string, apiProperties: SimCfnTemplateValueRecord): SamApiAuth;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { samApiAuthBlock, samAuthError, samIamAuthorizer, } from "./sim-cfn-sam-api-auth.js";
|
|
2
|
+
import { samApiAuthorizerDefinitions, samApiDefaultAuthorizer, } from "./sim-cfn-sam-api-authorizers.js";
|
|
3
|
+
import { samIamAuthorizerName } from "./sim-cfn-sam-api-auth.types.js";
|
|
4
|
+
import { samRestCognitoAuthorizer } from "./sim-cfn-sam-rest-cognito-authorizer.js";
|
|
5
|
+
import { samRestLambdaAuthorizer } from "./sim-cfn-sam-rest-lambda-authorizer.js";
|
|
6
|
+
/**
|
|
7
|
+
* The SAM Resource type a REST API `Auth` block is declared on.
|
|
8
|
+
*/
|
|
9
|
+
const resourceType = "AWS::Serverless::Api";
|
|
10
|
+
/**
|
|
11
|
+
* The `Auth` properties this expansion reads on a REST API. Everything else
|
|
12
|
+
* SAM has there is refused by name.
|
|
13
|
+
*/
|
|
14
|
+
const supportedProperties = new Set(["Authorizers", "DefaultAuthorizer"]);
|
|
15
|
+
/**
|
|
16
|
+
* The `Auth` of one AWS::Serverless::Api, as the authorizer Resources it
|
|
17
|
+
* declares and the default every method takes.
|
|
18
|
+
*
|
|
19
|
+
* SAM writes these into the Swagger document it generates. They are written as
|
|
20
|
+
* `AWS::ApiGateway::Authorizer` Resources here, the way the methods beside them
|
|
21
|
+
* are written as Resources, so an authorizer is something a Stack holds,
|
|
22
|
+
* answers `Ref` for and tears down.
|
|
23
|
+
*
|
|
24
|
+
* `AWS_IAM` is an authorizer of every REST API without being declared, since a
|
|
25
|
+
* SAM template names it as a `DefaultAuthorizer` without declaring one.
|
|
26
|
+
*/
|
|
27
|
+
export function samRestApiAuth(logicalId, apiProperties) {
|
|
28
|
+
const api = { resourceType, logicalId };
|
|
29
|
+
const auth = samApiAuthBlock(api, apiProperties, supportedProperties);
|
|
30
|
+
return {
|
|
31
|
+
api,
|
|
32
|
+
authorizers: new Map([
|
|
33
|
+
[samIamAuthorizerName, samIamAuthorizer()],
|
|
34
|
+
...samApiAuthorizerDefinitions(api, auth).map(([name, definition]) => [name, restAuthorizer({ api, name, definition })]),
|
|
35
|
+
]),
|
|
36
|
+
defaultAuthorizer: samApiDefaultAuthorizer(api, auth),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* One authorizer of a REST API, as the Resource it becomes and what a method
|
|
41
|
+
* naming it carries.
|
|
42
|
+
*
|
|
43
|
+
* A Cognito authorizer is the one that names a `UserPoolArn`, and a Lambda one
|
|
44
|
+
* the one that names a `FunctionArn`. That is how SAM tells them apart, and an
|
|
45
|
+
* authorizer naming neither is refused rather than deployed as something it
|
|
46
|
+
* did not ask to be.
|
|
47
|
+
*/
|
|
48
|
+
function restAuthorizer(authorizer) {
|
|
49
|
+
const userPoolArn = authorizer.definition["UserPoolArn"];
|
|
50
|
+
if (userPoolArn !== undefined) {
|
|
51
|
+
return samRestCognitoAuthorizer(authorizer, userPoolArn);
|
|
52
|
+
}
|
|
53
|
+
const functionArn = authorizer.definition["FunctionArn"];
|
|
54
|
+
if (functionArn !== undefined) {
|
|
55
|
+
return samRestLambdaAuthorizer(authorizer, functionArn);
|
|
56
|
+
}
|
|
57
|
+
throw samAuthError(authorizer.api, `Auth.Authorizers.${authorizer.name}`, "it names neither a UserPoolArn nor a FunctionArn, so there is no " +
|
|
58
|
+
"telling what would decide a request");
|
|
59
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue } from "../../../template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SamApiAuthorizer } from "./sim-cfn-sam-api-auth.types.js";
|
|
3
|
+
import type { SamAuthorizerDefinition } from "./sim-cfn-sam-authorizer-definition.js";
|
|
4
|
+
/**
|
|
5
|
+
* A REST API Cognito user pool authorizer, which verifies the token a request
|
|
6
|
+
* carries against the pool it names.
|
|
7
|
+
*
|
|
8
|
+
* `AuthorizationScopes` on the authorizer is what every method it decides asks
|
|
9
|
+
* of the token, and an event may ask for different ones of its own.
|
|
10
|
+
*/
|
|
11
|
+
export declare function samRestCognitoAuthorizer(authorizer: SamAuthorizerDefinition, userPoolArn: SimCfnTemplateValue): SamApiAuthorizer;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { samAuthorizerLogicalId, samAuthorizerResultTtl, } from "./sim-cfn-sam-api-auth.js";
|
|
2
|
+
import { samApiIdentity } from "./sim-cfn-sam-api-identity.js";
|
|
3
|
+
import { samRestIdentityPrefixes } from "./sim-cfn-sam-identity-prefixes.js";
|
|
4
|
+
/**
|
|
5
|
+
* The header a Cognito authorizer reads its token from where the template says
|
|
6
|
+
* nothing, which is the one real API Gateway defaults to.
|
|
7
|
+
*/
|
|
8
|
+
const defaultIdentitySource = "method.request.header.Authorization";
|
|
9
|
+
/**
|
|
10
|
+
* A REST API Cognito user pool authorizer, which verifies the token a request
|
|
11
|
+
* carries against the pool it names.
|
|
12
|
+
*
|
|
13
|
+
* `AuthorizationScopes` on the authorizer is what every method it decides asks
|
|
14
|
+
* of the token, and an event may ask for different ones of its own.
|
|
15
|
+
*/
|
|
16
|
+
export function samRestCognitoAuthorizer(authorizer, userPoolArn) {
|
|
17
|
+
const { api, name, definition } = authorizer;
|
|
18
|
+
const identity = samApiIdentity({
|
|
19
|
+
api,
|
|
20
|
+
authorizerName: name,
|
|
21
|
+
authorizer: definition,
|
|
22
|
+
prefixes: samRestIdentityPrefixes,
|
|
23
|
+
});
|
|
24
|
+
const logicalId = samAuthorizerLogicalId(api, name);
|
|
25
|
+
return {
|
|
26
|
+
authorizationType: "COGNITO_USER_POOLS",
|
|
27
|
+
logicalId,
|
|
28
|
+
authorizationScopes: definition["AuthorizationScopes"],
|
|
29
|
+
resources: {
|
|
30
|
+
[logicalId]: {
|
|
31
|
+
Type: "AWS::ApiGateway::Authorizer",
|
|
32
|
+
Properties: {
|
|
33
|
+
RestApiId: { Ref: api.logicalId },
|
|
34
|
+
Name: name,
|
|
35
|
+
Type: "COGNITO_USER_POOLS",
|
|
36
|
+
ProviderARNs: [userPoolArn],
|
|
37
|
+
IdentitySource: identity.identitySource.join(",") || defaultIdentitySource,
|
|
38
|
+
...samAuthorizerResultTtl(identity.reauthorizeEvery),
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue } from "../../../template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SamApiAuthorizer } from "./sim-cfn-sam-api-auth.types.js";
|
|
3
|
+
import type { SamAuthorizerDefinition } from "./sim-cfn-sam-authorizer-definition.js";
|
|
4
|
+
/**
|
|
5
|
+
* A REST API Lambda authorizer, which asks a function of the template what to
|
|
6
|
+
* do with the request.
|
|
7
|
+
*
|
|
8
|
+
* `FunctionPayloadType` decides which of the two kinds it is. A `TOKEN`
|
|
9
|
+
* authorizer is handed one header, and a `REQUEST` authorizer the whole
|
|
10
|
+
* request. SAM defaults to `TOKEN`, and so does this. A `TOKEN` authorizer
|
|
11
|
+
* naming no header of its own reads `Authorization`, and a `REQUEST` one is
|
|
12
|
+
* allowed to read nothing by name, which is how it is asked to run on every
|
|
13
|
+
* request.
|
|
14
|
+
*/
|
|
15
|
+
export declare function samRestLambdaAuthorizer(authorizer: SamAuthorizerDefinition, functionArn: SimCfnTemplateValue): SamApiAuthorizer;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { samAuthError, samAuthorizerLogicalId, samAuthorizerResultTtl, } from "./sim-cfn-sam-api-auth.js";
|
|
2
|
+
import { samApiIdentity } from "./sim-cfn-sam-api-identity.js";
|
|
3
|
+
import { samAuthorizerPermissionResource, samAuthorizerUri, } from "./sim-cfn-sam-authorizer-function.js";
|
|
4
|
+
import { samRestIdentityPrefixes } from "./sim-cfn-sam-identity-prefixes.js";
|
|
5
|
+
/**
|
|
6
|
+
* A REST API Lambda authorizer, which asks a function of the template what to
|
|
7
|
+
* do with the request.
|
|
8
|
+
*
|
|
9
|
+
* `FunctionPayloadType` decides which of the two kinds it is. A `TOKEN`
|
|
10
|
+
* authorizer is handed one header, and a `REQUEST` authorizer the whole
|
|
11
|
+
* request. SAM defaults to `TOKEN`, and so does this. A `TOKEN` authorizer
|
|
12
|
+
* naming no header of its own reads `Authorization`, and a `REQUEST` one is
|
|
13
|
+
* allowed to read nothing by name, which is how it is asked to run on every
|
|
14
|
+
* request.
|
|
15
|
+
*/
|
|
16
|
+
export function samRestLambdaAuthorizer(authorizer, functionArn) {
|
|
17
|
+
const { api, name, definition } = authorizer;
|
|
18
|
+
const identity = samApiIdentity({
|
|
19
|
+
api,
|
|
20
|
+
authorizerName: name,
|
|
21
|
+
authorizer: definition,
|
|
22
|
+
prefixes: samRestIdentityPrefixes,
|
|
23
|
+
});
|
|
24
|
+
const logicalId = samAuthorizerLogicalId(api, name);
|
|
25
|
+
const type = payloadType(authorizer);
|
|
26
|
+
const declared = identity.identitySource.join(",");
|
|
27
|
+
return {
|
|
28
|
+
authorizationType: "CUSTOM",
|
|
29
|
+
logicalId,
|
|
30
|
+
authorizationScopes: undefined,
|
|
31
|
+
resources: {
|
|
32
|
+
[logicalId]: {
|
|
33
|
+
Type: "AWS::ApiGateway::Authorizer",
|
|
34
|
+
Properties: {
|
|
35
|
+
RestApiId: { Ref: api.logicalId },
|
|
36
|
+
Name: name,
|
|
37
|
+
Type: type,
|
|
38
|
+
AuthorizerUri: samAuthorizerUri(functionArn),
|
|
39
|
+
...identitySource(type, declared),
|
|
40
|
+
...samAuthorizerResultTtl(identity.reauthorizeEvery),
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
[`${logicalId}Permission`]: samAuthorizerPermissionResource({
|
|
44
|
+
functionArn,
|
|
45
|
+
apiLogicalId: api.logicalId,
|
|
46
|
+
}),
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Which kind of Lambda authorizer the definition asks for.
|
|
52
|
+
*/
|
|
53
|
+
function payloadType(authorizer) {
|
|
54
|
+
const declared = authorizer.definition["FunctionPayloadType"] ?? "TOKEN";
|
|
55
|
+
if (declared !== "TOKEN" && declared !== "REQUEST") {
|
|
56
|
+
throw samAuthError(authorizer.api, `Auth.Authorizers.${authorizer.name}.FunctionPayloadType`, "it is neither TOKEN nor REQUEST");
|
|
57
|
+
}
|
|
58
|
+
return declared;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The `IdentitySource` the authorizer is created with, which a REST API states
|
|
62
|
+
* as one comma-separated string.
|
|
63
|
+
*/
|
|
64
|
+
function identitySource(type, declared) {
|
|
65
|
+
const source = declared || (type === "TOKEN" ? "method.request.header.Authorization" : "");
|
|
66
|
+
return source === "" ? {} : { IdentitySource: source };
|
|
67
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { CfnTemplateBodyRecord } from "../../../template/sim-cfn-template.js";
|
|
2
|
+
import type { SamTemplateGlobals } from "../../sim-cfn-sam-globals.js";
|
|
3
|
+
import type { SamApiAuth } from "./sim-cfn-sam-api-auth.types.js";
|
|
4
|
+
/**
|
|
5
|
+
* The `Auth` of every API of a template, by the logical ID the API is expanded
|
|
6
|
+
* under.
|
|
7
|
+
*
|
|
8
|
+
* An `Api` or `HttpApi` event puts its method on an API declared somewhere
|
|
9
|
+
* else in the template, and has to know what that API's `Auth` block declared
|
|
10
|
+
* before it can name one of its authorizers. This is read once for the whole
|
|
11
|
+
* template and handed to every event.
|
|
12
|
+
*/
|
|
13
|
+
export type SamTemplateApiAuth = ReadonlyMap<string, SamApiAuth>;
|
|
14
|
+
/**
|
|
15
|
+
* Read the `Auth` of every API a template declares, and of the two implicit
|
|
16
|
+
* APIs its events may make.
|
|
17
|
+
*
|
|
18
|
+
* The implicit APIs are read from `Globals`, which is where SAM says their
|
|
19
|
+
* `Auth` comes from. An API the template declares under one of their logical
|
|
20
|
+
* IDs is the API of that name, and is read last for that reason.
|
|
21
|
+
*
|
|
22
|
+
* An API naming a `DefinitionUri` is left out. Nothing here reads the document
|
|
23
|
+
* it points at, so the API is not expanded at all and there is no authorizer
|
|
24
|
+
* Resource for a method to name.
|
|
25
|
+
*/
|
|
26
|
+
export declare function samTemplateApiAuth(template: CfnTemplateBodyRecord, globals: SamTemplateGlobals): SamTemplateApiAuth;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { samImplicitHttpApiLogicalId } from "../../function/event/sim-cfn-sam-implicit-http-api.js";
|
|
2
|
+
import { samImplicitRestApiLogicalId } from "../../function/event/sim-cfn-sam-implicit-rest-api.js";
|
|
3
|
+
import { samResourceProperties } from "../../function/sim-cfn-sam-function-properties.js";
|
|
4
|
+
import { samMergedApiProperties } from "../../sim-cfn-sam-globals.js";
|
|
5
|
+
import { isSamTemplateRecord } from "../../sim-cfn-sam-record.js";
|
|
6
|
+
import { samHttpApiType } from "../sim-cfn-sam-http-api.js";
|
|
7
|
+
import { samRestApiType } from "../sim-cfn-sam-rest-api.js";
|
|
8
|
+
import { samHttpApiAuth } from "./sim-cfn-sam-http-api-auth.js";
|
|
9
|
+
import { samRestApiAuth } from "./sim-cfn-sam-rest-api-auth.js";
|
|
10
|
+
/**
|
|
11
|
+
* Read the `Auth` of every API a template declares, and of the two implicit
|
|
12
|
+
* APIs its events may make.
|
|
13
|
+
*
|
|
14
|
+
* The implicit APIs are read from `Globals`, which is where SAM says their
|
|
15
|
+
* `Auth` comes from. An API the template declares under one of their logical
|
|
16
|
+
* IDs is the API of that name, and is read last for that reason.
|
|
17
|
+
*
|
|
18
|
+
* An API naming a `DefinitionUri` is left out. Nothing here reads the document
|
|
19
|
+
* it points at, so the API is not expanded at all and there is no authorizer
|
|
20
|
+
* Resource for a method to name.
|
|
21
|
+
*/
|
|
22
|
+
export function samTemplateApiAuth(template, globals) {
|
|
23
|
+
const resources = isSamTemplateRecord(template.Resources)
|
|
24
|
+
? Object.entries(template.Resources)
|
|
25
|
+
: [];
|
|
26
|
+
return new Map([
|
|
27
|
+
[
|
|
28
|
+
samImplicitRestApiLogicalId,
|
|
29
|
+
samRestApiAuth(samImplicitRestApiLogicalId, globals.forApi),
|
|
30
|
+
],
|
|
31
|
+
[
|
|
32
|
+
samImplicitHttpApiLogicalId,
|
|
33
|
+
samHttpApiAuth(samImplicitHttpApiLogicalId, globals.forHttpApi),
|
|
34
|
+
],
|
|
35
|
+
...resources.flatMap(([logicalId, resource]) => declaredApiAuth(logicalId, resource, globals)),
|
|
36
|
+
]);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The `Auth` of one Resource of the template, where the Resource is a SAM API
|
|
40
|
+
* this expansion covers.
|
|
41
|
+
*/
|
|
42
|
+
function declaredApiAuth(logicalId, resource, globals) {
|
|
43
|
+
if (!isSamTemplateRecord(resource)) {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
const type = resource["Type"];
|
|
47
|
+
if (type === samRestApiType) {
|
|
48
|
+
return apiAuth(logicalId, resource, globals.forApi, samRestApiAuth);
|
|
49
|
+
}
|
|
50
|
+
if (type === samHttpApiType) {
|
|
51
|
+
return apiAuth(logicalId, resource, globals.forHttpApi, samHttpApiAuth);
|
|
52
|
+
}
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
function apiAuth(logicalId, resource, globals, read) {
|
|
56
|
+
const apiProperties = samMergedApiProperties(globals, samResourceProperties(resource));
|
|
57
|
+
if (apiProperties["DefinitionUri"] !== undefined) {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
return [[logicalId, read(logicalId, apiProperties)]];
|
|
61
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `Auth` properties an API can declare that this expansion does not model,
|
|
3
|
+
* and what each one would have done.
|
|
4
|
+
*
|
|
5
|
+
* Every one of them is refused by name rather than dropped, because an API
|
|
6
|
+
* that quietly lost part of its `Auth` block deploys open under a template
|
|
7
|
+
* that reads as closed.
|
|
8
|
+
*/
|
|
9
|
+
export declare const samUnsupportedApiAuth: ReadonlyMap<string, string>;
|
|
10
|
+
/**
|
|
11
|
+
* The `Auth` properties an `Api` or `HttpApi` event can declare that this
|
|
12
|
+
* expansion does not model.
|
|
13
|
+
*/
|
|
14
|
+
export declare const samUnsupportedEventAuth: ReadonlyMap<string, string>;
|
|
15
|
+
/**
|
|
16
|
+
* The `Identity` properties of an authorizer this expansion does not model.
|
|
17
|
+
*/
|
|
18
|
+
export declare const samUnsupportedIdentity: ReadonlyMap<string, string>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `Auth` properties an API can declare that this expansion does not model,
|
|
3
|
+
* and what each one would have done.
|
|
4
|
+
*
|
|
5
|
+
* Every one of them is refused by name rather than dropped, because an API
|
|
6
|
+
* that quietly lost part of its `Auth` block deploys open under a template
|
|
7
|
+
* that reads as closed.
|
|
8
|
+
*/
|
|
9
|
+
export const samUnsupportedApiAuth = new Map([
|
|
10
|
+
[
|
|
11
|
+
"AddDefaultAuthorizerToCorsPreflight",
|
|
12
|
+
"it decides whether the OPTIONS method a Cors block generates is " +
|
|
13
|
+
"authorized, and Cors is not expanded here",
|
|
14
|
+
],
|
|
15
|
+
["ApiKeyRequired", "API keys and usage plans are not simulated"],
|
|
16
|
+
["UsagePlan", "API keys and usage plans are not simulated"],
|
|
17
|
+
[
|
|
18
|
+
"InvokeRole",
|
|
19
|
+
"it names the Role API Gateway calls the integration as, and an " +
|
|
20
|
+
"integration here is invoked as the API rather than as a Role",
|
|
21
|
+
],
|
|
22
|
+
[
|
|
23
|
+
"ResourcePolicy",
|
|
24
|
+
"an API Gateway resource policy is not simulated. Close the API with an " +
|
|
25
|
+
"authorizer instead",
|
|
26
|
+
],
|
|
27
|
+
]);
|
|
28
|
+
/**
|
|
29
|
+
* The `Auth` properties an `Api` or `HttpApi` event can declare that this
|
|
30
|
+
* expansion does not model.
|
|
31
|
+
*/
|
|
32
|
+
export const samUnsupportedEventAuth = new Map([
|
|
33
|
+
["ApiKeyRequired", "API keys and usage plans are not simulated"],
|
|
34
|
+
[
|
|
35
|
+
"InvokeRole",
|
|
36
|
+
"it names the Role API Gateway calls the integration as, and an " +
|
|
37
|
+
"integration here is invoked as the API rather than as a Role",
|
|
38
|
+
],
|
|
39
|
+
[
|
|
40
|
+
"ResourcePolicy",
|
|
41
|
+
"an API Gateway resource policy is not simulated. Close the method with " +
|
|
42
|
+
"an authorizer instead",
|
|
43
|
+
],
|
|
44
|
+
[
|
|
45
|
+
"OverrideApiAuth",
|
|
46
|
+
"it lets an event replace the API's own Auth block rather than name one " +
|
|
47
|
+
"of its authorizers",
|
|
48
|
+
],
|
|
49
|
+
]);
|
|
50
|
+
/**
|
|
51
|
+
* The `Identity` properties of an authorizer this expansion does not model.
|
|
52
|
+
*/
|
|
53
|
+
export const samUnsupportedIdentity = new Map([
|
|
54
|
+
[
|
|
55
|
+
"ValidationExpression",
|
|
56
|
+
"it turns a token that does not match into a 401 before the authorizer " +
|
|
57
|
+
"runs, and that check is not simulated",
|
|
58
|
+
],
|
|
59
|
+
]);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MappedFactory } from "@kensio/part-factory";
|
|
2
|
-
import { samFunctionType } from "../function/sim-cfn-sam-function.js";
|
|
2
|
+
import { samFunctionType } from "../function/sim-cfn-sam-function-type.js";
|
|
3
3
|
import { samTransformName } from "../sim-cfn-sam-transform.js";
|
|
4
4
|
import { samHttpApiType } from "./sim-cfn-sam-http-api.js";
|
|
5
5
|
/**
|
|
@@ -22,6 +22,10 @@ export declare const samHttpApiType = "AWS::Serverless::HttpApi";
|
|
|
22
22
|
* points at a document on disk or in S3. Nothing here reads either, and an API
|
|
23
23
|
* declaring one is left as the template wrote it, to be recorded as
|
|
24
24
|
* unsupported. The alternative is an API deployed with no routes at all.
|
|
25
|
+
*
|
|
26
|
+
* An `Auth` block becomes one `AWS::ApiGatewayV2::Authorizer` per authorizer it
|
|
27
|
+
* declares, named after the API and the authorizer, which the routes on the API
|
|
28
|
+
* name by `Ref`.
|
|
25
29
|
*/
|
|
26
30
|
export declare function samHttpApiResources(properties: SamHttpApiExpansionProperties): Record<string, SimCfnTemplateValue>;
|
|
27
31
|
export {};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { samCarriedAttributes, samResourceProperties, } from "../function/sim-cfn-sam-function-properties.js";
|
|
1
|
+
import { samCarriedAttributes, samConditionAttribute, samResourceProperties, } from "../function/sim-cfn-sam-function-properties.js";
|
|
2
2
|
import { samMergedApiProperties } from "../sim-cfn-sam-globals.js";
|
|
3
3
|
import { samPickedProperties } from "../sim-cfn-sam-picked.js";
|
|
4
|
+
import { samApiAuthResources } from "./auth/sim-cfn-sam-api-auth.js";
|
|
5
|
+
import { samHttpApiAuth } from "./auth/sim-cfn-sam-http-api-auth.js";
|
|
4
6
|
import { samHttpApiStageResources } from "./sim-cfn-sam-http-api-stage.js";
|
|
5
7
|
/**
|
|
6
8
|
* The SAM Resource type this expansion covers.
|
|
@@ -10,10 +12,10 @@ export const samHttpApiType = "AWS::Serverless::HttpApi";
|
|
|
10
12
|
* The properties whose names and meanings are the same on both Resource types.
|
|
11
13
|
* Expanding one of them is carrying it across.
|
|
12
14
|
*
|
|
13
|
-
* `Auth` and `Domain` are absent from the list. SAM
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* `Auth` and `Domain` are absent from the list. SAM deploys a `Domain` as a
|
|
16
|
+
* custom domain name Resource. That is not expanded here, and an API declaring
|
|
17
|
+
* one is deployed without it. `Auth` becomes authorizer Resources of its own
|
|
18
|
+
* beside the API.
|
|
17
19
|
*/
|
|
18
20
|
const propertyNames = new Set([
|
|
19
21
|
"CorsConfiguration",
|
|
@@ -36,6 +38,10 @@ const propertyNames = new Set([
|
|
|
36
38
|
* points at a document on disk or in S3. Nothing here reads either, and an API
|
|
37
39
|
* declaring one is left as the template wrote it, to be recorded as
|
|
38
40
|
* unsupported. The alternative is an API deployed with no routes at all.
|
|
41
|
+
*
|
|
42
|
+
* An `Auth` block becomes one `AWS::ApiGatewayV2::Authorizer` per authorizer it
|
|
43
|
+
* declares, named after the API and the authorizer, which the routes on the API
|
|
44
|
+
* name by `Ref`.
|
|
39
45
|
*/
|
|
40
46
|
export function samHttpApiResources(properties) {
|
|
41
47
|
const { logicalId, resource, globals } = properties;
|
|
@@ -55,6 +61,7 @@ export function samHttpApiResources(properties) {
|
|
|
55
61
|
},
|
|
56
62
|
},
|
|
57
63
|
...samHttpApiStageResources({ logicalId, resource, apiProperties }),
|
|
64
|
+
...samApiAuthResources(samHttpApiAuth(logicalId, apiProperties), samConditionAttribute(resource["Condition"])),
|
|
58
65
|
};
|
|
59
66
|
}
|
|
60
67
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MappedFactory } from "@kensio/part-factory";
|
|
2
|
-
import { samFunctionType } from "../function/sim-cfn-sam-function.js";
|
|
2
|
+
import { samFunctionType } from "../function/sim-cfn-sam-function-type.js";
|
|
3
3
|
import { samTransformName } from "../sim-cfn-sam-transform.js";
|
|
4
4
|
import { samRestApiType } from "./sim-cfn-sam-rest-api.js";
|
|
5
5
|
/**
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { samCarriedAttributes, samResourceProperties, } from "../function/sim-cfn-sam-function-properties.js";
|
|
1
|
+
import { samCarriedAttributes, samConditionAttribute, samResourceProperties, } from "../function/sim-cfn-sam-function-properties.js";
|
|
2
2
|
import { samMergedApiProperties } from "../sim-cfn-sam-globals.js";
|
|
3
3
|
import { samPickedProperties } from "../sim-cfn-sam-picked.js";
|
|
4
|
+
import { samApiAuthResources } from "./auth/sim-cfn-sam-api-auth.js";
|
|
5
|
+
import { samRestApiAuth } from "./auth/sim-cfn-sam-rest-api-auth.js";
|
|
4
6
|
import { samRestApiStageResources } from "./sim-cfn-sam-rest-api-stage.js";
|
|
5
7
|
/**
|
|
6
8
|
* The SAM Resource type this expansion covers.
|
|
@@ -10,10 +12,11 @@ export const samRestApiType = "AWS::Serverless::Api";
|
|
|
10
12
|
* The properties whose names and meanings are the same on both Resource types.
|
|
11
13
|
* Expanding one of them is carrying it across.
|
|
12
14
|
*
|
|
13
|
-
* `
|
|
15
|
+
* `Cors`, `Domain`, `GatewayResponses`, `MethodSettings` and
|
|
14
16
|
* `BinaryMediaTypes` are absent from the list. SAM writes all of them into the
|
|
15
17
|
* Swagger document it generates, and none is expanded here, so an API
|
|
16
|
-
* declaring one is deployed without it.
|
|
18
|
+
* declaring one is deployed without it. `Auth` is absent for the opposite
|
|
19
|
+
* reason. It becomes authorizer Resources of its own beside the API.
|
|
17
20
|
*/
|
|
18
21
|
const propertyNames = new Set([
|
|
19
22
|
"Description",
|
|
@@ -60,6 +63,7 @@ export function samRestApiResources(properties) {
|
|
|
60
63
|
},
|
|
61
64
|
},
|
|
62
65
|
...samRestApiStageResources({ logicalId, resource, apiProperties }),
|
|
66
|
+
...samApiAuthResources(samRestApiAuth(logicalId, apiProperties), samConditionAttribute(resource["Condition"])),
|
|
63
67
|
};
|
|
64
68
|
}
|
|
65
69
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { samEventAuthorization } from "../../api/auth/sim-cfn-sam-event-authorization.js";
|
|
1
2
|
import { isSamTemplateRecord } from "../../sim-cfn-sam-record.js";
|
|
2
3
|
import { samApiInvokePermissionResource } from "./sim-cfn-sam-api-invoke-permission.js";
|
|
3
4
|
import { samApiEventPathParts, samApiEventPathResources, samApiEventResourceId, } from "./sim-cfn-sam-api-event-path.js";
|
|
@@ -84,8 +85,11 @@ function samApiEventPath(properties) {
|
|
|
84
85
|
*
|
|
85
86
|
* SAM integrates an `Api` event as a proxy, which is the shape the function is
|
|
86
87
|
* handed the request in, and the REST API declares an integration as a block
|
|
87
|
-
* of the method.
|
|
88
|
-
*
|
|
88
|
+
* of the method.
|
|
89
|
+
*
|
|
90
|
+
* `Auth` on the event names one of the API's authorizers, and an event naming
|
|
91
|
+
* none takes the API's `DefaultAuthorizer`. A method neither of them closes
|
|
92
|
+
* authorizes nothing, and every request matching it reaches the function.
|
|
89
93
|
*/
|
|
90
94
|
function methodResource(properties) {
|
|
91
95
|
const { event, apiLogicalId, path } = properties;
|
|
@@ -96,7 +100,7 @@ function methodResource(properties) {
|
|
|
96
100
|
RestApiId: { Ref: apiLogicalId },
|
|
97
101
|
ResourceId: samApiEventResourceId(apiLogicalId, path),
|
|
98
102
|
HttpMethod: samApiEventHttpMethod(event.properties),
|
|
99
|
-
|
|
103
|
+
...samEventAuthorization(event, apiLogicalId),
|
|
100
104
|
Integration: {
|
|
101
105
|
Type: "AWS_PROXY",
|
|
102
106
|
IntegrationHttpMethod: "POST",
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { SimCfnTemplateValue } from "../../../template/value/sim-cfn-template-value.js";
|
|
2
|
+
import type { SamFunctionEvent } from "./sim-cfn-sam-declared-event.js";
|
|
3
|
+
import type { SamResourceEdit } from "./sim-cfn-sam-resource-edit.js";
|
|
4
|
+
/**
|
|
5
|
+
* The Resource a `Cognito` event expands into, which is the permission the
|
|
6
|
+
* pool invokes the function under.
|
|
7
|
+
*
|
|
8
|
+
* A user pool checks the function's resource policy every time a trigger
|
|
9
|
+
* fires, so the entry in its `LambdaConfig` is not enough on its own. The
|
|
10
|
+
* grant names the pool as the source, so a permission written for one pool
|
|
11
|
+
* does not open the function to another.
|
|
12
|
+
*
|
|
13
|
+
* The pool is not made to depend on the permission. Cognito reads the policy
|
|
14
|
+
* when the trigger fires rather than when the pool is created, and a pool
|
|
15
|
+
* depending on a permission that names the pool is the circular dependency
|
|
16
|
+
* CloudFormation refuses.
|
|
17
|
+
*/
|
|
18
|
+
export declare function samCognitoEventResources(event: SamFunctionEvent): Record<string, SimCfnTemplateValue>;
|
|
19
|
+
/**
|
|
20
|
+
* The change a `Cognito` event makes to the user pool the template already
|
|
21
|
+
* declares.
|
|
22
|
+
*
|
|
23
|
+
* A trigger is a property of the pool, so this is the second event type with
|
|
24
|
+
* no Resource of its own to be.
|
|
25
|
+
*/
|
|
26
|
+
export declare function samCognitoEventEdits(event: SamFunctionEvent): readonly SamResourceEdit[];
|