From 8bdca46e9b761a3ac7877031882d721274b011be Mon Sep 17 00:00:00 2001 From: Lewis Christie Date: Wed, 8 Oct 2025 13:04:57 -0600 Subject: [PATCH 1/6] WIP migration guide --- .../upgrading-github-v3-to-v4.md | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md diff --git a/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md new file mode 100644 index 0000000000..7da849e936 --- /dev/null +++ b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md @@ -0,0 +1,71 @@ +# Upgrading Pipelines GitHub Workflows From v3 to v4 + +To upgrade Pipelines from v3 to v4, perform the following changes in each +repository that includes the Gruntwork Pipelines Workflows. + +## Updating Terragrunt Version + +The minimum supported Terragrunt version in v4 is **0.86.3**. + +In `.mise.toml` in the root of the repository, update the `terragrunt` version e.g. + +``` +terragrunt = "0.86.3" +``` + +See the [Terragrunt Release Notes](https://github.com/gruntwork-io/terragrunt/releases) for detailed information on the changes to Terragrunt. + + + +## Migrating from root `terragrunt.hcl` to `root.hcl` + +Pipelines v3 used a `terragrunt.hcl` file in the root of the repository for common configuration. This is no longer recommended and should be renamed to `root.hcl`. + +This requires updating Terragrunt files that include this file + +OLD: + +``` +include "root" { + path = find_in_parent_folders() +} +``` + +NEW: +``` +include "root" { + path = find_in_parent_folders("root.hcl") +} +``` + + + +## .gruntwork Config + +YML configuration is officially deprecated in Pipelines v4 + + + +## Allowlisting Actions + + + +## Pipelines Workflow `.github/workflows/pipelines.yml` + + + + +The pipelines workflow now runs a `GruntworkPipelines / Pipelines Status Check` job which can be used for Required status checks. + + + +## Drift Detection Workflow `.github/workflows/pipelines-drift-detection.yml` + + + +## Unlock Workflow `.github/workflows/pipelines-unlock.yml` + + + + + From 0d5c60d63a51d59240ef79ad20a539890d96c78a Mon Sep 17 00:00:00 2001 From: Lewis Christie Date: Wed, 8 Oct 2025 16:41:31 -0600 Subject: [PATCH 2/6] More WIP --- .../upgrading-github-v3-to-v4.md | 49 ++++++++++++++++--- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md index 7da849e936..3027e2921b 100644 --- a/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md +++ b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md @@ -13,38 +13,73 @@ In `.mise.toml` in the root of the repository, update the `terragrunt` version e terragrunt = "0.86.3" ``` -See the [Terragrunt Release Notes](https://github.com/gruntwork-io/terragrunt/releases) for detailed information on the changes to Terragrunt. +See the [Terragrunt Release Notes](https://github.com/gruntwork-io/terragrunt/releases) +for detailed information on the changes to Terragrunt. ## Migrating from root `terragrunt.hcl` to `root.hcl` -Pipelines v3 used a `terragrunt.hcl` file in the root of the repository for common configuration. This is no longer recommended and should be renamed to `root.hcl`. +:::warning +When using a mix of older and newer catalogs, it is important that Terragrunt +units are consistent with their root HCL files. For example v4.0.0 of the +architecture catalog used by Account Factory requires a `root.hcl` file. +::: -This requires updating Terragrunt files that include this file +Pipelines v3 used a `terragrunt.hcl` file in the root of the repository for common configuration. +This is no longer recommended and should be renamed to `root.hcl`. -OLD: +This requires updating Terragrunt files that include this file. +Both `find_in_parent_folders()` and `find_in_parent_folders("terragrunt.hcl")` should +be replaced with `find_in_parent_folder("root.hcl")`. +Typically units including the root like: ``` include "root" { path = find_in_parent_folders() } ``` -NEW: +Will need to be updated like so: ``` include "root" { path = find_in_parent_folders("root.hcl") } ``` +Refer to the [Terragrunt Documentation](https://terragrunt.gruntwork.io/docs/migrate/migrating-from-root-terragrunt-hcl/) +for more details. + -## .gruntwork Config +## Replace `.gruntwork/config.yml` with HCL Config + +:::note +Repositories using only YML configuration will still function with Pipelines v4, +but adding any HCL configuration will prevent the YML from having an effect. + +In the next major release YML configuration will have no effect and HCL will be +required. +::: + +YML configuration is officially deprecated in Pipelines v4. Migrating to HCL +configuration requires adding HCL files to the `.gruntwork` directory in the root +of your repository. + +We recommend adding the following files to your repository. + +```hcl title=".gruntwork/repository.hcl" +repository { + deploy_branch_name = "main" +} +``` + + -YML configuration is officially deprecated in Pipelines v4 +```hcl title= + ## Allowlisting Actions From f841567baa423a0f66bae1c188bc89326afc27c0 Mon Sep 17 00:00:00 2001 From: Lewis Christie Date: Wed, 8 Oct 2025 17:19:34 -0600 Subject: [PATCH 3/6] More WIP guide --- .../upgrading-github-v3-to-v4.md | 165 +++++++++++++++++- 1 file changed, 156 insertions(+), 9 deletions(-) diff --git a/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md index 3027e2921b..08c5f5675a 100644 --- a/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md +++ b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md @@ -69,38 +69,185 @@ of your repository. We recommend adding the following files to your repository. ```hcl title=".gruntwork/repository.hcl" +# Configurations applicable to the entire repository, see: https://docs.gruntwork.io/2.0/reference/pipelines/configurations-as-code/api#repository-block repository { - deploy_branch_name = "main" + deploy_branch_name = "main" + consolidate_added_or_changed = "true" + env { + TG_STRICT_CONTROL = "skip-dependencies-inputs" + TG_DEPENDENCY_FETCH_OUTPUT_FROM_STATE = "true" + TG_EXPERIMENT = "auto-provider-cache-dir" + } } + ``` +The `repository` block contains settings for the entire repository. See the +[Repository Block Attributes](/2.0/reference/pipelines/configurations-as-code/api#repository-block-attributes) +to find which of your existing YML configurations need to be added here. + + +```hcl title=".gruntwork/accounts.hcl" +# AWS account configurations that are usable by the entire repository, see: https://docs.gruntwork.io/2.0/reference/pipelines/configurations-as-code/api#aws-block +aws { + accounts "all" { + // Reading the accounts.yml file from the root of the repository + path = "../accounts.yml" + } +} +``` +The `accounts.hcl` file is a helper to read from the root `accounts.yml` file into your HCL configuration. + +For each account in your repository add an environment-accountname.hcl. For example +for the management account add the following: + +```hcl title=".gruntwork/environment-management.hcl" +# Configurations that are applicable to a specific environment within a repository, see: https://docs.gruntwork.io/2.0/reference/pipelines/configurations-as-code/api/#environment-block +environment "management" { + filter { + paths = ["management/*"] + } + + authentication { + aws_oidc { + # The account references are defined in the accounts.hcl file via the aws block + account_id = aws.accounts.all.management.id + plan_iam_role_arn = "arn:aws:iam::${aws.accounts.all.management.id}:role/root-pipelines-plan" + apply_iam_role_arn = "arn:aws:iam::${aws.accounts.all.management.id}:role/root-pipelines-apply" + } + } +} -```hcl title= +``` + +Repeat this for each environment that needs to be authenticated. + +If your repository has Account Factory add the following file + +```hcl title=".gruntwork/account-factory.hcl" +account_factory { + control_tower_module_version = "" + security_module_version = "" + access_control_repository_name = "" + architecture_catalog_module_version = "" + infrastructure_catalog_module_repository_name = "" +} +``` +Replacing and adding values with the existing values in your YML configuration. +See the [Account Factory HCL](2.0/reference/accountfactory/configurations-as-code) for +a full reference of values. ## Allowlisting Actions - +If your organization maintains an allowlist of GitHub actions, update the allowlist +with the full list of actions in [pipelines-actions v4.0.0](https://github.com/gruntwork-io/pipelines-actions/tree/v4.0.0/.github/actions) + + ## Pipelines Workflow `.github/workflows/pipelines.yml` - - +### Add `actions: read` permission + +Update the Pipelines Workflow in the repository to add `actions: read` + + + +### Update Pipelines GruntworkPipelines uses version + +Update the `uses:` field of the GruntworkPipelines job to reference `@v4` -The pipelines workflow now runs a `GruntworkPipelines / Pipelines Status Check` job which can be used for Required status checks. + - +### Remove PipelinesPassed job + +The pipelines workflow now runs a `GruntworkPipelines / Pipelines Status Check` +job which can be used for Required Status Checks. Remove the PipelinesPassed job +and update any Required Status Checks to use `GruntworkPipelines / Pipelines Status Check`. + + ## Drift Detection Workflow `.github/workflows/pipelines-drift-detection.yml` - +### Update Inputs + +The inputs for Drift Detection have been renamed. + +Update the `workflow_dispatch` section with the new inputs: + +``` + workflow_dispatch: + inputs: + pipelines_drift_detection_filter: + description: Limit drift detection to units matching filter https://docs.gruntwork.io/2.0/docs/pipelines/guides/running-drift-detection#drift-detection-filter + type: string + pipelines_drift_detection_branch: + description: The branch name used for drift remediation PRs + default: drift-detection + type: string +``` + +Update the GruntworkPipelines job to use these inputs: + +``` + with: + pipelines_drift_detection_filter: ${{ inputs.pipelines_drift_detection_filter }} + pipelines_drift_detection_branch: ${{ inputs.pipelines_drift_detection_branch }} +``` + +The syntax for the filter in Drift Detection has changed. Refer to the [Filter Reference](2.0/docs/pipelines/guides/running-drift-detection#drift-detection-filter) + +### Update Drift Detection GruntworkPipelines uses version + +Update the `uses:` field of the GruntworkPipelines job to reference `@v4` + + ## Unlock Workflow `.github/workflows/pipelines-unlock.yml` - +### Update Inputs + +The inputs for Unlock have been renamed. + +Update the `workflow_dispatch` section with the new inputs: + +``` + inputs: + lock_id: + description: "The ID of the lock, usually a GUID. This is generally found in the console output when Terraform/OpenTofu command fails due to a timeout waiting to acquire a lock. (required if not running unlock_all)" + required: false + type: string + unit_path: + description: "Path to the Terragrunt Unit directory where the lock is held (everything up to but not including terragrunt.hcl - required if not running unlock_all)" + required: false + type: string + stack_path: + description: "Path to a Terragrunt Stack directory (everything up to but not including terragrunt.stack.hcl) that generates content required to run unlock in a specified Terragrunt Unit" + required: false + type: string + unlock_all: + description: "Forcibly reset all locks by deleting the dynamodb table" + required: false + type: boolean +``` + +Update the GruntworkPipelines job to use these inputs: + +``` + lock_id: ${{ inputs.lock_id }} + unit_path: ${{ inputs.unit_path }} + stack_path: ${{ inputs.stack_path }} + unlock_all: ${{ inputs.unlock_all }} +``` + +### Update Unlock GruntworkPipelines uses version + +Update the `uses:` field of the GruntworkPipelines job to reference `@v4` + + From 3f40cb3e3764087a6866c217ba71733a95f1df1d Mon Sep 17 00:00:00 2001 From: Oreoluwa Agunbiade Date: Thu, 9 Oct 2025 13:10:48 -0600 Subject: [PATCH 4/6] Updates --- .../upgrading-github-v3-to-v4.md | 120 +++++++++++++----- sidebars/docs.js | 14 +- 2 files changed, 100 insertions(+), 34 deletions(-) diff --git a/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md index 08c5f5675a..65d5067c05 100644 --- a/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md +++ b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md @@ -1,3 +1,5 @@ +import PersistentCheckbox from '@site/src/components/PersistentCheckbox'; + # Upgrading Pipelines GitHub Workflows From v3 to v4 To upgrade Pipelines from v3 to v4, perform the following changes in each @@ -16,9 +18,13 @@ terragrunt = "0.86.3" See the [Terragrunt Release Notes](https://github.com/gruntwork-io/terragrunt/releases) for detailed information on the changes to Terragrunt. - +:::note Progress Checklist + +- [ ] Terragrunt Version Updated -## Migrating from root `terragrunt.hcl` to `root.hcl` +::: + +## Migrating from root terragrunt.hcl to root.hcl :::warning When using a mix of older and newer catalogs, it is important that Terragrunt @@ -50,9 +56,13 @@ include "root" { Refer to the [Terragrunt Documentation](https://terragrunt.gruntwork.io/docs/migrate/migrating-from-root-terragrunt-hcl/) for more details. - +:::note Progress Checklist + +- [ ] Root Terragrunt File Renamed -## Replace `.gruntwork/config.yml` with HCL Config +::: + +## Replace YML Config with HCL Config :::note Repositories using only YML configuration will still function with Pipelines v4, @@ -62,9 +72,10 @@ In the next major release YML configuration will have no effect and HCL will be required. ::: -YML configuration is officially deprecated in Pipelines v4. Migrating to HCL -configuration requires adding HCL files to the `.gruntwork` directory in the root -of your repository. +YML configurations(in the `.gruntwork/config.yml` file) are officially deprecated in Pipelines v4. +Migrating to HCL configuration requires replacing the `config.yml` file with HCL files in the `.gruntwork` directory. + +### Repository Configuration We recommend adding the following files to your repository. @@ -86,6 +97,7 @@ The `repository` block contains settings for the entire repository. See the [Repository Block Attributes](/2.0/reference/pipelines/configurations-as-code/api#repository-block-attributes) to find which of your existing YML configurations need to be added here. +### AWS Accounts Configuration ```hcl title=".gruntwork/accounts.hcl" # AWS account configurations that are usable by the entire repository, see: https://docs.gruntwork.io/2.0/reference/pipelines/configurations-as-code/api#aws-block @@ -99,8 +111,9 @@ aws { The `accounts.hcl` file is a helper to read from the root `accounts.yml` file into your HCL configuration. -For each account in your repository add an environment-accountname.hcl. For example -for the management account add the following: +### Environments Configuration + +For each account in your repository add an environment-**accountname**.hcl file. e.g. for the management account add the following file: ```hcl title=".gruntwork/environment-management.hcl" # Configurations that are applicable to a specific environment within a repository, see: https://docs.gruntwork.io/2.0/reference/pipelines/configurations-as-code/api/#environment-block @@ -121,46 +134,80 @@ environment "management" { ``` -Repeat this for each environment that needs to be authenticated. +:::warning +Note the role-name in the `apply_iam_role_arn` and `plan_iam_role_arn` role ARN values. The role-names should match the Pipelines roles you provisioned in your AWS accounts. +Typically, these roles are: +- `root-pipelines-*` in the main `infrastructure-live` repository +- `access-control-pipelines-*` in an `infrastructure-live-access-control` repository +- `delegated-pipelines-*` in an `infrastructure-live-delegated` repository + +Confirm the values by looking at your Infrastructure as Code for those IAM roles. +::: + +**Repeat this for each environment that needs to be authenticated.** -If your repository has Account Factory add the following file +### Account Factory Configuration + +If your repository has Account Factory add the following file based on your existing YML configuration. ```hcl title=".gruntwork/account-factory.hcl" account_factory { - control_tower_module_version = "" - security_module_version = "" - access_control_repository_name = "" - architecture_catalog_module_version = "" + control_tower_module_version = "" + security_module_version = "" + access_control_repository_name = "" + architecture_catalog_module_version = "" infrastructure_catalog_module_repository_name = "" } ``` -Replacing and adding values with the existing values in your YML configuration. +Replacing and adding values based on your existing YML configuration. See the [Account Factory HCL](2.0/reference/accountfactory/configurations-as-code) for -a full reference of values. +a full reference of values or contact [Gruntwork Support](mailto:support@gruntwork.io) for assistance. + +For Enterprise customers using Account Factory; see the [Account Vending Configuration](/2.0/reference/accountfactory/configurations-as-code#account_vending-block) for converting the account vending configuration to HCL. - + +:::note Progress Checklist + +- [ ] YML Config Replaced + +::: ## Allowlisting Actions If your organization maintains an allowlist of GitHub actions, update the allowlist with the full list of actions in [pipelines-actions v4.0.0](https://github.com/gruntwork-io/pipelines-actions/tree/v4.0.0/.github/actions) - +:::note Progress Checklist + +- [ ] Actions Allowlisted -## Pipelines Workflow `.github/workflows/pipelines.yml` +::: + +## Pipelines Workflow + +In your infrastructure-live repository, update the `.github/workflows/pipelines.yml` file as follows: + +### Add workflow permission + +Update the Pipelines Workflow in the repository to add `actions: read`; required by the latest Pull Request comment functionality. -### Add `actions: read` permission +:::note Progress Checklist -Update the Pipelines Workflow in the repository to add `actions: read` +- [ ] Updated Pipelines Workflow to add `actions: read` permission + +::: - ### Update Pipelines GruntworkPipelines uses version Update the `uses:` field of the GruntworkPipelines job to reference `@v4` - +:::note Progress Checklist + +- [ ] Updated Pipelines Workflow to reference `@v4` + +::: ### Remove PipelinesPassed job @@ -168,9 +215,15 @@ The pipelines workflow now runs a `GruntworkPipelines / Pipelines Status Check` job which can be used for Required Status Checks. Remove the PipelinesPassed job and update any Required Status Checks to use `GruntworkPipelines / Pipelines Status Check`. - +:::note Progress Checklist -## Drift Detection Workflow `.github/workflows/pipelines-drift-detection.yml` +- [ ] Removed PipelinesPassed job + +::: + +## Drift Detection Workflow + +In your infrastructure-live repository, update the `.github/workflows/pipelines-drift-detection.yml` file as follows: ### Update Inputs @@ -204,9 +257,15 @@ The syntax for the filter in Drift Detection has changed. Refer to the [Filter R Update the `uses:` field of the GruntworkPipelines job to reference `@v4` - +:::note Progress Checklist + +- [ ] Drift Detection Uses @v4 -## Unlock Workflow `.github/workflows/pipelines-unlock.yml` +::: + +## Unlock Workflow + +In your infrastructure-live repository, update the `.github/workflows/pipelines-unlock.yml` file as follows: ### Update Inputs @@ -247,7 +306,8 @@ Update the GruntworkPipelines job to use these inputs: Update the `uses:` field of the GruntworkPipelines job to reference `@v4` - - +:::note Progress Checklist +- [ ] Pipelines Unlock Uses @v4 +::: diff --git a/sidebars/docs.js b/sidebars/docs.js index 3fbe36c9c8..ffa22970e6 100644 --- a/sidebars/docs.js +++ b/sidebars/docs.js @@ -149,7 +149,7 @@ const sidebar = [ label: "Custom", type: "doc", id: "2.0/docs/pipelines/concepts/cloud-auth/custom", - } + }, ], }, { @@ -401,14 +401,19 @@ const sidebar = [ { label: "Unlocking State Locks", type: "doc", - id: "2.0/docs/pipelines/guides/unlock" - } + id: "2.0/docs/pipelines/guides/unlock", + }, ], }, { label: "Previous Versions", type: "category", items: [ + { + label: "Upgrading from Pipelines GitHub Workflows v3 to v4", + type: "doc", + id: "2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4", + }, { label: "Upgrading from Infrastructure-Pipelines", type: "doc", @@ -549,7 +554,8 @@ const sidebar = [ id: "2.0/docs/accountfactory/guides/iam-roles", }, { - label: "Automatically Remediate AWS Control Tower Drift with Async Multi-Account Factory Module", + label: + "Automatically Remediate AWS Control Tower Drift with Async Multi-Account Factory Module", type: "doc", id: "2.0/docs/accountfactory/guides/drift-remediation-with-async-module", }, From 7ef7d58ef1c144ad6cdea828540e0984682997bd Mon Sep 17 00:00:00 2001 From: Oreoluwa Agunbiade Date: Thu, 9 Oct 2025 13:22:06 -0600 Subject: [PATCH 5/6] Fix broken links --- .../pipelines/previous-versions/upgrading-github-v3-to-v4.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md index 65d5067c05..4f7f34560a 100644 --- a/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md +++ b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md @@ -161,7 +161,7 @@ account_factory { ``` Replacing and adding values based on your existing YML configuration. -See the [Account Factory HCL](2.0/reference/accountfactory/configurations-as-code) for +See the [Account Factory HCL](/2.0/reference/accountfactory/configurations-as-code) for a full reference of values or contact [Gruntwork Support](mailto:support@gruntwork.io) for assistance. For Enterprise customers using Account Factory; see the [Account Vending Configuration](/2.0/reference/accountfactory/configurations-as-code#account_vending-block) for converting the account vending configuration to HCL. @@ -251,7 +251,7 @@ Update the GruntworkPipelines job to use these inputs: pipelines_drift_detection_branch: ${{ inputs.pipelines_drift_detection_branch }} ``` -The syntax for the filter in Drift Detection has changed. Refer to the [Filter Reference](2.0/docs/pipelines/guides/running-drift-detection#drift-detection-filter) +The syntax for the filter in Drift Detection has changed. Refer to the [Filter Reference](/2.0/docs/pipelines/guides/running-drift-detection#drift-detection-filter) ### Update Drift Detection GruntworkPipelines uses version From 86a2c92b4fe0b86b3e0c9389d51e5cc4477fd3a0 Mon Sep 17 00:00:00 2001 From: Oreoluwa Agunbiade Date: Thu, 9 Oct 2025 13:42:25 -0600 Subject: [PATCH 6/6] PR suggestions --- .../pipelines/previous-versions/upgrading-github-v3-to-v4.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md index 4f7f34560a..de7b446938 100644 --- a/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md +++ b/docs/2.0/docs/pipelines/previous-versions/upgrading-github-v3-to-v4.md @@ -137,7 +137,7 @@ environment "management" { :::warning Note the role-name in the `apply_iam_role_arn` and `plan_iam_role_arn` role ARN values. The role-names should match the Pipelines roles you provisioned in your AWS accounts. Typically, these roles are: -- `root-pipelines-*` in the main `infrastructure-live` repository +- `root-pipelines-*` in the `infrastructure-live-root` repository - `access-control-pipelines-*` in an `infrastructure-live-access-control` repository - `delegated-pipelines-*` in an `infrastructure-live-delegated` repository @@ -164,7 +164,7 @@ Replacing and adding values based on your existing YML configuration. See the [Account Factory HCL](/2.0/reference/accountfactory/configurations-as-code) for a full reference of values or contact [Gruntwork Support](mailto:support@gruntwork.io) for assistance. -For Enterprise customers using Account Factory; see the [Account Vending Configuration](/2.0/reference/accountfactory/configurations-as-code#account_vending-block) for converting the account vending configuration to HCL. +For Enterprise customers using Account Factory: see the [Account Vending Configuration](/2.0/reference/accountfactory/configurations-as-code#account_vending-block) for converting the account vending configuration to HCL. :::note Progress Checklist