@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
|
@@ -33,10 +33,33 @@ export declare class SimCloudFormationAuthorization {
|
|
|
33
33
|
* Ensure the caller may delete the named Stack.
|
|
34
34
|
*/
|
|
35
35
|
deleteStack(stackName: string | undefined, caller?: SimAwsCaller): void;
|
|
36
|
+
/**
|
|
37
|
+
* Ensure the caller may create a change set against the named Stack.
|
|
38
|
+
*/
|
|
39
|
+
createChangeSet(stackName: string | undefined, caller?: SimAwsCaller): void;
|
|
40
|
+
/**
|
|
41
|
+
* Ensure the caller may describe a change set against the named Stack.
|
|
42
|
+
*/
|
|
43
|
+
describeChangeSet(stackName: string | undefined, caller?: SimAwsCaller): void;
|
|
44
|
+
/**
|
|
45
|
+
* Ensure the caller may execute a change set against the named Stack.
|
|
46
|
+
*/
|
|
47
|
+
executeChangeSet(stackName: string | undefined, caller?: SimAwsCaller): void;
|
|
48
|
+
/**
|
|
49
|
+
* Ensure the caller may delete a change set against the named Stack.
|
|
50
|
+
*/
|
|
51
|
+
deleteChangeSet(stackName: string | undefined, caller?: SimAwsCaller): void;
|
|
52
|
+
/**
|
|
53
|
+
* Ensure the caller may list the change sets against the named Stack.
|
|
54
|
+
*/
|
|
55
|
+
listChangeSets(stackName: string | undefined, caller?: SimAwsCaller): void;
|
|
36
56
|
private authorize;
|
|
37
57
|
/**
|
|
38
58
|
* The Stack ARN a command operates on. A command naming no Stack, which
|
|
39
59
|
* DescribeStacks allows, is asking about every Stack in the scope.
|
|
60
|
+
*
|
|
61
|
+
* A command that named the Stack by its ID named the ARN itself, so that is
|
|
62
|
+
* what gets authorized rather than an ARN built around it.
|
|
40
63
|
*/
|
|
41
64
|
private stackArn;
|
|
42
65
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SimIamActionAuthorizer } from "../../iam/authorize/sim-iam-action-authorizer.js";
|
|
2
|
+
import { isSimCfnStackId } from "../stack/sim-cfn-stack-id.js";
|
|
2
3
|
/**
|
|
3
4
|
* Who may do what to a simulated CloudFormation Stack.
|
|
4
5
|
*
|
|
@@ -38,14 +39,50 @@ export class SimCloudFormationAuthorization {
|
|
|
38
39
|
deleteStack(stackName, caller) {
|
|
39
40
|
this.authorize("cloudformation:DeleteStack", stackName, caller);
|
|
40
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Ensure the caller may create a change set against the named Stack.
|
|
44
|
+
*/
|
|
45
|
+
createChangeSet(stackName, caller) {
|
|
46
|
+
this.authorize("cloudformation:CreateChangeSet", stackName, caller);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Ensure the caller may describe a change set against the named Stack.
|
|
50
|
+
*/
|
|
51
|
+
describeChangeSet(stackName, caller) {
|
|
52
|
+
this.authorize("cloudformation:DescribeChangeSet", stackName, caller);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Ensure the caller may execute a change set against the named Stack.
|
|
56
|
+
*/
|
|
57
|
+
executeChangeSet(stackName, caller) {
|
|
58
|
+
this.authorize("cloudformation:ExecuteChangeSet", stackName, caller);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Ensure the caller may delete a change set against the named Stack.
|
|
62
|
+
*/
|
|
63
|
+
deleteChangeSet(stackName, caller) {
|
|
64
|
+
this.authorize("cloudformation:DeleteChangeSet", stackName, caller);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Ensure the caller may list the change sets against the named Stack.
|
|
68
|
+
*/
|
|
69
|
+
listChangeSets(stackName, caller) {
|
|
70
|
+
this.authorize("cloudformation:ListChangeSets", stackName, caller);
|
|
71
|
+
}
|
|
41
72
|
authorize(action, stackName, caller) {
|
|
42
73
|
this.authorizer.authorize(action, this.stackArn(stackName), caller);
|
|
43
74
|
}
|
|
44
75
|
/**
|
|
45
76
|
* The Stack ARN a command operates on. A command naming no Stack, which
|
|
46
77
|
* DescribeStacks allows, is asking about every Stack in the scope.
|
|
78
|
+
*
|
|
79
|
+
* A command that named the Stack by its ID named the ARN itself, so that is
|
|
80
|
+
* what gets authorized rather than an ARN built around it.
|
|
47
81
|
*/
|
|
48
82
|
stackArn(stackName) {
|
|
83
|
+
if (stackName !== undefined && isSimCfnStackId(stackName)) {
|
|
84
|
+
return stackName;
|
|
85
|
+
}
|
|
49
86
|
const { accountId, regionName } = this.accountRegionScope;
|
|
50
87
|
return `arn:aws:cloudformation:${regionName}:${accountId}:stack/${stackName ?? "*"}/*`;
|
|
51
88
|
}
|
|
@@ -8,12 +8,16 @@ interface SimCdkAssetsPublisherProperties {
|
|
|
8
8
|
readonly stackName?: string | undefined;
|
|
9
9
|
readonly cdkOutContext?: SimCdkOutContext | undefined;
|
|
10
10
|
/**
|
|
11
|
-
* The principal the
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* The principal the assets are published as.
|
|
12
|
+
*
|
|
13
|
+
* A real `cdk deploy` publishes assets before CloudFormation sees the
|
|
14
|
+
* template, as the file publishing Role the assets manifest names in each
|
|
15
|
+
* destination's `assumeRoleArn`. CloudFormation then processes the template
|
|
16
|
+
* as the execution Role. A deployment that names an assets caller is what
|
|
17
|
+
* tells the two apart here, and one that names none publishes as whoever
|
|
18
|
+
* deploys.
|
|
15
19
|
*/
|
|
16
|
-
readonly
|
|
20
|
+
readonly assetsCaller?: SimAwsCaller | undefined;
|
|
17
21
|
}
|
|
18
22
|
/**
|
|
19
23
|
* Publishes a CDK cloud assembly's file assets into simulated S3.
|
|
@@ -25,7 +29,7 @@ interface SimCdkAssetsPublisherProperties {
|
|
|
25
29
|
* Lambda function resolves its code through the ordinary sim S3 fetch with no
|
|
26
30
|
* Lambda-specific asset handling.
|
|
27
31
|
*
|
|
28
|
-
* Publishing is byte movement only
|
|
32
|
+
* Publishing is byte movement only. Nothing here runs asset code. Functions
|
|
29
33
|
* sim Lambda cannot run, such as a CDK BucketDeployment provider written in
|
|
30
34
|
* Python, are declined later by the Lambda resource creator on their Runtime.
|
|
31
35
|
*/
|
|
@@ -42,15 +46,16 @@ export declare class SimCdkAssetsPublisher {
|
|
|
42
46
|
publish(): Promise<void>;
|
|
43
47
|
private publishAsset;
|
|
44
48
|
/**
|
|
45
|
-
*
|
|
49
|
+
* Make the staging Bucket if this is the first asset published into it,
|
|
46
50
|
* standing in for the CDK bootstrap stack that provisions it for real.
|
|
47
51
|
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
52
|
+
* The bootstrap stack runs long before the deployment, and neither the file
|
|
53
|
+
* publishing Role nor the execution Role creates this Bucket. It comes
|
|
54
|
+
* through `makeSimBucket` for that reason, which asks IAM nothing. A
|
|
55
|
+
* deployment scoped to the permissions its real execution Role holds would
|
|
56
|
+
* otherwise be refused `s3:CreateBucket` before creating a Resource.
|
|
57
|
+
*
|
|
58
|
+
* A name already taken in another scope is a real failure, and is reported.
|
|
54
59
|
*/
|
|
55
60
|
private ensureBucket;
|
|
56
61
|
private stagingS3;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SimCfnPseudoParameters } from "../../parameters/pseudo/sim-cfn-pseudo-parameters.js";
|
|
2
2
|
import { SimCdkAssetPublications, } from "./sim-cdk-asset-publications.js";
|
|
3
3
|
import { readSimCdkAssetBytes } from "./sim-cdk-asset-bytes.js";
|
|
4
|
-
import { simCfnResourceCallerOptions
|
|
4
|
+
import { simCfnResourceCallerOptions } from "../../resource/caller/sim-cfn-resource-caller-options.js";
|
|
5
5
|
/**
|
|
6
6
|
* Publishes a CDK cloud assembly's file assets into simulated S3.
|
|
7
7
|
*
|
|
@@ -12,7 +12,7 @@ import { simCfnResourceCallerOptions, } from "../../resource/caller/sim-cfn-reso
|
|
|
12
12
|
* Lambda function resolves its code through the ordinary sim S3 fetch with no
|
|
13
13
|
* Lambda-specific asset handling.
|
|
14
14
|
*
|
|
15
|
-
* Publishing is byte movement only
|
|
15
|
+
* Publishing is byte movement only. Nothing here runs asset code. Functions
|
|
16
16
|
* sim Lambda cannot run, such as a CDK BucketDeployment provider written in
|
|
17
17
|
* Python, are declined later by the Lambda resource creator on their Runtime.
|
|
18
18
|
*/
|
|
@@ -42,7 +42,7 @@ export class SimCdkAssetsPublisher {
|
|
|
42
42
|
}),
|
|
43
43
|
}).resolve(cdkOutContext.assetsManifest);
|
|
44
44
|
for (const publication of publications) {
|
|
45
|
-
// oxlint-disable-next-line no-await-in-loop --
|
|
45
|
+
// oxlint-disable-next-line no-await-in-loop -- published in manifest order, as cdk-assets publishes them
|
|
46
46
|
await this.publishAsset(publication);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
@@ -52,38 +52,30 @@ export class SimCdkAssetsPublisher {
|
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
54
|
const s3 = this.stagingS3();
|
|
55
|
-
|
|
56
|
-
await this.ensureBucket(s3, publication.bucketName, options);
|
|
55
|
+
this.ensureBucket(s3, publication.bucketName);
|
|
57
56
|
await s3.putObject({
|
|
58
57
|
input: {
|
|
59
58
|
Bucket: publication.bucketName,
|
|
60
59
|
Key: publication.objectKey,
|
|
61
60
|
Body: assetBytes,
|
|
62
61
|
},
|
|
63
|
-
},
|
|
62
|
+
}, simCfnResourceCallerOptions(this.properties.assetsCaller));
|
|
64
63
|
}
|
|
65
64
|
/**
|
|
66
|
-
*
|
|
65
|
+
* Make the staging Bucket if this is the first asset published into it,
|
|
67
66
|
* standing in for the CDK bootstrap stack that provisions it for real.
|
|
68
67
|
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
68
|
+
* The bootstrap stack runs long before the deployment, and neither the file
|
|
69
|
+
* publishing Role nor the execution Role creates this Bucket. It comes
|
|
70
|
+
* through `makeSimBucket` for that reason, which asks IAM nothing. A
|
|
71
|
+
* deployment scoped to the permissions its real execution Role holds would
|
|
72
|
+
* otherwise be refused `s3:CreateBucket` before creating a Resource.
|
|
73
|
+
*
|
|
74
|
+
* A name already taken in another scope is a real failure, and is reported.
|
|
75
75
|
*/
|
|
76
|
-
|
|
77
|
-
if (s3.getSimBucketByName(bucketName)
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
try {
|
|
81
|
-
await s3.createBucket({ input: { Bucket: bucketName } }, options);
|
|
82
|
-
}
|
|
83
|
-
catch (error) {
|
|
84
|
-
if (s3.getSimBucketByName(bucketName) === undefined) {
|
|
85
|
-
throw error;
|
|
86
|
-
}
|
|
76
|
+
ensureBucket(s3, bucketName) {
|
|
77
|
+
if (s3.getSimBucketByName(bucketName) === undefined) {
|
|
78
|
+
s3.makeSimBucket(bucketName);
|
|
87
79
|
}
|
|
88
80
|
}
|
|
89
81
|
stagingS3() {
|
package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-copier.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { SimS3Bucket } from "../../../../../s3/bucket/sim-s3-bucket.js";
|
|
2
|
+
import type { SimCdkBucketDeployNotifier } from "../notify/sim-cdk-bucket-deploy-notifier.js";
|
|
2
3
|
import type { SimCdkBucketDeployProperties } from "../property/sim-cdk-bucket-deploy-properties.js";
|
|
3
4
|
interface SimCdkBucketDeployCopierProperties {
|
|
4
5
|
readonly bucket: SimS3Bucket;
|
|
5
6
|
readonly properties: SimCdkBucketDeployProperties;
|
|
7
|
+
readonly notifier: SimCdkBucketDeployNotifier;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Copies a staged CDK asset into a simulated destination Bucket.
|
package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { SimS3Bucket } from "../../../../../s3/bucket/sim-s3-bucket.js";
|
|
2
|
+
import type { SimCdkBucketDeployNotifier } from "../notify/sim-cdk-bucket-deploy-notifier.js";
|
|
2
3
|
import type { SimCdkBucketDeployProperties } from "../property/sim-cdk-bucket-deploy-properties.js";
|
|
3
4
|
interface SimCdkBucketDeployFileProperties {
|
|
4
5
|
readonly bucket: SimS3Bucket;
|
|
5
6
|
readonly properties: SimCdkBucketDeployProperties;
|
|
7
|
+
readonly notifier: SimCdkBucketDeployNotifier;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Copies one file from a staged CDK asset into a simulated Bucket.
|
|
@@ -13,9 +15,14 @@ interface SimCdkBucketDeployFileProperties {
|
|
|
13
15
|
export declare class SimCdkBucketDeployFile {
|
|
14
16
|
private readonly bucket;
|
|
15
17
|
private readonly properties;
|
|
18
|
+
private readonly notifier;
|
|
16
19
|
constructor(properties: SimCdkBucketDeployFileProperties);
|
|
17
20
|
/**
|
|
18
21
|
* Store one file as an Object, and answer with the key it went under.
|
|
22
|
+
*
|
|
23
|
+
* The Object goes into the Bucket rather than through PutObject, so the
|
|
24
|
+
* event a Put would have raised is raised here, once the write has happened
|
|
25
|
+
* and carrying the version it was given.
|
|
19
26
|
*/
|
|
20
27
|
copy(sourceDirectoryPath: string, relativePath: string): Promise<string>;
|
|
21
28
|
/**
|
package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-file.js
CHANGED
|
@@ -11,18 +11,30 @@ import { metadataForFilesystemS3ObjectKey } from "../../../../../s3/storage/file
|
|
|
11
11
|
export class SimCdkBucketDeployFile {
|
|
12
12
|
bucket;
|
|
13
13
|
properties;
|
|
14
|
+
notifier;
|
|
14
15
|
constructor(properties) {
|
|
15
16
|
this.bucket = properties.bucket;
|
|
16
17
|
this.properties = properties.properties;
|
|
18
|
+
this.notifier = properties.notifier;
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* Store one file as an Object, and answer with the key it went under.
|
|
22
|
+
*
|
|
23
|
+
* The Object goes into the Bucket rather than through PutObject, so the
|
|
24
|
+
* event a Put would have raised is raised here, once the write has happened
|
|
25
|
+
* and carrying the version it was given.
|
|
20
26
|
*/
|
|
21
27
|
async copy(sourceDirectoryPath, relativePath) {
|
|
22
28
|
const key = this.properties.objectKey(relativePath);
|
|
23
29
|
// oxlint-disable-next-line security/detect-non-literal-fs-filename
|
|
24
30
|
const body = await readFile(path.join(sourceDirectoryPath, relativePath));
|
|
25
|
-
|
|
31
|
+
const object = new SimS3Object({
|
|
32
|
+
key,
|
|
33
|
+
body,
|
|
34
|
+
metadata: this.metadata(relativePath),
|
|
35
|
+
});
|
|
36
|
+
const version = await this.bucket.putObject(object);
|
|
37
|
+
this.notifier.deployed(object, version?.versionId);
|
|
26
38
|
return key;
|
|
27
39
|
}
|
|
28
40
|
/**
|
package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { SimS3Bucket } from "../../../../../s3/bucket/sim-s3-bucket.js";
|
|
2
2
|
import type { SimCdkBucketDeployFilter } from "../filter/sim-cdk-bucket-deploy-filter.js";
|
|
3
|
+
import type { SimCdkBucketDeployNotifier } from "../notify/sim-cdk-bucket-deploy-notifier.js";
|
|
3
4
|
interface SimCdkBucketDeployPrunerProperties {
|
|
4
5
|
readonly bucket: SimS3Bucket;
|
|
5
6
|
readonly filter: SimCdkBucketDeployFilter;
|
|
6
7
|
readonly keyPrefix: string;
|
|
8
|
+
readonly notifier: SimCdkBucketDeployNotifier;
|
|
7
9
|
}
|
|
8
10
|
/**
|
|
9
11
|
* Removes the Objects a deployment covers but no longer holds.
|
|
@@ -19,9 +21,13 @@ export declare class SimCdkBucketDeployPruner {
|
|
|
19
21
|
private readonly bucket;
|
|
20
22
|
private readonly filter;
|
|
21
23
|
private readonly keyPrefix;
|
|
24
|
+
private readonly notifier;
|
|
22
25
|
constructor(properties: SimCdkBucketDeployPrunerProperties);
|
|
23
26
|
/**
|
|
24
27
|
* Remove everything this deployment would have copied and did not.
|
|
28
|
+
*
|
|
29
|
+
* Each removal raises what a DeleteObject would have raised, since the sync
|
|
30
|
+
* this stands in for deletes through the API like any other caller.
|
|
25
31
|
*/
|
|
26
32
|
prune(deployedKeys: ReadonlySet<string>): Promise<void>;
|
|
27
33
|
private isStale;
|
package/dist/service/cloudformation/cdk/s3/bucket-deployment/copy/sim-cdk-bucket-deploy-pruner.js
CHANGED
|
@@ -12,19 +12,25 @@ export class SimCdkBucketDeployPruner {
|
|
|
12
12
|
bucket;
|
|
13
13
|
filter;
|
|
14
14
|
keyPrefix;
|
|
15
|
+
notifier;
|
|
15
16
|
constructor(properties) {
|
|
16
17
|
this.bucket = properties.bucket;
|
|
17
18
|
this.filter = properties.filter;
|
|
18
19
|
this.keyPrefix = properties.keyPrefix;
|
|
20
|
+
this.notifier = properties.notifier;
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* Remove everything this deployment would have copied and did not.
|
|
24
|
+
*
|
|
25
|
+
* Each removal raises what a DeleteObject would have raised, since the sync
|
|
26
|
+
* this stands in for deletes through the API like any other caller.
|
|
22
27
|
*/
|
|
23
28
|
async prune(deployedKeys) {
|
|
24
29
|
const existing = await this.bucket.listObjects(this.keyPrefix);
|
|
25
30
|
const stale = existing.filter((object) => this.isStale(object.key, deployedKeys));
|
|
26
31
|
await Promise.all(stale.map(async (object) => {
|
|
27
|
-
await this.bucket.deleteObject(object.key);
|
|
32
|
+
const deletion = await this.bucket.deleteObject(object.key);
|
|
33
|
+
this.notifier.pruned(object.key, deletion);
|
|
28
34
|
}));
|
|
29
35
|
}
|
|
30
36
|
isStale(key, deployedKeys) {
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { SimAwsResolvedCaller } from "../../../../../aws/caller/sim-aws-caller-resolver.js";
|
|
2
|
+
import type { SimS3Bucket } from "../../../../../s3/bucket/sim-s3-bucket.js";
|
|
3
|
+
import type { SimS3ObjectDeletion } from "../../../../../s3/bucket/sim-s3-object-deletion.js";
|
|
4
|
+
import type { SimS3ObjectNotifier } from "../../../../../s3/notification/sim-s3-object-notifier.js";
|
|
5
|
+
import type { SimS3Object } from "../../../../../s3/object/s3-object.js";
|
|
6
|
+
import type { SimCfnResource, SimCloudFormationResourceCreateContext } from "../../../../resource/sim-cfn-resource.js";
|
|
7
|
+
interface SimCdkBucketDeployNotifierProperties {
|
|
8
|
+
readonly bucket: SimS3Bucket;
|
|
9
|
+
readonly notifications: SimS3ObjectNotifier;
|
|
10
|
+
readonly caller: SimAwsResolvedCaller;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Raises the S3 Object events a deployment into a Bucket earns.
|
|
14
|
+
*
|
|
15
|
+
* A deployment writes Objects rather than sending S3 commands, so it says here
|
|
16
|
+
* what a command would have said for it. Real CDK runs a provider function
|
|
17
|
+
* that syncs the staged asset into the Bucket, one PutObject per file and one
|
|
18
|
+
* DeleteObject per Object the sync deletes, and a Bucket with a notification
|
|
19
|
+
* configuration hears all of them.
|
|
20
|
+
*/
|
|
21
|
+
export declare class SimCdkBucketDeployNotifier {
|
|
22
|
+
private readonly bucket;
|
|
23
|
+
private readonly notifications;
|
|
24
|
+
private readonly caller;
|
|
25
|
+
constructor(properties: SimCdkBucketDeployNotifierProperties);
|
|
26
|
+
/**
|
|
27
|
+
* Say that the deployment wrote an Object.
|
|
28
|
+
*/
|
|
29
|
+
deployed(object: SimS3Object, versionId: string | undefined): void;
|
|
30
|
+
/**
|
|
31
|
+
* Say that the deployment pruned a key, as far as the delete got.
|
|
32
|
+
*
|
|
33
|
+
* A pruning deployment deletes rather than removes. A versioned Bucket keeps
|
|
34
|
+
* what it held behind a marker, and the event says so. That is the same
|
|
35
|
+
* three-way answer a DeleteObject command gets, so the same reading of it
|
|
36
|
+
* serves here.
|
|
37
|
+
*/
|
|
38
|
+
pruned(key: string, deletion: SimS3ObjectDeletion): void;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The notifier for one deployment, reaching the Bucket's own simulated S3.
|
|
42
|
+
*
|
|
43
|
+
* The events are attributed to the Account root rather than to the deployment's
|
|
44
|
+
* caller. Real S3 names the identity that wrote the Object, which for a CDK
|
|
45
|
+
* BucketDeployment is the provider function's execution role, and neither that
|
|
46
|
+
* function nor its role is simulated. Root is what simulated AWS attributes an
|
|
47
|
+
* unstated caller to everywhere else.
|
|
48
|
+
*/
|
|
49
|
+
export declare function simCdkBucketDeployNotifier(resource: SimCfnResource, bucket: SimS3Bucket, context: SimCloudFormationResourceCreateContext): SimCdkBucketDeployNotifier;
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { makeSimAwsAccountRootPrincipal } from "../../../../../aws/caller/sim-aws-account-root-principal.js";
|
|
2
|
+
import { simAwsResolvedCallerOf } from "../../../../../aws/caller/sim-aws-resolved-caller.js";
|
|
3
|
+
import { simS3NotifyDeleted } from "../../../../../s3/command/delete-object/sim-s3-notify-deleted.js";
|
|
4
|
+
/**
|
|
5
|
+
* Raises the S3 Object events a deployment into a Bucket earns.
|
|
6
|
+
*
|
|
7
|
+
* A deployment writes Objects rather than sending S3 commands, so it says here
|
|
8
|
+
* what a command would have said for it. Real CDK runs a provider function
|
|
9
|
+
* that syncs the staged asset into the Bucket, one PutObject per file and one
|
|
10
|
+
* DeleteObject per Object the sync deletes, and a Bucket with a notification
|
|
11
|
+
* configuration hears all of them.
|
|
12
|
+
*/
|
|
13
|
+
export class SimCdkBucketDeployNotifier {
|
|
14
|
+
bucket;
|
|
15
|
+
notifications;
|
|
16
|
+
caller;
|
|
17
|
+
constructor(properties) {
|
|
18
|
+
this.bucket = properties.bucket;
|
|
19
|
+
this.notifications = properties.notifications;
|
|
20
|
+
this.caller = properties.caller;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Say that the deployment wrote an Object.
|
|
24
|
+
*/
|
|
25
|
+
deployed(object, versionId) {
|
|
26
|
+
this.notifications.objectCreated({
|
|
27
|
+
bucket: this.bucket,
|
|
28
|
+
object,
|
|
29
|
+
caller: this.caller,
|
|
30
|
+
eventName: "s3:ObjectCreated:Put",
|
|
31
|
+
versionId,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Say that the deployment pruned a key, as far as the delete got.
|
|
36
|
+
*
|
|
37
|
+
* A pruning deployment deletes rather than removes. A versioned Bucket keeps
|
|
38
|
+
* what it held behind a marker, and the event says so. That is the same
|
|
39
|
+
* three-way answer a DeleteObject command gets, so the same reading of it
|
|
40
|
+
* serves here.
|
|
41
|
+
*/
|
|
42
|
+
pruned(key, deletion) {
|
|
43
|
+
simS3NotifyDeleted({
|
|
44
|
+
notifications: this.notifications,
|
|
45
|
+
bucket: this.bucket,
|
|
46
|
+
key,
|
|
47
|
+
caller: this.caller,
|
|
48
|
+
deletion,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The notifier for one deployment, reaching the Bucket's own simulated S3.
|
|
54
|
+
*
|
|
55
|
+
* The events are attributed to the Account root rather than to the deployment's
|
|
56
|
+
* caller. Real S3 names the identity that wrote the Object, which for a CDK
|
|
57
|
+
* BucketDeployment is the provider function's execution role, and neither that
|
|
58
|
+
* function nor its role is simulated. Root is what simulated AWS attributes an
|
|
59
|
+
* unstated caller to everywhere else.
|
|
60
|
+
*/
|
|
61
|
+
export function simCdkBucketDeployNotifier(resource, bucket, context) {
|
|
62
|
+
const { accountId, regionName } = resource.accountRegionScope;
|
|
63
|
+
return new SimCdkBucketDeployNotifier({
|
|
64
|
+
bucket,
|
|
65
|
+
notifications: context.simAws
|
|
66
|
+
.accountRegionScope(accountId, regionName)
|
|
67
|
+
.s3()
|
|
68
|
+
.objectNotifier(),
|
|
69
|
+
caller: simAwsResolvedCallerOf(makeSimAwsAccountRootPrincipal(accountId)),
|
|
70
|
+
});
|
|
71
|
+
}
|
|
@@ -2,6 +2,7 @@ import { SimCdkBucketDeploySource } from "./source/sim-cdk-bucket-deploy-source.
|
|
|
2
2
|
import { SimCdkBucketDeployCopier } from "./copy/sim-cdk-bucket-deploy-copier.js";
|
|
3
3
|
import { SimCdkBucketDeployProperties } from "./property/sim-cdk-bucket-deploy-properties.js";
|
|
4
4
|
import { declareSimCdkBucketDeployMetadata } from "./metadata/sim-cdk-bucket-deploy-metadata.js";
|
|
5
|
+
import { simCdkBucketDeployNotifier } from "./notify/sim-cdk-bucket-deploy-notifier.js";
|
|
5
6
|
import { simCdkBucketDeployDestination } from "./destination/sim-cdk-bucket-deploy-destination.js";
|
|
6
7
|
/**
|
|
7
8
|
* CloudFormation Resource factory for CDK BucketDeployment compatibility.
|
|
@@ -36,10 +37,14 @@ export class SimCdkBucketDeploymentResourceFactory {
|
|
|
36
37
|
async createCdkBucketDeployment(resource, context) {
|
|
37
38
|
const properties = new SimCdkBucketDeployProperties(resource, context.resolvedProperties ?? resource.properties);
|
|
38
39
|
const bucket = simCdkBucketDeployDestination(resource, properties, context);
|
|
39
|
-
const sourceDirectoryPaths =
|
|
40
|
+
const sourceDirectoryPaths = this.sourceResolver.sourceDirectoryPaths(resource, properties.sourceObjectKeys, context.cdkOutContext);
|
|
41
|
+
// The copier writes Objects into the Bucket instead of sending PutObject,
|
|
42
|
+
// and a Bucket configured to notify still hears about every file it writes
|
|
43
|
+
// and every Object it prunes.
|
|
40
44
|
const publishedKeys = await new SimCdkBucketDeployCopier({
|
|
41
45
|
bucket,
|
|
42
46
|
properties,
|
|
47
|
+
notifier: simCdkBucketDeployNotifier(resource, bucket, context),
|
|
43
48
|
}).copy(sourceDirectoryPaths);
|
|
44
49
|
// Said as well as set. The Objects above carry these headers themselves,
|
|
45
50
|
// and a directory mounted over them later cannot, so the Bucket keeps what
|
|
@@ -4,6 +4,11 @@ import type { SimCdkOutContext } from "../../../sim-cdk-out-context.js";
|
|
|
4
4
|
* Resolves the filesystem source directory for a CDK BucketDeployment asset.
|
|
5
5
|
*/
|
|
6
6
|
export declare class SimCdkBucketDeploySource {
|
|
7
|
+
/**
|
|
8
|
+
* Find the local source directory for every source object key a deployment
|
|
9
|
+
* names, in the order it names them.
|
|
10
|
+
*/
|
|
11
|
+
sourceDirectoryPaths(resource: SimCfnResource, sourceObjectKeys: readonly string[], cdkOutContext: SimCdkOutContext | undefined): string[];
|
|
7
12
|
/**
|
|
8
13
|
* Find the local source directory for a CDK BucketDeployment source object key.
|
|
9
14
|
*/
|
package/dist/service/cloudformation/cdk/s3/bucket-deployment/source/sim-cdk-bucket-deploy-source.js
CHANGED
|
@@ -4,6 +4,13 @@ import { SimCdkBucketDeployErrorMessage } from "../error-message/sim-cdk-bucket-
|
|
|
4
4
|
* Resolves the filesystem source directory for a CDK BucketDeployment asset.
|
|
5
5
|
*/
|
|
6
6
|
export class SimCdkBucketDeploySource {
|
|
7
|
+
/**
|
|
8
|
+
* Find the local source directory for every source object key a deployment
|
|
9
|
+
* names, in the order it names them.
|
|
10
|
+
*/
|
|
11
|
+
sourceDirectoryPaths(resource, sourceObjectKeys, cdkOutContext) {
|
|
12
|
+
return sourceObjectKeys.map((objectKey) => this.sourceDirectoryPathForObjectKey(resource, objectKey, cdkOutContext));
|
|
13
|
+
}
|
|
7
14
|
/**
|
|
8
15
|
* Find the local source directory for a CDK BucketDeployment source object key.
|
|
9
16
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AsyncMappedFactory } from "@kensio/part-factory";
|
|
2
2
|
import { TemporaryDirectory } from "../../../util/filesystem/temporary-directory.js";
|
|
3
3
|
import type { SimCfnTemplateValueRecord } from "../template/value/sim-cfn-template-value.js";
|
|
4
|
+
import type { SimCdkAssetsManifest } from "./sim-cdk-out-context.js";
|
|
4
5
|
/**
|
|
5
6
|
* One synthesized Stack in a cloud assembly a test writes.
|
|
6
7
|
*/
|
|
@@ -25,9 +26,20 @@ export interface SimCdkCloudAssemblyStackInput {
|
|
|
25
26
|
readonly resources?: SimCfnTemplateValueRecord | undefined;
|
|
26
27
|
/** The template's Outputs, which a Stack sharing a value needs. */
|
|
27
28
|
readonly outputs?: SimCfnTemplateValueRecord | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* The assets manifest `cdk synth` writes beside the template, for a Stack
|
|
31
|
+
* that stages file assets. A Stack given none has no manifest file at all,
|
|
32
|
+
* which is what a Stack with nothing to stage synthesizes.
|
|
33
|
+
*/
|
|
34
|
+
readonly assets?: SimCdkAssetsManifest | undefined;
|
|
28
35
|
}
|
|
29
36
|
export interface SimCdkCloudAssemblyInput {
|
|
30
37
|
readonly stacks: readonly SimCdkCloudAssemblyStackInput[];
|
|
38
|
+
/**
|
|
39
|
+
* Staged asset files to write into the assembly, keyed by the path an assets
|
|
40
|
+
* manifest source names.
|
|
41
|
+
*/
|
|
42
|
+
readonly assetFiles?: Record<string, string> | undefined;
|
|
31
43
|
}
|
|
32
44
|
/** The Bucket a Stack in a written assembly creates, unless it is given others. */
|
|
33
45
|
export declare function assemblyStackBucketName(artifactId: string): string;
|
|
@@ -23,13 +23,19 @@ export function assemblyStackBucketName(artifactId) {
|
|
|
23
23
|
export const simCdkCloudAssemblyFactory = new AsyncMappedFactory(() => ({ stacks: [{ artifactId: "SiteStack", regionName: "eu-west-2" }] }), async (input) => {
|
|
24
24
|
const directory = new TemporaryDirectory();
|
|
25
25
|
await directory.writeFile(["cdk.out", "manifest.json"], jsonStringify(assemblyManifest(input.stacks)));
|
|
26
|
-
await Promise.all(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
await Promise.all([
|
|
27
|
+
...input.stacks.map(async (stack) => directory.writeFile(["cdk.out", templateFileName(stack)],
|
|
28
|
+
// JSON.stringify drops an undefined value, so a Stack given no
|
|
29
|
+
// Outputs writes a template with none rather than a null one.
|
|
30
|
+
jsonStringify({
|
|
31
|
+
Resources: stackResources(stack),
|
|
32
|
+
Outputs: stack.outputs,
|
|
33
|
+
}))),
|
|
34
|
+
...input.stacks
|
|
35
|
+
.filter((stack) => stack.assets !== undefined)
|
|
36
|
+
.map(async (stack) => directory.writeFile(["cdk.out", assetsFileName(stack)], jsonStringify(stack.assets))),
|
|
37
|
+
...Object.entries(input.assetFiles ?? {}).map(async ([assetPath, content]) => directory.writeFile(["cdk.out", assetPath], content)),
|
|
38
|
+
]);
|
|
33
39
|
return directory;
|
|
34
40
|
});
|
|
35
41
|
function assemblyManifest(stacks) {
|
|
@@ -56,6 +62,9 @@ function assemblyManifest(stacks) {
|
|
|
56
62
|
function templateFileName(stack) {
|
|
57
63
|
return `${stack.artifactId}.template.json`;
|
|
58
64
|
}
|
|
65
|
+
function assetsFileName(stack) {
|
|
66
|
+
return `${stack.artifactId}.assets.json`;
|
|
67
|
+
}
|
|
59
68
|
function stackResources(stack) {
|
|
60
69
|
return (stack.resources ?? {
|
|
61
70
|
[`${stack.artifactId}Bucket`]: {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SimAwsAccountRegionScope } from "../../aws/sim-aws-account-region-scope.js";
|
|
2
|
+
/**
|
|
3
|
+
* The ARN CloudFormation gives one change set.
|
|
4
|
+
*
|
|
5
|
+
* The unique part is a UUID, as it is for a Stack ID, so two change sets
|
|
6
|
+
* created under the same name against different Stacks are still told apart by
|
|
7
|
+
* their ARN alone.
|
|
8
|
+
*/
|
|
9
|
+
export declare function simCfnChangeSetArn(scope: SimAwsAccountRegionScope, changeSetName: string): string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
/**
|
|
3
|
+
* The ARN CloudFormation gives one change set.
|
|
4
|
+
*
|
|
5
|
+
* The unique part is a UUID, as it is for a Stack ID, so two change sets
|
|
6
|
+
* created under the same name against different Stacks are still told apart by
|
|
7
|
+
* their ARN alone.
|
|
8
|
+
*/
|
|
9
|
+
export function simCfnChangeSetArn(scope, changeSetName) {
|
|
10
|
+
const { regionName, accountId } = scope;
|
|
11
|
+
return `arn:aws:cloudformation:${regionName}:${accountId}:changeSet/${changeSetName}/${randomUUID()}`;
|
|
12
|
+
}
|