You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/data/changelog/v1.1.4/autoinclude-config-path-override.mdx
+22-3Lines changed: 22 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,8 +3,27 @@ version: "v1.1.4"
3
3
category: "bug-fixes"
4
4
---
5
5
6
-
#### Autoinclude overrides `config_path`set to a `values.*` attribute
6
+
#### Autoinclude can replace a dependency whose `config_path`uses `values.*`
7
7
8
-
When a unit source declared `config_path = values.vpc_path`in a `dependency` block and the stack file's `autoinclude` replaced that dependency with a different `config_path`, Terragrunt raised an "Unsupported attribute" error because it tried to evaluate `values.vpc_path` before applying the autoinclude override. The `values` block no longer needed `vpc_path` since the autoinclude provided the path, but the evaluation order meant the error surfaced anyway.
8
+
A unit dependency block that set `config_path = values.vpc_path`no longer fails with "Unsupported attribute" when a sibling autoinclude — including one generated from a stack `autoinclude` block — supplies a different `config_path` and the values file does not define `vpc_path`.
9
9
10
-
Terragrunt now detects dependency blocks overridden by a sibling autoinclude and bypasses their initial decode error, allowing the autoinclude replacement to resolve dependencies cleanly.
require.Error(t, err, "a non-overridden dep with unresolvable config_path must still fail")
1599
1599
}
1600
+
1601
+
// Without any autoinclude file, a dependency referencing an absent values attribute must still fail with the original error pointing at the values attribute, not a downstream dependency.vpc error.
// decodeDependencyBlocksWithAutoIncludeRetry decodes dependency blocks, retrying with label-skip when a sibling autoinclude overrides some of them and the first decode fails on unresolvable attributes. Used by both decodeAndRetrieveOutputs and decodeAsTerragruntConfigFile.
// siblingAutoIncludeDepNames extracts dependency block labels from the sibling autoinclude file via a lightweight HCL parse. Returns nil when no autoinclude is registered, the file is absent, or it cannot be parsed.
0 commit comments