@kensio/yulin 1.21.3 → 1.21.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/service/athena/engine/sim-athena-column-types.d.ts +2 -0
- package/dist/service/athena/engine/sim-athena-column-types.js +4 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.d.ts +7 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.js +51 -0
- package/dist/service/athena/engine/sim-athena-engine-result.js +5 -0
- package/dist/service/athena/engine/sim-athena-engine-run.d.ts +22 -2
- package/dist/service/athena/engine/sim-athena-engine-run.js +21 -31
- package/dist/service/athena/engine/sim-athena-loaded-tables.d.ts +10 -0
- package/dist/service/athena/engine/sim-athena-loaded-tables.js +35 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.d.ts +25 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.js +39 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.d.ts +13 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.js +57 -0
- package/dist/service/athena/engine/sim-athena-query-engine.d.ts +23 -5
- package/dist/service/athena/engine/sim-athena-query-engine.js +31 -10
- package/dist/service/athena/engine/sim-athena-record-reader.d.ts +12 -6
- package/dist/service/athena/engine/sim-athena-record-reader.js +28 -53
- package/dist/service/athena/engine/sim-athena-sql-translation.d.ts +15 -9
- package/dist/service/athena/engine/sim-athena-sql-translation.js +25 -13
- package/dist/service/athena/engine/sim-athena-sqlite-values.d.ts +5 -0
- package/dist/service/athena/engine/sim-athena-sqlite-values.js +24 -1
- package/dist/service/athena/engine/sim-athena-table-objects.d.ts +7 -2
- package/dist/service/athena/engine/sim-athena-table-objects.js +8 -4
- package/dist/service/athena/engine/sim-athena-table-rows.js +4 -3
- package/dist/service/athena/engine/sim-athena-turn-down.d.ts +26 -0
- package/dist/service/athena/engine/sim-athena-turn-down.js +43 -0
- package/dist/service/athena/execution/sim-athena-query-completion.d.ts +3 -1
- package/dist/service/athena/execution/sim-athena-query-completion.js +7 -1
- package/dist/service/athena/index.d.ts +1 -1
- package/dist/service/athena/index.js +1 -1
- package/dist/service/athena/result/sim-athena-query-answer.d.ts +12 -0
- package/dist/service/athena/result/sim-athena-query-answer.js +26 -4
- package/dist/service/athena/sim-athena-answered-query.fixture.d.ts +2 -0
- package/dist/service/athena/sim-athena-answered-query.fixture.js +1 -0
- package/dist/service/athena/sim-athena-engine.fixture.d.ts +20 -0
- package/dist/service/athena/sim-athena-engine.fixture.js +34 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.d.ts +23 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.js +37 -0
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.d.ts +18 -13
- package/dist/service/cloudformation/cdk/assets/sim-cdk-assets-publisher.js +16 -24
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +2 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +7 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +13 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +6 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +7 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.d.ts +50 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.js +71 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +6 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts +5 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +7 -0
- package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.d.ts +12 -0
- package/dist/service/cloudformation/cdk/sim-cdk-cloud-assembly.factory.js +16 -7
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.d.ts +9 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.js +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.d.ts +42 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.js +69 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.d.ts +62 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.js +89 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.d.ts +31 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.js +59 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.d.ts +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.js +19 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.d.ts +17 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.js +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.d.ts +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.js +13 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.d.ts +45 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.js +52 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.d.ts +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.js +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.d.ts +54 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.js +49 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.d.ts +35 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.js +1 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.d.ts +53 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.js +83 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.d.ts +32 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.d.ts +38 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.js +80 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.d.ts +3 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +16 -13
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.d.ts +22 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.d.ts +27 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.js +35 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +6 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +11 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +15 -1
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.d.ts +48 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.d.ts +23 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.js +52 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts +3 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +8 -4
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +18 -6
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +22 -7
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +1 -1
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.d.ts +25 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.d.ts +31 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.js +37 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.d.ts +36 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.js +1 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.d.ts +26 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.js +39 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.d.ts +31 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.js +52 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.d.ts +22 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.js +34 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +17 -1
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.d.ts +6 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +15 -16
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-deployer.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-options-deployed.d.ts +10 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-options-deployed.js +14 -0
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.d.ts +11 -1
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-plan.js +3 -2
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.d.ts +5 -8
- package/dist/service/cloudformation/deploy/sim-cfn-cdk-out-stack-options.js +0 -14
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.d.ts +9 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-deployer.js +2 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.d.ts +10 -0
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-loader.js +2 -1
- package/dist/service/cloudformation/deploy/sim-cfn-template-file-updater.js +1 -0
- package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts +21 -0
- package/dist/service/cloudformation/error/sim-cloudformation.error.js +25 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.d.ts +7 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.js +3 -1
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +9 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +12 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +4 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +10 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.d.ts +44 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.js +33 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +15 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +21 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +9 -7
- package/dist/service/cloudformation/resource/sim-cfn-resource.js +11 -11
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +8 -0
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +3 -3
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +3 -3
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +9 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.d.ts +37 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.js +77 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.d.ts +51 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.js +10 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.js +34 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.d.ts +21 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.js +31 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.d.ts +14 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.js +1 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.js +58 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.js +89 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.js +65 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.js +60 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.js +50 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.js +30 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.js +44 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.js +43 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.js +67 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.js +61 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +4 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +12 -5
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-api-event.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.d.ts +26 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.js +88 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +12 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +1 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +8 -5
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +23 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +9 -2
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +5 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +6 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +7 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.d.ts +19 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.js +69 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +5 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +3 -1
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.d.ts +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.js +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +1 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +6 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +2 -4
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.d.ts +31 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.js +17 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +11 -6
- package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +20 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +4 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-api.js +6 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.d.ts +10 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.js +94 -0
- package/dist/service/cloudformation/sim-cloudformation.d.ts +31 -0
- package/dist/service/cloudformation/sim-cloudformation.js +56 -9
- package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.d.ts +20 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.js +23 -0
- package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +6 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-deploy-context.d.ts +47 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-deploy-context.js +46 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.d.ts +30 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.js +24 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +53 -20
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +79 -32
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +60 -32
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +21 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +7 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +3 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.d.ts +18 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.js +30 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +25 -14
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +41 -24
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +6 -1
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +12 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +29 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.d.ts +28 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.js +39 -0
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +25 -1
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +43 -11
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.d.ts +7 -0
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.js +29 -3
- package/dist/service/cloudformation/template/sim-cfn-command-template.d.ts +40 -0
- package/dist/service/cloudformation/template/sim-cfn-command-template.js +45 -0
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts +7 -0
- package/dist/service/cloudformation/template/sim-cfn-template.js +15 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +2 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +49 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +1 -0
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +1 -1
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.d.ts +5 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.js +17 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +5 -5
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +24 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.d.ts +11 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.js +20 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +2 -0
- package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +14 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +16 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.d.ts +17 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.js +39 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.d.ts +28 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.js +50 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +12 -5
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts +3 -3
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +3 -4
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.d.ts +5 -16
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.js +4 -21
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.d.ts +15 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.js +18 -1
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.d.ts +13 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.js +15 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +2 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +5 -3
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.d.ts +21 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.js +37 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +6 -0
- package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js +5 -1
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +2 -3
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +1 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +6 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +10 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +2 -6
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.js +49 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.js +57 -0
- package/dist/service/lambda/command/function-url/function-url-input.d.ts +7 -0
- package/dist/service/lambda/command/function-url/function-url-input.js +9 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-invocation.js +10 -13
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-outcome.js +2 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.d.ts +13 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.js +12 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +2 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +1 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-bus.js +1 -1
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-function.js +8 -12
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-queue.js +4 -3
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-send.d.ts +2 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-topic.js +4 -3
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.d.ts +4 -6
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.js +6 -6
- package/dist/service/lambda/destination/sim-lambda-destination-targets.d.ts +3 -0
- package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +22 -3
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +39 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +7 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +14 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +9 -15
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +9 -16
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +10 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +22 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.d.ts +23 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.js +18 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +12 -13
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +24 -17
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.d.ts +64 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.js +86 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +8 -1
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +7 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +11 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +13 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.d.ts +39 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.js +46 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.d.ts +56 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.js +110 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts +5 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js +7 -1
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js +6 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +6 -1
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +8 -6
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +10 -8
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +18 -1
- package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +8 -2
- package/dist/service/lambda/function/code/sim-lambda-executable-code.js +2 -1
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +2 -11
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +13 -39
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +7 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +13 -7
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.d.ts +23 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.js +42 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.d.ts +12 -4
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.js +15 -5
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +7 -0
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +6 -2
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.d.ts +26 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.js +84 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.d.ts +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.js +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +6 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +1 -2
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +6 -1
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +19 -6
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.d.ts +15 -0
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.js +18 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.d.ts +12 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.js +28 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.d.ts +46 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.js +104 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.d.ts +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.js +27 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.d.ts +43 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.js +112 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.d.ts +57 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.js +79 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.d.ts +10 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.js +15 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.d.ts +11 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.js +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.d.ts +50 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.js +43 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +17 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +12 -1
- package/dist/service/lambda/function/logging/sim-lambda-output.d.ts +56 -0
- package/dist/service/lambda/function/logging/sim-lambda-output.js +62 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.d.ts +8 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.js +27 -1
- package/dist/service/lambda/function/sim-lambda-function.d.ts +1 -1
- package/dist/service/lambda/function/sim-lambda-function.js +11 -9
- package/dist/service/lambda/function/sim-lambda-function.type.d.ts +15 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.d.ts +22 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.js +17 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.js +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +2 -1
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.js +16 -1
- package/dist/service/lambda/index.d.ts +1 -0
- package/dist/service/lambda/index.js +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.d.ts +50 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.js +96 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts +14 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js +27 -0
- package/dist/service/lambda/sim-lambda-commands.d.ts +10 -0
- package/dist/service/lambda/sim-lambda-commands.js +11 -0
- package/dist/service/lambda/sim-lambda.d.ts +12 -0
- package/dist/service/lambda/sim-lambda.js +13 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.d.ts +67 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.js +69 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +4 -31
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +7 -6
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +5 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +8 -4
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +1 -14
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +16 -8
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.d.ts +41 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.js +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +14 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +32 -2
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.d.ts +33 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.js +48 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.d.ts +16 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.js +44 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +8 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +27 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +5 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -3
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +3 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -2
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.d.ts +84 -0
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.js +115 -0
- package/dist/service/s3/bucket/sim-s3-bucket-maker.d.ts +31 -0
- package/dist/service/s3/bucket/sim-s3-bucket-maker.js +41 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +10 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.js +18 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.d.ts +41 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.js +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -83
- package/dist/service/s3/bucket/sim-s3-bucket.js +14 -83
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +6 -0
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +20 -6
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.d.ts +58 -0
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.js +73 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +19 -1
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +20 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.js +44 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +6 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +5 -4
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +12 -5
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.js +30 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +14 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +41 -16
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +3 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +7 -10
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +6 -1
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +5 -0
- package/dist/service/s3/command/copy-object/copy-object-builder.d.ts +10 -1
- package/dist/service/s3/command/copy-object/copy-object-builder.js +17 -1
- package/dist/service/s3/command/copy-object/copy-object.command.d.ts +11 -1
- package/dist/service/s3/command/copy-object/copy-object.handler.js +2 -1
- package/dist/service/s3/command/create-bucket/create-bucket.handler.d.ts +2 -2
- package/dist/service/s3/command/create-bucket/create-bucket.handler.js +4 -12
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +5 -1
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +7 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.d.ts +19 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.d.ts +30 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.js +38 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.d.ts +23 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.js +1 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.js +42 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.d.ts +29 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.js +49 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.d.ts +22 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.js +30 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.d.ts +24 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.js +39 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +11 -8
- package/dist/service/s3/command/get-object/get-object-authorizer.js +26 -34
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +7 -3
- package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
- package/dist/service/s3/command/get-object/get-object.command.d.ts +2 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -0
- package/dist/service/s3/command/get-object/get-object.handler.js +13 -7
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.d.ts +29 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.js +1 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.d.ts +21 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.js +33 -0
- package/dist/service/s3/command/head-object/head-object-loader.js +2 -0
- package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +18 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +1 -2
- package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +1 -2
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +5 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js +11 -6
- package/dist/service/s3/command/list-objects/list-objects.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +5 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +6 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +11 -5
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +5 -0
- package/dist/service/s3/command/list-parts/list-parts.handler.js +3 -3
- package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +1 -1
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.d.ts +21 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.js +41 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +10 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +2 -1
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.d.ts +37 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.js +1 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.js +46 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.d.ts +61 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.js +49 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.d.ts +30 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.js +27 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.d.ts +26 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.js +34 -0
- package/dist/service/s3/error/sim-s3-upload.error.d.ts +41 -0
- package/dist/service/s3/error/sim-s3-upload.error.js +47 -0
- package/dist/service/s3/error/sim-s3.error.d.ts +22 -34
- package/dist/service/s3/error/sim-s3.error.js +26 -40
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts +10 -0
- package/dist/service/s3/notification/event/sim-s3-event-records.d.ts +3 -2
- package/dist/service/s3/notification/event/sim-s3-event-records.js +5 -3
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +33 -8
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +23 -9
- package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +5 -1
- package/dist/service/s3/notification/sim-s3-object-notifier.js +6 -0
- package/dist/service/s3/object/s3-key-encoding.d.ts +12 -0
- package/dist/service/s3/object/s3-key-encoding.js +14 -0
- package/dist/service/s3/object/s3-listing-encoding.d.ts +42 -0
- package/dist/service/s3/object/s3-listing-encoding.js +75 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +40 -0
- package/dist/service/s3/object/s3-object-response-headers.js +49 -2
- package/dist/service/s3/object/s3-object-storage-report.d.ts +19 -0
- package/dist/service/s3/object/s3-object-storage-report.js +18 -0
- package/dist/service/s3/object/s3-object-summary.d.ts +2 -10
- package/dist/service/s3/object/s3-object-summary.js +1 -10
- package/dist/service/s3/object/s3-object-tags.d.ts +61 -0
- package/dist/service/s3/object/s3-object-tags.js +77 -0
- package/dist/service/s3/object/s3-object.d.ts +49 -0
- package/dist/service/s3/object/s3-object.js +52 -1
- package/dist/service/s3/object/s3-server-side-encryption.d.ts +30 -0
- package/dist/service/s3/object/s3-server-side-encryption.js +42 -0
- package/dist/service/s3/object/s3-storage-class.d.ts +45 -0
- package/dist/service/s3/object/s3-storage-class.js +67 -0
- package/dist/service/s3/object/s3-write-metadata.d.ts +17 -3
- package/dist/service/s3/object/s3-write-metadata.js +43 -0
- package/dist/service/s3/object/s3-write-storage.d.ts +27 -0
- package/dist/service/s3/object/s3-write-storage.js +21 -0
- package/dist/service/s3/object/s3-write-tagging.d.ts +24 -0
- package/dist/service/s3/object/s3-write-tagging.js +19 -0
- package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +12 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +2 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.d.ts +9 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.js +23 -0
- package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +22 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +4 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +10 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.d.ts +7 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.js +30 -0
- package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +4 -2
- package/dist/service/s3/serve/api/sim-s3-api-head-output.js +8 -2
- package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -6
- package/dist/service/s3/serve/api/sim-s3-api-input.js +2 -13
- package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-listing.js +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +16 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.js +34 -7
- package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +18 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-output.js +21 -2
- package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +22 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +5 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.js +16 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +6 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.js +55 -11
- package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -2
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.d.ts +9 -0
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.js +14 -0
- package/dist/service/s3/serve/api/sim-s3-api.d.ts +7 -1
- package/dist/service/s3/serve/api/sim-s3-api.js +7 -1
- package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +1 -5
- package/dist/service/s3/serve/sim-s3-rest-controller.js +3 -17
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +3 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +8 -1
- package/dist/service/s3/serve/sim-s3-rest-upload.d.ts +20 -0
- package/dist/service/s3/serve/sim-s3-rest-upload.js +30 -0
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +2 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.js +3 -0
- package/dist/service/s3/sim-s3-commands.d.ts +10 -0
- package/dist/service/s3/sim-s3-commands.js +13 -0
- package/dist/service/s3/sim-s3-operations.d.ts +11 -4
- package/dist/service/s3/sim-s3-operations.js +17 -4
- package/dist/service/s3/sim-s3-tagging-operations.d.ts +21 -0
- package/dist/service/s3/sim-s3-tagging-operations.js +25 -0
- package/dist/service/s3/sim-s3.d.ts +28 -0
- package/dist/service/s3/sim-s3.js +38 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.d.ts +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.js +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.d.ts +9 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.js +24 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +5 -4
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -3
- package/dist/service/s3/upload/sim-s3-completed-upload.js +5 -1
- package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +18 -0
- package/dist/service/s3/upload/sim-s3-multipart-upload.js +8 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +6 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.js +5 -0
- package/dist/util/background/background-clock-waits.d.ts +52 -0
- package/dist/util/background/background-clock-waits.js +76 -0
- package/dist/util/background/background-jitter.js +1 -0
- package/dist/util/background/background-pending-tasks.d.ts +55 -0
- package/dist/util/background/background-pending-tasks.js +117 -0
- package/dist/util/background/background-settled-tasks.d.ts +4 -1
- package/dist/util/background/background-settled-tasks.js +4 -1
- package/dist/util/background/background.d.ts +43 -0
- package/dist/util/background/background.js +27 -19
- package/dist/util/background/non-deterministic-background.d.ts +12 -0
- package/dist/util/background/non-deterministic-background.js +24 -20
- package/dist/util/clock/sim-clock-control.js +23 -2
- package/docs/services/apigateway/README.md +3 -1
- package/docs/services/athena/README.md +126 -3
- package/docs/services/cloudformation/README.md +831 -67
- package/docs/services/cognito/README.md +5 -0
- package/docs/services/dynamodb/README.md +86 -11
- package/docs/services/lambda/README.md +603 -39
- package/docs/services/s3/README.md +688 -57
- package/package.json +8 -2
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SimAws } from "../../../aws/sim-aws.js";
|
|
2
|
+
import type { SimAwsAccountRegionScope } from "../../../aws/sim-aws-account-region-scope.js";
|
|
3
|
+
import type { SimCfnExports } from "../../export/sim-cfn-exports.js";
|
|
4
|
+
import type { SimCfnStack } from "../../stack/sim-cfn-stack.js";
|
|
5
|
+
import type { SimCfnTemplate } from "../../template/sim-cfn-template.js";
|
|
6
|
+
import type { SimUpdateStackCommandInput } from "./update-stack.command.js";
|
|
7
|
+
interface SimCfnUpdateStackTemplateProperties {
|
|
8
|
+
readonly simAws: SimAws;
|
|
9
|
+
readonly accountRegionScope: SimAwsAccountRegionScope;
|
|
10
|
+
readonly stack: SimCfnStack;
|
|
11
|
+
readonly input: SimUpdateStackCommandInput;
|
|
12
|
+
readonly exports?: SimCfnExports | undefined;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The template an update applies, read against the Parameter values it carries.
|
|
16
|
+
*
|
|
17
|
+
* `UsePreviousTemplate` takes the template the Stack already holds, which is
|
|
18
|
+
* how an update changes nothing but a Parameter value. Every other update is
|
|
19
|
+
* given the body it is to apply.
|
|
20
|
+
*/
|
|
21
|
+
export declare function simCfnUpdateStackTemplate(properties: SimCfnUpdateStackTemplateProperties): SimCfnTemplate;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
+
import { simCfnCommandTemplate, simCfnHeldTemplate, } from "../../template/sim-cfn-command-template.js";
|
|
3
|
+
import { simCfnUpdateStackParameters } from "./update-stack-previous-values.js";
|
|
4
|
+
/**
|
|
5
|
+
* The template an update applies, read against the Parameter values it carries.
|
|
6
|
+
*
|
|
7
|
+
* `UsePreviousTemplate` takes the template the Stack already holds, which is
|
|
8
|
+
* how an update changes nothing but a Parameter value. Every other update is
|
|
9
|
+
* given the body it is to apply.
|
|
10
|
+
*/
|
|
11
|
+
export function simCfnUpdateStackTemplate(properties) {
|
|
12
|
+
const { simAws, accountRegionScope, stack, input, exports } = properties;
|
|
13
|
+
const context = {
|
|
14
|
+
simAws,
|
|
15
|
+
accountRegionScope,
|
|
16
|
+
stackName: stack.stackName,
|
|
17
|
+
stackId: stack.stackId,
|
|
18
|
+
input: {
|
|
19
|
+
Parameters: simCfnUpdateStackParameters({
|
|
20
|
+
input,
|
|
21
|
+
deployed: stack.currentTemplate.parameters,
|
|
22
|
+
}),
|
|
23
|
+
},
|
|
24
|
+
exports,
|
|
25
|
+
};
|
|
26
|
+
if (input.UsePreviousTemplate === true) {
|
|
27
|
+
return simCfnHeldTemplate({ ...context, template: stack.template });
|
|
28
|
+
}
|
|
29
|
+
assertDefined(input.TemplateBody, "UpdateStackCommand.input.TemplateBody");
|
|
30
|
+
return simCfnCommandTemplate({
|
|
31
|
+
...context,
|
|
32
|
+
templateBody: input.TemplateBody,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
@@ -6,6 +6,17 @@ import type { SimCreateStackParameter } from "../create-stack/create-stack.comma
|
|
|
6
6
|
export interface SimUpdateStackCommand {
|
|
7
7
|
readonly input: SimUpdateStackCommandInput;
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* A Parameter value an update supplies, or asks the Stack for.
|
|
11
|
+
*
|
|
12
|
+
* An update names every Parameter the template declares, so one whose value has
|
|
13
|
+
* not changed is carried by `UsePreviousValue` rather than being written out
|
|
14
|
+
* again. Supplying both that and a `ParameterValue` says two things at once,
|
|
15
|
+
* and is refused.
|
|
16
|
+
*/
|
|
17
|
+
export interface SimUpdateStackParameter extends SimCreateStackParameter {
|
|
18
|
+
readonly UsePreviousValue?: boolean | undefined;
|
|
19
|
+
}
|
|
9
20
|
/**
|
|
10
21
|
* Minimal structural sim CloudFormation UpdateStack input.
|
|
11
22
|
*
|
|
@@ -14,7 +25,12 @@ export interface SimUpdateStackCommand {
|
|
|
14
25
|
export interface SimUpdateStackCommandInput {
|
|
15
26
|
readonly StackName?: string | undefined;
|
|
16
27
|
readonly TemplateBody?: string | undefined;
|
|
17
|
-
|
|
28
|
+
/**
|
|
29
|
+
* Update from the template the Stack already holds, which is how a Parameter
|
|
30
|
+
* value is changed on its own. Supplying a `TemplateBody` as well is refused.
|
|
31
|
+
*/
|
|
32
|
+
readonly UsePreviousTemplate?: boolean | undefined;
|
|
33
|
+
readonly Parameters?: readonly SimUpdateStackParameter[] | undefined;
|
|
18
34
|
}
|
|
19
35
|
/**
|
|
20
36
|
* Minimal structural sim CloudFormation UpdateStack output.
|
|
@@ -22,6 +22,11 @@ interface UpdateStackCommandHandlerProperties {
|
|
|
22
22
|
* one. Left out, the Stack goes on running as whoever deployed it.
|
|
23
23
|
*/
|
|
24
24
|
readonly caller?: SimAwsCaller | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* The principal to publish the re-synthesized CDK file assets as, for an
|
|
27
|
+
* update that names one. Left out, they are published as `caller`.
|
|
28
|
+
*/
|
|
29
|
+
readonly assetsCaller?: SimAwsCaller | undefined;
|
|
25
30
|
/** The export names published in this Account and Region. */
|
|
26
31
|
readonly exports?: SimCfnExports | undefined;
|
|
27
32
|
}
|
|
@@ -37,6 +42,7 @@ export declare class UpdateStackCommandHandler implements CommandHandler<SimUpda
|
|
|
37
42
|
private readonly background;
|
|
38
43
|
private readonly cdkOutContext;
|
|
39
44
|
private readonly caller;
|
|
45
|
+
private readonly assetsCaller;
|
|
40
46
|
private readonly exports;
|
|
41
47
|
constructor(properties: UpdateStackCommandHandlerProperties);
|
|
42
48
|
/**
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { assertDefined } from "../../../../util/type-guard/defined.js";
|
|
2
|
-
import { SimCfnTemplate } from "../../template/sim-cfn-template.js";
|
|
3
|
-
import { SimCfnParameters } from "../../parameters/sim-cfn-parameters.js";
|
|
4
|
-
import { makeSimCfnParameterStore } from "../../parameters/store/sim-cfn-parameter-store.js";
|
|
5
2
|
import { SimCloudFormationValidationError } from "../../error/sim-cloudformation.error.js";
|
|
3
|
+
import { assertSimCfnUpdateStackTemplateSource } from "./update-stack-previous-values.js";
|
|
4
|
+
import { simCfnUpdateStackTemplate } from "./update-stack-template.js";
|
|
6
5
|
/**
|
|
7
6
|
* Simulated CloudFormation UpdateStackCommand handler.
|
|
8
7
|
*
|
|
@@ -15,6 +14,7 @@ export class UpdateStackCommandHandler {
|
|
|
15
14
|
background;
|
|
16
15
|
cdkOutContext;
|
|
17
16
|
caller;
|
|
17
|
+
assetsCaller;
|
|
18
18
|
exports;
|
|
19
19
|
constructor(properties) {
|
|
20
20
|
this.simAws = properties.simAws;
|
|
@@ -23,6 +23,7 @@ export class UpdateStackCommandHandler {
|
|
|
23
23
|
this.background = properties.background;
|
|
24
24
|
this.cdkOutContext = properties.cdkOutContext;
|
|
25
25
|
this.caller = properties.caller;
|
|
26
|
+
this.assetsCaller = properties.assetsCaller;
|
|
26
27
|
this.exports = properties.exports;
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
@@ -38,7 +39,7 @@ export class UpdateStackCommandHandler {
|
|
|
38
39
|
*/
|
|
39
40
|
async handle(command) {
|
|
40
41
|
assertDefined(command.input.StackName, "UpdateStackCommand.input.StackName");
|
|
41
|
-
|
|
42
|
+
assertSimCfnUpdateStackTemplateSource(command.input);
|
|
42
43
|
// Allow for potential non-deterministic sequencing of async events.
|
|
43
44
|
await this.background.sequence();
|
|
44
45
|
const stackName = command.input.StackName;
|
|
@@ -46,21 +47,19 @@ export class UpdateStackCommandHandler {
|
|
|
46
47
|
if (stack === undefined) {
|
|
47
48
|
throw new SimCloudFormationValidationError(`Stack with id ${stackName} does not exist`);
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
parameterStore: makeSimCfnParameterStore({
|
|
52
|
-
simAws: this.simAws,
|
|
53
|
-
accountRegionScope: this.accountRegionScope,
|
|
54
|
-
}),
|
|
55
|
-
});
|
|
56
|
-
await stack.update(SimCfnTemplate.fromTemplateBody(command.input.TemplateBody, {
|
|
57
|
-
stackName,
|
|
58
|
-
parameters,
|
|
50
|
+
await stack.update(simCfnUpdateStackTemplate({
|
|
51
|
+
simAws: this.simAws,
|
|
59
52
|
accountRegionScope: this.accountRegionScope,
|
|
53
|
+
stack,
|
|
54
|
+
input: command.input,
|
|
60
55
|
exports: this.exports,
|
|
61
|
-
}), {
|
|
56
|
+
}), {
|
|
57
|
+
cdkOutContext: this.cdkOutContext,
|
|
58
|
+
caller: this.caller,
|
|
59
|
+
assetsCaller: this.assetsCaller,
|
|
60
|
+
});
|
|
62
61
|
return {
|
|
63
|
-
StackId: stack.
|
|
62
|
+
StackId: stack.stackId,
|
|
64
63
|
$metadata: {},
|
|
65
64
|
};
|
|
66
65
|
}
|
|
@@ -27,7 +27,7 @@ export class SimCfnCdkOutDeployer {
|
|
|
27
27
|
}
|
|
28
28
|
async deployStack(stack, plan, deployed) {
|
|
29
29
|
const { simAws, accountRegionScope } = this.scope;
|
|
30
|
-
const { transform, caller, resourceOrder, ...options } = cdkOutOptionsFor(stack, plan.stackOptions);
|
|
30
|
+
const { transform, caller, assetsCaller, resourceOrder, ...options } = cdkOutOptionsFor(stack, plan.stackOptions);
|
|
31
31
|
return await simAws
|
|
32
32
|
.accountRegionScope(accountRegionScope.accountId, stack.regionName)
|
|
33
33
|
.cloudFormation()
|
|
@@ -36,6 +36,7 @@ export class SimCfnCdkOutDeployer {
|
|
|
36
36
|
stackName: stack.stackName,
|
|
37
37
|
...options,
|
|
38
38
|
caller: caller ?? plan.caller,
|
|
39
|
+
assetsCaller: assetsCaller ?? plan.assetsCaller,
|
|
39
40
|
resourceOrder: resourceOrder ?? plan.resourceOrder,
|
|
40
41
|
transform: cdkOutBoundTransform(transform, deployed),
|
|
41
42
|
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SimCdkAssemblyStack } from "../cdk/sim-cdk-assembly-manifest.js";
|
|
2
|
+
import type { SimCfnCdkOutStackOptionsByName } from "./sim-cfn-cdk-out-stack-options.js";
|
|
3
|
+
/**
|
|
4
|
+
* Refuse options keyed against a Stack that is not being deployed.
|
|
5
|
+
*
|
|
6
|
+
* A renamed Stack would otherwise take its bindings, its caller and its
|
|
7
|
+
* transform with it without saying anything, and the deployment that lost them
|
|
8
|
+
* looks like one that never had them.
|
|
9
|
+
*/
|
|
10
|
+
export declare function assertCdkOutOptionsAreDeployed(optionsByName: SimCfnCdkOutStackOptionsByName | undefined, deploying: readonly SimCdkAssemblyStack[]): void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refuse options keyed against a Stack that is not being deployed.
|
|
3
|
+
*
|
|
4
|
+
* A renamed Stack would otherwise take its bindings, its caller and its
|
|
5
|
+
* transform with it without saying anything, and the deployment that lost them
|
|
6
|
+
* looks like one that never had them.
|
|
7
|
+
*/
|
|
8
|
+
export function assertCdkOutOptionsAreDeployed(optionsByName, deploying) {
|
|
9
|
+
const names = new Set(deploying.flatMap((stack) => [stack.stackName, stack.artifactId]));
|
|
10
|
+
const unmatched = Object.keys(optionsByName ?? {}).filter((name) => !names.has(name));
|
|
11
|
+
if (unmatched.length > 0) {
|
|
12
|
+
throw new Error(`Options were given for ${unmatched.join(", ")}, which no Stack being deployed is named. The Stacks being deployed are ${deploying.map((stack) => stack.stackName).join(", ")}.`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AwsRegionName } from "../../aws/sim-aws-region.js";
|
|
2
2
|
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
3
3
|
import { type SimCdkAssemblyStack } from "../cdk/sim-cdk-assembly-manifest.js";
|
|
4
|
-
import {
|
|
4
|
+
import type { SimCfnCdkOutStackOptionsByName } from "./sim-cfn-cdk-out-stack-options.js";
|
|
5
5
|
import type { SimCfnResourceOrder } from "../stack/deploy/sim-cfn-resource-order.js";
|
|
6
6
|
export interface SimCloudFormationDeployCdkOutProperties {
|
|
7
7
|
/** The `cdk.out` directory to deploy, holding a `manifest.json`. */
|
|
@@ -23,6 +23,15 @@ export interface SimCloudFormationDeployCdkOutProperties {
|
|
|
23
23
|
* in `stackOptions` overrides for its own Stack.
|
|
24
24
|
*/
|
|
25
25
|
readonly caller?: SimAwsCaller | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* The principal every Stack in the assembly publishes its CDK file assets
|
|
28
|
+
* as, which one named in `stackOptions` overrides for its own Stack.
|
|
29
|
+
*
|
|
30
|
+
* A real `cdk deploy` publishes assets as the file publishing Role and
|
|
31
|
+
* processes each template as the execution Role. Left out, an assembly
|
|
32
|
+
* publishes its assets as `caller`.
|
|
33
|
+
*/
|
|
34
|
+
readonly assetsCaller?: SimAwsCaller | undefined;
|
|
26
35
|
/**
|
|
27
36
|
* The order every Stack in the assembly creates Resources with no dependency
|
|
28
37
|
* between them in, which one named in `stackOptions` overrides for its own
|
|
@@ -43,6 +52,7 @@ export interface SimCfnCdkOutPlannedStack extends SimCdkAssemblyStack {
|
|
|
43
52
|
export interface SimCfnCdkOutPlan {
|
|
44
53
|
readonly stacks: readonly SimCfnCdkOutPlannedStack[];
|
|
45
54
|
readonly caller?: SimAwsCaller | undefined;
|
|
55
|
+
readonly assetsCaller?: SimAwsCaller | undefined;
|
|
46
56
|
readonly resourceOrder?: SimCfnResourceOrder | undefined;
|
|
47
57
|
readonly stackOptions?: SimCfnCdkOutStackOptionsByName | undefined;
|
|
48
58
|
}
|
|
@@ -2,7 +2,7 @@ import path from "node:path";
|
|
|
2
2
|
import { loadCdkAssemblyStacks, } from "../cdk/sim-cdk-assembly-manifest.js";
|
|
3
3
|
import { orderCdkAssemblyStacks } from "../cdk/sim-cdk-assembly-order.js";
|
|
4
4
|
import { selectCdkAssemblyStacks } from "../cdk/sim-cdk-assembly-selection.js";
|
|
5
|
-
import { assertCdkOutOptionsAreDeployed
|
|
5
|
+
import { assertCdkOutOptionsAreDeployed } from "./sim-cfn-cdk-out-options-deployed.js";
|
|
6
6
|
/**
|
|
7
7
|
* Work out which Stacks to deploy, in what order, and into which region.
|
|
8
8
|
*
|
|
@@ -10,7 +10,7 @@ import { assertCdkOutOptionsAreDeployed, } from "./sim-cfn-cdk-out-stack-options
|
|
|
10
10
|
* an assembly that cannot be deployed says so before any Stack is created.
|
|
11
11
|
*/
|
|
12
12
|
export async function planCdkOutDeployment(properties) {
|
|
13
|
-
const { directoryPath, stackNames, caller, resourceOrder, stackOptions } = cdkOutDeployment(properties.request);
|
|
13
|
+
const { directoryPath, stackNames, caller, assetsCaller, resourceOrder, stackOptions, } = cdkOutDeployment(properties.request);
|
|
14
14
|
const selected = selectCdkAssemblyStacks({
|
|
15
15
|
stacks: await loadCdkAssemblyStacks(directoryPath),
|
|
16
16
|
stackNames,
|
|
@@ -23,6 +23,7 @@ export async function planCdkOutDeployment(properties) {
|
|
|
23
23
|
regionName: stack.regionName ?? properties.defaultRegionName,
|
|
24
24
|
})),
|
|
25
25
|
caller,
|
|
26
|
+
assetsCaller,
|
|
26
27
|
resourceOrder,
|
|
27
28
|
stackOptions,
|
|
28
29
|
};
|
|
@@ -34,6 +34,11 @@ export interface SimCfnCdkOutStackOptions {
|
|
|
34
34
|
* application Stack deployed by another is what this is for.
|
|
35
35
|
*/
|
|
36
36
|
readonly caller?: SimAwsCaller | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* The principal this Stack publishes its CDK file assets as, where the
|
|
39
|
+
* assembly's own assets caller is not the right one for it.
|
|
40
|
+
*/
|
|
41
|
+
readonly assetsCaller?: SimAwsCaller | undefined;
|
|
37
42
|
/**
|
|
38
43
|
* The order this Stack creates Resources with no dependency between them in,
|
|
39
44
|
* where the assembly's own order is not the right one for it.
|
|
@@ -53,11 +58,3 @@ export declare function cdkOutOptionsFor(stack: SimCdkAssemblyStack, optionsByNa
|
|
|
53
58
|
* keeps the deployment it was handed while the call goes on deploying.
|
|
54
59
|
*/
|
|
55
60
|
export declare function cdkOutBoundTransform(transform: SimCfnCdkOutTemplateTransform | undefined, deployed: ReadonlyMap<string, SimCfnDeployedStack>): SimCfnTemplateFileTransform | undefined;
|
|
56
|
-
/**
|
|
57
|
-
* Refuse options keyed against a Stack that is not being deployed.
|
|
58
|
-
*
|
|
59
|
-
* A renamed Stack would otherwise take its bindings, its caller and its
|
|
60
|
-
* transform with it without saying anything, and the deployment that lost them
|
|
61
|
-
* looks like one that never had them.
|
|
62
|
-
*/
|
|
63
|
-
export declare function assertCdkOutOptionsAreDeployed(optionsByName: SimCfnCdkOutStackOptionsByName | undefined, deploying: readonly SimCdkAssemblyStack[]): void;
|
|
@@ -17,17 +17,3 @@ export function cdkOutBoundTransform(transform, deployed) {
|
|
|
17
17
|
const deployedSoFar = new Map(deployed);
|
|
18
18
|
return (template) => transform(template, deployedSoFar);
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Refuse options keyed against a Stack that is not being deployed.
|
|
22
|
-
*
|
|
23
|
-
* A renamed Stack would otherwise take its bindings, its caller and its
|
|
24
|
-
* transform with it without saying anything, and the deployment that lost them
|
|
25
|
-
* looks like one that never had them.
|
|
26
|
-
*/
|
|
27
|
-
export function assertCdkOutOptionsAreDeployed(optionsByName, deploying) {
|
|
28
|
-
const names = new Set(deploying.flatMap((stack) => [stack.stackName, stack.artifactId]));
|
|
29
|
-
const unmatched = Object.keys(optionsByName ?? {}).filter((name) => !names.has(name));
|
|
30
|
-
if (unmatched.length > 0) {
|
|
31
|
-
throw new Error(`Options were given for ${unmatched.join(", ")}, which no Stack being deployed is named. The Stacks being deployed are ${deploying.map((stack) => stack.stackName).join(", ")}.`);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -24,6 +24,15 @@ export interface SimCloudFormationCreateStackProperties {
|
|
|
24
24
|
* policy denying an Account's root principal then denies.
|
|
25
25
|
*/
|
|
26
26
|
readonly caller?: SimAwsCaller | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* The principal the CDK file assets staged beside the template are published
|
|
29
|
+
* as.
|
|
30
|
+
*
|
|
31
|
+
* A real `cdk deploy` publishes them as the file publishing Role and only
|
|
32
|
+
* then processes the template as the execution Role, which is why the two
|
|
33
|
+
* are named apart. Left out, assets are published as `caller`.
|
|
34
|
+
*/
|
|
35
|
+
readonly assetsCaller?: SimAwsCaller | undefined;
|
|
27
36
|
/**
|
|
28
37
|
* The order Resources with no dependency between them are created in.
|
|
29
38
|
*
|
|
@@ -59,6 +59,7 @@ export class SimCloudFormationTemplateDeployer {
|
|
|
59
59
|
parameters: properties.parameters,
|
|
60
60
|
bindings: properties.bindings,
|
|
61
61
|
caller: properties.caller,
|
|
62
|
+
assetsCaller: properties.assetsCaller,
|
|
62
63
|
resourceOrder: properties.resourceOrder,
|
|
63
64
|
cdkOutContext: await cdkOutContextForTemplatePath(properties.templatePath),
|
|
64
65
|
});
|
|
@@ -118,6 +119,7 @@ export class SimCloudFormationTemplateDeployer {
|
|
|
118
119
|
cdkOutContext: deployment.cdkOutContext,
|
|
119
120
|
bindings: deployment.bindings,
|
|
120
121
|
caller: deployment.caller,
|
|
122
|
+
assetsCaller: deployment.assetsCaller,
|
|
121
123
|
resourceOrder: deployment.resourceOrder,
|
|
122
124
|
exports: this.exports,
|
|
123
125
|
});
|
|
@@ -20,6 +20,15 @@ export interface SimCloudFormationDeployTemplateFileProperties {
|
|
|
20
20
|
* policy denying an Account's root principal then denies.
|
|
21
21
|
*/
|
|
22
22
|
readonly caller?: SimAwsCaller | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* The principal the CDK file assets staged beside the template are published
|
|
25
|
+
* as.
|
|
26
|
+
*
|
|
27
|
+
* A real `cdk deploy` publishes them as the file publishing Role and only
|
|
28
|
+
* then processes the template as the execution Role, which is why the two
|
|
29
|
+
* are named apart. Left out, assets are published as `caller`.
|
|
30
|
+
*/
|
|
31
|
+
readonly assetsCaller?: SimAwsCaller | undefined;
|
|
23
32
|
/**
|
|
24
33
|
* The order Resources with no dependency between them are created in.
|
|
25
34
|
*
|
|
@@ -64,6 +73,7 @@ export interface SimCfnLoadedTemplateFile {
|
|
|
64
73
|
readonly parameters?: Record<string, string> | undefined;
|
|
65
74
|
readonly bindings?: readonly SimCfnBinding[] | undefined;
|
|
66
75
|
readonly caller?: SimAwsCaller | undefined;
|
|
76
|
+
readonly assetsCaller?: SimAwsCaller | undefined;
|
|
67
77
|
readonly resourceOrder?: SimCfnResourceOrder | undefined;
|
|
68
78
|
readonly cdkOutContext?: SimCdkOutContext | undefined;
|
|
69
79
|
}
|
|
@@ -16,7 +16,7 @@ export class SimCfnTemplateFileLoader {
|
|
|
16
16
|
*/
|
|
17
17
|
async load(properties) {
|
|
18
18
|
const deployment = simCfnTemplateFileDeployment(properties);
|
|
19
|
-
const { templatePath, parameters, bindings, caller, resourceOrder } = deployment;
|
|
19
|
+
const { templatePath, parameters, bindings, caller, assetsCaller, resourceOrder, } = deployment;
|
|
20
20
|
const stackName = deployment.stackName ?? stackNameFromTemplatePath(templatePath);
|
|
21
21
|
// The template is named to a `yulin watch` supervisor, so re-synthing a
|
|
22
22
|
// stack restarts the process that deployed it. Nothing happens outside
|
|
@@ -32,6 +32,7 @@ export class SimCfnTemplateFileLoader {
|
|
|
32
32
|
parameters,
|
|
33
33
|
bindings,
|
|
34
34
|
caller,
|
|
35
|
+
assetsCaller,
|
|
35
36
|
resourceOrder,
|
|
36
37
|
cdkOutContext,
|
|
37
38
|
};
|
|
@@ -29,3 +29,24 @@ export declare class SimCloudFormationValidationError extends SimCloudFormationE
|
|
|
29
29
|
readonly name = "ValidationError";
|
|
30
30
|
constructor(message: string);
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Simulated CloudFormation InvalidChangeSetStatusException error.
|
|
34
|
+
*
|
|
35
|
+
* CloudFormation returns this for an ExecuteChangeSet naming a change set that
|
|
36
|
+
* cannot be executed, such as one that has already been executed or one another
|
|
37
|
+
* execution has made obsolete.
|
|
38
|
+
*/
|
|
39
|
+
export declare class SimCloudFormationInvalidChangeSetStatusException extends SimCloudFormationError {
|
|
40
|
+
readonly name = "InvalidChangeSetStatusException";
|
|
41
|
+
constructor(message: string);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Simulated CloudFormation ChangeSetNotFoundException error.
|
|
45
|
+
*
|
|
46
|
+
* CloudFormation returns this for a command naming a change set it cannot
|
|
47
|
+
* find, which includes one DeleteChangeSet has taken away.
|
|
48
|
+
*/
|
|
49
|
+
export declare class SimCloudFormationChangeSetNotFoundException extends SimCloudFormationError {
|
|
50
|
+
readonly name = "ChangeSetNotFoundException";
|
|
51
|
+
constructor(message: string);
|
|
52
|
+
}
|
|
@@ -30,3 +30,28 @@ export class SimCloudFormationValidationError extends SimCloudFormationError {
|
|
|
30
30
|
super(message, { httpStatusCode: 400 });
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Simulated CloudFormation InvalidChangeSetStatusException error.
|
|
35
|
+
*
|
|
36
|
+
* CloudFormation returns this for an ExecuteChangeSet naming a change set that
|
|
37
|
+
* cannot be executed, such as one that has already been executed or one another
|
|
38
|
+
* execution has made obsolete.
|
|
39
|
+
*/
|
|
40
|
+
export class SimCloudFormationInvalidChangeSetStatusException extends SimCloudFormationError {
|
|
41
|
+
name = "InvalidChangeSetStatusException";
|
|
42
|
+
constructor(message) {
|
|
43
|
+
super(message, { httpStatusCode: 400 });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Simulated CloudFormation ChangeSetNotFoundException error.
|
|
48
|
+
*
|
|
49
|
+
* CloudFormation returns this for a command naming a change set it cannot
|
|
50
|
+
* find, which includes one DeleteChangeSet has taken away.
|
|
51
|
+
*/
|
|
52
|
+
export class SimCloudFormationChangeSetNotFoundException extends SimCloudFormationError {
|
|
53
|
+
name = "ChangeSetNotFoundException";
|
|
54
|
+
constructor(message) {
|
|
55
|
+
super(message, { httpStatusCode: 404 });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -3,6 +3,12 @@ import type { SimCfnTemplateValue } from "../../template/value/sim-cfn-template-
|
|
|
3
3
|
interface SimCfnPseudoParametersProperties {
|
|
4
4
|
readonly accountRegionScope?: SimAwsAccountRegionScope | undefined;
|
|
5
5
|
readonly stackName?: string | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* The Stack's unique ID, for a template being resolved for a Stack that has
|
|
8
|
+
* one. A template resolved outside a Stack has none, and reads `AWS::StackId`
|
|
9
|
+
* as the Stack name, which is the closest thing to an identity it has.
|
|
10
|
+
*/
|
|
11
|
+
readonly stackId?: string | undefined;
|
|
6
12
|
}
|
|
7
13
|
/**
|
|
8
14
|
* Resolves CloudFormation pseudo parameters for one simulated Stack scope.
|
|
@@ -10,6 +16,7 @@ interface SimCfnPseudoParametersProperties {
|
|
|
10
16
|
export declare class SimCfnPseudoParameters {
|
|
11
17
|
private readonly accountRegionScope;
|
|
12
18
|
private readonly stackName;
|
|
19
|
+
private readonly stackId;
|
|
13
20
|
constructor(properties: SimCfnPseudoParametersProperties);
|
|
14
21
|
/**
|
|
15
22
|
* Resolve a supported CloudFormation pseudo parameter.
|
|
@@ -7,9 +7,11 @@ import { DEFAULT_SIM_AWS_REGION_NAME } from "../../../aws/sim-aws-region.js";
|
|
|
7
7
|
export class SimCfnPseudoParameters {
|
|
8
8
|
accountRegionScope;
|
|
9
9
|
stackName;
|
|
10
|
+
stackId;
|
|
10
11
|
constructor(properties) {
|
|
11
12
|
this.accountRegionScope = properties.accountRegionScope;
|
|
12
13
|
this.stackName = properties.stackName;
|
|
14
|
+
this.stackId = properties.stackId;
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
17
|
* Resolve a supported CloudFormation pseudo parameter.
|
|
@@ -29,7 +31,7 @@ export class SimCfnPseudoParameters {
|
|
|
29
31
|
return this.stackName;
|
|
30
32
|
}
|
|
31
33
|
case "AWS::StackId": {
|
|
32
|
-
return this.stackName;
|
|
34
|
+
return this.stackId ?? this.stackName;
|
|
33
35
|
}
|
|
34
36
|
case "AWS::NotificationARNs": {
|
|
35
37
|
return [];
|
|
@@ -14,6 +14,7 @@ import type { SimCfnParameterDefinition, SimCfnParametersContext, SimCfnParamete
|
|
|
14
14
|
export declare class SimCfnParameters {
|
|
15
15
|
private readonly definitions;
|
|
16
16
|
private readonly values;
|
|
17
|
+
private readonly supplied;
|
|
17
18
|
private readonly properties;
|
|
18
19
|
constructor(properties?: SimCfnParametersProperties);
|
|
19
20
|
/**
|
|
@@ -44,6 +45,14 @@ export declare class SimCfnParameters {
|
|
|
44
45
|
* runtime value has been supplied or defaulted.
|
|
45
46
|
*/
|
|
46
47
|
has(parameterName: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* The value a command supplied for this Parameter, if it supplied one.
|
|
50
|
+
*
|
|
51
|
+
* What `UsePreviousValue` on an UpdateStack Parameter reads off the Stack.
|
|
52
|
+
* A Parameter the Stack was deployed without has nothing here, and takes the
|
|
53
|
+
* template Default again as it did the first time.
|
|
54
|
+
*/
|
|
55
|
+
suppliedValue(parameterName: string): string | undefined;
|
|
47
56
|
/**
|
|
48
57
|
* Resolve the runtime value for a declared or referenced Parameter.
|
|
49
58
|
*
|
|
@@ -16,10 +16,12 @@ import { assertDefined } from "../../../util/type-guard/defined.js";
|
|
|
16
16
|
export class SimCfnParameters {
|
|
17
17
|
definitions;
|
|
18
18
|
values;
|
|
19
|
+
supplied;
|
|
19
20
|
properties;
|
|
20
21
|
constructor(properties = {}) {
|
|
21
22
|
this.properties = properties;
|
|
22
23
|
this.definitions = simCfnParameterDefinitions(properties);
|
|
24
|
+
this.supplied = new Map(Object.entries(properties.values ?? {}));
|
|
23
25
|
this.values = new SimCfnParameterValues({
|
|
24
26
|
definitions: this.definitions,
|
|
25
27
|
supplied: properties.values ?? {},
|
|
@@ -68,6 +70,16 @@ export class SimCfnParameters {
|
|
|
68
70
|
has(parameterName) {
|
|
69
71
|
return this.definitions.has(parameterName);
|
|
70
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* The value a command supplied for this Parameter, if it supplied one.
|
|
75
|
+
*
|
|
76
|
+
* What `UsePreviousValue` on an UpdateStack Parameter reads off the Stack.
|
|
77
|
+
* A Parameter the Stack was deployed without has nothing here, and takes the
|
|
78
|
+
* template Default again as it did the first time.
|
|
79
|
+
*/
|
|
80
|
+
suppliedValue(parameterName) {
|
|
81
|
+
return this.supplied.get(parameterName);
|
|
82
|
+
}
|
|
71
83
|
/**
|
|
72
84
|
* Resolve the runtime value for a declared or referenced Parameter.
|
|
73
85
|
*
|
|
@@ -29,6 +29,10 @@ export declare class SimCfnResourceDeleteOperation<T extends object = object> {
|
|
|
29
29
|
* while the Resource itself is updated through CloudFormation delete states:
|
|
30
30
|
* in progress before scheduling, complete after the deleter returns, skipped
|
|
31
31
|
* if nothing can delete the Resource type, or failed if the deleter throws.
|
|
32
|
+
*
|
|
33
|
+
* A Resource the operation's retention keeps never reaches the deleter at
|
|
34
|
+
* all. CloudFormation leaves it where it is and reports it as DELETE_SKIPPED,
|
|
35
|
+
* so the Stack can finish deleting around it.
|
|
32
36
|
*/
|
|
33
37
|
run(context: SimCloudFormationResourceDeleteContext): Promise<void>;
|
|
34
38
|
private resourceDeletionError;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SimCfnResourceDeleter } from "./sim-cfn-resource-deleter.js";
|
|
2
|
+
import { SimCfnResourceRetention } from "./sim-cfn-resource-retention.js";
|
|
2
3
|
import { isSimCfnUnsupportedResourceError } from "../unsupported/sim-cfn-unsupported-resource.js";
|
|
3
4
|
/**
|
|
4
5
|
* Runs the asynchronous CloudFormation Resource deletion lifecycle.
|
|
@@ -29,8 +30,17 @@ export class SimCfnResourceDeleteOperation {
|
|
|
29
30
|
* while the Resource itself is updated through CloudFormation delete states:
|
|
30
31
|
* in progress before scheduling, complete after the deleter returns, skipped
|
|
31
32
|
* if nothing can delete the Resource type, or failed if the deleter throws.
|
|
33
|
+
*
|
|
34
|
+
* A Resource the operation's retention keeps never reaches the deleter at
|
|
35
|
+
* all. CloudFormation leaves it where it is and reports it as DELETE_SKIPPED,
|
|
36
|
+
* so the Stack can finish deleting around it.
|
|
32
37
|
*/
|
|
33
38
|
run(context) {
|
|
39
|
+
const retention = context.retention ?? new SimCfnResourceRetention();
|
|
40
|
+
if (retention.retains(this.resource)) {
|
|
41
|
+
this.resource.markDeleteRetained();
|
|
42
|
+
return Promise.resolve();
|
|
43
|
+
}
|
|
34
44
|
this.resource.markDeleteInProgress();
|
|
35
45
|
return new Promise((resolve, reject) => {
|
|
36
46
|
this.background.schedule(async () => {
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { SimCfnResourceRecord } from "../sim-cfn-resource-record.js";
|
|
2
|
+
interface SimCfnResourceRetentionProperties {
|
|
3
|
+
/**
|
|
4
|
+
* For each logical ID this operation is replacing, whether the definition
|
|
5
|
+
* taking its place says to keep the deployed Resource.
|
|
6
|
+
*
|
|
7
|
+
* The answer comes from the new definition because that is the template
|
|
8
|
+
* CloudFormation is applying. An update that adds `UpdateReplacePolicy:
|
|
9
|
+
* Retain` keeps the Resource it replaces, and one that drops the attribute
|
|
10
|
+
* deletes it.
|
|
11
|
+
*/
|
|
12
|
+
readonly replaced?: ReadonlyMap<string, boolean> | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* The logical IDs the caller asked for by name, kept whatever their policy
|
|
15
|
+
* attributes say. DeleteStack RetainResources is what names them.
|
|
16
|
+
*/
|
|
17
|
+
readonly named?: ReadonlySet<string> | undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Which of the Resources an operation is deleting it has to leave behind.
|
|
21
|
+
*
|
|
22
|
+
* Three things can keep a Resource in simulated AWS. The DeleteStack call can
|
|
23
|
+
* name it, UpdateReplacePolicy can keep one a Stack update is replacing, and
|
|
24
|
+
* DeletionPolicy can keep one being removed. They are gathered here so that one
|
|
25
|
+
* delete has one answer.
|
|
26
|
+
*
|
|
27
|
+
* Which of the two attributes applies is the part worth stating. CloudFormation
|
|
28
|
+
* reads UpdateReplacePolicy for a replacement and DeletionPolicy for a removal,
|
|
29
|
+
* and neither stands in for the other. A Resource marked to survive a teardown
|
|
30
|
+
* still goes when an update replaces it.
|
|
31
|
+
*
|
|
32
|
+
* A retention with nothing in it reads DeletionPolicy, the way a plain teardown
|
|
33
|
+
* does.
|
|
34
|
+
*/
|
|
35
|
+
export declare class SimCfnResourceRetention {
|
|
36
|
+
private readonly replaced;
|
|
37
|
+
private readonly named;
|
|
38
|
+
constructor(properties?: SimCfnResourceRetentionProperties);
|
|
39
|
+
/**
|
|
40
|
+
* Whether this Resource is to be left in simulated AWS rather than deleted.
|
|
41
|
+
*/
|
|
42
|
+
retains(resource: SimCfnResourceRecord): boolean;
|
|
43
|
+
}
|
|
44
|
+
export {};
|