@kensio/yulin 1.21.3 → 1.21.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/service/athena/engine/sim-athena-column-types.d.ts +2 -0
- package/dist/service/athena/engine/sim-athena-column-types.js +4 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.d.ts +7 -0
- package/dist/service/athena/engine/sim-athena-delimited-format.js +51 -0
- package/dist/service/athena/engine/sim-athena-engine-result.js +5 -0
- package/dist/service/athena/engine/sim-athena-engine-run.d.ts +22 -2
- package/dist/service/athena/engine/sim-athena-engine-run.js +21 -31
- package/dist/service/athena/engine/sim-athena-loaded-tables.d.ts +10 -0
- package/dist/service/athena/engine/sim-athena-loaded-tables.js +35 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.d.ts +25 -0
- package/dist/service/athena/engine/sim-athena-parquet-module.js +39 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.d.ts +13 -0
- package/dist/service/athena/engine/sim-athena-parquet-records.js +57 -0
- package/dist/service/athena/engine/sim-athena-query-engine.d.ts +23 -5
- package/dist/service/athena/engine/sim-athena-query-engine.js +31 -10
- package/dist/service/athena/engine/sim-athena-record-reader.d.ts +12 -6
- package/dist/service/athena/engine/sim-athena-record-reader.js +28 -53
- package/dist/service/athena/engine/sim-athena-sql-translation.d.ts +15 -9
- package/dist/service/athena/engine/sim-athena-sql-translation.js +25 -13
- package/dist/service/athena/engine/sim-athena-sqlite-values.d.ts +5 -0
- package/dist/service/athena/engine/sim-athena-sqlite-values.js +24 -1
- package/dist/service/athena/engine/sim-athena-table-objects.d.ts +7 -2
- package/dist/service/athena/engine/sim-athena-table-objects.js +8 -4
- package/dist/service/athena/engine/sim-athena-table-rows.js +4 -3
- package/dist/service/athena/engine/sim-athena-turn-down.d.ts +26 -0
- package/dist/service/athena/engine/sim-athena-turn-down.js +43 -0
- package/dist/service/athena/execution/sim-athena-query-completion.d.ts +3 -1
- package/dist/service/athena/execution/sim-athena-query-completion.js +7 -1
- package/dist/service/athena/index.d.ts +1 -1
- package/dist/service/athena/index.js +1 -1
- package/dist/service/athena/result/sim-athena-query-answer.d.ts +12 -0
- package/dist/service/athena/result/sim-athena-query-answer.js +26 -4
- package/dist/service/athena/sim-athena-answered-query.fixture.d.ts +2 -0
- package/dist/service/athena/sim-athena-answered-query.fixture.js +1 -0
- package/dist/service/athena/sim-athena-engine.fixture.d.ts +20 -0
- package/dist/service/athena/sim-athena-engine.fixture.js +34 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.d.ts +23 -0
- package/dist/service/cloudformation/authorize/sim-cloudformation-authorization.js +37 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts +2 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.js +1 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts +7 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js +13 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts +6 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js +7 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.d.ts +50 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/notify/sim-cdk-bucket-deploy-notifier.js +71 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/sim-cdk-bucket-deployment.js +6 -1
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.d.ts +5 -0
- package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js +7 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.d.ts +9 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-arn.js +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.d.ts +42 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-changes.js +69 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.d.ts +62 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-commands.js +89 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.d.ts +31 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-execution.js +59 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.d.ts +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-failure.js +19 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.d.ts +17 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-input.js +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.d.ts +18 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack-id.js +13 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.d.ts +45 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-stack.js +52 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.d.ts +12 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set-type.js +21 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.d.ts +54 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.js +49 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.d.ts +35 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-set.type.js +1 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.d.ts +53 -0
- package/dist/service/cloudformation/changeset/sim-cfn-change-sets.js +83 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.d.ts +32 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.d.ts +38 -0
- package/dist/service/cloudformation/command/create-change-set/create-change-set.handler.js +80 -0
- package/dist/service/cloudformation/command/create-stack/create-stack.handler.js +12 -12
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.d.ts +22 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.d.ts +27 -0
- package/dist/service/cloudformation/command/delete-change-set/delete-change-set.handler.js +35 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.command.d.ts +6 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.d.ts +11 -0
- package/dist/service/cloudformation/command/delete-stack/delete-stack.handler.js +15 -1
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.d.ts +48 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.d.ts +23 -0
- package/dist/service/cloudformation/command/describe-change-set/describe-change-set.handler.js +52 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.d.ts +3 -0
- package/dist/service/cloudformation/command/describe-stacks/describe-stacks.handler.js +8 -4
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.d.ts +18 -6
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-described-stacks.js +22 -7
- package/dist/service/cloudformation/command/describe-stacks/sim-cfn-stack-describer.js +1 -1
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.d.ts +25 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.command.js +1 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.d.ts +31 -0
- package/dist/service/cloudformation/command/execute-change-set/execute-change-set.handler.js +37 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.d.ts +36 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.command.js +1 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.d.ts +26 -0
- package/dist/service/cloudformation/command/list-change-sets/list-change-sets.handler.js +39 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.d.ts +31 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-previous-values.js +52 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.d.ts +22 -0
- package/dist/service/cloudformation/command/update-stack/update-stack-template.js +34 -0
- package/dist/service/cloudformation/command/update-stack/update-stack.command.d.ts +17 -1
- package/dist/service/cloudformation/command/update-stack/update-stack.handler.js +8 -15
- package/dist/service/cloudformation/error/sim-cloudformation.error.d.ts +21 -0
- package/dist/service/cloudformation/error/sim-cloudformation.error.js +25 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.d.ts +7 -0
- package/dist/service/cloudformation/parameters/pseudo/sim-cfn-pseudo-parameters.js +3 -1
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.d.ts +9 -0
- package/dist/service/cloudformation/parameters/sim-cfn-parameters.js +12 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.d.ts +4 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-delete-operation.js +10 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.d.ts +44 -0
- package/dist/service/cloudformation/resource/delete/sim-cfn-resource-retention.js +33 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.d.ts +15 -0
- package/dist/service/cloudformation/resource/sim-cfn-resource-record.js +21 -1
- package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +9 -7
- package/dist/service/cloudformation/resource/sim-cfn-resource.js +11 -11
- package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +8 -0
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.d.ts +3 -3
- package/dist/service/cloudformation/resource/state/sim-cfn-resource-deletion-state.js +3 -3
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.d.ts +4 -0
- package/dist/service/cloudformation/resource/template/sim-cfn-resource-template-reader.js +9 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.d.ts +37 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.js +77 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.d.ts +51 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-auth.types.js +10 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-authorizers.js +34 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.d.ts +21 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-api-identity.js +31 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.d.ts +14 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-definition.js +1 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-authorizer-function.js +58 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-event-authorization.js +89 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-api-auth.js +65 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-jwt-authorizer.js +60 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-http-lambda-authorizer.js +50 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.d.ts +13 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-prefixes.js +30 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-identity-source.js +44 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-api-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.d.ts +11 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-cognito-authorizer.js +43 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.d.ts +15 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-rest-lambda-authorizer.js +67 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.d.ts +26 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-template-api-auth.js +61 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.d.ts +18 -0
- package/dist/service/cloudformation/sam/api/auth/sim-cfn-sam-unsupported-auth.js +59 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.d.ts +4 -0
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-http-api.js +12 -5
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api-template.factory.js +1 -1
- package/dist/service/cloudformation/sam/api/sim-cfn-sam-rest-api.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-api-event.js +7 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.d.ts +26 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-cognito-event.js +88 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.d.ts +12 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-declared-event.js +1 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-function-events.js +8 -5
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-event.js +23 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.d.ts +9 -2
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-http-api-route.js +5 -3
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.d.ts +6 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-implicit-http-api.js +7 -1
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.d.ts +19 -0
- package/dist/service/cloudformation/sam/function/event/sim-cfn-sam-triggered-user-pool.js +69 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.d.ts +5 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-template.factory.js +3 -1
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.d.ts +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-type.js +8 -0
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function-url.js +1 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.d.ts +6 -4
- package/dist/service/cloudformation/sam/function/sim-cfn-sam-function.js +2 -4
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.d.ts +31 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-error.js +17 -0
- package/dist/service/cloudformation/sam/sim-cfn-sam-expansion.js +11 -6
- package/dist/service/cloudformation/sdk/sim-cloudformation-sdk-command-router.js +20 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-api.d.ts +4 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-api.js +6 -3
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.d.ts +10 -0
- package/dist/service/cloudformation/serve/sim-cloudformation-change-set-api.js +94 -0
- package/dist/service/cloudformation/sim-cloudformation.d.ts +31 -0
- package/dist/service/cloudformation/sim-cloudformation.js +56 -9
- package/dist/service/cloudformation/stack/resource-map/sim-cfn-stack-resource-map.js +1 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.d.ts +20 -0
- package/dist/service/cloudformation/stack/sim-cfn-deleted-stacks.js +23 -0
- package/dist/service/cloudformation/stack/sim-cfn-deployed-stack.type.d.ts +6 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.d.ts +30 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-id.js +24 -0
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.d.ts +46 -3
- package/dist/service/cloudformation/stack/sim-cfn-stack-resource-operations.js +67 -6
- package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +28 -16
- package/dist/service/cloudformation/stack/sim-cfn-stack.js +59 -32
- package/dist/service/cloudformation/stack/sim-cfn-stack.type.d.ts +7 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.d.ts +7 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-deletion-lifecycle.js +3 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-batch-deleter.js +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.d.ts +3 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-resource-deleter.js +2 -1
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.d.ts +18 -0
- package/dist/service/cloudformation/stack/teardown/sim-cfn-stack-retained-logical-ids.js +30 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-guard.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.d.ts +25 -14
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-lifecycle.js +41 -24
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.d.ts +9 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-update-plan.js +14 -0
- package/dist/service/cloudformation/stack/update/sim-cfn-stack-updater.js +6 -1
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.d.ts +12 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-condition-expression.js +29 -3
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.d.ts +28 -0
- package/dist/service/cloudformation/template/condition/sim-cfn-output-conditions.js +39 -0
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.d.ts +25 -1
- package/dist/service/cloudformation/template/node/fn/find-in-map/sim-cfn-fn-find-in-map.js +43 -11
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.d.ts +7 -0
- package/dist/service/cloudformation/template/parse/fn/find-in-map/sim-cfn-fn-find-in-map-parser.js +29 -3
- package/dist/service/cloudformation/template/sim-cfn-command-template.d.ts +40 -0
- package/dist/service/cloudformation/template/sim-cfn-command-template.js +45 -0
- package/dist/service/cloudformation/template/sim-cfn-template.d.ts +7 -0
- package/dist/service/cloudformation/template/sim-cfn-template.js +15 -1
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.d.ts +2 -0
- package/dist/service/cloudfront/origin/custom/sim-cf-custom-origin-request.js +49 -0
- package/dist/service/cloudfront/origin/custom/sim-cloudfront-custom-origin.js +1 -0
- package/dist/service/cloudfront/origin/s3/sim-cf-s3-origin-responses.js +1 -0
- package/dist/service/cognito/serve/page/sim-cognito-provider-page.js +1 -1
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.d.ts +5 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-attribute-mapping.js +17 -0
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.d.ts +5 -5
- package/dist/service/cognito/user-pool/idp/sim-cognito-presented-external-user.js +24 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.d.ts +11 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query-expressions.js +20 -8
- package/dist/service/dynamodb/command/query/sim-dynamodb-query.js +2 -0
- package/dist/service/dynamodb/command/query/sim-dynamodb-unsimulated-query-input.js +0 -1
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.d.ts +14 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-read-answer.js +16 -4
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.d.ts +17 -0
- package/dist/service/dynamodb/command/read/sim-dynamodb-table-read.fixture.js +39 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.d.ts +28 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan-expressions.js +50 -0
- package/dist/service/dynamodb/command/scan/sim-dynamodb-scan.js +12 -5
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.d.ts +3 -3
- package/dist/service/dynamodb/command/scan/sim-dynamodb-unsimulated-scan-input.js +3 -4
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.d.ts +5 -16
- package/dist/service/dynamodb/expression/filter/sim-dynamodb-filter-expression.js +4 -21
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.d.ts +15 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection-expression.js +18 -1
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.d.ts +13 -0
- package/dist/service/dynamodb/expression/projection/sim-dynamodb-projection.js +15 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-properties.js +2 -0
- package/dist/service/lambda/cfn/event-source-mapping/sim-cfn-lambda-event-source-mapping-property-rules.js +5 -3
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.d.ts +21 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-cors.js +37 -0
- package/dist/service/lambda/cfn/url/sim-cfn-lambda-url-creator.js +6 -0
- package/dist/service/lambda/command/create-function/create-function.handler.d.ts +3 -0
- package/dist/service/lambda/command/create-function/create-function.handler.js +5 -1
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.command.d.ts +2 -3
- package/dist/service/lambda/command/create-function-url-config/create-function-url-config.handler.js +1 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.d.ts +6 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-input.js +10 -0
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping-refusals.js +2 -6
- package/dist/service/lambda/command/event-source-mapping/create-event-source-mapping.handler.js +1 -0
- package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +2 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-constraints.js +49 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.d.ts +25 -0
- package/dist/service/lambda/command/function-url/function-url-cors-input.js +57 -0
- package/dist/service/lambda/command/function-url/function-url-input.d.ts +7 -0
- package/dist/service/lambda/command/function-url/function-url-input.js +9 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-invocation.js +10 -13
- package/dist/service/lambda/command/invoke/async/sim-lambda-async-outcome.js +2 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.d.ts +13 -0
- package/dist/service/lambda/command/invoke/async/sim-lambda-handler-attempt.js +12 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.command.d.ts +2 -0
- package/dist/service/lambda/command/update-function-url-config/update-function-url-config.handler.js +1 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-bus.js +1 -1
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-function.js +8 -12
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-queue.js +4 -3
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-send.d.ts +2 -0
- package/dist/service/lambda/destination/deliver/sim-lambda-destination-topic.js +4 -3
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.d.ts +4 -6
- package/dist/service/lambda/destination/sim-aws-lambda-destinations.js +6 -6
- package/dist/service/lambda/destination/sim-lambda-destination-targets.d.ts +3 -0
- package/dist/service/lambda/event-source/poll/kinesis/sim-lambda-kinesis-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-dynamodb-stream-delivery.js +4 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.d.ts +22 -3
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-outcome.js +39 -9
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.d.ts +7 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-batch-response.js +14 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.d.ts +9 -15
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-checkpoint.js +9 -16
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.d.ts +10 -6
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-progress.js +22 -12
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.d.ts +23 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-record-times.js +18 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.d.ts +12 -13
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry-backoff.js +24 -17
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.d.ts +64 -0
- package/dist/service/lambda/event-source/poll/sim-lambda-stream-retry.js +86 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-arn.js +8 -1
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/queue/sim-lambda-sqs-event-source-rules.js +7 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.d.ts +11 -1
- package/dist/service/lambda/event-source/sim-lambda-event-source-mapping.js +13 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.d.ts +39 -0
- package/dist/service/lambda/event-source/sim-lambda-event-source-retry-limits.js +46 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.d.ts +56 -0
- package/dist/service/lambda/event-source/sim-lambda-stream-retry-limits.js +110 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.d.ts +5 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-arn.js +7 -1
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.d.ts +6 -0
- package/dist/service/lambda/event-source/stream/kinesis/sim-lambda-kinesis-event-source-rules.js +6 -0
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.d.ts +6 -1
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-arn.js +8 -6
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.d.ts +10 -8
- package/dist/service/lambda/event-source/stream/sim-lambda-dynamodb-stream-event-source-rules.js +18 -1
- package/dist/service/lambda/function/code/sim-lambda-executable-code.d.ts +8 -2
- package/dist/service/lambda/function/code/sim-lambda-executable-code.js +2 -1
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.d.ts +2 -11
- package/dist/service/lambda/function/code/sim-lambda-vm-zip-code.js +13 -39
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.d.ts +7 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-context.js +13 -7
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.d.ts +23 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-handler-lookup.js +42 -0
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.d.ts +12 -4
- package/dist/service/lambda/function/code/vm/sim-lambda-vm-output-stream.js +15 -5
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.d.ts +7 -0
- package/dist/service/lambda/function/invoke/sim-lambda-host-scope.js +6 -2
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.d.ts +26 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation-deadline.js +84 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.d.ts +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invocation.js +44 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.d.ts +6 -0
- package/dist/service/lambda/function/invoke/sim-lambda-invoke-context-builder.js +1 -2
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.d.ts +6 -1
- package/dist/service/lambda/function/invoke/sim-lambda-process-output.js +19 -6
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.d.ts +15 -0
- package/dist/service/lambda/function/invoke/sim-lambda-timed-out.error.js +18 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.d.ts +12 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clear-timer.js +28 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.d.ts +46 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-clock-timer.js +104 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.d.ts +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-host-timers.js +27 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.d.ts +43 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-invocation-timers.js +112 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.d.ts +57 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-process-timers.js +79 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.d.ts +10 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-delay.js +15 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.d.ts +11 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-global.js +24 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.d.ts +50 -0
- package/dist/service/lambda/function/invoke/timer/sim-lambda-timer-handle.js +43 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.d.ts +17 -0
- package/dist/service/lambda/function/logging/sim-lambda-function-logging.js +12 -1
- package/dist/service/lambda/function/logging/sim-lambda-output.d.ts +56 -0
- package/dist/service/lambda/function/logging/sim-lambda-output.js +62 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.d.ts +8 -0
- package/dist/service/lambda/function/outbound/sim-lambda-aws-api-outbound.js +27 -1
- package/dist/service/lambda/function/sim-lambda-function.d.ts +1 -1
- package/dist/service/lambda/function/sim-lambda-function.js +11 -9
- package/dist/service/lambda/function/sim-lambda-function.type.d.ts +15 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.d.ts +22 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.factory.js +17 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-cors.js +1 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url-factory.js +2 -1
- package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +2 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.d.ts +16 -0
- package/dist/service/lambda/function/url/sim-lambda-function-url.js +16 -1
- package/dist/service/lambda/index.d.ts +1 -0
- package/dist/service/lambda/index.js +1 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.d.ts +50 -0
- package/dist/service/lambda/serve/response/sim-lambda-url-cors-headers.js +96 -0
- package/dist/service/lambda/serve/sim-lambda-controller.d.ts +14 -0
- package/dist/service/lambda/serve/sim-lambda-controller.js +27 -0
- package/dist/service/lambda/sim-lambda-commands.d.ts +10 -0
- package/dist/service/lambda/sim-lambda-commands.js +11 -0
- package/dist/service/lambda/sim-lambda.d.ts +12 -0
- package/dist/service/lambda/sim-lambda.js +13 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.d.ts +67 -0
- package/dist/service/s3/bucket/encryption/sim-s3-bucket-encryption.js +69 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.d.ts +4 -31
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-configuration.js +7 -6
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.d.ts +5 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-expiry.js +8 -4
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.d.ts +1 -14
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-selection.js +16 -8
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.d.ts +41 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-subject.js +1 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.d.ts +14 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-sweep.js +32 -2
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.d.ts +33 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition-instant.js +48 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.d.ts +16 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-lifecycle-transition.js +44 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.d.ts +8 -0
- package/dist/service/s3/bucket/lifecycle/sim-s3-noncurrent-sweep.js +27 -0
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.d.ts +1 -1
- package/dist/service/s3/bucket/notification/sim-s3-notification-event.js +5 -0
- package/dist/service/s3/bucket/notification/sim-s3-unsimulated-notification-events.js +0 -3
- package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +3 -0
- package/dist/service/s3/bucket/sim-s3-bucket-access.js +6 -2
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.d.ts +84 -0
- package/dist/service/s3/bucket/sim-s3-bucket-configuration.js +115 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.d.ts +10 -0
- package/dist/service/s3/bucket/sim-s3-bucket-objects.js +18 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.d.ts +41 -0
- package/dist/service/s3/bucket/sim-s3-bucket-properties.js +1 -0
- package/dist/service/s3/bucket/sim-s3-bucket.d.ts +11 -83
- package/dist/service/s3/bucket/sim-s3-bucket.js +14 -83
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.d.ts +6 -0
- package/dist/service/s3/bucket/sim-s3-public-read.fixture.js +20 -6
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.d.ts +58 -0
- package/dist/service/s3/bucket/tagging/sim-s3-taggable-object.js +73 -0
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.d.ts +19 -1
- package/dist/service/s3/bucket/versioning/sim-s3-object-version.js +20 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/encryption/sim-cfn-s3-bucket-encryption.js +44 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-configuration.js +6 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.d.ts +5 -4
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-fields.js +12 -5
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.d.ts +21 -0
- package/dist/service/s3/cfn/bucket/lifecycle/sim-cfn-s3-bucket-lifecycle-filter.js +30 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-configurator.js +1 -0
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.d.ts +14 -1
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-declared-configurations.js +41 -16
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +3 -5
- package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +7 -10
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.d.ts +6 -1
- package/dist/service/s3/command/authorize/sim-s3-authorize-action.js +5 -0
- package/dist/service/s3/command/copy-object/copy-object-builder.d.ts +10 -1
- package/dist/service/s3/command/copy-object/copy-object-builder.js +17 -1
- package/dist/service/s3/command/copy-object/copy-object.command.d.ts +11 -1
- package/dist/service/s3/command/copy-object/copy-object.handler.js +2 -1
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.command.d.ts +5 -1
- package/dist/service/s3/command/create-multipart-upload/create-multipart-upload.handler.js +7 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.d.ts +19 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.d.ts +30 -0
- package/dist/service/s3/command/delete-bucket-encryption/delete-bucket-encryption.handler.js +38 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.d.ts +23 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.command.js +1 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/delete-object-tagging/delete-object-tagging.handler.js +42 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.d.ts +29 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-authorizer.js +49 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.d.ts +22 -0
- package/dist/service/s3/command/encryption/sim-s3-encryption-commands.js +30 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.d.ts +24 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/get-bucket-encryption/get-bucket-encryption.handler.js +39 -0
- package/dist/service/s3/command/get-object/get-object-authorizer.d.ts +11 -8
- package/dist/service/s3/command/get-object/get-object-authorizer.js +26 -34
- package/dist/service/s3/command/get-object/get-object-loader.d.ts +7 -3
- package/dist/service/s3/command/get-object/get-object-loader.js +9 -4
- package/dist/service/s3/command/get-object/get-object.command.d.ts +2 -1
- package/dist/service/s3/command/get-object/get-object.handler.d.ts +4 -0
- package/dist/service/s3/command/get-object/get-object.handler.js +13 -7
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.d.ts +29 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.command.js +1 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.d.ts +21 -0
- package/dist/service/s3/command/get-object-tagging/get-object-tagging.handler.js +33 -0
- package/dist/service/s3/command/head-object/head-object-loader.js +2 -0
- package/dist/service/s3/command/head-object/head-object.command.d.ts +2 -1
- package/dist/service/s3/command/lifecycle/sim-s3-lifecycle-rules-validation.js +18 -0
- package/dist/service/s3/command/list-multipart-uploads/list-multipart-uploads.handler.js +1 -2
- package/dist/service/s3/command/list-object-versions/list-object-versions-summaries.js +1 -2
- package/dist/service/s3/command/list-objects/list-objects-page-builder.d.ts +5 -0
- package/dist/service/s3/command/list-objects/list-objects-page-builder.js +11 -6
- package/dist/service/s3/command/list-objects/list-objects.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects/list-objects.handler.js +5 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.d.ts +6 -0
- package/dist/service/s3/command/list-objects-v2/list-objects-v2-page-builder.js +11 -5
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.command.d.ts +5 -1
- package/dist/service/s3/command/list-objects-v2/list-objects-v2.handler.js +5 -0
- package/dist/service/s3/command/list-parts/list-parts.handler.js +3 -3
- package/dist/service/s3/command/multipart/sim-s3-multipart-access.js +1 -1
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.d.ts +21 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.command.js +1 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.d.ts +31 -0
- package/dist/service/s3/command/put-bucket-encryption/put-bucket-encryption.handler.js +41 -0
- package/dist/service/s3/command/put-object/put-object-builder.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object-builder.js +10 -1
- package/dist/service/s3/command/put-object/put-object.command.d.ts +5 -1
- package/dist/service/s3/command/put-object/put-object.handler.js +2 -1
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.d.ts +37 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.command.js +1 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.d.ts +22 -0
- package/dist/service/s3/command/put-object-tagging/put-object-tagging.handler.js +46 -0
- package/dist/service/s3/command/sim-s3-command.types.d.ts +6 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.d.ts +61 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-access.js +49 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.d.ts +30 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-authorizer.js +27 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.d.ts +26 -0
- package/dist/service/s3/command/tagging/sim-s3-object-tagging-commands.js +34 -0
- package/dist/service/s3/error/sim-s3-upload.error.d.ts +41 -0
- package/dist/service/s3/error/sim-s3-upload.error.js +47 -0
- package/dist/service/s3/error/sim-s3.error.d.ts +22 -34
- package/dist/service/s3/error/sim-s3.error.js +26 -40
- package/dist/service/s3/mount/sim-s3-mount.type.d.ts +10 -0
- package/dist/service/s3/notification/event/sim-s3-event-records.d.ts +3 -2
- package/dist/service/s3/notification/event/sim-s3-event-records.js +5 -3
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.d.ts +33 -8
- package/dist/service/s3/notification/event/sim-s3-object-event-builder.js +23 -9
- package/dist/service/s3/notification/sim-s3-object-notifier.d.ts +5 -1
- package/dist/service/s3/notification/sim-s3-object-notifier.js +6 -0
- package/dist/service/s3/object/s3-key-encoding.d.ts +12 -0
- package/dist/service/s3/object/s3-key-encoding.js +14 -0
- package/dist/service/s3/object/s3-listing-encoding.d.ts +42 -0
- package/dist/service/s3/object/s3-listing-encoding.js +75 -0
- package/dist/service/s3/object/s3-object-response-headers.d.ts +40 -0
- package/dist/service/s3/object/s3-object-response-headers.js +49 -2
- package/dist/service/s3/object/s3-object-storage-report.d.ts +19 -0
- package/dist/service/s3/object/s3-object-storage-report.js +18 -0
- package/dist/service/s3/object/s3-object-summary.d.ts +2 -10
- package/dist/service/s3/object/s3-object-summary.js +1 -10
- package/dist/service/s3/object/s3-object-tags.d.ts +61 -0
- package/dist/service/s3/object/s3-object-tags.js +77 -0
- package/dist/service/s3/object/s3-object.d.ts +49 -0
- package/dist/service/s3/object/s3-object.js +52 -1
- package/dist/service/s3/object/s3-server-side-encryption.d.ts +30 -0
- package/dist/service/s3/object/s3-server-side-encryption.js +42 -0
- package/dist/service/s3/object/s3-storage-class.d.ts +45 -0
- package/dist/service/s3/object/s3-storage-class.js +67 -0
- package/dist/service/s3/object/s3-write-metadata.d.ts +17 -3
- package/dist/service/s3/object/s3-write-metadata.js +43 -0
- package/dist/service/s3/object/s3-write-storage.d.ts +27 -0
- package/dist/service/s3/object/s3-write-storage.js +21 -0
- package/dist/service/s3/object/s3-write-tagging.d.ts +24 -0
- package/dist/service/s3/object/s3-write-tagging.js +19 -0
- package/dist/service/s3/sdk/sim-s3-sdk-bucket-routes.js +12 -0
- package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +2 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.d.ts +9 -0
- package/dist/service/s3/sdk/sim-s3-sdk-object-tagging-routes.js +23 -0
- package/dist/service/s3/serve/api/sim-s3-api-bucket-routes.js +22 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.d.ts +4 -0
- package/dist/service/s3/serve/api/sim-s3-api-configuration-output.js +10 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.d.ts +7 -0
- package/dist/service/s3/serve/api/sim-s3-api-encryption-read.js +30 -0
- package/dist/service/s3/serve/api/sim-s3-api-head-output.d.ts +4 -2
- package/dist/service/s3/serve/api/sim-s3-api-head-output.js +8 -2
- package/dist/service/s3/serve/api/sim-s3-api-input.d.ts +0 -6
- package/dist/service/s3/serve/api/sim-s3-api-input.js +2 -13
- package/dist/service/s3/serve/api/sim-s3-api-listing.d.ts +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-listing.js +5 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.d.ts +16 -0
- package/dist/service/s3/serve/api/sim-s3-api-object-input.js +34 -7
- package/dist/service/s3/serve/api/sim-s3-api-object-output.d.ts +18 -1
- package/dist/service/s3/serve/api/sim-s3-api-object-output.js +21 -2
- package/dist/service/s3/serve/api/sim-s3-api-object-routes.js +22 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.d.ts +5 -1
- package/dist/service/s3/serve/api/sim-s3-api-output.js +16 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.d.ts +6 -5
- package/dist/service/s3/serve/api/sim-s3-api-request.js +55 -11
- package/dist/service/s3/serve/api/sim-s3-api-routes.js +2 -2
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.d.ts +9 -0
- package/dist/service/s3/serve/api/sim-s3-api-tagging-read.js +14 -0
- package/dist/service/s3/serve/api/sim-s3-api.d.ts +7 -1
- package/dist/service/s3/serve/api/sim-s3-api.js +7 -1
- package/dist/service/s3/serve/sim-s3-rest-controller.d.ts +1 -5
- package/dist/service/s3/serve/sim-s3-rest-controller.js +3 -17
- package/dist/service/s3/serve/sim-s3-rest-object-reader.d.ts +3 -0
- package/dist/service/s3/serve/sim-s3-rest-object-reader.js +8 -1
- package/dist/service/s3/serve/sim-s3-rest-upload.d.ts +20 -0
- package/dist/service/s3/serve/sim-s3-rest-upload.js +30 -0
- package/dist/service/s3/serve/website/sim-s3-website-object-loader.js +1 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.d.ts +2 -0
- package/dist/service/s3/serve/website/sim-s3-website-object.js +3 -0
- package/dist/service/s3/sim-s3-commands.d.ts +4 -0
- package/dist/service/s3/sim-s3-commands.js +6 -0
- package/dist/service/s3/sim-s3-operations.d.ts +11 -4
- package/dist/service/s3/sim-s3-operations.js +17 -4
- package/dist/service/s3/sim-s3-tagging-operations.d.ts +21 -0
- package/dist/service/s3/sim-s3-tagging-operations.js +25 -0
- package/dist/service/s3/sim-s3.d.ts +12 -0
- package/dist/service/s3/sim-s3.js +13 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.d.ts +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deleting-storage.js +34 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.d.ts +9 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-deletion.js +24 -0
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.d.ts +5 -4
- package/dist/service/s3/storage/filesystem/s3-filesystem-storage.js +5 -3
- package/dist/service/s3/upload/sim-s3-completed-upload.js +5 -1
- package/dist/service/s3/upload/sim-s3-multipart-upload.d.ts +18 -0
- package/dist/service/s3/upload/sim-s3-multipart-upload.js +8 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.d.ts +6 -0
- package/dist/service/s3/upload/sim-s3-multipart-uploads.js +5 -0
- package/dist/util/background/background-clock-waits.d.ts +52 -0
- package/dist/util/background/background-clock-waits.js +76 -0
- package/dist/util/background/background-jitter.js +1 -0
- package/dist/util/background/background-pending-tasks.d.ts +55 -0
- package/dist/util/background/background-pending-tasks.js +117 -0
- package/dist/util/background/background-settled-tasks.d.ts +4 -1
- package/dist/util/background/background-settled-tasks.js +4 -1
- package/dist/util/background/background.d.ts +43 -0
- package/dist/util/background/background.js +27 -19
- package/dist/util/background/non-deterministic-background.d.ts +12 -0
- package/dist/util/background/non-deterministic-background.js +24 -20
- package/dist/util/clock/sim-clock-control.js +23 -2
- package/docs/services/apigateway/README.md +3 -1
- package/docs/services/athena/README.md +126 -3
- package/docs/services/cloudformation/README.md +775 -65
- package/docs/services/cognito/README.md +5 -0
- package/docs/services/dynamodb/README.md +86 -11
- package/docs/services/lambda/README.md +603 -39
- package/docs/services/s3/README.md +688 -57
- package/package.json +7 -1
|
@@ -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
|
+
}
|
|
@@ -4,6 +4,14 @@ interface SimCfnStackUpdateLifecycleProperties {
|
|
|
4
4
|
readonly background: BackgroundScheduler;
|
|
5
5
|
readonly stackName: SimCloudFormationStackName;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* The two halves of one Stack update: applying the new template, and putting
|
|
9
|
+
* the Stack back the way it was if that fails.
|
|
10
|
+
*/
|
|
11
|
+
export interface SimCfnStackUpdateWork {
|
|
12
|
+
readonly apply: () => Promise<void>;
|
|
13
|
+
readonly rollBack: () => Promise<void>;
|
|
14
|
+
}
|
|
7
15
|
/**
|
|
8
16
|
* Owns the simulated CloudFormation Stack update lifecycle state.
|
|
9
17
|
*
|
|
@@ -21,7 +29,9 @@ export declare class SimCfnStackUpdateLifecycle {
|
|
|
21
29
|
private readonly background;
|
|
22
30
|
private readonly stackName;
|
|
23
31
|
private completePromise;
|
|
32
|
+
private rollbackPromise;
|
|
24
33
|
private updateError;
|
|
34
|
+
private rollbackError;
|
|
25
35
|
constructor(properties: SimCfnStackUpdateLifecycleProperties);
|
|
26
36
|
/**
|
|
27
37
|
* The current Stack update status, or undefined if the Stack has never been
|
|
@@ -30,14 +40,13 @@ export declare class SimCfnStackUpdateLifecycle {
|
|
|
30
40
|
get status(): SimCloudFormationStackStatus | undefined;
|
|
31
41
|
/**
|
|
32
42
|
* The error captured during a background update, if any.
|
|
33
|
-
*/
|
|
34
|
-
get error(): Error | undefined;
|
|
35
|
-
/**
|
|
36
|
-
* Refuse an update while one is already running.
|
|
37
43
|
*
|
|
38
|
-
*
|
|
39
|
-
* the
|
|
44
|
+
* A rollback that failed answers with its own failure, because that is what
|
|
45
|
+
* the Stack is left in UPDATE_ROLLBACK_FAILED by and what has to be dealt
|
|
46
|
+
* with before the Stack works again.
|
|
40
47
|
*/
|
|
48
|
+
get error(): Error | undefined;
|
|
49
|
+
/** Refuse an update while one is already running, or being rolled back. */
|
|
41
50
|
assertNotUpdating(): void;
|
|
42
51
|
/**
|
|
43
52
|
* Start the Stack update lifecycle.
|
|
@@ -46,17 +55,19 @@ export declare class SimCfnStackUpdateLifecycle {
|
|
|
46
55
|
* and deletion do. The Resource work continues in the background, so callers
|
|
47
56
|
* that need the final state should use waitForComplete().
|
|
48
57
|
*
|
|
49
|
-
* An update that fails
|
|
50
|
-
*
|
|
51
|
-
*
|
|
58
|
+
* An update that fails is rolled back. The Stack moves to
|
|
59
|
+
* UPDATE_ROLLBACK_IN_PROGRESS with the reason on it, the rollback is
|
|
60
|
+
* scheduled as an operation of its own, and the Stack settles in
|
|
61
|
+
* UPDATE_ROLLBACK_COMPLETE, or in UPDATE_ROLLBACK_FAILED if the rollback
|
|
62
|
+
* could not finish either.
|
|
52
63
|
*/
|
|
53
|
-
update(
|
|
64
|
+
update(work: SimCfnStackUpdateWork): Promise<void>;
|
|
54
65
|
/**
|
|
55
|
-
* Wait for the scheduled update to finish.
|
|
66
|
+
* Wait for the scheduled update to finish, rollback included.
|
|
56
67
|
*
|
|
57
|
-
* If the update failed, this rethrows the captured error
|
|
58
|
-
* what stopped the new template being applied.
|
|
59
|
-
* has nothing to wait for.
|
|
68
|
+
* If the update failed, this rethrows the captured error once the Stack has
|
|
69
|
+
* settled, so a caller can see what stopped the new template being applied.
|
|
70
|
+
* A Stack that was never updated has nothing to wait for.
|
|
60
71
|
*/
|
|
61
72
|
waitForComplete(): Promise<void>;
|
|
62
73
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SimCloudFormationValidationError } from "../../error/sim-cloudformation.error.js";
|
|
2
1
|
import { SimCfnStackOperationScheduler } from "../sim-cfn-stack-operation-scheduler.js";
|
|
2
|
+
import { assertSimCfnStackNotUpdating } from "./sim-cfn-stack-update-guard.js";
|
|
3
3
|
/**
|
|
4
4
|
* Owns the simulated CloudFormation Stack update lifecycle state.
|
|
5
5
|
*
|
|
@@ -17,7 +17,9 @@ export class SimCfnStackUpdateLifecycle {
|
|
|
17
17
|
stackName;
|
|
18
18
|
#status;
|
|
19
19
|
completePromise;
|
|
20
|
+
rollbackPromise;
|
|
20
21
|
updateError;
|
|
22
|
+
rollbackError;
|
|
21
23
|
constructor(properties) {
|
|
22
24
|
this.background = properties.background;
|
|
23
25
|
this.stackName = properties.stackName;
|
|
@@ -31,20 +33,17 @@ export class SimCfnStackUpdateLifecycle {
|
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
33
35
|
* The error captured during a background update, if any.
|
|
36
|
+
*
|
|
37
|
+
* A rollback that failed answers with its own failure, because that is what
|
|
38
|
+
* the Stack is left in UPDATE_ROLLBACK_FAILED by and what has to be dealt
|
|
39
|
+
* with before the Stack works again.
|
|
34
40
|
*/
|
|
35
41
|
get error() {
|
|
36
|
-
return this.updateError;
|
|
42
|
+
return this.rollbackError ?? this.updateError;
|
|
37
43
|
}
|
|
38
|
-
/**
|
|
39
|
-
* Refuse an update while one is already running.
|
|
40
|
-
*
|
|
41
|
-
* CloudFormation takes one update at a time, and a second here would read
|
|
42
|
-
* the difference to apply from a Stack half way through the first.
|
|
43
|
-
*/
|
|
44
|
+
/** Refuse an update while one is already running, or being rolled back. */
|
|
44
45
|
assertNotUpdating() {
|
|
45
|
-
|
|
46
|
-
throw new SimCloudFormationValidationError(`Stack ${this.stackName} is in UPDATE_IN_PROGRESS state and can not be updated`);
|
|
47
|
-
}
|
|
46
|
+
assertSimCfnStackNotUpdating(this.stackName, this.#status);
|
|
48
47
|
}
|
|
49
48
|
/**
|
|
50
49
|
* Start the Stack update lifecycle.
|
|
@@ -53,40 +52,58 @@ export class SimCfnStackUpdateLifecycle {
|
|
|
53
52
|
* and deletion do. The Resource work continues in the background, so callers
|
|
54
53
|
* that need the final state should use waitForComplete().
|
|
55
54
|
*
|
|
56
|
-
* An update that fails
|
|
57
|
-
*
|
|
58
|
-
*
|
|
55
|
+
* An update that fails is rolled back. The Stack moves to
|
|
56
|
+
* UPDATE_ROLLBACK_IN_PROGRESS with the reason on it, the rollback is
|
|
57
|
+
* scheduled as an operation of its own, and the Stack settles in
|
|
58
|
+
* UPDATE_ROLLBACK_COMPLETE, or in UPDATE_ROLLBACK_FAILED if the rollback
|
|
59
|
+
* could not finish either.
|
|
59
60
|
*/
|
|
60
|
-
async update(
|
|
61
|
+
async update(work) {
|
|
61
62
|
this.#status = "UPDATE_IN_PROGRESS";
|
|
62
63
|
this.updateError = undefined;
|
|
64
|
+
this.rollbackError = undefined;
|
|
65
|
+
this.rollbackPromise = undefined;
|
|
63
66
|
const scheduler = new SimCfnStackOperationScheduler({
|
|
64
67
|
background: this.background,
|
|
65
68
|
failureMessage: "Sim CloudFormation Stack update failed",
|
|
66
69
|
});
|
|
67
70
|
await scheduler.sequence();
|
|
68
71
|
this.completePromise = scheduler.schedule({
|
|
69
|
-
operation:
|
|
72
|
+
operation: work.apply,
|
|
70
73
|
onSuccess: () => {
|
|
71
74
|
this.#status = "UPDATE_COMPLETE";
|
|
72
75
|
},
|
|
73
76
|
onFailure: (error) => {
|
|
74
|
-
this.#status = "
|
|
77
|
+
this.#status = "UPDATE_ROLLBACK_IN_PROGRESS";
|
|
75
78
|
this.updateError = error;
|
|
79
|
+
// Scheduled rather than run where the failure was caught, so the Stack
|
|
80
|
+
// is visibly rolling back while it happens, the way it is visibly
|
|
81
|
+
// updating while the update happens.
|
|
82
|
+
this.rollbackPromise = scheduler.schedule({
|
|
83
|
+
operation: work.rollBack,
|
|
84
|
+
onSuccess: () => {
|
|
85
|
+
this.#status = "UPDATE_ROLLBACK_COMPLETE";
|
|
86
|
+
},
|
|
87
|
+
onFailure: (failure) => {
|
|
88
|
+
this.#status = "UPDATE_ROLLBACK_FAILED";
|
|
89
|
+
this.rollbackError = failure;
|
|
90
|
+
},
|
|
91
|
+
});
|
|
76
92
|
},
|
|
77
93
|
});
|
|
78
94
|
}
|
|
79
95
|
/**
|
|
80
|
-
* Wait for the scheduled update to finish.
|
|
96
|
+
* Wait for the scheduled update to finish, rollback included.
|
|
81
97
|
*
|
|
82
|
-
* If the update failed, this rethrows the captured error
|
|
83
|
-
* what stopped the new template being applied.
|
|
84
|
-
* has nothing to wait for.
|
|
98
|
+
* If the update failed, this rethrows the captured error once the Stack has
|
|
99
|
+
* settled, so a caller can see what stopped the new template being applied.
|
|
100
|
+
* A Stack that was never updated has nothing to wait for.
|
|
85
101
|
*/
|
|
86
102
|
async waitForComplete() {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
103
|
+
// Awaiting nothing is how a Stack that was never updated, and one that was
|
|
104
|
+
// never rolled back, wait for the operation they never had.
|
|
105
|
+
await this.completePromise;
|
|
106
|
+
await this.rollbackPromise;
|
|
90
107
|
if (this.updateError !== undefined) {
|
|
91
108
|
throw this.updateError;
|
|
92
109
|
}
|
|
@@ -35,6 +35,15 @@ export declare class SimCfnStackUpdatePlan {
|
|
|
35
35
|
readonly creations: readonly SimCfnResource[];
|
|
36
36
|
readonly updated: ReadonlyMap<string, SimCfnResource>;
|
|
37
37
|
constructor(properties: SimCfnStackUpdatePlanProperties);
|
|
38
|
+
/**
|
|
39
|
+
* For each logical ID the update is replacing, whether the definition taking
|
|
40
|
+
* its place says to keep the deployed Resource.
|
|
41
|
+
*
|
|
42
|
+
* The new half answers it because CloudFormation reads UpdateReplacePolicy
|
|
43
|
+
* off the template it is applying. An update that adds the attribute keeps
|
|
44
|
+
* the Resource it replaces, and one that drops it deletes that Resource.
|
|
45
|
+
*/
|
|
46
|
+
replacementRetentions(): ReadonlyMap<string, boolean>;
|
|
38
47
|
/**
|
|
39
48
|
* Whether the update changes any Resource at all.
|
|
40
49
|
*
|
|
@@ -56,6 +56,20 @@ export class SimCfnStackUpdatePlan {
|
|
|
56
56
|
})
|
|
57
57
|
.toArray();
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* For each logical ID the update is replacing, whether the definition taking
|
|
61
|
+
* its place says to keep the deployed Resource.
|
|
62
|
+
*
|
|
63
|
+
* The new half answers it because CloudFormation reads UpdateReplacePolicy
|
|
64
|
+
* off the template it is applying. An update that adds the attribute keeps
|
|
65
|
+
* the Resource it replaces, and one that drops it deletes that Resource.
|
|
66
|
+
*/
|
|
67
|
+
replacementRetentions() {
|
|
68
|
+
return new Map(this.replacements.map(({ current, updated }) => [
|
|
69
|
+
current.logicalId,
|
|
70
|
+
updated.retainedOnReplace,
|
|
71
|
+
]));
|
|
72
|
+
}
|
|
59
73
|
/**
|
|
60
74
|
* Whether the update changes any Resource at all.
|
|
61
75
|
*
|
|
@@ -2,6 +2,7 @@ import { SimCloudFormationValidationError } from "../../error/sim-cloudformation
|
|
|
2
2
|
import { makeSimCfnStackResourceMap } from "../resource-map/sim-cfn-stack-resource-map.js";
|
|
3
3
|
import { SimCfnStackUpdatePlan } from "./sim-cfn-stack-update-plan.js";
|
|
4
4
|
import { simCfnStackTemplateChanged } from "./sim-cfn-stack-template-changes.js";
|
|
5
|
+
import { SimCfnResourceRetention } from "../../resource/delete/sim-cfn-resource-retention.js";
|
|
5
6
|
/**
|
|
6
7
|
* What CloudFormation answers an update that would change nothing.
|
|
7
8
|
*
|
|
@@ -58,8 +59,12 @@ export class SimCfnStackUpdater {
|
|
|
58
59
|
const { resources, operations } = this.properties;
|
|
59
60
|
const { plan } = this;
|
|
60
61
|
await operations.assertUpdatesAllowed(resources, plan.updated, plan.replacements);
|
|
61
|
-
await operations.delete(resources, plan.deletions);
|
|
62
|
+
await operations.delete(resources, plan.deletions, new SimCfnResourceRetention({ replaced: plan.replacementRetentions() }));
|
|
62
63
|
plan.applyTo(resources);
|
|
64
|
+
// Once the Stack has stopped holding them, and before the replacements are
|
|
65
|
+
// created. An update that keeps a Resource and then fails to create the one
|
|
66
|
+
// taking its place still reports what it kept.
|
|
67
|
+
operations.recordRetained(plan.deletions.filter((resource) => resource.retained));
|
|
63
68
|
await operations.create(resources, plan.creations);
|
|
64
69
|
}
|
|
65
70
|
}
|