@kensio/yulin 1.21.2 → 1.21.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/service/athena/engine/sim-athena-column-types.d.ts +2 -0
- package/dist/service/athena/engine/sim-athena-column-types.js +4 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.d.ts +7 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.js +51 -0
- package/dist/service/athena/engine/sim-athena-engine-result.js +5 -0
- package/dist/service/athena/engine/sim-athena-engine-run.d.ts +22 -2
- package/dist/service/athena/engine/sim-athena-engine-run.js +21 -31
- package/dist/service/athena/engine/sim-athena-loaded-tables.d.ts +10 -0
- package/dist/service/athena/engine/sim-athena-loaded-tables.js +35 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.d.ts +25 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.js +39 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.d.ts +13 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.js +57 -0
- package/dist/service/athena/engine/sim-athena-query-engine.d.ts +23 -5
- package/dist/service/athena/engine/sim-athena-query-engine.js +31 -10
- package/dist/service/athena/engine/sim-athena-record-reader.d.ts +12 -6
- package/dist/service/athena/engine/sim-athena-record-reader.js +28 -53
- package/dist/service/athena/engine/sim-athena-sql-translation.d.ts +15 -9
- package/dist/service/athena/engine/sim-athena-sql-translation.js +25 -13
- package/dist/service/athena/engine/sim-athena-sqlite-values.d.ts +5 -0
- package/dist/service/athena/engine/sim-athena-sqlite-values.js +24 -1
- package/dist/service/athena/engine/sim-athena-table-objects.d.ts +7 -2
- package/dist/service/athena/engine/sim-athena-table-objects.js +8 -4
- package/dist/service/athena/engine/sim-athena-table-rows.js +4 -3
- package/dist/service/athena/engine/sim-athena-turn-down.d.ts +26 -0
- package/dist/service/athena/engine/sim-athena-turn-down.js +43 -0
- package/dist/service/athena/execution/sim-athena-query-completion.d.ts +3 -1
- package/dist/service/athena/execution/sim-athena-query-completion.js +7 -1
- package/dist/service/athena/index.d.ts +1 -1
- package/dist/service/athena/index.js +1 -1
- package/dist/service/athena/result/sim-athena-query-answer.d.ts +12 -0
- package/dist/service/athena/result/sim-athena-query-answer.js +26 -4
- package/dist/service/athena/sim-athena-answered-query.fixture.d.ts +2 -0
- package/dist/service/athena/sim-athena-answered-query.fixture.js +1 -0
- package/dist/service/athena/sim-athena-engine.fixture.d.ts +20 -0
- package/dist/service/athena/sim-athena-engine.fixture.js +34 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.d.ts +23 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.js +37 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +2 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +7 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +13 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +6 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +7 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.d.ts +50 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.js +71 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +6 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts +5 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +7 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.d.ts +9 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.js +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.d.ts +42 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.js +69 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.d.ts +62 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.js +89 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.d.ts +31 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.js +59 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.d.ts +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.js +19 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.d.ts +17 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.js +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.d.ts +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.js +13 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.d.ts +45 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.js +52 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.d.ts +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.js +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.d.ts +54 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.js +49 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.d.ts +35 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.js +1 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.d.ts +53 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.js +83 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.d.ts +32 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.d.ts +38 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.js +80 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +12 -12
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.d.ts +22 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.d.ts +27 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.js +35 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +6 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +11 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +15 -1
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.d.ts +48 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.d.ts +23 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.js +52 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts +3 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +8 -4
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +18 -6
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +22 -7
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +1 -1
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.d.ts +25 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.d.ts +31 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.js +37 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.d.ts +36 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.js +1 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.d.ts +26 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.js +39 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.d.ts +31 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.js +52 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.d.ts +22 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.js +34 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +17 -1
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +8 -15
- package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts +21 -0
- package/dist/service/cloudformation/error/sim-cloudformation.error.js +25 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.d.ts +7 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.js +3 -1
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +9 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +12 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +4 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +10 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.d.ts +44 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.js +33 -0
- package/dist/service/cloudformation/resource/factory/sim-cfn-resource-factory.type.d.ts +9 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +15 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +21 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +9 -7
- package/dist/service/cloudformation/resource/sim-cfn-resource.js +11 -11
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +19 -0
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +3 -3
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +3 -3
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +9 -0
- package/dist/service/cloudformation/resource/update/sim-cfn-resource-update-validator.d.ts +26 -0
- package/dist/service/cloudformation/resource/update/sim-cfn-resource-update-validator.js +55 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.d.ts +37 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.js +77 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.d.ts +51 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.js +10 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.js +34 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.d.ts +21 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.js +31 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.d.ts +14 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.js +1 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.js +58 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.js +89 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.js +65 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.js +60 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.js +50 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.js +30 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.js +44 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.js +43 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.js +67 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.js +61 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +4 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +12 -5
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-api-event.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.d.ts +26 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.js +88 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +12 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +1 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +8 -5
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +23 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +9 -2
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +5 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +6 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +7 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.d.ts +19 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.js +69 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +5 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +3 -1
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.d.ts +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.js +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +1 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +6 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +2 -4
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.d.ts +31 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.js +17 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +11 -6
- package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +20 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +4 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-api.js +6 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.d.ts +10 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.js +94 -0
- package/dist/service/cloudformation/sim-cloudformation.d.ts +31 -0
- package/dist/service/cloudformation/sim-cloudformation.js +56 -9
- package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.d.ts +20 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.js +23 -0
- package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +6 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.d.ts +30 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.js +24 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +51 -3
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +84 -6
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +59 -32
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +7 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +7 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +3 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.d.ts +18 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.js +30 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +25 -14
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +41 -24
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +16 -1
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +27 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +7 -1
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +12 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +29 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.d.ts +28 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.js +39 -0
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +25 -1
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +43 -11
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.d.ts +7 -0
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.js +29 -3
- package/dist/service/cloudformation/template/sim-cfn-command-template.d.ts +40 -0
- package/dist/service/cloudformation/template/sim-cfn-command-template.js +45 -0
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts +7 -0
- package/dist/service/cloudformation/template/sim-cfn-template.js +15 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +2 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +49 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +1 -0
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +1 -1
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.d.ts +5 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.js +17 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +5 -5
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +24 -8
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.d.ts +5 -0
- package/dist/service/dynamodb/cfn/sim-cfn-dynamodb-resource-factory.js +15 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-update-validator.d.ts +24 -0
- package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-update-validator.js +38 -0
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.d.ts +11 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.js +20 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +2 -0
- package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +14 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +16 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.d.ts +17 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.js +39 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.d.ts +28 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.js +50 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +12 -5
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts +3 -3
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +3 -4
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.d.ts +5 -16
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.js +4 -21
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.d.ts +15 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.js +18 -1
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.d.ts +13 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.js +15 -0
- package/dist/service/dynamodb/table/sim-dynamodb-index-update.js +1 -2
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +2 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +5 -3
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.d.ts +21 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.js +37 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +6 -0
- package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js +5 -1
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +2 -3
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +1 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +6 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +10 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +2 -6
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.js +49 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.js +57 -0
- package/dist/service/lambda/command/function-url/function-url-input.d.ts +7 -0
- package/dist/service/lambda/command/function-url/function-url-input.js +9 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-invocation.js +10 -13
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-outcome.js +2 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.d.ts +13 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.js +12 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +2 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +1 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-bus.js +1 -1
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-function.js +8 -12
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-queue.js +4 -3
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-send.d.ts +2 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-topic.js +4 -3
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.d.ts +4 -6
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.js +6 -6
- package/dist/service/lambda/destination/sim-lambda-destination-targets.d.ts +3 -0
- package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +22 -3
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +39 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +7 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +14 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +9 -15
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +9 -16
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +10 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +22 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.d.ts +23 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.js +18 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +12 -13
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +24 -17
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.d.ts +64 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.js +86 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +8 -1
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +7 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +11 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +13 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.d.ts +39 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.js +46 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.d.ts +56 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.js +110 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts +5 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js +7 -1
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js +6 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +6 -1
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +8 -6
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +10 -8
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +18 -1
- package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +8 -2
- package/dist/service/lambda/function/code/sim-lambda-executable-code.js +2 -1
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +2 -11
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +13 -39
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +7 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +13 -7
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.d.ts +23 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.js +42 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.d.ts +12 -4
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.js +15 -5
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +7 -0
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +6 -2
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.d.ts +26 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.js +84 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.d.ts +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.js +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +6 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +1 -2
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +6 -1
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +19 -6
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.d.ts +15 -0
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.js +18 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.d.ts +12 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.js +28 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.d.ts +46 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.js +104 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.d.ts +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.js +27 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.d.ts +43 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.js +112 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.d.ts +57 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.js +79 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.d.ts +10 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.js +15 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.d.ts +11 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.js +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.d.ts +50 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.js +43 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +17 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +12 -1
- package/dist/service/lambda/function/logging/sim-lambda-output.d.ts +56 -0
- package/dist/service/lambda/function/logging/sim-lambda-output.js +62 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.d.ts +8 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.js +27 -1
- package/dist/service/lambda/function/sim-lambda-function.d.ts +1 -1
- package/dist/service/lambda/function/sim-lambda-function.js +11 -9
- package/dist/service/lambda/function/sim-lambda-function.type.d.ts +15 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.d.ts +22 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.js +17 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.js +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +2 -1
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.js +16 -1
- package/dist/service/lambda/index.d.ts +1 -0
- package/dist/service/lambda/index.js +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.d.ts +50 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.js +96 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts +14 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js +27 -0
- package/dist/service/lambda/sim-lambda-commands.d.ts +10 -0
- package/dist/service/lambda/sim-lambda-commands.js +11 -0
- package/dist/service/lambda/sim-lambda.d.ts +12 -0
- package/dist/service/lambda/sim-lambda.js +13 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.d.ts +67 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.js +69 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +4 -31
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +7 -6
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +5 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +8 -4
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +1 -14
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +16 -8
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.d.ts +41 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.js +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +14 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +32 -2
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.d.ts +33 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.js +48 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.d.ts +16 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.js +44 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +8 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +27 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +5 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -3
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +3 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -2
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.d.ts +84 -0
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.js +115 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +10 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.js +18 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.d.ts +41 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.js +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -83
- package/dist/service/s3/bucket/sim-s3-bucket.js +14 -83
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +6 -0
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +20 -6
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.d.ts +58 -0
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.js +73 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +19 -1
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +20 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.js +44 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +6 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +5 -4
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +12 -5
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.js +30 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +14 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +41 -16
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +3 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +7 -10
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +6 -1
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +5 -0
- package/dist/service/s3/command/copy-object/copy-object-builder.d.ts +10 -1
- package/dist/service/s3/command/copy-object/copy-object-builder.js +17 -1
- package/dist/service/s3/command/copy-object/copy-object.command.d.ts +11 -1
- package/dist/service/s3/command/copy-object/copy-object.handler.js +2 -1
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +5 -1
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +7 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.d.ts +19 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.d.ts +30 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.js +38 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.d.ts +23 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.js +1 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.js +42 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.d.ts +29 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.js +49 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.d.ts +22 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.js +30 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.d.ts +24 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.js +39 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +11 -8
- package/dist/service/s3/command/get-object/get-object-authorizer.js +26 -34
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +7 -3
- package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
- package/dist/service/s3/command/get-object/get-object.command.d.ts +2 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -0
- package/dist/service/s3/command/get-object/get-object.handler.js +13 -7
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.d.ts +29 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.js +1 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.d.ts +21 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.js +33 -0
- package/dist/service/s3/command/head-object/head-object-loader.js +2 -0
- package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +18 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +1 -2
- package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +1 -2
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +5 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js +11 -6
- package/dist/service/s3/command/list-objects/list-objects.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +5 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +6 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +11 -5
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +5 -0
- package/dist/service/s3/command/list-parts/list-parts.handler.js +3 -3
- package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +1 -1
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.d.ts +21 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.js +41 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +10 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +2 -1
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.d.ts +37 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.js +1 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.js +46 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.d.ts +61 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.js +49 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.d.ts +30 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.js +27 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.d.ts +26 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.js +34 -0
- package/dist/service/s3/error/sim-s3-upload.error.d.ts +41 -0
- package/dist/service/s3/error/sim-s3-upload.error.js +47 -0
- package/dist/service/s3/error/sim-s3.error.d.ts +22 -34
- package/dist/service/s3/error/sim-s3.error.js +26 -40
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts +10 -0
- package/dist/service/s3/notification/event/sim-s3-event-records.d.ts +3 -2
- package/dist/service/s3/notification/event/sim-s3-event-records.js +5 -3
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +33 -8
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +23 -9
- package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +5 -1
- package/dist/service/s3/notification/sim-s3-object-notifier.js +6 -0
- package/dist/service/s3/object/s3-key-encoding.d.ts +12 -0
- package/dist/service/s3/object/s3-key-encoding.js +14 -0
- package/dist/service/s3/object/s3-listing-encoding.d.ts +42 -0
- package/dist/service/s3/object/s3-listing-encoding.js +75 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +40 -0
- package/dist/service/s3/object/s3-object-response-headers.js +49 -2
- package/dist/service/s3/object/s3-object-storage-report.d.ts +19 -0
- package/dist/service/s3/object/s3-object-storage-report.js +18 -0
- package/dist/service/s3/object/s3-object-summary.d.ts +2 -10
- package/dist/service/s3/object/s3-object-summary.js +1 -10
- package/dist/service/s3/object/s3-object-tags.d.ts +61 -0
- package/dist/service/s3/object/s3-object-tags.js +77 -0
- package/dist/service/s3/object/s3-object.d.ts +49 -0
- package/dist/service/s3/object/s3-object.js +52 -1
- package/dist/service/s3/object/s3-server-side-encryption.d.ts +30 -0
- package/dist/service/s3/object/s3-server-side-encryption.js +42 -0
- package/dist/service/s3/object/s3-storage-class.d.ts +45 -0
- package/dist/service/s3/object/s3-storage-class.js +67 -0
- package/dist/service/s3/object/s3-write-metadata.d.ts +17 -3
- package/dist/service/s3/object/s3-write-metadata.js +43 -0
- package/dist/service/s3/object/s3-write-storage.d.ts +27 -0
- package/dist/service/s3/object/s3-write-storage.js +21 -0
- package/dist/service/s3/object/s3-write-tagging.d.ts +24 -0
- package/dist/service/s3/object/s3-write-tagging.js +19 -0
- package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +12 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +2 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.d.ts +9 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.js +23 -0
- package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +22 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +4 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +10 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.d.ts +7 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.js +30 -0
- package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +4 -2
- package/dist/service/s3/serve/api/sim-s3-api-head-output.js +8 -2
- package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -6
- package/dist/service/s3/serve/api/sim-s3-api-input.js +2 -13
- package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-listing.js +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +16 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.js +34 -7
- package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +18 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-output.js +21 -2
- package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +22 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +5 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.js +16 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +6 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.js +55 -11
- package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -2
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.d.ts +9 -0
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.js +14 -0
- package/dist/service/s3/serve/api/sim-s3-api.d.ts +7 -1
- package/dist/service/s3/serve/api/sim-s3-api.js +7 -1
- package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +1 -5
- package/dist/service/s3/serve/sim-s3-rest-controller.js +3 -17
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +3 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +8 -1
- package/dist/service/s3/serve/sim-s3-rest-upload.d.ts +20 -0
- package/dist/service/s3/serve/sim-s3-rest-upload.js +30 -0
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +2 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.js +3 -0
- package/dist/service/s3/sim-s3-commands.d.ts +4 -0
- package/dist/service/s3/sim-s3-commands.js +6 -0
- package/dist/service/s3/sim-s3-operations.d.ts +11 -4
- package/dist/service/s3/sim-s3-operations.js +17 -4
- package/dist/service/s3/sim-s3-tagging-operations.d.ts +21 -0
- package/dist/service/s3/sim-s3-tagging-operations.js +25 -0
- package/dist/service/s3/sim-s3.d.ts +12 -0
- package/dist/service/s3/sim-s3.js +13 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.d.ts +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.js +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.d.ts +9 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.js +24 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +5 -4
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -3
- package/dist/service/s3/upload/sim-s3-completed-upload.js +5 -1
- package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +18 -0
- package/dist/service/s3/upload/sim-s3-multipart-upload.js +8 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +6 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.js +5 -0
- package/dist/util/background/background-clock-waits.d.ts +52 -0
- package/dist/util/background/background-clock-waits.js +76 -0
- package/dist/util/background/background-jitter.js +1 -0
- package/dist/util/background/background-pending-tasks.d.ts +55 -0
- package/dist/util/background/background-pending-tasks.js +117 -0
- package/dist/util/background/background-settled-tasks.d.ts +4 -1
- package/dist/util/background/background-settled-tasks.js +4 -1
- package/dist/util/background/background.d.ts +43 -0
- package/dist/util/background/background.js +27 -19
- package/dist/util/background/non-deterministic-background.d.ts +12 -0
- package/dist/util/background/non-deterministic-background.js +24 -20
- package/dist/util/clock/sim-clock-control.js +23 -2
- package/docs/services/apigateway/README.md +3 -1
- package/docs/services/athena/README.md +126 -3
- package/docs/services/cloudformation/README.md +775 -65
- package/docs/services/cognito/README.md +5 -0
- package/docs/services/dynamodb/README.md +86 -11
- package/docs/services/lambda/README.md +603 -39
- package/docs/services/s3/README.md +688 -57
- package/package.json +8 -2
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { SimCdkAssetsPublisher } from "../cdk/assets/sim-cdk-assets-publisher.js";
|
|
2
|
+
import { SimCfnResourceRetention } from "../resource/delete/sim-cfn-resource-retention.js";
|
|
3
|
+
import { simCfnStackRetainedLogicalIds } from "./teardown/sim-cfn-stack-retained-logical-ids.js";
|
|
2
4
|
import { SimCfnStackResourceCreator } from "./deploy/sim-cfn-stack-resource-creator.js";
|
|
3
5
|
import { SimCfnStackResourceDeleter } from "./teardown/sim-cfn-stack-resource-deleter.js";
|
|
4
6
|
import { SimCfnStackUpdater } from "./update/sim-cfn-stack-updater.js";
|
|
7
|
+
import { SimCfnResourceUpdateValidator } from "../resource/update/sim-cfn-resource-update-validator.js";
|
|
5
8
|
/**
|
|
6
9
|
* What a Stack can ask simulated AWS to do with its Resources.
|
|
7
10
|
*
|
|
@@ -23,6 +26,15 @@ export class SimCfnStackResourceOperations {
|
|
|
23
26
|
resourceOrder;
|
|
24
27
|
cdkOutContext;
|
|
25
28
|
caller;
|
|
29
|
+
/**
|
|
30
|
+
* Resources an update kept in simulated AWS.
|
|
31
|
+
*
|
|
32
|
+
* They are held here because the Stack cannot hold them. A replaced Resource
|
|
33
|
+
* gives its logical ID up to the Resource created in its place as soon as the
|
|
34
|
+
* update applies. A teardown's retained Resources are still on the Stack, and
|
|
35
|
+
* are read off it.
|
|
36
|
+
*/
|
|
37
|
+
retainedByUpdates = [];
|
|
26
38
|
constructor(properties) {
|
|
27
39
|
const { simAws, accountRegionScope, stackName, cdkOutContext, bindings, caller, resourceOrder, } = properties;
|
|
28
40
|
this.simAws = simAws;
|
|
@@ -64,18 +76,53 @@ export class SimCfnStackResourceOperations {
|
|
|
64
76
|
await this.publishAssets();
|
|
65
77
|
await this.creator(resources).create(creating);
|
|
66
78
|
}
|
|
79
|
+
/** Resources an update kept in simulated AWS. */
|
|
80
|
+
get retainedResources() {
|
|
81
|
+
return this.retainedByUpdates;
|
|
82
|
+
}
|
|
67
83
|
/**
|
|
68
|
-
*
|
|
84
|
+
* Refuse a teardown that names a Resource the Stack does not have, before
|
|
85
|
+
* anything is deleted.
|
|
69
86
|
*/
|
|
70
|
-
|
|
71
|
-
|
|
87
|
+
assertRetainable(resources, retainResources) {
|
|
88
|
+
this.teardownRetention(resources, retainResources);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Delete every Resource in the given Stack Resource map, apart from any the
|
|
92
|
+
* teardown named as ones to keep.
|
|
93
|
+
*/
|
|
94
|
+
async deleteAll(resources, retainResources) {
|
|
95
|
+
await this.deleter(resources, this.teardownRetention(resources, retainResources)).deleteAll();
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Take a record of the Resources an update kept, which the Stack is about to
|
|
99
|
+
* stop holding.
|
|
100
|
+
*/
|
|
101
|
+
recordRetained(resources) {
|
|
102
|
+
this.retainedByUpdates.push(...resources);
|
|
72
103
|
}
|
|
73
104
|
/**
|
|
74
105
|
* Delete the given Resources, in reverse dependency order among the whole
|
|
75
106
|
* Stack.
|
|
76
107
|
*/
|
|
77
|
-
async delete(resources, deleting) {
|
|
78
|
-
await this.deleter(resources).delete(deleting);
|
|
108
|
+
async delete(resources, deleting, retention) {
|
|
109
|
+
await this.deleter(resources, retention).delete(deleting);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Validate every Resource replacement before the update changes the Stack.
|
|
113
|
+
*/
|
|
114
|
+
async assertUpdatesAllowed(currentResources, updatedResources, replacements) {
|
|
115
|
+
await Promise.all(replacements.map(async ({ current, updated }) => {
|
|
116
|
+
await new SimCfnResourceUpdateValidator({
|
|
117
|
+
current,
|
|
118
|
+
updated,
|
|
119
|
+
}).assertAllowed({
|
|
120
|
+
simAws: this.simAws,
|
|
121
|
+
currentResources,
|
|
122
|
+
updatedResources,
|
|
123
|
+
caller: this.caller,
|
|
124
|
+
});
|
|
125
|
+
}));
|
|
79
126
|
}
|
|
80
127
|
/**
|
|
81
128
|
* An update of this Stack from a changed template, in the same scope.
|
|
@@ -91,6 +138,36 @@ export class SimCfnStackResourceOperations {
|
|
|
91
138
|
updated,
|
|
92
139
|
});
|
|
93
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Put this Stack's Resources back on the template it was deployed from, over
|
|
143
|
+
* whatever a failed update left behind.
|
|
144
|
+
*
|
|
145
|
+
* The difference is worked out from the Resources the Stack holds now, not
|
|
146
|
+
* from either template. A failure part way through is reconciled from where
|
|
147
|
+
* it stopped. Nothing asserts that there is a change to make. An update that
|
|
148
|
+
* failed before it touched a Resource has nothing to undo, and that is a
|
|
149
|
+
* finished rollback.
|
|
150
|
+
*
|
|
151
|
+
* A Resource the failed update replaced is created again empty. The deployed
|
|
152
|
+
* one was deleted to make room for the replacement, and there is nothing left
|
|
153
|
+
* to put back.
|
|
154
|
+
*/
|
|
155
|
+
async rollBack(properties) {
|
|
156
|
+
await this.updater(properties).apply();
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* What a teardown of these Resources is to leave behind: the ones it named,
|
|
160
|
+
* and the ones their own DeletionPolicy keeps.
|
|
161
|
+
*/
|
|
162
|
+
teardownRetention(resources, retainResources) {
|
|
163
|
+
return new SimCfnResourceRetention({
|
|
164
|
+
named: simCfnStackRetainedLogicalIds({
|
|
165
|
+
stackName: this.stackName,
|
|
166
|
+
resources,
|
|
167
|
+
retainResources,
|
|
168
|
+
}),
|
|
169
|
+
});
|
|
170
|
+
}
|
|
94
171
|
async publishAssets() {
|
|
95
172
|
await new SimCdkAssetsPublisher({
|
|
96
173
|
simAws: this.simAws,
|
|
@@ -111,12 +188,13 @@ export class SimCfnStackResourceOperations {
|
|
|
111
188
|
resourceOrder: this.resourceOrder,
|
|
112
189
|
});
|
|
113
190
|
}
|
|
114
|
-
deleter(resources) {
|
|
191
|
+
deleter(resources, retention) {
|
|
115
192
|
return new SimCfnStackResourceDeleter({
|
|
116
193
|
simAws: this.simAws,
|
|
117
194
|
resources,
|
|
118
195
|
stackName: this.stackName,
|
|
119
196
|
caller: this.caller,
|
|
197
|
+
retention,
|
|
120
198
|
});
|
|
121
199
|
}
|
|
122
200
|
}
|
|
@@ -6,6 +6,7 @@ import { SimCfnStackDeploymentLifecycle } from "./deploy/sim-cfn-stack-deploymen
|
|
|
6
6
|
import { SimCfnStackUpdateLifecycle } from "./update/sim-cfn-stack-update-lifecycle.js";
|
|
7
7
|
import type { SimCfnStackOutput } from "./output/sim-cfn-stack-output.js";
|
|
8
8
|
import type { SimCfnDeployedStack } from "./sim-cfn-deployed-stack.type.js";
|
|
9
|
+
import type { SimCfnStackId } from "./sim-cfn-stack-id.js";
|
|
9
10
|
import type { SimCloudFormationStackProperties, SimCloudFormationStackStatus, SimCfnStackUpdateProperties, SimCloudFormationStackName } from "./sim-cfn-stack.type.js";
|
|
10
11
|
/**
|
|
11
12
|
* Lightweight simulated CloudFormation Stack.
|
|
@@ -27,8 +28,8 @@ export declare class SimCfnStack implements SimCfnDeployedStack {
|
|
|
27
28
|
readonly updating: SimCfnStackUpdateLifecycle;
|
|
28
29
|
readonly deletion: SimCfnStackDeletionLifecycle;
|
|
29
30
|
readonly stackName: SimCloudFormationStackName;
|
|
31
|
+
readonly stackId: SimCfnStackId;
|
|
30
32
|
readonly resourceMap: Map<string, SimCfnResource>;
|
|
31
|
-
template: CfnTemplateBodyRecord;
|
|
32
33
|
outputs: Map<string, SimCfnStackOutput>;
|
|
33
34
|
private readonly background;
|
|
34
35
|
private readonly operations;
|
|
@@ -38,15 +39,15 @@ export declare class SimCfnStack implements SimCfnDeployedStack {
|
|
|
38
39
|
constructor(properties: SimCloudFormationStackProperties);
|
|
39
40
|
/** The externally visible Stack status. */
|
|
40
41
|
get status(): SimCloudFormationStackStatus;
|
|
42
|
+
/** The parsed template this Stack is deployed from. */
|
|
43
|
+
get currentTemplate(): SimCfnTemplate;
|
|
44
|
+
/** The template body this Stack is deployed from. */
|
|
45
|
+
get template(): CfnTemplateBodyRecord;
|
|
41
46
|
/** The error the operation the status reports failed with, if it failed. */
|
|
42
47
|
get error(): Error | undefined;
|
|
43
|
-
/**
|
|
44
|
-
* Start deploying this simulated Stack into simulated AWS.
|
|
45
|
-
*/
|
|
48
|
+
/** Start deploying this simulated Stack into simulated AWS. */
|
|
46
49
|
deploy(): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Wait for the scheduled deployment task to finish.
|
|
49
|
-
*/
|
|
50
|
+
/** Wait for the scheduled deployment task to finish. */
|
|
50
51
|
waitForDeployComplete(): Promise<void>;
|
|
51
52
|
/**
|
|
52
53
|
* Apply a changed template to this deployed Stack.
|
|
@@ -64,11 +65,13 @@ export declare class SimCfnStack implements SimCfnDeployedStack {
|
|
|
64
65
|
* A template that came from a synthesis of its own brings the cloud assembly
|
|
65
66
|
* it was written into with it, so Resources it replaces read the assets that
|
|
66
67
|
* synthesis staged rather than the ones the Stack was deployed with.
|
|
68
|
+
*
|
|
69
|
+
* An update that fails is rolled back onto the template the Stack was
|
|
70
|
+
* deployed from, which the Stack goes on holding for as long as the update
|
|
71
|
+
* runs.
|
|
67
72
|
*/
|
|
68
73
|
update(template: SimCfnTemplate, properties?: SimCfnStackUpdateProperties): Promise<void>;
|
|
69
|
-
/**
|
|
70
|
-
* Wait for the scheduled Stack update to finish.
|
|
71
|
-
*/
|
|
74
|
+
/** Wait for the scheduled Stack update to finish. */
|
|
72
75
|
waitForUpdateComplete(): Promise<void>;
|
|
73
76
|
/**
|
|
74
77
|
* Start deleting this Stack from simulated AWS.
|
|
@@ -77,11 +80,18 @@ export declare class SimCfnStack implements SimCfnDeployedStack {
|
|
|
77
80
|
* before the Resources have gone. The optional onDeleteComplete callback runs
|
|
78
81
|
* once the teardown has finished successfully, which is when the Stack name
|
|
79
82
|
* becomes free to use again.
|
|
83
|
+
*
|
|
84
|
+
* Resources named in retainResources are checked against the Stack before
|
|
85
|
+
* the teardown is scheduled. A caller naming one the Stack does not have is
|
|
86
|
+
* refused there, where a check in the background would only fail the
|
|
87
|
+
* deletion.
|
|
88
|
+
*
|
|
89
|
+
* The names are copied as the request is accepted. The teardown runs in the
|
|
90
|
+
* background, and a caller holding the array it passed could otherwise change
|
|
91
|
+
* which Resources are kept after the Stack agreed to keep them.
|
|
80
92
|
*/
|
|
81
93
|
delete(properties?: SimCfnStackDeleteProperties): Promise<void>;
|
|
82
|
-
/**
|
|
83
|
-
* Wait for the scheduled Stack deletion to finish.
|
|
84
|
-
*/
|
|
94
|
+
/** Wait for the scheduled Stack deletion to finish. */
|
|
85
95
|
waitForDeleteComplete(): Promise<void>;
|
|
86
96
|
/**
|
|
87
97
|
* Delete this Stack's Resources from simulated AWS, in reverse dependency
|
|
@@ -90,7 +100,7 @@ export declare class SimCfnStack implements SimCfnDeployedStack {
|
|
|
90
100
|
* The Resource half of deleting a Stack, without the Stack-level status or
|
|
91
101
|
* the Stack name release that delete() puts on top of it.
|
|
92
102
|
*/
|
|
93
|
-
teardown(): Promise<void>;
|
|
103
|
+
teardown(properties?: SimCfnStackDeleteProperties): Promise<void>;
|
|
94
104
|
/** Every Stack Resource, in the order the template declared them. */
|
|
95
105
|
get resources(): readonly SimCfnResource[];
|
|
96
106
|
/**
|
|
@@ -111,12 +121,14 @@ export declare class SimCfnStack implements SimCfnDeployedStack {
|
|
|
111
121
|
get inertResources(): readonly SimCfnResource[];
|
|
112
122
|
/** Resources a teardown recorded rather than deleted. */
|
|
113
123
|
get skippedResourceDeletions(): readonly SimCfnResource[];
|
|
114
|
-
/**
|
|
124
|
+
/**
|
|
125
|
+
* Resources left in simulated AWS, whether a teardown stepped over them or
|
|
126
|
+
* an update replaced them and kept the deployed one.
|
|
127
|
+
*/
|
|
115
128
|
get retainedResources(): readonly SimCfnResource[];
|
|
116
129
|
/** Every property or Parameter that did not reach simulated AWS as written. */
|
|
117
130
|
get ignoredProperties(): readonly SimCfnIgnoredProperty[];
|
|
118
131
|
private get report();
|
|
119
|
-
private createResources;
|
|
120
132
|
private resolveOutputs;
|
|
121
133
|
}
|
|
122
134
|
export { type SimCfnStackUpdateProperties, type SimCloudFormationStackName, type SimCloudFormationStackStatus, } from "./sim-cfn-stack.type.js";
|
|
@@ -29,8 +29,8 @@ export class SimCfnStack {
|
|
|
29
29
|
updating;
|
|
30
30
|
deletion;
|
|
31
31
|
stackName;
|
|
32
|
+
stackId;
|
|
32
33
|
resourceMap;
|
|
33
|
-
template;
|
|
34
34
|
outputs = new Map();
|
|
35
35
|
background;
|
|
36
36
|
operations;
|
|
@@ -38,12 +38,12 @@ export class SimCfnStack {
|
|
|
38
38
|
stackOutputs;
|
|
39
39
|
cfnTemplate;
|
|
40
40
|
constructor(properties) {
|
|
41
|
-
const { simAws, accountRegionScope, background, stackName, template, cdkOutContext, bindings, caller, resourceOrder, exports, } = properties;
|
|
41
|
+
const { simAws, accountRegionScope, background, stackName, stackId, template, cdkOutContext, bindings, caller, resourceOrder, exports, } = properties;
|
|
42
42
|
this.background = background;
|
|
43
43
|
this.stackName = stackName;
|
|
44
|
+
this.stackId = stackId;
|
|
44
45
|
this.stackOutputs = new SimCfnStackOutputs({ stackName, exports });
|
|
45
46
|
this.cfnTemplate = template;
|
|
46
|
-
this.template = this.cfnTemplate.template;
|
|
47
47
|
this.resourceMap = makeSimCfnStackResourceMap({
|
|
48
48
|
accountRegionScope,
|
|
49
49
|
background,
|
|
@@ -67,14 +67,15 @@ export class SimCfnStack {
|
|
|
67
67
|
background,
|
|
68
68
|
stackName,
|
|
69
69
|
runDeployment: async () => {
|
|
70
|
-
await this.
|
|
70
|
+
await this.operations.createAll(this.resourceMap);
|
|
71
|
+
this.resolveOutputs();
|
|
71
72
|
},
|
|
72
73
|
});
|
|
73
74
|
this.updating = new SimCfnStackUpdateLifecycle({ background, stackName });
|
|
74
75
|
this.deletion = new SimCfnStackDeletionLifecycle({
|
|
75
76
|
background,
|
|
76
|
-
runTeardown: async () => {
|
|
77
|
-
await this.teardown();
|
|
77
|
+
runTeardown: async (deleteProperties) => {
|
|
78
|
+
await this.teardown(deleteProperties);
|
|
78
79
|
},
|
|
79
80
|
});
|
|
80
81
|
this.operationStatus = new SimCfnStackOperationStatus({
|
|
@@ -87,19 +88,23 @@ export class SimCfnStack {
|
|
|
87
88
|
get status() {
|
|
88
89
|
return this.operationStatus.status;
|
|
89
90
|
}
|
|
91
|
+
/** The parsed template this Stack is deployed from. */
|
|
92
|
+
get currentTemplate() {
|
|
93
|
+
return this.cfnTemplate;
|
|
94
|
+
}
|
|
95
|
+
/** The template body this Stack is deployed from. */
|
|
96
|
+
get template() {
|
|
97
|
+
return this.cfnTemplate.template;
|
|
98
|
+
}
|
|
90
99
|
/** The error the operation the status reports failed with, if it failed. */
|
|
91
100
|
get error() {
|
|
92
101
|
return this.operationStatus.error;
|
|
93
102
|
}
|
|
94
|
-
/**
|
|
95
|
-
* Start deploying this simulated Stack into simulated AWS.
|
|
96
|
-
*/
|
|
103
|
+
/** Start deploying this simulated Stack into simulated AWS. */
|
|
97
104
|
async deploy() {
|
|
98
105
|
await this.lifecycle.deploy();
|
|
99
106
|
}
|
|
100
|
-
/**
|
|
101
|
-
* Wait for the scheduled deployment task to finish.
|
|
102
|
-
*/
|
|
107
|
+
/** Wait for the scheduled deployment task to finish. */
|
|
103
108
|
async waitForDeployComplete() {
|
|
104
109
|
await this.lifecycle.waitForComplete();
|
|
105
110
|
}
|
|
@@ -119,13 +124,18 @@ export class SimCfnStack {
|
|
|
119
124
|
* A template that came from a synthesis of its own brings the cloud assembly
|
|
120
125
|
* it was written into with it, so Resources it replaces read the assets that
|
|
121
126
|
* synthesis staged rather than the ones the Stack was deployed with.
|
|
127
|
+
*
|
|
128
|
+
* An update that fails is rolled back onto the template the Stack was
|
|
129
|
+
* deployed from, which the Stack goes on holding for as long as the update
|
|
130
|
+
* runs.
|
|
122
131
|
*/
|
|
123
132
|
async update(template, properties = {}) {
|
|
124
133
|
this.updating.assertNotUpdating();
|
|
134
|
+
const deployed = this.cfnTemplate;
|
|
125
135
|
const updater = this.operations.updater({
|
|
126
136
|
background: this.background,
|
|
127
137
|
resources: this.resourceMap,
|
|
128
|
-
current:
|
|
138
|
+
current: deployed,
|
|
129
139
|
updated: template,
|
|
130
140
|
});
|
|
131
141
|
updater.assertHasChanges();
|
|
@@ -134,15 +144,24 @@ export class SimCfnStack {
|
|
|
134
144
|
// deployed it.
|
|
135
145
|
this.operations.useUpdate(properties);
|
|
136
146
|
this.cfnTemplate = template;
|
|
137
|
-
this.
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
147
|
+
await this.updating.update({
|
|
148
|
+
apply: async () => {
|
|
149
|
+
await updater.apply();
|
|
150
|
+
this.resolveOutputs();
|
|
151
|
+
},
|
|
152
|
+
rollBack: async () => {
|
|
153
|
+
await this.operations.rollBack({
|
|
154
|
+
background: this.background,
|
|
155
|
+
resources: this.resourceMap,
|
|
156
|
+
current: this.cfnTemplate,
|
|
157
|
+
updated: deployed,
|
|
158
|
+
});
|
|
159
|
+
this.cfnTemplate = deployed;
|
|
160
|
+
this.resolveOutputs();
|
|
161
|
+
},
|
|
141
162
|
});
|
|
142
163
|
}
|
|
143
|
-
/**
|
|
144
|
-
* Wait for the scheduled Stack update to finish.
|
|
145
|
-
*/
|
|
164
|
+
/** Wait for the scheduled Stack update to finish. */
|
|
146
165
|
async waitForUpdateComplete() {
|
|
147
166
|
await this.updating.waitForComplete();
|
|
148
167
|
}
|
|
@@ -153,13 +172,22 @@ export class SimCfnStack {
|
|
|
153
172
|
* before the Resources have gone. The optional onDeleteComplete callback runs
|
|
154
173
|
* once the teardown has finished successfully, which is when the Stack name
|
|
155
174
|
* becomes free to use again.
|
|
175
|
+
*
|
|
176
|
+
* Resources named in retainResources are checked against the Stack before
|
|
177
|
+
* the teardown is scheduled. A caller naming one the Stack does not have is
|
|
178
|
+
* refused there, where a check in the background would only fail the
|
|
179
|
+
* deletion.
|
|
180
|
+
*
|
|
181
|
+
* The names are copied as the request is accepted. The teardown runs in the
|
|
182
|
+
* background, and a caller holding the array it passed could otherwise change
|
|
183
|
+
* which Resources are kept after the Stack agreed to keep them.
|
|
156
184
|
*/
|
|
157
185
|
async delete(properties = {}) {
|
|
158
|
-
|
|
186
|
+
const retainResources = [...(properties.retainResources ?? [])];
|
|
187
|
+
this.operations.assertRetainable(this.resourceMap, retainResources);
|
|
188
|
+
await this.deletion.delete({ ...properties, retainResources });
|
|
159
189
|
}
|
|
160
|
-
/**
|
|
161
|
-
* Wait for the scheduled Stack deletion to finish.
|
|
162
|
-
*/
|
|
190
|
+
/** Wait for the scheduled Stack deletion to finish. */
|
|
163
191
|
async waitForDeleteComplete() {
|
|
164
192
|
await this.deletion.waitForComplete();
|
|
165
193
|
}
|
|
@@ -170,8 +198,8 @@ export class SimCfnStack {
|
|
|
170
198
|
* The Resource half of deleting a Stack, without the Stack-level status or
|
|
171
199
|
* the Stack name release that delete() puts on top of it.
|
|
172
200
|
*/
|
|
173
|
-
async teardown() {
|
|
174
|
-
await this.operations.deleteAll(this.resourceMap);
|
|
201
|
+
async teardown(properties = {}) {
|
|
202
|
+
await this.operations.deleteAll(this.resourceMap, properties.retainResources);
|
|
175
203
|
this.stackOutputs.release();
|
|
176
204
|
}
|
|
177
205
|
/** Every Stack Resource, in the order the template declared them. */
|
|
@@ -209,9 +237,12 @@ export class SimCfnStack {
|
|
|
209
237
|
get skippedResourceDeletions() {
|
|
210
238
|
return this.report.deletionSkipped;
|
|
211
239
|
}
|
|
212
|
-
/**
|
|
240
|
+
/**
|
|
241
|
+
* Resources left in simulated AWS, whether a teardown stepped over them or
|
|
242
|
+
* an update replaced them and kept the deployed one.
|
|
243
|
+
*/
|
|
213
244
|
get retainedResources() {
|
|
214
|
-
return this.report.retained;
|
|
245
|
+
return [...this.report.retained, ...this.operations.retainedResources];
|
|
215
246
|
}
|
|
216
247
|
/** Every property or Parameter that did not reach simulated AWS as written. */
|
|
217
248
|
get ignoredProperties() {
|
|
@@ -220,10 +251,6 @@ export class SimCfnStack {
|
|
|
220
251
|
get report() {
|
|
221
252
|
return new SimCfnStackResourceReport(this.resourceMap, this.cfnTemplate);
|
|
222
253
|
}
|
|
223
|
-
async createResources() {
|
|
224
|
-
await this.operations.createAll(this.resourceMap);
|
|
225
|
-
this.resolveOutputs();
|
|
226
|
-
}
|
|
227
254
|
resolveOutputs() {
|
|
228
255
|
this.outputs = this.stackOutputs.resolve(this.cfnTemplate, this.resourceMap);
|
|
229
256
|
}
|
|
@@ -8,8 +8,9 @@ import type { SimCdkOutContext } from "../cdk/sim-cdk-out-context.js";
|
|
|
8
8
|
import type { SimCfnBinding } from "../bind/sim-cfn-binding.js";
|
|
9
9
|
import type { SimCfnExports } from "../export/sim-cfn-exports.js";
|
|
10
10
|
import type { SimCfnResourceOrder } from "./deploy/sim-cfn-resource-order.js";
|
|
11
|
+
import type { SimCfnStackId } from "./sim-cfn-stack-id.js";
|
|
11
12
|
export type SimCloudFormationStackName = Brand<string, "SimCloudFormationStackName">;
|
|
12
|
-
export type SimCloudFormationStackStatus = "REVIEW_IN_PROGRESS" | "CREATE_IN_PROGRESS" | "CREATE_COMPLETE" | "CREATE_FAILED" | "UPDATE_IN_PROGRESS" | "UPDATE_COMPLETE" | "UPDATE_FAILED" | "DELETE_IN_PROGRESS" | "DELETE_COMPLETE" | "DELETE_FAILED";
|
|
13
|
+
export type SimCloudFormationStackStatus = "REVIEW_IN_PROGRESS" | "CREATE_IN_PROGRESS" | "CREATE_COMPLETE" | "CREATE_FAILED" | "UPDATE_IN_PROGRESS" | "UPDATE_COMPLETE" | "UPDATE_FAILED" | "UPDATE_ROLLBACK_IN_PROGRESS" | "UPDATE_ROLLBACK_COMPLETE" | "UPDATE_ROLLBACK_FAILED" | "DELETE_IN_PROGRESS" | "DELETE_COMPLETE" | "DELETE_FAILED";
|
|
13
14
|
export interface SimCfnStackUpdateProperties {
|
|
14
15
|
/**
|
|
15
16
|
* The CDK cloud assembly the new template was synthesized into, when it came
|
|
@@ -29,6 +30,11 @@ export interface SimCloudFormationStackProperties {
|
|
|
29
30
|
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
30
31
|
readonly background: BackgroundScheduler;
|
|
31
32
|
readonly stackName: SimCloudFormationStackName;
|
|
33
|
+
/**
|
|
34
|
+
* The unique ID this Stack was created with, which is what a deleted Stack
|
|
35
|
+
* is still described by once its name has gone back into circulation.
|
|
36
|
+
*/
|
|
37
|
+
readonly stackId: SimCfnStackId;
|
|
32
38
|
readonly template: SimCfnTemplate;
|
|
33
39
|
readonly cdkOutContext?: SimCdkOutContext | undefined;
|
|
34
40
|
readonly bindings?: readonly SimCfnBinding[] | undefined;
|
|
@@ -10,7 +10,7 @@ interface SimCfnStackDeletionLifecycleProperties {
|
|
|
10
10
|
* stays outside this class, while status, error and completion handling stay
|
|
11
11
|
* inside it.
|
|
12
12
|
*/
|
|
13
|
-
readonly runTeardown: () => Promise<void>;
|
|
13
|
+
readonly runTeardown: (properties: SimCfnStackDeleteProperties) => Promise<void>;
|
|
14
14
|
}
|
|
15
15
|
export interface SimCfnStackDeleteProperties {
|
|
16
16
|
/**
|
|
@@ -20,6 +20,12 @@ export interface SimCfnStackDeleteProperties {
|
|
|
20
20
|
* lifecycle only says when the name is free rather than freeing it.
|
|
21
21
|
*/
|
|
22
22
|
readonly onDeleteComplete?: (() => void) | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Resources to leave in simulated AWS, named by logical ID or CDK construct
|
|
25
|
+
* ID. What DeleteStack RetainResources asks for, and it overrides whatever
|
|
26
|
+
* the Resource's own DeletionPolicy says.
|
|
27
|
+
*/
|
|
28
|
+
readonly retainResources?: readonly string[] | undefined;
|
|
23
29
|
}
|
|
24
30
|
/**
|
|
25
31
|
* Owns the simulated CloudFormation Stack deletion lifecycle state.
|
|
@@ -58,7 +58,9 @@ export class SimCfnStackDeletionLifecycle {
|
|
|
58
58
|
});
|
|
59
59
|
await scheduler.sequence();
|
|
60
60
|
this.completePromise = scheduler.schedule({
|
|
61
|
-
operation:
|
|
61
|
+
operation: async () => {
|
|
62
|
+
await this.runTeardown(properties);
|
|
63
|
+
},
|
|
62
64
|
onSuccess: () => {
|
|
63
65
|
this.#status = "DELETE_COMPLETE";
|
|
64
66
|
properties.onDeleteComplete?.();
|
package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { SimAws } from "../../../aws/sim-aws.js";
|
|
2
2
|
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
3
3
|
import type { SimCfnResource } from "../../resource/sim-cfn-resource.js";
|
|
4
|
+
import type { SimCfnResourceRetention } from "../../resource/delete/sim-cfn-resource-retention.js";
|
|
4
5
|
interface SimCfnStackResourceBatchDeleterProperties {
|
|
5
6
|
readonly simAws: SimAws;
|
|
6
7
|
readonly resources: ReadonlyMap<string, SimCfnResource>;
|
|
7
8
|
readonly caller?: SimAwsCaller | undefined;
|
|
9
|
+
readonly retention?: SimCfnResourceRetention | undefined;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
10
12
|
* Deletes one batch of Stack Resources nothing still depends on.
|
|
@@ -20,6 +22,7 @@ export declare class SimCfnStackResourceBatchDeleter {
|
|
|
20
22
|
private readonly simAws;
|
|
21
23
|
private readonly resources;
|
|
22
24
|
private readonly caller;
|
|
25
|
+
private readonly retention;
|
|
23
26
|
constructor(properties: SimCfnStackResourceBatchDeleterProperties);
|
|
24
27
|
/**
|
|
25
28
|
* Delete the supplied Resources concurrently.
|
|
@@ -12,10 +12,12 @@ export class SimCfnStackResourceBatchDeleter {
|
|
|
12
12
|
simAws;
|
|
13
13
|
resources;
|
|
14
14
|
caller;
|
|
15
|
+
retention;
|
|
15
16
|
constructor(properties) {
|
|
16
17
|
this.simAws = properties.simAws;
|
|
17
18
|
this.resources = properties.resources;
|
|
18
19
|
this.caller = properties.caller;
|
|
20
|
+
this.retention = properties.retention;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Delete the supplied Resources concurrently.
|
|
@@ -28,6 +30,7 @@ export class SimCfnStackResourceBatchDeleter {
|
|
|
28
30
|
simAws: this.simAws,
|
|
29
31
|
resources: this.resources,
|
|
30
32
|
caller: this.caller,
|
|
33
|
+
retention: this.retention,
|
|
31
34
|
});
|
|
32
35
|
}));
|
|
33
36
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import type { SimAws } from "../../../aws/sim-aws.js";
|
|
2
2
|
import type { SimAwsCaller } from "../../../aws/caller/sim-aws-caller.js";
|
|
3
3
|
import type { SimCfnResource } from "../../resource/sim-cfn-resource.js";
|
|
4
|
+
import type { SimCfnResourceRetention } from "../../resource/delete/sim-cfn-resource-retention.js";
|
|
4
5
|
interface SimCfnStackResourceDeleterProperties {
|
|
5
6
|
readonly simAws: SimAws;
|
|
6
7
|
readonly resources: ReadonlyMap<string, SimCfnResource>;
|
|
7
8
|
readonly stackName: string;
|
|
8
9
|
readonly caller?: SimAwsCaller | undefined;
|
|
10
|
+
/** Which of the Resources being deleted are to be left in simulated AWS. */
|
|
11
|
+
readonly retention?: SimCfnResourceRetention | undefined;
|
|
9
12
|
}
|
|
10
13
|
/**
|
|
11
14
|
* Orchestrates reverse-dependency-ordered deletion of a Stack's Resources.
|
|
@@ -20,13 +20,14 @@ export class SimCfnStackResourceDeleter {
|
|
|
20
20
|
stackName;
|
|
21
21
|
batchDeleter;
|
|
22
22
|
constructor(properties) {
|
|
23
|
-
const { simAws, resources, stackName, caller } = properties;
|
|
23
|
+
const { simAws, resources, stackName, caller, retention } = properties;
|
|
24
24
|
this.resources = resources;
|
|
25
25
|
this.stackName = stackName;
|
|
26
26
|
this.batchDeleter = new SimCfnStackResourceBatchDeleter({
|
|
27
27
|
simAws,
|
|
28
28
|
resources,
|
|
29
29
|
caller,
|
|
30
|
+
retention,
|
|
30
31
|
});
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SimCfnResource } from "../../resource/sim-cfn-resource.js";
|
|
2
|
+
interface SimCfnStackRetainedLogicalIdsProperties {
|
|
3
|
+
readonly stackName: string;
|
|
4
|
+
readonly resources: ReadonlyMap<string, SimCfnResource>;
|
|
5
|
+
/** The identifiers DeleteStack named in RetainResources. */
|
|
6
|
+
readonly retainResources?: readonly string[] | undefined;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The logical IDs a DeleteStack call asked to keep, resolved against the Stack.
|
|
10
|
+
*
|
|
11
|
+
* An identifier the Stack has no Resource for is refused, as CloudFormation
|
|
12
|
+
* refuses one. A caller who misspells the Resource they meant to keep would
|
|
13
|
+
* otherwise watch it go. CDK construct IDs resolve here as well as logical IDs,
|
|
14
|
+
* the same way `getResource(...)` takes either. A test written against a
|
|
15
|
+
* synthesized template then needs no hashed logical ID.
|
|
16
|
+
*/
|
|
17
|
+
export declare function simCfnStackRetainedLogicalIds(properties: SimCfnStackRetainedLogicalIdsProperties): ReadonlySet<string>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { SimCloudFormationValidationError } from "../../error/sim-cloudformation.error.js";
|
|
2
|
+
import { SimCfnStackResourceLookup } from "../resource-map/sim-cfn-stack-resource-lookup.js";
|
|
3
|
+
/**
|
|
4
|
+
* The logical IDs a DeleteStack call asked to keep, resolved against the Stack.
|
|
5
|
+
*
|
|
6
|
+
* An identifier the Stack has no Resource for is refused, as CloudFormation
|
|
7
|
+
* refuses one. A caller who misspells the Resource they meant to keep would
|
|
8
|
+
* otherwise watch it go. CDK construct IDs resolve here as well as logical IDs,
|
|
9
|
+
* the same way `getResource(...)` takes either. A test written against a
|
|
10
|
+
* synthesized template then needs no hashed logical ID.
|
|
11
|
+
*/
|
|
12
|
+
export function simCfnStackRetainedLogicalIds(properties) {
|
|
13
|
+
const { stackName, resources, retainResources = [] } = properties;
|
|
14
|
+
const lookup = new SimCfnStackResourceLookup(resources);
|
|
15
|
+
const retained = new Set();
|
|
16
|
+
const missing = [];
|
|
17
|
+
for (const identifier of retainResources) {
|
|
18
|
+
const resource = lookup.find(identifier);
|
|
19
|
+
if (resource === undefined) {
|
|
20
|
+
missing.push(identifier);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
retained.add(resource.logicalId);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (missing.length > 0) {
|
|
27
|
+
throw new SimCloudFormationValidationError(`Invalid RetainResources: [${missing.join(", ")}] not found in Stack ${stackName}`);
|
|
28
|
+
}
|
|
29
|
+
return retained;
|
|
30
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SimCloudFormationStackName, SimCloudFormationStackStatus } from "../sim-cfn-stack.type.js";
|
|
2
|
+
/**
|
|
3
|
+
* Refuse an update while one is already running, or being rolled back.
|
|
4
|
+
*
|
|
5
|
+
* CloudFormation takes one update at a time. A second here would read the
|
|
6
|
+
* difference to apply from a Stack half way through the first, or from one
|
|
7
|
+
* being put back on the template it was deployed from.
|
|
8
|
+
*/
|
|
9
|
+
export declare function assertSimCfnStackNotUpdating(stackName: SimCloudFormationStackName, status: SimCloudFormationStackStatus | undefined): void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SimCloudFormationValidationError } from "../../error/sim-cloudformation.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* Refuse an update while one is already running, or being rolled back.
|
|
4
|
+
*
|
|
5
|
+
* CloudFormation takes one update at a time. A second here would read the
|
|
6
|
+
* difference to apply from a Stack half way through the first, or from one
|
|
7
|
+
* being put back on the template it was deployed from.
|
|
8
|
+
*/
|
|
9
|
+
export function assertSimCfnStackNotUpdating(stackName, status) {
|
|
10
|
+
if (status === "UPDATE_IN_PROGRESS" ||
|
|
11
|
+
status === "UPDATE_ROLLBACK_IN_PROGRESS") {
|
|
12
|
+
throw new SimCloudFormationValidationError(`Stack ${stackName} is in ${status} state and can not be updated`);
|
|
13
|
+
}
|
|
14
|
+
}
|