takomo 8.0.2 → 9.0.0-alpha.1
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/cli-io/formatters.d.ts +3 -1
- package/dist/cli-io/formatters.js +13 -1
- package/dist/cli-io/formatters.js.map +1 -1
- package/dist/cli-io/stacks/common.d.ts +4 -0
- package/dist/cli-io/stacks/common.js +17 -0
- package/dist/cli-io/stacks/common.js.map +1 -1
- package/dist/cli-io/stacks/deploy-stacks/deploy-stacks-io.d.ts +8 -1
- package/dist/cli-io/stacks/deploy-stacks/deploy-stacks-io.js +90 -25
- package/dist/cli-io/stacks/deploy-stacks/deploy-stacks-io.js.map +1 -1
- package/dist/cli-io/stacks/deploy-stacks/emit-stack-templates-io.js +8 -1
- package/dist/cli-io/stacks/deploy-stacks/emit-stack-templates-io.js.map +1 -1
- package/dist/cli-io/stacks/deploy-stacks/parameters.d.ts +3 -0
- package/dist/cli-io/stacks/deploy-stacks/parameters.js +72 -0
- package/dist/cli-io/stacks/deploy-stacks/parameters.js.map +1 -1
- package/dist/cli-io/stacks/deploy-stacks/resources.d.ts +2 -0
- package/dist/cli-io/stacks/deploy-stacks/resources.js +20 -0
- package/dist/cli-io/stacks/deploy-stacks/resources.js.map +1 -1
- package/dist/cli-io/stacks/deploy-stacks/stack-policy.d.ts +2 -2
- package/dist/cli-io/stacks/deploy-stacks/stack-policy.js.map +1 -1
- package/dist/cli-io/stacks/deploy-stacks/tags.d.ts +3 -0
- package/dist/cli-io/stacks/deploy-stacks/tags.js +68 -0
- package/dist/cli-io/stacks/deploy-stacks/tags.js.map +1 -1
- package/dist/cli-io/stacks/deploy-stacks/termination-protection.d.ts +2 -2
- package/dist/cli-io/stacks/deploy-stacks/termination-protection.js.map +1 -1
- package/dist/cli-io/stacks/detect-drift-io.js +2 -2
- package/dist/cli-io/stacks/detect-drift-io.js.map +1 -1
- package/dist/cli-io/stacks/list-stacks-io.js +3 -2
- package/dist/cli-io/stacks/list-stacks-io.js.map +1 -1
- package/dist/cli-io/stacks/undeploy-stacks-io.js +41 -19
- package/dist/cli-io/stacks/undeploy-stacks-io.js.map +1 -1
- package/dist/command/command-model.d.ts +2 -1
- package/dist/command/command-model.js.map +1 -1
- package/dist/command/stacks/common/custom-states.d.ts +33 -0
- package/dist/command/stacks/common/custom-states.js +2 -0
- package/dist/command/stacks/common/custom-states.js.map +1 -0
- package/dist/command/stacks/common/load-current-cf-stacks.d.ts +17 -5
- package/dist/command/stacks/common/load-current-cf-stacks.js +73 -13
- package/dist/command/stacks/common/load-current-cf-stacks.js.map +1 -1
- package/dist/command/stacks/deploy/command.js +1 -1
- package/dist/command/stacks/deploy/command.js.map +1 -1
- package/dist/command/stacks/deploy/custom-stack/states.d.ts +42 -0
- package/dist/command/stacks/deploy/custom-stack/states.js.map +1 -0
- package/dist/command/stacks/deploy/custom-stack/steps/create-or-update-stack.d.ts +3 -0
- package/dist/command/stacks/deploy/custom-stack/steps/create-or-update-stack.js +11 -0
- package/dist/command/stacks/deploy/custom-stack/steps/create-or-update-stack.js.map +1 -0
- package/dist/command/stacks/deploy/custom-stack/steps/create-stack.d.ts +3 -0
- package/dist/command/stacks/deploy/custom-stack/steps/create-stack.js +41 -0
- package/dist/command/stacks/deploy/custom-stack/steps/create-stack.js.map +1 -0
- package/dist/command/stacks/deploy/custom-stack/steps/get-changes.d.ts +8 -0
- package/dist/command/stacks/deploy/custom-stack/steps/get-changes.js +58 -0
- package/dist/command/stacks/deploy/custom-stack/steps/get-changes.js.map +1 -0
- package/dist/command/stacks/deploy/custom-stack/steps/prepare-parameters.d.ts +3 -0
- package/dist/command/stacks/deploy/custom-stack/steps/prepare-parameters.js +44 -0
- package/dist/command/stacks/deploy/custom-stack/steps/prepare-parameters.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → custom-stack/steps}/prepare-tags.d.ts +1 -1
- package/dist/command/stacks/deploy/custom-stack/steps/prepare-tags.js +27 -0
- package/dist/command/stacks/deploy/custom-stack/steps/prepare-tags.js.map +1 -0
- package/dist/command/stacks/deploy/custom-stack/steps/review-deployment.d.ts +3 -0
- package/dist/command/stacks/deploy/custom-stack/steps/review-deployment.js +15 -0
- package/dist/command/stacks/deploy/custom-stack/steps/review-deployment.js.map +1 -0
- package/dist/command/stacks/deploy/custom-stack/steps/update-stack.d.ts +3 -0
- package/dist/command/stacks/deploy/custom-stack/steps/update-stack.js +42 -0
- package/dist/command/stacks/deploy/custom-stack/steps/update-stack.js.map +1 -0
- package/dist/command/stacks/deploy/custom-stack/steps/wait-dependencies-to-complete.d.ts +3 -0
- package/dist/command/stacks/deploy/custom-stack/steps/wait-dependencies-to-complete.js +26 -0
- package/dist/command/stacks/deploy/custom-stack/steps/wait-dependencies-to-complete.js.map +1 -0
- package/dist/command/stacks/deploy/custom-stack/transitions.d.ts +13 -0
- package/dist/command/stacks/deploy/custom-stack/transitions.js +21 -0
- package/dist/command/stacks/deploy/custom-stack/transitions.js.map +1 -0
- package/dist/command/stacks/deploy/deploy-stack.d.ts +3 -4
- package/dist/command/stacks/deploy/deploy-stack.js +73 -34
- package/dist/command/stacks/deploy/deploy-stack.js.map +1 -1
- package/dist/command/stacks/deploy/execute-deploy-context.js +4 -4
- package/dist/command/stacks/deploy/execute-deploy-context.js.map +1 -1
- package/dist/command/stacks/deploy/model.d.ts +7 -2
- package/dist/command/stacks/deploy/plan.d.ts +18 -4
- package/dist/command/stacks/deploy/plan.js +28 -10
- package/dist/command/stacks/deploy/plan.js.map +1 -1
- package/dist/command/stacks/deploy/{states.d.ts → standard-stack/states.d.ts} +17 -15
- package/dist/command/stacks/deploy/standard-stack/states.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/continue-update-rollback.d.ts +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/continue-update-rollback.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/emit-stack-template.d.ts +1 -1
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/emit-stack-template.js +2 -2
- package/dist/command/stacks/deploy/standard-stack/steps/emit-stack-template.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/enrich-current-stack.d.ts +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/enrich-current-stack.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/execute-after-deploy-hooks.d.ts +1 -1
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/execute-after-deploy-hooks.js +2 -2
- package/dist/command/stacks/deploy/standard-stack/steps/execute-after-deploy-hooks.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/execute-before-deploy-hooks.d.ts +1 -1
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/execute-before-deploy-hooks.js +2 -2
- package/dist/command/stacks/deploy/standard-stack/steps/execute-before-deploy-hooks.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/initiate-change-set-create.d.ts +3 -3
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/initiate-change-set-create.js +2 -2
- package/dist/command/stacks/deploy/standard-stack/steps/initiate-change-set-create.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/initiate-failed-stack-delete.d.ts +1 -1
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/initiate-failed-stack-delete.js +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/initiate-failed-stack-delete.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/initiate-stack-create-or-update.d.ts +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/initiate-stack-create-or-update.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/initiate-stack-create.d.ts +1 -1
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/initiate-stack-create.js +2 -2
- package/dist/command/stacks/deploy/standard-stack/steps/initiate-stack-create.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/initiate-stack-update.d.ts +1 -1
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/initiate-stack-update.js +3 -3
- package/dist/command/stacks/deploy/standard-stack/steps/initiate-stack-update.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/prepare-parameters.d.ts +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/prepare-parameters.js.map +1 -0
- package/dist/command/stacks/deploy/standard-stack/steps/prepare-tags.d.ts +3 -0
- package/dist/command/stacks/deploy/standard-stack/steps/prepare-tags.js.map +1 -0
- package/dist/command/stacks/deploy/standard-stack/steps/prepare-template.d.ts +7 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/prepare-template.js +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/prepare-template.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/review-change-set.d.ts +1 -1
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/review-change-set.js +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/review-change-set.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/summarize-template.d.ts +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/summarize-template.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/update-termination-protection.d.ts +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/update-termination-protection.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/upload-template.d.ts +1 -1
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/upload-template.js +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/upload-template.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/validate-parameters.d.ts +3 -3
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/validate-parameters.js +3 -3
- package/dist/command/stacks/deploy/standard-stack/steps/validate-parameters.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/validate-template.d.ts +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/validate-template.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/wait-change-set-to-be-ready.d.ts +1 -1
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/wait-change-set-to-be-ready.js +5 -5
- package/dist/command/stacks/deploy/standard-stack/steps/wait-change-set-to-be-ready.js.map +1 -0
- package/dist/command/stacks/deploy/standard-stack/steps/wait-dependencies-to-complete.d.ts +3 -0
- package/dist/command/stacks/deploy/standard-stack/steps/wait-dependencies-to-complete.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/wait-failed-stack-delete-to-complete.d.ts +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/wait-failed-stack-delete-to-complete.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/wait-stack-create-or-update-to-complete.d.ts +1 -1
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/wait-stack-create-or-update-to-complete.js +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/wait-stack-create-or-update-to-complete.js.map +1 -0
- package/dist/command/stacks/deploy/{steps → standard-stack/steps}/wait-stack-rollback-to-complete.d.ts +1 -1
- package/dist/command/stacks/deploy/standard-stack/steps/wait-stack-rollback-to-complete.js.map +1 -0
- package/dist/command/stacks/deploy/{transitions.d.ts → standard-stack/transitions.d.ts} +4 -4
- package/dist/command/stacks/deploy/{transitions.js → standard-stack/transitions.js} +2 -2
- package/dist/command/stacks/deploy/standard-stack/transitions.js.map +1 -0
- package/dist/command/stacks/deploy/validate.js +3 -1
- package/dist/command/stacks/deploy/validate.js.map +1 -1
- package/dist/command/stacks/drift/detect-drift.js +10 -5
- package/dist/command/stacks/drift/detect-drift.js.map +1 -1
- package/dist/command/stacks/inspect/configuration/command.js.map +1 -1
- package/dist/command/stacks/list/list-stacks.js +27 -9
- package/dist/command/stacks/list/list-stacks.js.map +1 -1
- package/dist/command/stacks/list/model.d.ts +1 -0
- package/dist/command/stacks/undeploy/command.js +3 -3
- package/dist/command/stacks/undeploy/command.js.map +1 -1
- package/dist/command/stacks/undeploy/custom-stack/states.d.ts +27 -0
- package/dist/command/stacks/undeploy/custom-stack/states.js +2 -0
- package/dist/command/stacks/undeploy/custom-stack/states.js.map +1 -0
- package/dist/command/stacks/undeploy/custom-stack/steps/delete-stack.d.ts +3 -0
- package/dist/command/stacks/undeploy/custom-stack/steps/delete-stack.js +38 -0
- package/dist/command/stacks/undeploy/custom-stack/steps/delete-stack.js.map +1 -0
- package/dist/command/stacks/undeploy/custom-stack/steps/wait-dependents-to-complete.d.ts +3 -0
- package/dist/command/stacks/undeploy/custom-stack/steps/wait-dependents-to-complete.js +26 -0
- package/dist/command/stacks/undeploy/custom-stack/steps/wait-dependents-to-complete.js.map +1 -0
- package/dist/command/stacks/undeploy/custom-stack/transitions.d.ts +7 -0
- package/dist/command/stacks/undeploy/custom-stack/transitions.js +9 -0
- package/dist/command/stacks/undeploy/custom-stack/transitions.js.map +1 -0
- package/dist/command/stacks/undeploy/delete.js +41 -17
- package/dist/command/stacks/undeploy/delete.js.map +1 -1
- package/dist/command/stacks/undeploy/plan.d.ts +19 -5
- package/dist/command/stacks/undeploy/plan.js +39 -11
- package/dist/command/stacks/undeploy/plan.js.map +1 -1
- package/dist/command/stacks/undeploy/standard-stack/states.d.ts +32 -0
- package/dist/command/stacks/undeploy/standard-stack/states.js +2 -0
- package/dist/command/stacks/undeploy/standard-stack/states.js.map +1 -0
- package/dist/command/stacks/undeploy/{steps → standard-stack/steps}/execute-after-undeploy-hooks.d.ts +1 -1
- package/dist/command/stacks/undeploy/{steps → standard-stack/steps}/execute-after-undeploy-hooks.js +1 -1
- package/dist/command/stacks/undeploy/standard-stack/steps/execute-after-undeploy-hooks.js.map +1 -0
- package/dist/command/stacks/undeploy/{steps → standard-stack/steps}/execute-before-undeploy-hooks.d.ts +1 -1
- package/dist/command/stacks/undeploy/{steps → standard-stack/steps}/execute-before-undeploy-hooks.js +1 -1
- package/dist/command/stacks/undeploy/standard-stack/steps/execute-before-undeploy-hooks.js.map +1 -0
- package/dist/command/stacks/undeploy/{steps → standard-stack/steps}/initiate-stack-delete.d.ts +1 -1
- package/dist/command/stacks/undeploy/{steps → standard-stack/steps}/initiate-stack-delete.js +1 -1
- package/dist/command/stacks/undeploy/standard-stack/steps/initiate-stack-delete.js.map +1 -0
- package/dist/command/stacks/undeploy/standard-stack/steps/wait-dependents-to-complete.d.ts +3 -0
- package/dist/command/stacks/undeploy/standard-stack/steps/wait-dependents-to-complete.js.map +1 -0
- package/dist/command/stacks/undeploy/{steps → standard-stack/steps}/wait-stack-delete-to-complete.d.ts +1 -1
- package/dist/command/stacks/undeploy/standard-stack/steps/wait-stack-delete-to-complete.js.map +1 -0
- package/dist/command/stacks/undeploy/{transitions.d.ts → standard-stack/transitions.d.ts} +4 -4
- package/dist/command/stacks/undeploy/{transitions.js → standard-stack/transitions.js} +2 -2
- package/dist/command/stacks/undeploy/standard-stack/transitions.js.map +1 -0
- package/dist/command/stacks/undeploy/validate.js +11 -6
- package/dist/command/stacks/undeploy/validate.js.map +1 -1
- package/dist/config/custom-stack-config.d.ts +8 -0
- package/dist/config/custom-stack-config.js +6 -0
- package/dist/config/custom-stack-config.js.map +1 -0
- package/dist/config/stack-config.d.ts +9 -11
- package/dist/config/standard-stack-config.d.ts +15 -0
- package/dist/config/standard-stack-config.js +3 -0
- package/dist/config/standard-stack-config.js.map +1 -0
- package/dist/constants/regions-constants.js +5 -0
- package/dist/constants/regions-constants.js.map +1 -1
- package/dist/context/stacks-context.d.ts +3 -1
- package/dist/custom-stacks/cmd-custom-stack-handler.d.ts +24 -0
- package/dist/custom-stacks/cmd-custom-stack-handler.js +274 -0
- package/dist/custom-stacks/cmd-custom-stack-handler.js.map +1 -0
- package/dist/custom-stacks/custom-stack-handler-registry.d.ts +13 -0
- package/dist/custom-stacks/custom-stack-handler-registry.js +32 -0
- package/dist/custom-stacks/custom-stack-handler-registry.js.map +1 -0
- package/dist/custom-stacks/custom-stack-handler.d.ts +401 -0
- package/dist/custom-stacks/custom-stack-handler.js +2 -0
- package/dist/custom-stacks/custom-stack-handler.js.map +1 -0
- package/dist/extensions/config-customizer.d.ts +5 -0
- package/dist/hooks/execute.d.ts +2 -2
- package/dist/hooks/execute.js +1 -0
- package/dist/hooks/execute.js.map +1 -1
- package/dist/hooks/hook.d.ts +2 -2
- package/dist/index.d.ts +5 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/parser/stacks/build-custom-stack-config.d.ts +5 -0
- package/dist/parser/stacks/build-custom-stack-config.js +51 -0
- package/dist/parser/stacks/build-custom-stack-config.js.map +1 -0
- package/dist/parser/stacks/build-standard-stack-config.d.ts +6 -0
- package/dist/parser/stacks/{build-stack-config.js → build-standard-stack-config.js} +5 -4
- package/dist/parser/stacks/build-standard-stack-config.js.map +1 -0
- package/dist/parser/stacks/parse-custom-stack-type.d.ts +2 -0
- package/dist/parser/stacks/parse-custom-stack-type.js +10 -0
- package/dist/parser/stacks/parse-custom-stack-type.js.map +1 -0
- package/dist/resolvers/stack-output-resolver.js +4 -0
- package/dist/resolvers/stack-output-resolver.js.map +1 -1
- package/dist/schema/custom-stack-config-schema.d.ts +7 -0
- package/dist/schema/custom-stack-config-schema.js +34 -0
- package/dist/schema/custom-stack-config-schema.js.map +1 -0
- package/dist/schema/stacks-schema.d.ts +1 -0
- package/dist/schema/stacks-schema.js +2 -0
- package/dist/schema/stacks-schema.js.map +1 -1
- package/dist/schema/{stack-config-schema.d.ts → standard-stack-config-schema.d.ts} +2 -2
- package/dist/schema/{stack-config-schema.js → standard-stack-config-schema.js} +4 -3
- package/dist/schema/standard-stack-config-schema.js.map +1 -0
- package/dist/stacks/custom-stack.d.ts +26 -0
- package/dist/stacks/custom-stack.js +38 -0
- package/dist/stacks/custom-stack.js.map +1 -0
- package/dist/stacks/stack.d.ts +13 -41
- package/dist/stacks/stack.js +11 -38
- package/dist/stacks/stack.js.map +1 -1
- package/dist/stacks/standard-stack.d.ts +54 -0
- package/dist/stacks/standard-stack.js +42 -0
- package/dist/stacks/standard-stack.js.map +1 -0
- package/dist/takomo-config-repository-fs/deployment-targets/config-repository.js +5 -1
- package/dist/takomo-config-repository-fs/deployment-targets/config-repository.js.map +1 -1
- package/dist/takomo-config-repository-fs/stacks/config-repository.js +4 -1
- package/dist/takomo-config-repository-fs/stacks/config-repository.js.map +1 -1
- package/dist/takomo-config-repository-fs/stacks/parser.d.ts +4 -3
- package/dist/takomo-config-repository-fs/stacks/parser.js +35 -7
- package/dist/takomo-config-repository-fs/stacks/parser.js.map +1 -1
- package/dist/takomo-stacks-context/config/build-custom-stack.d.ts +15 -0
- package/dist/takomo-stacks-context/config/build-custom-stack.js +104 -0
- package/dist/takomo-stacks-context/config/build-custom-stack.js.map +1 -0
- package/dist/takomo-stacks-context/config/build-stack.d.ts +12 -12
- package/dist/takomo-stacks-context/config/build-stack.js +18 -139
- package/dist/takomo-stacks-context/config/build-stack.js.map +1 -1
- package/dist/takomo-stacks-context/config/build-stacks-context.js +8 -2
- package/dist/takomo-stacks-context/config/build-stacks-context.js.map +1 -1
- package/dist/takomo-stacks-context/config/build-standard-stack.d.ts +27 -0
- package/dist/takomo-stacks-context/config/build-standard-stack.js +144 -0
- package/dist/takomo-stacks-context/config/build-standard-stack.js.map +1 -0
- package/dist/takomo-stacks-context/config/config-tree.d.ts +3 -2
- package/dist/takomo-stacks-context/config/create-root-stack-group.js.map +1 -1
- package/dist/takomo-stacks-context/config/process-config-tree.d.ts +2 -1
- package/dist/takomo-stacks-context/config/process-config-tree.js +6 -6
- package/dist/takomo-stacks-context/config/process-config-tree.js.map +1 -1
- package/dist/takomo-stacks-context/dependencies.js +2 -2
- package/dist/takomo-stacks-context/dependencies.js.map +1 -1
- package/dist/takomo-stacks-context/model.d.ts +7 -5
- package/dist/takomo-stacks-context/model.js +2 -0
- package/dist/takomo-stacks-context/model.js.map +1 -1
- package/dist/takomo-stacks-model/util.d.ts +0 -4
- package/dist/takomo-stacks-model/util.js +0 -4
- package/dist/takomo-stacks-model/util.js.map +1 -1
- package/dist/utils/collections.d.ts +1 -0
- package/dist/utils/collections.js +4 -0
- package/dist/utils/collections.js.map +1 -1
- package/dist/utils/exhaustive-check.d.ts +1 -0
- package/dist/utils/exhaustive-check.js +4 -0
- package/dist/utils/exhaustive-check.js.map +1 -0
- package/package.json +41 -40
- package/dist/command/stacks/deploy/states.js.map +0 -1
- package/dist/command/stacks/deploy/steps/continue-update-rollback.js.map +0 -1
- package/dist/command/stacks/deploy/steps/emit-stack-template.js.map +0 -1
- package/dist/command/stacks/deploy/steps/enrich-current-stack.js.map +0 -1
- package/dist/command/stacks/deploy/steps/execute-after-deploy-hooks.js.map +0 -1
- package/dist/command/stacks/deploy/steps/execute-before-deploy-hooks.js.map +0 -1
- package/dist/command/stacks/deploy/steps/initiate-change-set-create.js.map +0 -1
- package/dist/command/stacks/deploy/steps/initiate-failed-stack-delete.js.map +0 -1
- package/dist/command/stacks/deploy/steps/initiate-stack-create-or-update.js.map +0 -1
- package/dist/command/stacks/deploy/steps/initiate-stack-create.js.map +0 -1
- package/dist/command/stacks/deploy/steps/initiate-stack-update.js.map +0 -1
- package/dist/command/stacks/deploy/steps/prepare-parameters.js.map +0 -1
- package/dist/command/stacks/deploy/steps/prepare-tags.js.map +0 -1
- package/dist/command/stacks/deploy/steps/prepare-template.d.ts +0 -7
- package/dist/command/stacks/deploy/steps/prepare-template.js.map +0 -1
- package/dist/command/stacks/deploy/steps/review-change-set.js.map +0 -1
- package/dist/command/stacks/deploy/steps/summarize-template.js.map +0 -1
- package/dist/command/stacks/deploy/steps/update-termination-protection.js.map +0 -1
- package/dist/command/stacks/deploy/steps/upload-template.js.map +0 -1
- package/dist/command/stacks/deploy/steps/validate-parameters.js.map +0 -1
- package/dist/command/stacks/deploy/steps/validate-template.js.map +0 -1
- package/dist/command/stacks/deploy/steps/wait-change-set-to-be-ready.js.map +0 -1
- package/dist/command/stacks/deploy/steps/wait-dependencies-to-complete.d.ts +0 -3
- package/dist/command/stacks/deploy/steps/wait-dependencies-to-complete.js.map +0 -1
- package/dist/command/stacks/deploy/steps/wait-failed-stack-delete-to-complete.js.map +0 -1
- package/dist/command/stacks/deploy/steps/wait-stack-create-or-update-to-complete.js.map +0 -1
- package/dist/command/stacks/deploy/steps/wait-stack-rollback-to-complete.js.map +0 -1
- package/dist/command/stacks/deploy/transitions.js.map +0 -1
- package/dist/command/stacks/undeploy/states.d.ts +0 -30
- package/dist/command/stacks/undeploy/states.js.map +0 -1
- package/dist/command/stacks/undeploy/steps/execute-after-undeploy-hooks.js.map +0 -1
- package/dist/command/stacks/undeploy/steps/execute-before-undeploy-hooks.js.map +0 -1
- package/dist/command/stacks/undeploy/steps/initiate-stack-delete.js.map +0 -1
- package/dist/command/stacks/undeploy/steps/wait-dependents-to-complete.d.ts +0 -3
- package/dist/command/stacks/undeploy/steps/wait-dependents-to-complete.js.map +0 -1
- package/dist/command/stacks/undeploy/steps/wait-stack-delete-to-complete.js.map +0 -1
- package/dist/command/stacks/undeploy/transitions.js.map +0 -1
- package/dist/parser/stacks/build-stack-config.d.ts +0 -6
- package/dist/parser/stacks/build-stack-config.js.map +0 -1
- package/dist/schema/stack-config-schema.js.map +0 -1
- /package/dist/command/stacks/deploy/{states.js → custom-stack/states.js} +0 -0
- /package/dist/command/stacks/{undeploy → deploy/standard-stack}/states.js +0 -0
- /package/dist/command/stacks/deploy/{steps → standard-stack/steps}/continue-update-rollback.js +0 -0
- /package/dist/command/stacks/deploy/{steps → standard-stack/steps}/enrich-current-stack.js +0 -0
- /package/dist/command/stacks/deploy/{steps → standard-stack/steps}/initiate-stack-create-or-update.js +0 -0
- /package/dist/command/stacks/deploy/{steps → standard-stack/steps}/prepare-parameters.js +0 -0
- /package/dist/command/stacks/deploy/{steps → standard-stack/steps}/prepare-tags.js +0 -0
- /package/dist/command/stacks/deploy/{steps → standard-stack/steps}/summarize-template.js +0 -0
- /package/dist/command/stacks/deploy/{steps → standard-stack/steps}/update-termination-protection.js +0 -0
- /package/dist/command/stacks/deploy/{steps → standard-stack/steps}/validate-template.js +0 -0
- /package/dist/command/stacks/deploy/{steps → standard-stack/steps}/wait-dependencies-to-complete.js +0 -0
- /package/dist/command/stacks/deploy/{steps → standard-stack/steps}/wait-failed-stack-delete-to-complete.js +0 -0
- /package/dist/command/stacks/deploy/{steps → standard-stack/steps}/wait-stack-rollback-to-complete.js +0 -0
- /package/dist/command/stacks/undeploy/{steps → standard-stack/steps}/wait-dependents-to-complete.js +0 -0
- /package/dist/command/stacks/undeploy/{steps → standard-stack/steps}/wait-stack-delete-to-complete.js +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CustomStackConfig } from "../../config/custom-stack-config.js";
|
|
2
2
|
import { StackGroupConfig } from "../../config/stack-group-config.js";
|
|
3
|
+
import { StandardStackConfig } from "../../config/standard-stack-config.js";
|
|
3
4
|
import { CommandContext } from "../../context/command-context.js";
|
|
4
5
|
import { TemplateEngine } from "../../templating/template-engine.js";
|
|
5
6
|
import { FilePath } from "../../utils/files.js";
|
|
6
7
|
import { TkmLogger } from "../../utils/logging.js";
|
|
7
|
-
export declare const parseBlueprintConfigFile: (ctx: CommandContext, variables: any, templateEngine: TemplateEngine, logger: TkmLogger, pathToFile: FilePath) => Promise<
|
|
8
|
-
export declare const parseStackConfigFile: (ctx: CommandContext, variables: any, templateEngine: TemplateEngine, logger: TkmLogger, pathToFile: FilePath) => Promise<
|
|
8
|
+
export declare const parseBlueprintConfigFile: (ctx: CommandContext, variables: any, templateEngine: TemplateEngine, logger: TkmLogger, pathToFile: FilePath) => Promise<StandardStackConfig>;
|
|
9
|
+
export declare const parseStackConfigFile: (ctx: CommandContext, variables: any, templateEngine: TemplateEngine, logger: TkmLogger, pathToFile: FilePath) => Promise<StandardStackConfig | CustomStackConfig>;
|
|
9
10
|
export declare const parseStackGroupConfigFile: (ctx: CommandContext, variables: any, templateEngine: TemplateEngine, logger: TkmLogger, pathToFile: FilePath) => Promise<StackGroupConfig>;
|
|
@@ -1,28 +1,56 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { buildStandardStackConfig } from "../../parser/stacks/build-standard-stack-config.js";
|
|
2
2
|
import { buildStackGroupConfig } from "../../parser/stacks/build-stack-group-config.js";
|
|
3
3
|
import { TakomoError } from "../../utils/errors.js";
|
|
4
4
|
import { parseYaml } from "../../utils/yaml.js";
|
|
5
|
+
import { buildCustomStackConfig } from "../../parser/stacks/build-custom-stack-config.js";
|
|
5
6
|
export const parseBlueprintConfigFile = async (ctx,
|
|
6
7
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7
|
-
variables, templateEngine, logger, pathToFile) =>
|
|
8
|
+
variables, templateEngine, logger, pathToFile) => {
|
|
9
|
+
const rendered = await templateEngine.renderTemplateFile({
|
|
10
|
+
pathToFile,
|
|
11
|
+
variables,
|
|
12
|
+
});
|
|
13
|
+
const parsedFile = parseYaml(pathToFile, rendered);
|
|
14
|
+
if (typeof parsedFile === "number" || typeof parsedFile === "string") {
|
|
15
|
+
throw new Error("Invalid yaml document");
|
|
16
|
+
}
|
|
17
|
+
return parseStandardStackConfigFileInternal(ctx, pathToFile, parsedFile, "blueprint");
|
|
18
|
+
};
|
|
8
19
|
export const parseStackConfigFile = async (ctx,
|
|
9
20
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
variables, templateEngine, logger, pathToFile) =>
|
|
11
|
-
const parseStackConfigFileInternal = async (ctx,
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
-
variables, templateEngine, logger, pathToFile, configType) => {
|
|
21
|
+
variables, templateEngine, logger, pathToFile) => {
|
|
14
22
|
const rendered = await templateEngine.renderTemplateFile({
|
|
15
23
|
pathToFile,
|
|
16
24
|
variables,
|
|
17
25
|
});
|
|
18
26
|
const parsedFile = parseYaml(pathToFile, rendered);
|
|
19
|
-
|
|
27
|
+
if (typeof parsedFile === "number" || typeof parsedFile === "string") {
|
|
28
|
+
throw new Error("Invalid yaml document");
|
|
29
|
+
}
|
|
30
|
+
if (parsedFile.customType === undefined) {
|
|
31
|
+
return parseStandardStackConfigFileInternal(ctx, pathToFile, parsedFile, "stack");
|
|
32
|
+
}
|
|
33
|
+
if (typeof parsedFile.customType === "string") {
|
|
34
|
+
return parseCustomStackConfigFile(ctx, pathToFile, parsedFile);
|
|
35
|
+
}
|
|
36
|
+
throw new TakomoError(`Validation errors in stack file ${pathToFile}:\n- customType must be a string`);
|
|
37
|
+
};
|
|
38
|
+
const parseStandardStackConfigFileInternal = async (ctx, pathToFile, parsedFile, configType) => {
|
|
39
|
+
const result = buildStandardStackConfig(ctx, parsedFile, configType);
|
|
20
40
|
if (result.isOk()) {
|
|
21
41
|
return result.value;
|
|
22
42
|
}
|
|
23
43
|
const details = result.error.messages.map((m) => `- ${m}`).join("\n");
|
|
24
44
|
throw new TakomoError(`Validation errors in ${configType} file ${pathToFile}:\n${details}`);
|
|
25
45
|
};
|
|
46
|
+
const parseCustomStackConfigFile = async (ctx, pathToFile, parsedFile) => {
|
|
47
|
+
const result = buildCustomStackConfig(ctx, parsedFile);
|
|
48
|
+
if (result.isOk()) {
|
|
49
|
+
return result.value;
|
|
50
|
+
}
|
|
51
|
+
const details = result.error.messages.map((m) => `- ${m}`).join("\n");
|
|
52
|
+
throw new TakomoError(`Validation errors in stack file ${pathToFile}:\n${details}`);
|
|
53
|
+
};
|
|
26
54
|
export const parseStackGroupConfigFile = async (ctx,
|
|
27
55
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
56
|
variables, templateEngine, logger, pathToFile) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/takomo-config-repository-fs/stacks/parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/takomo-config-repository-fs/stacks/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { InternalCredentialManager } from "../../aws/common/credentials.js";
|
|
2
|
+
import { IamRoleArn } from "../../aws/common/model.js";
|
|
3
|
+
import { CommandPath } from "../../command/command-model.js";
|
|
4
|
+
import { InternalCommandContext } from "../../context/command-context.js";
|
|
5
|
+
import { HookRegistry } from "../../hooks/hook-registry.js";
|
|
6
|
+
import { ResolverRegistry } from "../../resolvers/resolver-registry.js";
|
|
7
|
+
import { StackGroup } from "../../stacks/stack-group.js";
|
|
8
|
+
import { SchemaRegistry } from "../../takomo-stacks-model/schemas.js";
|
|
9
|
+
import { TkmLogger } from "../../utils/logging.js";
|
|
10
|
+
import { ProcessStatus } from "./process-config-tree.js";
|
|
11
|
+
import { StackPath } from "../../stacks/stack.js";
|
|
12
|
+
import { InternalCustomStack } from "../../stacks/custom-stack.js";
|
|
13
|
+
import { CustomStackConfig } from "../../config/custom-stack-config.js";
|
|
14
|
+
import { CustomStackHandler } from "../../custom-stacks/custom-stack-handler.js";
|
|
15
|
+
export declare const buildCustomStack: (stackPath: StackPath, ctx: InternalCommandContext, logger: TkmLogger, defaultCredentialManager: InternalCredentialManager, credentialManagers: Map<IamRoleArn, InternalCredentialManager>, resolverRegistry: ResolverRegistry, schemaRegistry: SchemaRegistry, hookRegistry: HookRegistry, stackConfig: CustomStackConfig, stackGroup: StackGroup, commandPath: CommandPath, status: ProcessStatus, customStackHandler: CustomStackHandler<any, any>) => Promise<InternalCustomStack[]>;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import * as R from "ramda";
|
|
2
|
+
import { createAwsSchemas } from "../../schema/aws-schema.js";
|
|
3
|
+
import { isWithinCommandPath } from "../../takomo-stacks-model/util.js";
|
|
4
|
+
import { TakomoError } from "../../utils/errors.js";
|
|
5
|
+
import { validate } from "../../utils/validation.js";
|
|
6
|
+
import { getCredentialManager } from "./get-credential-provider.js";
|
|
7
|
+
import { mergeStackSchemas } from "./merge-stack-schemas.js";
|
|
8
|
+
import { buildParameters } from "./parameters.js";
|
|
9
|
+
import { createCustomStack, } from "../../stacks/custom-stack.js";
|
|
10
|
+
import { buildAccountIds, buildCommandRole, buildData, buildDependencies, buildIgnore, buildObsolete, buildProject, buildRegions, buildStackName, buildTags, buildTerminationProtection, buildTimeout, validateData, validateName, validateTags, } from "./build-stack.js";
|
|
11
|
+
const parseCustomStackConfig = async (stackPath, logger, handler, config) => {
|
|
12
|
+
try {
|
|
13
|
+
const result = await handler.parseConfig({
|
|
14
|
+
config,
|
|
15
|
+
logger,
|
|
16
|
+
stackPath,
|
|
17
|
+
});
|
|
18
|
+
if (result.success) {
|
|
19
|
+
return { customConfig: result.config };
|
|
20
|
+
}
|
|
21
|
+
const { message, error } = result;
|
|
22
|
+
logger.error(`Parsing custom stack config failed for stack ${stackPath}: ${message}`, error);
|
|
23
|
+
return { error };
|
|
24
|
+
}
|
|
25
|
+
catch (e) {
|
|
26
|
+
logger.error(`Unhandled error while parsing custom stack config for stack ${stackPath}`, e);
|
|
27
|
+
throw e;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
export const buildCustomStack = async (stackPath, ctx, logger, defaultCredentialManager, credentialManagers, resolverRegistry, schemaRegistry, hookRegistry, stackConfig, stackGroup, commandPath, status, customStackHandler) => {
|
|
31
|
+
const { stackName } = createAwsSchemas({ regions: ctx.regions });
|
|
32
|
+
const builderProps = {
|
|
33
|
+
stackConfig,
|
|
34
|
+
stackGroup,
|
|
35
|
+
};
|
|
36
|
+
const name = buildStackName(builderProps, stackPath);
|
|
37
|
+
const regions = buildRegions(builderProps);
|
|
38
|
+
const commandRole = buildCommandRole(builderProps);
|
|
39
|
+
const accountIds = buildAccountIds(builderProps);
|
|
40
|
+
const ignore = buildIgnore(builderProps);
|
|
41
|
+
const obsolete = buildObsolete(builderProps);
|
|
42
|
+
const terminationProtection = buildTerminationProtection(builderProps);
|
|
43
|
+
const project = buildProject(builderProps);
|
|
44
|
+
const parameters = await buildParameters(ctx, stackPath, stackConfig.parameters, resolverRegistry, schemaRegistry);
|
|
45
|
+
if (regions.length === 0) {
|
|
46
|
+
throw new TakomoError(`Stack ${stackPath} has no regions`);
|
|
47
|
+
}
|
|
48
|
+
validate(stackName, name, `Name of stack ${stackPath} is not valid`);
|
|
49
|
+
R.uniq(Array.from(parameters.values())
|
|
50
|
+
.reduce((collected, parameter) => {
|
|
51
|
+
return [...collected, parameter.getIamRoleArns()];
|
|
52
|
+
}, new Array())
|
|
53
|
+
.flat())
|
|
54
|
+
.map((iamRoleArn) => ({ iamRoleArn }))
|
|
55
|
+
.forEach((commandRole) => {
|
|
56
|
+
getCredentialManager(commandRole, defaultCredentialManager, credentialManagers);
|
|
57
|
+
});
|
|
58
|
+
const credentialManager = await getCredentialManager(commandRole, defaultCredentialManager, credentialManagers);
|
|
59
|
+
return await Promise.all(regions
|
|
60
|
+
.filter((region) => isWithinCommandPath(commandPath, `${stackPath}/${region}`))
|
|
61
|
+
.filter((region) => !status.isStackProcessed(`${stackPath}/${region}`))
|
|
62
|
+
.map(async (region) => {
|
|
63
|
+
const exactPath = `${stackPath}/${region}`;
|
|
64
|
+
const stackLogger = logger.childLogger(exactPath);
|
|
65
|
+
const schemas = await mergeStackSchemas(ctx, schemaRegistry, exactPath, stackGroup.schemas, stackConfig.schemas);
|
|
66
|
+
const tags = buildTags(builderProps);
|
|
67
|
+
const data = buildData(builderProps);
|
|
68
|
+
const timeout = buildTimeout(builderProps);
|
|
69
|
+
const dependencies = buildDependencies(builderProps);
|
|
70
|
+
const { customConfig, error } = await parseCustomStackConfig(exactPath, logger, customStackHandler, stackConfig.customConfig);
|
|
71
|
+
if (error) {
|
|
72
|
+
throw error;
|
|
73
|
+
}
|
|
74
|
+
const props = {
|
|
75
|
+
customType: stackConfig.customType,
|
|
76
|
+
customConfig,
|
|
77
|
+
customStackHandler,
|
|
78
|
+
name,
|
|
79
|
+
region,
|
|
80
|
+
parameters,
|
|
81
|
+
commandRole,
|
|
82
|
+
credentialManager,
|
|
83
|
+
ignore,
|
|
84
|
+
obsolete,
|
|
85
|
+
terminationProtection,
|
|
86
|
+
accountIds,
|
|
87
|
+
path: exactPath,
|
|
88
|
+
stackGroupPath: stackGroup.path,
|
|
89
|
+
project,
|
|
90
|
+
tags,
|
|
91
|
+
timeout,
|
|
92
|
+
dependencies,
|
|
93
|
+
dependents: [],
|
|
94
|
+
data,
|
|
95
|
+
logger: stackLogger,
|
|
96
|
+
schemas,
|
|
97
|
+
};
|
|
98
|
+
validateData(exactPath, schemas?.data ?? [], props.data);
|
|
99
|
+
validateTags(exactPath, schemas?.tags ?? [], props.tags);
|
|
100
|
+
validateName(exactPath, schemas?.name ?? [], name);
|
|
101
|
+
return createCustomStack(props);
|
|
102
|
+
}));
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=build-custom-stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-custom-stack.js","sourceRoot":"","sources":["../../../src/takomo-stacks-context/config/build-custom-stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnySchema } from "joi";
|
|
2
|
+
import { StackName } from "../../aws/cloudformation/model.js";
|
|
2
3
|
import { InternalCredentialManager } from "../../aws/common/credentials.js";
|
|
3
4
|
import { AccountId, IamRoleArn, Region, TagKey } from "../../aws/common/model.js";
|
|
4
5
|
import { CommandPath } from "../../command/command-model.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
6
|
+
import { TimeoutConfig, Vars } from "../../common/model.js";
|
|
7
|
+
import { BaseStackConfig } from "../../config/stack-config.js";
|
|
7
8
|
import { InternalCommandContext } from "../../context/command-context.js";
|
|
8
9
|
import { HookRegistry } from "../../hooks/hook-registry.js";
|
|
9
10
|
import { HookConfig } from "../../hooks/hook.js";
|
|
10
11
|
import { ResolverRegistry } from "../../resolvers/resolver-registry.js";
|
|
11
12
|
import { StackGroup } from "../../stacks/stack-group.js";
|
|
12
|
-
import { InternalStack, RawTagValue, StackPath, Template } from "../../stacks/stack.js";
|
|
13
13
|
import { CommandRole, Project } from "../../takomo-core/command.js";
|
|
14
14
|
import { SchemaRegistry } from "../../takomo-stacks-model/schemas.js";
|
|
15
15
|
import { TkmLogger } from "../../utils/logging.js";
|
|
16
16
|
import { StacksConfigRepository } from "../model.js";
|
|
17
17
|
import { StackConfigNode } from "./config-tree.js";
|
|
18
18
|
import { ProcessStatus } from "./process-config-tree.js";
|
|
19
|
+
import { InternalStack, RawTagValue, StackPath } from "../../stacks/stack.js";
|
|
20
|
+
import { CustomStackHandlerRegistry } from "../../custom-stacks/custom-stack-handler-registry.js";
|
|
19
21
|
export interface StackPropBuilderProps {
|
|
20
|
-
readonly stackConfig:
|
|
22
|
+
readonly stackConfig: BaseStackConfig;
|
|
21
23
|
readonly stackGroup: StackGroup;
|
|
22
|
-
readonly blueprint?:
|
|
24
|
+
readonly blueprint?: BaseStackConfig;
|
|
23
25
|
}
|
|
24
|
-
export declare const
|
|
26
|
+
export declare const validateData: (stackPath: StackPath, schemas: ReadonlyArray<AnySchema>, data: Vars) => void;
|
|
27
|
+
export declare const validateTags: (stackPath: StackPath, schemas: ReadonlyArray<AnySchema>, tags: Map<string, RawTagValue>) => void;
|
|
28
|
+
export declare const validateName: (stackPath: StackPath, schemas: ReadonlyArray<AnySchema>, name: StackName) => void;
|
|
25
29
|
export declare const buildStackName: ({ stackConfig, blueprint, stackGroup }: StackPropBuilderProps, stackPath: StackPath) => string;
|
|
26
30
|
export declare const buildRegions: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => ReadonlyArray<Region>;
|
|
27
31
|
export declare const buildAccountIds: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => ReadonlyArray<AccountId>;
|
|
28
32
|
export declare const buildCommandRole: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => CommandRole | undefined;
|
|
29
|
-
export declare const buildCapabilities: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => ReadonlyArray<StackCapability> | undefined;
|
|
30
33
|
export declare const buildIgnore: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => boolean;
|
|
31
34
|
export declare const buildObsolete: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => boolean;
|
|
32
35
|
export declare const buildTerminationProtection: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => boolean;
|
|
33
|
-
export declare const buildStackPolicy: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => StackPolicyBody | undefined;
|
|
34
36
|
export declare const buildProject: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => Project | undefined;
|
|
35
37
|
export declare const buildTimeout: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => TimeoutConfig;
|
|
36
|
-
export declare const buildTemplateBucket: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => TemplateBucketConfig | undefined;
|
|
37
38
|
export declare const buildDependencies: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => ReadonlyArray<StackPath>;
|
|
38
|
-
export declare const buildStackPolicyDuringUpdate: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => StackPolicyBody | undefined;
|
|
39
39
|
export declare const buildData: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => Record<string, unknown>;
|
|
40
40
|
export declare const buildTags: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => Map<TagKey, RawTagValue>;
|
|
41
41
|
export declare const buildHookConfigs: ({ stackConfig, blueprint, stackGroup, }: StackPropBuilderProps) => ReadonlyArray<HookConfig>;
|
|
42
|
-
export declare const buildStack: (ctx: InternalCommandContext, logger: TkmLogger, defaultCredentialManager: InternalCredentialManager, credentialManagers: Map<IamRoleArn, InternalCredentialManager>, resolverRegistry: ResolverRegistry, schemaRegistry: SchemaRegistry, hookRegistry: HookRegistry, node: StackConfigNode, stackGroup: StackGroup, commandPath: CommandPath, status: ProcessStatus, configRepository: StacksConfigRepository) => Promise<InternalStack[]>;
|
|
42
|
+
export declare const buildStack: (ctx: InternalCommandContext, logger: TkmLogger, defaultCredentialManager: InternalCredentialManager, credentialManagers: Map<IamRoleArn, InternalCredentialManager>, resolverRegistry: ResolverRegistry, schemaRegistry: SchemaRegistry, hookRegistry: HookRegistry, node: StackConfigNode, stackGroup: StackGroup, commandPath: CommandPath, status: ProcessStatus, configRepository: StacksConfigRepository, customStackHandlerRegistry: CustomStackHandlerRegistry) => Promise<InternalStack[]>;
|
|
@@ -1,43 +1,16 @@
|
|
|
1
|
-
import * as R from "ramda";
|
|
2
|
-
import { createAwsSchemas } from "../../schema/aws-schema.js";
|
|
3
|
-
import { createStack, normalizeStackPath, } from "../../stacks/stack.js";
|
|
4
1
|
import { StackPropertyDefaults } from "../../takomo-stacks-model/constants.js";
|
|
5
|
-
import { isWithinCommandPath } from "../../takomo-stacks-model/util.js";
|
|
6
2
|
import { mapToObject, mergeArrays, mergeMaps } from "../../utils/collections.js";
|
|
7
3
|
import { TakomoError } from "../../utils/errors.js";
|
|
8
4
|
import { merge } from "../../utils/objects.js";
|
|
9
|
-
import { validate } from "../../utils/validation.js";
|
|
10
5
|
import { createVariablesForStackConfigFile } from "./create-variables-for-stack-config-file.js";
|
|
11
|
-
import { getCredentialManager } from "./get-credential-provider.js";
|
|
12
|
-
import { initializeHooks } from "./hooks.js";
|
|
13
6
|
import { makeStackName } from "./make-stack-name.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
return {
|
|
24
|
-
dynamic,
|
|
25
|
-
filename: filename ?? stackPath.slice(1),
|
|
26
|
-
};
|
|
27
|
-
};
|
|
28
|
-
export const buildTemplate = ({ stackConfig, blueprint }, stackPath) => {
|
|
29
|
-
if (stackConfig.template) {
|
|
30
|
-
return buildTemplateInternal(stackPath, stackConfig.template);
|
|
31
|
-
}
|
|
32
|
-
if (blueprint?.template) {
|
|
33
|
-
return buildTemplateInternal(stackPath, blueprint.template);
|
|
34
|
-
}
|
|
35
|
-
return {
|
|
36
|
-
dynamic: true,
|
|
37
|
-
filename: stackPath.slice(1),
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
const validateData = (stackPath, schemas, data) => {
|
|
7
|
+
import { normalizeStackPath, } from "../../stacks/stack.js";
|
|
8
|
+
import { isStandardStackConfig } from "../../config/standard-stack-config.js";
|
|
9
|
+
import { buildStandardStack } from "./build-standard-stack.js";
|
|
10
|
+
import { isCustomStackConfig } from "../../config/custom-stack-config.js";
|
|
11
|
+
import { buildCustomStack } from "./build-custom-stack.js";
|
|
12
|
+
import { exhaustiveCheck } from "../../utils/exhaustive-check.js";
|
|
13
|
+
export const validateData = (stackPath, schemas, data) => {
|
|
41
14
|
schemas.forEach((schema) => {
|
|
42
15
|
const { error } = schema.validate(data, {
|
|
43
16
|
abortEarly: false,
|
|
@@ -49,7 +22,7 @@ const validateData = (stackPath, schemas, data) => {
|
|
|
49
22
|
}
|
|
50
23
|
});
|
|
51
24
|
};
|
|
52
|
-
const validateTags = (stackPath, schemas, tags) => {
|
|
25
|
+
export const validateTags = (stackPath, schemas, tags) => {
|
|
53
26
|
schemas.forEach((schema) => {
|
|
54
27
|
const tagsObject = mapToObject(tags);
|
|
55
28
|
const { error } = schema.validate(tagsObject, {
|
|
@@ -62,7 +35,7 @@ const validateTags = (stackPath, schemas, tags) => {
|
|
|
62
35
|
}
|
|
63
36
|
});
|
|
64
37
|
};
|
|
65
|
-
const validateName = (stackPath, schemas, name) => {
|
|
38
|
+
export const validateName = (stackPath, schemas, name) => {
|
|
66
39
|
schemas.forEach((schema) => {
|
|
67
40
|
const { error } = schema
|
|
68
41
|
.label("name")
|
|
@@ -87,29 +60,20 @@ export const buildRegions = ({ stackConfig, blueprint, stackGroup, }) => {
|
|
|
87
60
|
};
|
|
88
61
|
export const buildAccountIds = ({ stackConfig, blueprint, stackGroup, }) => stackConfig.accountIds ?? blueprint?.accountIds ?? stackGroup.accountIds;
|
|
89
62
|
export const buildCommandRole = ({ stackConfig, blueprint, stackGroup, }) => stackConfig.commandRole ?? blueprint?.commandRole ?? stackGroup.commandRole;
|
|
90
|
-
export const buildCapabilities = ({ stackConfig, blueprint, stackGroup, }) => stackConfig.capabilities ?? blueprint?.capabilities ?? stackGroup.capabilities;
|
|
91
63
|
export const buildIgnore = ({ stackConfig, blueprint, stackGroup, }) => stackConfig.ignore ?? blueprint?.ignore ?? stackGroup.ignore;
|
|
92
64
|
export const buildObsolete = ({ stackConfig, blueprint, stackGroup, }) => stackConfig.obsolete ?? blueprint?.obsolete ?? stackGroup.obsolete;
|
|
93
65
|
export const buildTerminationProtection = ({ stackConfig, blueprint, stackGroup, }) => stackConfig.terminationProtection ??
|
|
94
66
|
blueprint?.terminationProtection ??
|
|
95
67
|
stackGroup.terminationProtection;
|
|
96
|
-
export const buildStackPolicy = ({ stackConfig, blueprint, stackGroup, }) => stackConfig.stackPolicy ?? blueprint?.stackPolicy ?? stackGroup.stackPolicy;
|
|
97
68
|
export const buildProject = ({ stackConfig, blueprint, stackGroup, }) => stackConfig.project ?? blueprint?.project ?? stackGroup.project;
|
|
98
69
|
export const buildTimeout = ({ stackConfig, blueprint, stackGroup, }) => stackConfig.timeout ??
|
|
99
70
|
blueprint?.timeout ??
|
|
100
71
|
stackGroup.timeout ??
|
|
101
72
|
StackPropertyDefaults.timeout();
|
|
102
|
-
export const buildTemplateBucket = ({ stackConfig, blueprint, stackGroup, }) => stackConfig.templateBucket ??
|
|
103
|
-
blueprint?.templateBucket ??
|
|
104
|
-
stackGroup.templateBucket ??
|
|
105
|
-
StackPropertyDefaults.templateBucket();
|
|
106
73
|
export const buildDependencies = ({ stackConfig, blueprint, stackGroup, }) => {
|
|
107
74
|
const depends = stackConfig.depends ?? blueprint?.depends ?? StackPropertyDefaults.depends();
|
|
108
75
|
return depends.map((d) => normalizeStackPath(stackGroup.path, d));
|
|
109
76
|
};
|
|
110
|
-
export const buildStackPolicyDuringUpdate = ({ stackConfig, blueprint, stackGroup, }) => stackConfig.stackPolicyDuringUpdate ??
|
|
111
|
-
blueprint?.stackPolicyDuringUpdate ??
|
|
112
|
-
stackGroup.stackPolicyDuringUpdate;
|
|
113
77
|
export const buildData = ({ stackConfig, blueprint, stackGroup, }) => merge(stackGroup.data, blueprint?.data ?? {}, stackConfig.data);
|
|
114
78
|
export const buildTags = ({ stackConfig, blueprint, stackGroup, }) => {
|
|
115
79
|
const inheritTags = stackConfig.inheritTags ??
|
|
@@ -132,103 +96,18 @@ export const buildHookConfigs = ({ stackConfig, blueprint, stackGroup, }) => {
|
|
|
132
96
|
equals: (a, b) => a.name === b.name,
|
|
133
97
|
});
|
|
134
98
|
};
|
|
135
|
-
export const buildStack = async (ctx, logger, defaultCredentialManager, credentialManagers, resolverRegistry, schemaRegistry, hookRegistry, node, stackGroup, commandPath, status, configRepository) => {
|
|
136
|
-
const { stackName } = createAwsSchemas({ regions: ctx.regions });
|
|
137
|
-
logger.debug(`Build stack with path '${node.path}'`);
|
|
99
|
+
export const buildStack = async (ctx, logger, defaultCredentialManager, credentialManagers, resolverRegistry, schemaRegistry, hookRegistry, node, stackGroup, commandPath, status, configRepository, customStackHandlerRegistry) => {
|
|
138
100
|
const stackPath = node.path;
|
|
101
|
+
logger.debug(`Build stack with path '${stackPath}'`);
|
|
139
102
|
const stackVariables = createVariablesForStackConfigFile(ctx.variables, stackGroup, stackPath);
|
|
140
103
|
const stackConfig = await node.getConfig(stackVariables);
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
const builderProps = {
|
|
145
|
-
stackConfig,
|
|
146
|
-
blueprint,
|
|
147
|
-
stackGroup,
|
|
148
|
-
};
|
|
149
|
-
const hookConfigs = buildHookConfigs(builderProps);
|
|
150
|
-
const name = buildStackName(builderProps, stackPath);
|
|
151
|
-
const regions = buildRegions(builderProps);
|
|
152
|
-
const commandRole = buildCommandRole(builderProps);
|
|
153
|
-
const template = buildTemplate(builderProps, stackPath);
|
|
154
|
-
const accountIds = buildAccountIds(builderProps);
|
|
155
|
-
const capabilities = buildCapabilities(builderProps);
|
|
156
|
-
const ignore = buildIgnore(builderProps);
|
|
157
|
-
const obsolete = buildObsolete(builderProps);
|
|
158
|
-
const terminationProtection = buildTerminationProtection(builderProps);
|
|
159
|
-
const stackPolicy = buildStackPolicy(builderProps);
|
|
160
|
-
const stackPolicyDuringUpdate = buildStackPolicyDuringUpdate(builderProps);
|
|
161
|
-
const project = buildProject(builderProps);
|
|
162
|
-
const parameters = await buildParameters(ctx, stackPath, mergeMaps(blueprint?.parameters ?? new Map(), stackConfig.parameters), resolverRegistry, schemaRegistry);
|
|
163
|
-
if (regions.length === 0) {
|
|
164
|
-
throw new TakomoError(`Stack ${stackPath} has no regions`);
|
|
104
|
+
if (isCustomStackConfig(stackConfig)) {
|
|
105
|
+
const customStackHandler = customStackHandlerRegistry.getHandler(stackConfig.customType);
|
|
106
|
+
return buildCustomStack(stackPath, ctx, logger, defaultCredentialManager, credentialManagers, resolverRegistry, schemaRegistry, hookRegistry, stackConfig, stackGroup, commandPath, status, customStackHandler);
|
|
165
107
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}, new Array())
|
|
171
|
-
.flat())
|
|
172
|
-
.map((iamRoleArn) => ({ iamRoleArn }))
|
|
173
|
-
.forEach((commandRole) => {
|
|
174
|
-
getCredentialManager(commandRole, defaultCredentialManager, credentialManagers);
|
|
175
|
-
});
|
|
176
|
-
const hooks = await initializeHooks(hookConfigs, hookRegistry);
|
|
177
|
-
const credentialManager = await getCredentialManager(commandRole, defaultCredentialManager, credentialManagers);
|
|
178
|
-
return await Promise.all(regions
|
|
179
|
-
.filter((region) => isWithinCommandPath(commandPath, `${stackPath}/${region}`))
|
|
180
|
-
.filter((region) => !status.isStackProcessed(`${stackPath}/${region}`))
|
|
181
|
-
.map(async (region) => {
|
|
182
|
-
const exactPath = `${stackPath}/${region}`;
|
|
183
|
-
const stackLogger = logger.childLogger(exactPath);
|
|
184
|
-
const getCloudFormationClient = async () => {
|
|
185
|
-
const identity = await credentialManager.getCallerIdentity();
|
|
186
|
-
return ctx.awsClientProvider.createCloudFormationClient({
|
|
187
|
-
credentialProvider: credentialManager.getCredentialProvider(),
|
|
188
|
-
region,
|
|
189
|
-
identity,
|
|
190
|
-
id: exactPath,
|
|
191
|
-
logger: stackLogger,
|
|
192
|
-
});
|
|
193
|
-
};
|
|
194
|
-
const schemas = await mergeStackSchemas(ctx, schemaRegistry, exactPath, stackGroup.schemas, stackConfig.schemas, blueprint?.schemas);
|
|
195
|
-
const tags = buildTags(builderProps);
|
|
196
|
-
const data = buildData(builderProps);
|
|
197
|
-
const timeout = buildTimeout(builderProps);
|
|
198
|
-
const templateBucket = buildTemplateBucket(builderProps);
|
|
199
|
-
const dependencies = buildDependencies(builderProps);
|
|
200
|
-
const props = {
|
|
201
|
-
name,
|
|
202
|
-
template,
|
|
203
|
-
region,
|
|
204
|
-
parameters,
|
|
205
|
-
commandRole,
|
|
206
|
-
credentialManager,
|
|
207
|
-
hooks,
|
|
208
|
-
ignore,
|
|
209
|
-
obsolete,
|
|
210
|
-
terminationProtection,
|
|
211
|
-
capabilities,
|
|
212
|
-
accountIds,
|
|
213
|
-
getCloudFormationClient,
|
|
214
|
-
stackPolicy,
|
|
215
|
-
stackPolicyDuringUpdate,
|
|
216
|
-
path: exactPath,
|
|
217
|
-
stackGroupPath: stackGroup.path,
|
|
218
|
-
project,
|
|
219
|
-
tags,
|
|
220
|
-
timeout,
|
|
221
|
-
dependencies,
|
|
222
|
-
dependents: [],
|
|
223
|
-
templateBucket,
|
|
224
|
-
data,
|
|
225
|
-
logger: stackLogger,
|
|
226
|
-
schemas,
|
|
227
|
-
};
|
|
228
|
-
validateData(exactPath, schemas?.data ?? [], props.data);
|
|
229
|
-
validateTags(exactPath, schemas?.tags ?? [], props.tags);
|
|
230
|
-
validateName(exactPath, schemas?.name ?? [], name);
|
|
231
|
-
return createStack(props);
|
|
232
|
-
}));
|
|
108
|
+
if (isStandardStackConfig(stackConfig)) {
|
|
109
|
+
return buildStandardStack(stackPath, ctx, logger, defaultCredentialManager, credentialManagers, resolverRegistry, schemaRegistry, hookRegistry, stackConfig, stackGroup, commandPath, status, configRepository);
|
|
110
|
+
}
|
|
111
|
+
return exhaustiveCheck(stackConfig);
|
|
233
112
|
};
|
|
234
113
|
//# sourceMappingURL=build-stack.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-stack.js","sourceRoot":"","sources":["../../../src/takomo-stacks-context/config/build-stack.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build-stack.js","sourceRoot":"","sources":["../../../src/takomo-stacks-context/config/build-stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ import { collectStacks } from "./collect-stacks.js";
|
|
|
11
11
|
import { coreHookProviders } from "./hooks.js";
|
|
12
12
|
import { processConfigTree } from "./process-config-tree.js";
|
|
13
13
|
import { inMemoryCache } from "../../caches/cache.js";
|
|
14
|
+
import { coreCustomStackHandlerProviders, createCustomStackHandlerRegistry, } from "../../custom-stacks/custom-stack-handler-registry.js";
|
|
14
15
|
export const validateCommandPath = (configTree, commandPath) => {
|
|
15
16
|
if (!commandPath || commandPath === ROOT_STACK_GROUP_PATH) {
|
|
16
17
|
return;
|
|
@@ -46,10 +47,14 @@ export const buildStacksContext = async ({ ctx, logger, credentialManager, comma
|
|
|
46
47
|
await resolverRegistry.registerProviderFromNpmPackage(config);
|
|
47
48
|
}
|
|
48
49
|
const schemaRegistry = createSchemaRegistry(logger);
|
|
49
|
-
|
|
50
|
+
const customStackHandlerRegistry = createCustomStackHandlerRegistry({
|
|
51
|
+
logger,
|
|
52
|
+
});
|
|
53
|
+
coreCustomStackHandlerProviders().forEach((p) => customStackHandlerRegistry.registerHandler(p));
|
|
54
|
+
await configRepository.loadExtensions(resolverRegistry, hookRegistry, schemaRegistry, customStackHandlerRegistry);
|
|
50
55
|
const credentialManagers = new Map();
|
|
51
56
|
const templateEngine = configRepository.templateEngine;
|
|
52
|
-
const rootStackGroup = await processConfigTree(ctx, logger, credentialManager, credentialManagers, resolverRegistry, schemaRegistry, hookRegistry, commandPath ?? ROOT_STACK_GROUP_PATH, configTree, configRepository);
|
|
57
|
+
const rootStackGroup = await processConfigTree(ctx, logger, credentialManager, credentialManagers, resolverRegistry, schemaRegistry, hookRegistry, commandPath ?? ROOT_STACK_GROUP_PATH, configTree, configRepository, customStackHandlerRegistry);
|
|
53
58
|
const stackGroups = collectStackGroups(rootStackGroup);
|
|
54
59
|
const stacks = collectStacks(stackGroups);
|
|
55
60
|
const stacksByPath = arrayToMap(stacks, (s) => s.path);
|
|
@@ -61,6 +66,7 @@ export const buildStacksContext = async ({ ctx, logger, credentialManager, comma
|
|
|
61
66
|
credentialManager,
|
|
62
67
|
templateEngine,
|
|
63
68
|
rootStackGroup,
|
|
69
|
+
customStackHandlerRegistry,
|
|
64
70
|
stacks,
|
|
65
71
|
concurrentStacks: 20,
|
|
66
72
|
cache: inMemoryCache(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-stacks-context.js","sourceRoot":"","sources":["../../../src/takomo-stacks-context/config/build-stacks-context.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAE,kBAAkB,EAAa,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EACL,+BAA+B,GAEhC,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"build-stacks-context.js","sourceRoot":"","sources":["../../../src/takomo-stacks-context/config/build-stacks-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { StackCapability, StackPolicyBody } from "../../aws/cloudformation/model.js";
|
|
2
|
+
import { InternalCredentialManager } from "../../aws/common/credentials.js";
|
|
3
|
+
import { IamRoleArn } from "../../aws/common/model.js";
|
|
4
|
+
import { CommandPath } from "../../command/command-model.js";
|
|
5
|
+
import { TemplateBucketConfig } from "../../common/model.js";
|
|
6
|
+
import { InternalCommandContext } from "../../context/command-context.js";
|
|
7
|
+
import { HookRegistry } from "../../hooks/hook-registry.js";
|
|
8
|
+
import { ResolverRegistry } from "../../resolvers/resolver-registry.js";
|
|
9
|
+
import { StackGroup } from "../../stacks/stack-group.js";
|
|
10
|
+
import { InternalStandardStack, Template } from "../../stacks/standard-stack.js";
|
|
11
|
+
import { SchemaRegistry } from "../../takomo-stacks-model/schemas.js";
|
|
12
|
+
import { TkmLogger } from "../../utils/logging.js";
|
|
13
|
+
import { StacksConfigRepository } from "../model.js";
|
|
14
|
+
import { ProcessStatus } from "./process-config-tree.js";
|
|
15
|
+
import { StackPath } from "../../stacks/stack.js";
|
|
16
|
+
import { StandardStackConfig } from "../../config/standard-stack-config.js";
|
|
17
|
+
export interface StandardStackPropBuilderProps {
|
|
18
|
+
readonly stackConfig: StandardStackConfig;
|
|
19
|
+
readonly stackGroup: StackGroup;
|
|
20
|
+
readonly blueprint?: StandardStackConfig;
|
|
21
|
+
}
|
|
22
|
+
export declare const buildTemplate: ({ stackConfig, blueprint }: StandardStackPropBuilderProps, stackPath: StackPath) => Template;
|
|
23
|
+
export declare const buildCapabilities: ({ stackConfig, blueprint, stackGroup, }: StandardStackPropBuilderProps) => ReadonlyArray<StackCapability> | undefined;
|
|
24
|
+
export declare const buildStackPolicy: ({ stackConfig, blueprint, stackGroup, }: StandardStackPropBuilderProps) => StackPolicyBody | undefined;
|
|
25
|
+
export declare const buildTemplateBucket: ({ stackConfig, blueprint, stackGroup, }: StandardStackPropBuilderProps) => TemplateBucketConfig | undefined;
|
|
26
|
+
export declare const buildStackPolicyDuringUpdate: ({ stackConfig, blueprint, stackGroup, }: StandardStackPropBuilderProps) => StackPolicyBody | undefined;
|
|
27
|
+
export declare const buildStandardStack: (stackPath: StackPath, ctx: InternalCommandContext, logger: TkmLogger, defaultCredentialManager: InternalCredentialManager, credentialManagers: Map<IamRoleArn, InternalCredentialManager>, resolverRegistry: ResolverRegistry, schemaRegistry: SchemaRegistry, hookRegistry: HookRegistry, stackConfig: StandardStackConfig, stackGroup: StackGroup, commandPath: CommandPath, status: ProcessStatus, configRepository: StacksConfigRepository) => Promise<InternalStandardStack[]>;
|