@intentius/chant-lexicon-terraform 0.102.0 → 0.104.0
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/__fixtures__/terragrunt/affected-cases.d.ts +23 -0
- package/dist/__fixtures__/terragrunt/affected-cases.d.ts.map +1 -0
- package/dist/__fixtures__/terragrunt/record.d.ts +17 -0
- package/dist/__fixtures__/terragrunt/record.d.ts.map +1 -0
- package/dist/change-set.d.ts +67 -0
- package/dist/change-set.d.ts.map +1 -0
- package/dist/changed-roots.d.ts +30 -0
- package/dist/changed-roots.d.ts.map +1 -0
- package/dist/commands.d.ts +26 -0
- package/dist/commands.d.ts.map +1 -0
- package/dist/components/capability-plugin.d.ts +54 -0
- package/dist/components/capability-plugin.d.ts.map +1 -0
- package/dist/composites/terraform-pin-rollout-op.d.ts +44 -0
- package/dist/composites/terraform-pin-rollout-op.d.ts.map +1 -0
- package/dist/hcl/descend.d.ts +1 -1
- package/dist/hcl/descend.d.ts.map +1 -1
- package/dist/hcl/edges.d.ts +2 -2
- package/dist/hcl/edges.d.ts.map +1 -1
- package/dist/hcl/parse.d.ts +29 -1
- package/dist/hcl/parse.d.ts.map +1 -1
- package/dist/hcl/roots.d.ts +1 -1
- package/dist/hcl/roots.d.ts.map +1 -1
- package/dist/hcl/suppressions.d.ts.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/integrity.json +13 -4
- package/dist/lint/audit-catalog.d.ts.map +1 -1
- package/dist/lint/post-synth/index.d.ts.map +1 -1
- package/dist/lint/post-synth/module-source.d.ts +27 -1
- package/dist/lint/post-synth/module-source.d.ts.map +1 -1
- package/dist/lint/post-synth/terragrunt.d.ts +37 -0
- package/dist/lint/post-synth/terragrunt.d.ts.map +1 -0
- package/dist/lint/post-synth/tf002.d.ts +3 -1
- package/dist/lint/post-synth/tf002.d.ts.map +1 -1
- package/dist/lint/post-synth/tf038.d.ts +22 -0
- package/dist/lint/post-synth/tf038.d.ts.map +1 -0
- package/dist/lint/post-synth/tf039.d.ts +23 -0
- package/dist/lint/post-synth/tf039.d.ts.map +1 -0
- package/dist/lint/post-synth/tf040.d.ts +30 -0
- package/dist/lint/post-synth/tf040.d.ts.map +1 -0
- package/dist/lint/post-synth/tf041.d.ts +20 -0
- package/dist/lint/post-synth/tf041.d.ts.map +1 -0
- package/dist/lint/post-synth/tf042.d.ts +18 -0
- package/dist/lint/post-synth/tf042.d.ts.map +1 -0
- package/dist/lint/post-synth/tf043.d.ts +17 -0
- package/dist/lint/post-synth/tf043.d.ts.map +1 -0
- package/dist/lint/post-synth/tf044.d.ts +17 -0
- package/dist/lint/post-synth/tf044.d.ts.map +1 -0
- package/dist/lint/post-synth/tf045.d.ts +22 -0
- package/dist/lint/post-synth/tf045.d.ts.map +1 -0
- package/dist/manifest.json +1 -1
- package/dist/okf/index.md +8 -0
- package/dist/okf/rules/TF038.md +11 -0
- package/dist/okf/rules/TF039.md +11 -0
- package/dist/okf/rules/TF040.md +11 -0
- package/dist/okf/rules/TF041.md +11 -0
- package/dist/okf/rules/TF042.md +11 -0
- package/dist/okf/rules/TF043.md +11 -0
- package/dist/okf/rules/TF044.md +11 -0
- package/dist/okf/rules/TF045.md +11 -0
- package/dist/op/activities/index.d.ts +4 -0
- package/dist/op/activities/index.d.ts.map +1 -1
- package/dist/op/activities/pin-rollout.d.ts +46 -0
- package/dist/op/activities/pin-rollout.d.ts.map +1 -0
- package/dist/op/activities/terraform.d.ts +24 -50
- package/dist/op/activities/terraform.d.ts.map +1 -1
- package/dist/op/activity-contracts.d.ts +48 -0
- package/dist/op/activity-contracts.d.ts.map +1 -1
- package/dist/op/builders.d.ts +9 -0
- package/dist/op/builders.d.ts.map +1 -1
- package/dist/pin/edit-ts.d.ts +21 -0
- package/dist/pin/edit-ts.d.ts.map +1 -0
- package/dist/pin/edit.d.ts +52 -0
- package/dist/pin/edit.d.ts.map +1 -0
- package/dist/pin/forge.d.ts +39 -0
- package/dist/pin/forge.d.ts.map +1 -0
- package/dist/pin/index.d.ts +22 -0
- package/dist/pin/index.d.ts.map +1 -0
- package/dist/pin/rollout.d.ts +116 -0
- package/dist/pin/rollout.d.ts.map +1 -0
- package/dist/pin/scan.d.ts +54 -0
- package/dist/pin/scan.d.ts.map +1 -0
- package/dist/pin/source.d.ts +93 -0
- package/dist/pin/source.d.ts.map +1 -0
- package/dist/pin/waves.d.ts +66 -0
- package/dist/pin/waves.d.ts.map +1 -0
- package/dist/plan-digest.d.ts +59 -0
- package/dist/plan-digest.d.ts.map +1 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/rules/module-source.ts +56 -1
- package/dist/rules/terragrunt.ts +76 -0
- package/dist/rules/tf002.ts +1 -1
- package/dist/rules/tf038.ts +71 -0
- package/dist/rules/tf039.ts +64 -0
- package/dist/rules/tf040.ts +76 -0
- package/dist/rules/tf041.ts +56 -0
- package/dist/rules/tf042.ts +42 -0
- package/dist/rules/tf043.ts +49 -0
- package/dist/rules/tf044.ts +51 -0
- package/dist/rules/tf045.ts +47 -0
- package/dist/terragrunt/affected.d.ts +119 -0
- package/dist/terragrunt/affected.d.ts.map +1 -0
- package/dist/terragrunt/index.d.ts +11 -0
- package/dist/terragrunt/index.d.ts.map +1 -0
- package/dist/terragrunt/mocks.d.ts +147 -0
- package/dist/terragrunt/mocks.d.ts.map +1 -0
- package/dist/terragrunt/run.d.ts +130 -0
- package/dist/terragrunt/run.d.ts.map +1 -0
- package/dist/terragrunt/units.d.ts +103 -0
- package/dist/terragrunt/units.d.ts.map +1 -0
- package/dist/terragrunt/wave.d.ts +89 -0
- package/dist/terragrunt/wave.d.ts.map +1 -0
- package/package.json +12 -2
- package/src/__fixtures__/change-set/choudoufu-set-plan.change-set.golden.json +95 -0
- package/src/__fixtures__/change-set/choudoufu-set-plan.json +76 -0
- package/src/__fixtures__/change-set/choudoufu.part.golden.json +173 -0
- package/src/__fixtures__/change-set/choudoufu.plan.json +610 -0
- package/src/__fixtures__/change-set/terraform.import-forget.plan.json +81 -0
- package/src/__fixtures__/change-set/terraform.part.golden.json +173 -0
- package/src/__fixtures__/change-set/terraform.plan.json +589 -0
- package/src/__fixtures__/change-set/tofu.part.golden.json +173 -0
- package/src/__fixtures__/change-set/tofu.plan.json +588 -0
- package/src/__fixtures__/change-set/v1.tf.txt +21 -0
- package/src/__fixtures__/change-set/v2-module-app.tf.txt +4 -0
- package/src/__fixtures__/change-set/v2.tf.txt +21 -0
- package/src/__fixtures__/pin/choudoufu-live-waves-n5.json +83 -0
- package/src/__fixtures__/pin/largeset-oci-n5/apply-order.txt +5 -0
- package/src/__fixtures__/pin/largeset-oci-n5/estates/e01/estate.chdf.hcl +6 -0
- package/src/__fixtures__/pin/largeset-oci-n5/estates/e01/main.tf +33 -0
- package/src/__fixtures__/pin/largeset-oci-n5/estates/e02/estate.chdf.hcl +6 -0
- package/src/__fixtures__/pin/largeset-oci-n5/estates/e02/main.tf +45 -0
- package/src/__fixtures__/pin/largeset-oci-n5/estates/e03/estate.chdf.hcl +6 -0
- package/src/__fixtures__/pin/largeset-oci-n5/estates/e03/main.tf +47 -0
- package/src/__fixtures__/pin/largeset-oci-n5/estates/e04/estate.chdf.hcl +6 -0
- package/src/__fixtures__/pin/largeset-oci-n5/estates/e04/main.tf +31 -0
- package/src/__fixtures__/pin/largeset-oci-n5/estates/e05/estate.chdf.hcl +6 -0
- package/src/__fixtures__/pin/largeset-oci-n5/estates/e05/main.tf +27 -0
- package/src/__fixtures__/pin/largeset-oci-n5/fixture.json +77 -0
- package/src/__fixtures__/plan-summary/largeset-n5-bump.json +2071 -0
- package/src/__fixtures__/plan-summary/largeset-n5.summary.golden.json +95 -0
- package/src/__fixtures__/plan-summary/largeset-n5.summary.golden.md +22 -0
- package/src/__fixtures__/plan-summary/largeset-n5.summary.golden.txt +12 -0
- package/src/__fixtures__/terragrunt/affected/catalog/units/web/terragrunt.hcl +3 -0
- package/src/__fixtures__/terragrunt/affected/gitignore +3 -0
- package/src/__fixtures__/terragrunt/affected/live/dev/app/terragrunt.hcl +3 -0
- package/src/__fixtures__/terragrunt/affected/live/dev/vpc/terragrunt.hcl +3 -0
- package/src/__fixtures__/terragrunt/affected/live/prod/app/terragrunt.hcl +3 -0
- package/src/__fixtures__/terragrunt/affected/live/stg/terragrunt.stack.hcl +5 -0
- package/src/__fixtures__/terragrunt/affected/modules/app/main.tf +6 -0
- package/src/__fixtures__/terragrunt/affected/modules/app/policy.json +1 -0
- package/src/__fixtures__/terragrunt/affected/modules/net/main.tf +2 -0
- package/src/__fixtures__/terragrunt/affected/modules/thing/main.tf +3 -0
- package/src/__fixtures__/terragrunt/affected/root.hcl +5 -0
- package/src/__fixtures__/terragrunt/affected-cases.ts +126 -0
- package/src/__fixtures__/terragrunt/five-units/catalog/units/thing/terragrunt.hcl +3 -0
- package/src/__fixtures__/terragrunt/five-units/live/dev/app/terragrunt.hcl +13 -0
- package/src/__fixtures__/terragrunt/five-units/live/dev/db/terragrunt.hcl +8 -0
- package/src/__fixtures__/terragrunt/five-units/live/dev/vpc/terragrunt.hcl +3 -0
- package/src/__fixtures__/terragrunt/five-units/live/prod/app/terragrunt.hcl +8 -0
- package/src/__fixtures__/terragrunt/five-units/live/prod/vpc/terragrunt.hcl +3 -0
- package/src/__fixtures__/terragrunt/five-units/modules/thing/main.tf +7 -0
- package/src/__fixtures__/terragrunt/five-units/root.hcl +5 -0
- package/src/__fixtures__/terragrunt/record.ts +56 -0
- package/src/__fixtures__/terragrunt/recorded/affected-find.json +50 -0
- package/src/__fixtures__/terragrunt/recorded/failed-plan-report.json +36 -0
- package/src/__fixtures__/terragrunt/recorded/find.json +67 -0
- package/src/__fixtures__/terragrunt/recorded/version.txt +1 -0
- package/src/__fixtures__/terragrunt/recorded/wave-1/apply-report.json +22 -0
- package/src/__fixtures__/terragrunt/recorded/wave-1/json/live/dev/vpc/tfplan.json +1 -0
- package/src/__fixtures__/terragrunt/recorded/wave-1/json/live/prod/vpc/tfplan.json +1 -0
- package/src/__fixtures__/terragrunt/recorded/wave-1/plan-report.json +22 -0
- package/src/__fixtures__/terragrunt/recorded/wave-2/json/live/dev/db/tfplan.json +1 -0
- package/src/__fixtures__/terragrunt/recorded/wave-2/json/live/prod/app/tfplan.json +1 -0
- package/src/__fixtures__/terragrunt/recorded/wave-2/plan-report.json +22 -0
- package/src/change-set-combined-run.test.ts +156 -0
- package/src/change-set.test.ts +151 -0
- package/src/change-set.ts +273 -0
- package/src/changed-roots.test.ts +58 -0
- package/src/changed-roots.ts +102 -0
- package/src/commands.ts +112 -0
- package/src/components/capability-plugin.test.ts +91 -0
- package/src/components/capability-plugin.ts +131 -0
- package/src/components/pr-loop.tofu.test.ts +244 -0
- package/src/composites/terraform-pin-rollout-op.test.ts +69 -0
- package/src/composites/terraform-pin-rollout-op.ts +60 -0
- package/src/hcl/descend.ts +1 -1
- package/src/hcl/edges.ts +2 -2
- package/src/hcl/parse.test.ts +25 -0
- package/src/hcl/parse.ts +91 -6
- package/src/hcl/roots.ts +1 -1
- package/src/hcl/suppressions.ts +8 -2
- package/src/index.ts +18 -0
- package/src/lint/audit-catalog.ts +82 -0
- package/src/lint/audit.test.ts +3 -1
- package/src/lint/post-synth/fixtures/TF038/positive.tf +3 -0
- package/src/lint/post-synth/fixtures/TF039/positive.tf +4 -0
- package/src/lint/post-synth/fixtures/TF041/negative/terragrunt.hcl +12 -0
- package/src/lint/post-synth/fixtures/TF041/positive/terragrunt.hcl +7 -0
- package/src/lint/post-synth/fixtures/TF041/positive-apply/terragrunt.hcl +8 -0
- package/src/lint/post-synth/fixtures/TF042/negative/terragrunt.hcl +13 -0
- package/src/lint/post-synth/fixtures/TF042/positive/terragrunt.hcl +9 -0
- package/src/lint/post-synth/fixtures/TF043/negative/terragrunt.hcl +3 -0
- package/src/lint/post-synth/fixtures/TF043/negative-other/terragrunt.hcl +3 -0
- package/src/lint/post-synth/fixtures/TF043/positive-git/terragrunt.hcl +3 -0
- package/src/lint/post-synth/fixtures/TF043/positive-oci/terragrunt.hcl +3 -0
- package/src/lint/post-synth/fixtures/TF043/positive-tfr/terragrunt.hcl +3 -0
- package/src/lint/post-synth/fixtures/TF044/negative/terragrunt.hcl +9 -0
- package/src/lint/post-synth/fixtures/TF044/positive/terragrunt.hcl +7 -0
- package/src/lint/post-synth/fixtures/TF044/positive-generate/terragrunt.hcl +9 -0
- package/src/lint/post-synth/fixtures/TF045/negative/root.hcl +1 -0
- package/src/lint/post-synth/fixtures/TF045/negative/terragrunt.hcl +3 -0
- package/src/lint/post-synth/fixtures/TF045/positive/root.hcl +9 -0
- package/src/lint/post-synth/fixtures/TF045/positive/terragrunt.hcl +3 -0
- package/src/lint/post-synth/fixtures/TF045/unit-only/terragrunt.hcl +3 -0
- package/src/lint/post-synth/index.ts +16 -0
- package/src/lint/post-synth/module-source.test.ts +42 -1
- package/src/lint/post-synth/module-source.ts +56 -1
- package/src/lint/post-synth/terragrunt.ts +76 -0
- package/src/lint/post-synth/tf002.ts +1 -1
- package/src/lint/post-synth/tf038.test.ts +51 -0
- package/src/lint/post-synth/tf038.ts +71 -0
- package/src/lint/post-synth/tf039.test.ts +40 -0
- package/src/lint/post-synth/tf039.ts +64 -0
- package/src/lint/post-synth/tf040.test.ts +55 -0
- package/src/lint/post-synth/tf040.ts +76 -0
- package/src/lint/post-synth/tf041.test.ts +50 -0
- package/src/lint/post-synth/tf041.ts +56 -0
- package/src/lint/post-synth/tf042.test.ts +19 -0
- package/src/lint/post-synth/tf042.ts +42 -0
- package/src/lint/post-synth/tf043.test.ts +65 -0
- package/src/lint/post-synth/tf043.ts +49 -0
- package/src/lint/post-synth/tf044.test.ts +27 -0
- package/src/lint/post-synth/tf044.ts +51 -0
- package/src/lint/post-synth/tf045.test.ts +30 -0
- package/src/lint/post-synth/tf045.ts +47 -0
- package/src/op/activities/index.ts +4 -0
- package/src/op/activities/pin-rollout.ts +77 -0
- package/src/op/activities/terraform.test.ts +13 -0
- package/src/op/activities/terraform.ts +46 -86
- package/src/op/activity-contracts.test.ts +4 -1
- package/src/op/activity-contracts.ts +42 -0
- package/src/op/builders.ts +13 -0
- package/src/pin/bundle.test.ts +53 -0
- package/src/pin/edit-ts.test.ts +39 -0
- package/src/pin/edit-ts.ts +77 -0
- package/src/pin/edit.test.ts +199 -0
- package/src/pin/edit.ts +157 -0
- package/src/pin/forge.ts +85 -0
- package/src/pin/index.ts +22 -0
- package/src/pin/rollout.test.ts +232 -0
- package/src/pin/rollout.ts +451 -0
- package/src/pin/scan.ts +309 -0
- package/src/pin/source.ts +206 -0
- package/src/pin/waves.test.ts +101 -0
- package/src/pin/waves.ts +125 -0
- package/src/plan-digest.ts +99 -0
- package/src/plan-summary.test.ts +154 -0
- package/src/plugin.ts +25 -2
- package/src/terragrunt/affected.acceptance.test.ts +83 -0
- package/src/terragrunt/affected.test.ts +177 -0
- package/src/terragrunt/affected.ts +348 -0
- package/src/terragrunt/index.ts +11 -0
- package/src/terragrunt/mocks.acceptance.test.ts +105 -0
- package/src/terragrunt/mocks.test.ts +309 -0
- package/src/terragrunt/mocks.ts +324 -0
- package/src/terragrunt/run.ts +369 -0
- package/src/terragrunt/terragrunt.acceptance.test.ts +122 -0
- package/src/terragrunt/terragrunt.test.ts +332 -0
- package/src/terragrunt/units.ts +235 -0
- package/src/terragrunt/wave.ts +181 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://intentius.io/chant/schemas/workspace/plan-summary/v1/plan-summary.schema.json",
|
|
3
|
+
"contract": 1,
|
|
4
|
+
"changeSet": "jcs1-sha256:d2b38ac960ee6b3f794d7449ce51589697b388564ae05a169549c665c10d9529",
|
|
5
|
+
"unit": "member",
|
|
6
|
+
"units": 5,
|
|
7
|
+
"groups": [
|
|
8
|
+
{
|
|
9
|
+
"id": "79cd3ea7ffaf",
|
|
10
|
+
"units": [
|
|
11
|
+
"estates/e01",
|
|
12
|
+
"estates/e02",
|
|
13
|
+
"estates/e03",
|
|
14
|
+
"estates/e05"
|
|
15
|
+
],
|
|
16
|
+
"outlier": false,
|
|
17
|
+
"noChanges": false,
|
|
18
|
+
"changes": [
|
|
19
|
+
{
|
|
20
|
+
"line": "+ module.shared.aws_sqs_queue.events",
|
|
21
|
+
"action": "create",
|
|
22
|
+
"count": 1
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"line": "~ module.shared.aws_iam_role.app: tags, tags_all",
|
|
26
|
+
"action": "update",
|
|
27
|
+
"count": 1
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"line": "~ module.shared.aws_s3_bucket.data: replication_configuration, tags, tags_all",
|
|
31
|
+
"action": "update",
|
|
32
|
+
"count": 1
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"line": "~ module.shared.aws_sqs_queue.work: tags, tags_all, visibility_timeout_seconds",
|
|
36
|
+
"action": "update",
|
|
37
|
+
"count": 1
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"destroys": [],
|
|
41
|
+
"sideEffects": []
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "36dca470b879",
|
|
45
|
+
"units": [
|
|
46
|
+
"estates/e04"
|
|
47
|
+
],
|
|
48
|
+
"outlier": true,
|
|
49
|
+
"noChanges": false,
|
|
50
|
+
"changes": [
|
|
51
|
+
{
|
|
52
|
+
"line": "+ module.shared.aws_sqs_queue.events",
|
|
53
|
+
"action": "create",
|
|
54
|
+
"count": 1
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"line": "~ module.shared.aws_iam_role.app: tags, tags_all",
|
|
58
|
+
"action": "update",
|
|
59
|
+
"count": 1
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"line": "~ module.shared.aws_s3_bucket.data: replication_configuration, tags, tags_all",
|
|
63
|
+
"action": "update",
|
|
64
|
+
"count": 1
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"line": "~ module.shared.aws_sqs_queue.extra: tags, tags_all",
|
|
68
|
+
"action": "update",
|
|
69
|
+
"count": 1
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"line": "~ module.shared.aws_sqs_queue.work: tags, tags_all, visibility_timeout_seconds",
|
|
73
|
+
"action": "update",
|
|
74
|
+
"count": 1
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"extends": "79cd3ea7ffaf",
|
|
78
|
+
"plus": [
|
|
79
|
+
{
|
|
80
|
+
"line": "~ module.shared.aws_sqs_queue.extra: tags, tags_all",
|
|
81
|
+
"action": "update",
|
|
82
|
+
"count": 1
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"destroys": [],
|
|
86
|
+
"sideEffects": []
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"failed": [],
|
|
90
|
+
"destroys": [],
|
|
91
|
+
"imports": [],
|
|
92
|
+
"forgets": [],
|
|
93
|
+
"sideEffects": [],
|
|
94
|
+
"holes": []
|
|
95
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
### Plan summary
|
|
2
|
+
|
|
3
|
+
5 members: 2 groups, 0 destroys or replacements.
|
|
4
|
+
|
|
5
|
+
#### Group 79cd3ea7ffaf: 4 members, identical change
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
+ module.shared.aws_sqs_queue.events
|
|
9
|
+
~ module.shared.aws_iam_role.app: tags, tags_all
|
|
10
|
+
~ module.shared.aws_s3_bucket.data: replication_configuration, tags, tags_all
|
|
11
|
+
~ module.shared.aws_sqs_queue.work: tags, tags_all, visibility_timeout_seconds
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Members: `estates/e01`, `estates/e02`, `estates/e03`, `estates/e05`
|
|
15
|
+
|
|
16
|
+
#### Group 36dca470b879: 1 member (outlier), group 79cd3ea7ffaf's change plus
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
~ module.shared.aws_sqs_queue.extra: tags, tags_all
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Members: `estates/e04`
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
5 members: 2 groups, 0 destroys or replacements.
|
|
2
|
+
|
|
3
|
+
Group 79cd3ea7ffaf: 4 members, identical change:
|
|
4
|
+
+ module.shared.aws_sqs_queue.events
|
|
5
|
+
~ module.shared.aws_iam_role.app: tags, tags_all
|
|
6
|
+
~ module.shared.aws_s3_bucket.data: replication_configuration, tags, tags_all
|
|
7
|
+
~ module.shared.aws_sqs_queue.work: tags, tags_all, visibility_timeout_seconds
|
|
8
|
+
members: estates/e01, estates/e02, estates/e03, estates/e05
|
|
9
|
+
|
|
10
|
+
Group 36dca470b879: 1 member (outlier), group 79cd3ea7ffaf's change plus:
|
|
11
|
+
~ module.shared.aws_sqs_queue.extra: tags, tags_all
|
|
12
|
+
members: estates/e04
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"allow": ["read"]}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Changes to the `affected/` fixture and what each selects (#3415). Shared by
|
|
3
|
+
* `terragrunt/affected.test.ts`, which feeds the recorded `terragrunt` column
|
|
4
|
+
* to the selection, and `terragrunt/affected.acceptance.test.ts`, which makes
|
|
5
|
+
* each change as a commit and checks the column against a real Terragrunt.
|
|
6
|
+
*
|
|
7
|
+
* `terragrunt` is what Terragrunt's own `[base...HEAD]` filter selected
|
|
8
|
+
* (observed on 1.1.6 and 1.2.0-rc1). The supplement cases select nothing
|
|
9
|
+
* there: that column is the red half of each supplement.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { appendFileSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
13
|
+
import { join } from "node:path";
|
|
14
|
+
import type { TerragruntAffectedUnit } from "../../terragrunt/affected";
|
|
15
|
+
|
|
16
|
+
export interface AffectedCase {
|
|
17
|
+
name: string;
|
|
18
|
+
/** Make the change in a copy of the fixture. */
|
|
19
|
+
change: (dir: string) => void;
|
|
20
|
+
/** What `git diff --name-only` lists for the change. */
|
|
21
|
+
changed: string[];
|
|
22
|
+
/** What Terragrunt's own git filter selects, catalog excluded. */
|
|
23
|
+
terragrunt: string[];
|
|
24
|
+
expected: TerragruntAffectedUnit[];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const touch = (file: string) => (dir: string) => appendFileSync(join(dir, file), "\n# changed\n");
|
|
28
|
+
|
|
29
|
+
export const AFFECTED_CASES: AffectedCase[] = [
|
|
30
|
+
{
|
|
31
|
+
name: "a unit's own terragrunt.hcl",
|
|
32
|
+
change: touch("live/dev/vpc/terragrunt.hcl"),
|
|
33
|
+
changed: ["live/dev/vpc/terragrunt.hcl"],
|
|
34
|
+
terragrunt: ["live/dev/vpc"],
|
|
35
|
+
expected: [{ path: "live/dev/vpc", reasons: [{ kind: "terragrunt", files: ["live/dev/vpc/terragrunt.hcl"] }] }],
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: "a .tf file of the units' module",
|
|
39
|
+
change: touch("modules/app/main.tf"),
|
|
40
|
+
changed: ["modules/app/main.tf"],
|
|
41
|
+
terragrunt: ["live/dev/app", "live/prod/app"],
|
|
42
|
+
expected: [
|
|
43
|
+
{ path: "live/dev/app", reasons: [{ kind: "terragrunt", files: ["modules/app/main.tf"] }] },
|
|
44
|
+
{ path: "live/prod/app", reasons: [{ kind: "terragrunt", files: ["modules/app/main.tf"] }] },
|
|
45
|
+
],
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: "the root.hcl every unit includes",
|
|
49
|
+
change: touch("root.hcl"),
|
|
50
|
+
changed: ["root.hcl"],
|
|
51
|
+
terragrunt: ["live/dev/app", "live/dev/vpc", "live/prod/app", "live/stg/.terragrunt-stack/web"],
|
|
52
|
+
expected: ["live/dev/app", "live/dev/vpc", "live/prod/app", "live/stg/.terragrunt-stack/web"].map((path) => ({
|
|
53
|
+
path,
|
|
54
|
+
reasons: [{ kind: "terragrunt" as const, files: ["root.hcl"] }],
|
|
55
|
+
})),
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: "supplement 1: a file the module reads with file()",
|
|
59
|
+
change: (dir) => writeFileSync(join(dir, "modules/app/policy.json"), '{"allow": ["read", "write"]}\n'),
|
|
60
|
+
changed: ["modules/app/policy.json"],
|
|
61
|
+
terragrunt: [],
|
|
62
|
+
expected: [
|
|
63
|
+
{ path: "live/dev/app", reasons: [{ kind: "module-file", files: ["modules/app/policy.json"], via: "modules/app" }] },
|
|
64
|
+
{ path: "live/prod/app", reasons: [{ kind: "module-file", files: ["modules/app/policy.json"], via: "modules/app" }] },
|
|
65
|
+
],
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "supplement 2: a module the units' module calls",
|
|
69
|
+
change: touch("modules/net/main.tf"),
|
|
70
|
+
changed: ["modules/net/main.tf"],
|
|
71
|
+
terragrunt: [],
|
|
72
|
+
expected: [
|
|
73
|
+
{ path: "live/dev/app", reasons: [{ kind: "module-call", files: ["modules/net/main.tf"], via: "modules/net" }] },
|
|
74
|
+
{ path: "live/prod/app", reasons: [{ kind: "module-call", files: ["modules/net/main.tf"], via: "modules/net" }] },
|
|
75
|
+
],
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
name: "supplement 3: the stack's local unit template",
|
|
79
|
+
change: touch("catalog/units/web/terragrunt.hcl"),
|
|
80
|
+
changed: ["catalog/units/web/terragrunt.hcl"],
|
|
81
|
+
terragrunt: [],
|
|
82
|
+
expected: [
|
|
83
|
+
{
|
|
84
|
+
path: "live/stg/.terragrunt-stack/web",
|
|
85
|
+
reasons: [{ kind: "stack-template", files: ["catalog/units/web/terragrunt.hcl"], via: "catalog/units/web" }],
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
// A comment-only edit generates the same unit, and Terragrunt then selects nothing.
|
|
91
|
+
name: "a value in the stack file",
|
|
92
|
+
change: (dir) => {
|
|
93
|
+
const f = join(dir, "live/stg/terragrunt.stack.hcl");
|
|
94
|
+
writeFileSync(f, readFileSync(f, "utf8").replace('"stg-web"', '"stg-web-2"'));
|
|
95
|
+
},
|
|
96
|
+
changed: ["live/stg/terragrunt.stack.hcl"],
|
|
97
|
+
terragrunt: ["live/stg/.terragrunt-stack/web"],
|
|
98
|
+
expected: [{ path: "live/stg/.terragrunt-stack/web", reasons: [{ kind: "terragrunt", files: ["live/stg/terragrunt.stack.hcl"] }] }],
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
name: "a removed unit",
|
|
102
|
+
change: (dir) => rmSync(join(dir, "live/prod/app"), { recursive: true }),
|
|
103
|
+
changed: ["live/prod/app/terragrunt.hcl"],
|
|
104
|
+
terragrunt: ["live/prod/app"],
|
|
105
|
+
expected: [{ path: "live/prod/app", reasons: [{ kind: "removed", files: ["live/prod/app/terragrunt.hcl"] }] }],
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
name: "a unit's own file and its module's data file together",
|
|
109
|
+
change: (dir) => {
|
|
110
|
+
touch("live/dev/app/terragrunt.hcl")(dir);
|
|
111
|
+
writeFileSync(join(dir, "modules/app/policy.json"), "{}\n");
|
|
112
|
+
},
|
|
113
|
+
changed: ["live/dev/app/terragrunt.hcl", "modules/app/policy.json"],
|
|
114
|
+
terragrunt: ["live/dev/app"],
|
|
115
|
+
expected: [
|
|
116
|
+
{
|
|
117
|
+
path: "live/dev/app",
|
|
118
|
+
reasons: [
|
|
119
|
+
{ kind: "terragrunt", files: ["live/dev/app/terragrunt.hcl"] },
|
|
120
|
+
{ kind: "module-file", files: ["modules/app/policy.json"], via: "modules/app" },
|
|
121
|
+
],
|
|
122
|
+
},
|
|
123
|
+
{ path: "live/prod/app", reasons: [{ kind: "module-file", files: ["modules/app/policy.json"], via: "modules/app" }] },
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
include "root" { path = find_in_parent_folders("root.hcl") }
|
|
2
|
+
terraform { source = "../../../modules/thing" }
|
|
3
|
+
dependency "live_dev_vpc" {
|
|
4
|
+
config_path = "../vpc"
|
|
5
|
+
mock_outputs = { id = "mock" }
|
|
6
|
+
mock_outputs_allowed_terraform_commands = ["validate", "plan"]
|
|
7
|
+
}
|
|
8
|
+
dependency "live_dev_db" {
|
|
9
|
+
config_path = "../db"
|
|
10
|
+
mock_outputs = { id = "mock" }
|
|
11
|
+
mock_outputs_allowed_terraform_commands = ["validate", "plan"]
|
|
12
|
+
}
|
|
13
|
+
inputs = { name = "live-dev-app", upstream = [ dependency.live_dev_vpc.outputs.id, dependency.live_dev_db.outputs.id,] }
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
include "root" { path = find_in_parent_folders("root.hcl") }
|
|
2
|
+
terraform { source = "../../../modules/thing" }
|
|
3
|
+
dependency "live_dev_vpc" {
|
|
4
|
+
config_path = "../vpc"
|
|
5
|
+
mock_outputs = { id = "mock" }
|
|
6
|
+
mock_outputs_allowed_terraform_commands = ["validate", "plan"]
|
|
7
|
+
}
|
|
8
|
+
inputs = { name = "live-dev-db", upstream = [ dependency.live_dev_vpc.outputs.id,] }
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
include "root" { path = find_in_parent_folders("root.hcl") }
|
|
2
|
+
terraform { source = "../../../modules/thing" }
|
|
3
|
+
dependency "live_prod_vpc" {
|
|
4
|
+
config_path = "../vpc"
|
|
5
|
+
mock_outputs = { id = "mock" }
|
|
6
|
+
mock_outputs_allowed_terraform_commands = ["validate", "plan"]
|
|
7
|
+
}
|
|
8
|
+
inputs = { name = "live-prod-app", upstream = [ dependency.live_prod_vpc.outputs.id,] }
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-record `recorded/` from a real Terragrunt run over `five-units/`:
|
|
3
|
+
*
|
|
4
|
+
* PATH=<dir with terragrunt 1.1+ and tofu>:$PATH npx tsx lexicons/terraform/src/__fixtures__/terragrunt/record.ts
|
|
5
|
+
*
|
|
6
|
+
* It copies the fixture to a temporary directory, discovers the units, plans
|
|
7
|
+
* and applies wave 1, then plans wave 2, and writes what Terragrunt printed
|
|
8
|
+
* and wrote with the temporary directory's path taken out.
|
|
9
|
+
*
|
|
10
|
+
* `recorded/failed-plan-report.json` is not written here. It was recorded by
|
|
11
|
+
* hand with Terragrunt 1.1.6 and OpenTofu 1.12.5, planning `live/dev/db`,
|
|
12
|
+
* `live/dev/app` and `live/prod/app` in one run after giving `live/dev/db` a
|
|
13
|
+
* `before_hook` that runs `false` on plan: db fails, app exits early because
|
|
14
|
+
* db failed, and prod/app plans.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import { cpSync, mkdtempSync, readFileSync, rmSync, writeFileSync, mkdirSync } from "node:fs";
|
|
18
|
+
import { tmpdir } from "node:os";
|
|
19
|
+
import { dirname, join } from "node:path";
|
|
20
|
+
import { fileURLToPath } from "node:url";
|
|
21
|
+
import { defaultTerragruntExec, terragruntFindArgs, terragruntWaveArgs, terragruntWaves, parseTerragruntFind } from "../../terragrunt";
|
|
22
|
+
|
|
23
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
24
|
+
const out = join(here, "recorded");
|
|
25
|
+
const tmp = mkdtempSync(join(tmpdir(), "chant-tg-record-"));
|
|
26
|
+
const dir = join(tmp, "repo");
|
|
27
|
+
cpSync(join(here, "five-units"), dir, { recursive: true });
|
|
28
|
+
const scrub = (s: string): string => s.split(tmp).join("<tmp>");
|
|
29
|
+
const save = (name: string, text: string): void => {
|
|
30
|
+
mkdirSync(dirname(join(out, name)), { recursive: true });
|
|
31
|
+
writeFileSync(join(out, name), scrub(text));
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const version = await defaultTerragruntExec("terragrunt", ["--version"], { cwd: dir, env: {} });
|
|
35
|
+
save("version.txt", version.stdout);
|
|
36
|
+
const find = await defaultTerragruntExec("terragrunt", terragruntFindArgs(), { cwd: dir, env: {} });
|
|
37
|
+
if (find.code !== 0) throw new Error(find.stderr);
|
|
38
|
+
save("find.json", find.stdout);
|
|
39
|
+
const waves = terragruntWaves(parseTerragruntFind(find.stdout));
|
|
40
|
+
for (const [i, units] of waves.slice(0, 2).entries()) {
|
|
41
|
+
const n = i + 1;
|
|
42
|
+
const work = join(tmp, `wave-${n}`);
|
|
43
|
+
const plan = terragruntWaveArgs({ units, command: "plan", outDir: join(work, "plans"), jsonOutDir: join(work, "json"), reportFile: join(work, "plan-report.json") });
|
|
44
|
+
const p = await defaultTerragruntExec("terragrunt", plan, { cwd: dir, env: {} });
|
|
45
|
+
if (p.code !== 0) throw new Error(p.stderr);
|
|
46
|
+
save(`wave-${n}/plan-report.json`, readFileSync(join(work, "plan-report.json"), "utf8"));
|
|
47
|
+
for (const u of units) save(`wave-${n}/json/${u}/tfplan.json`, readFileSync(join(work, "json", u, "tfplan.json"), "utf8"));
|
|
48
|
+
if (n === 1) {
|
|
49
|
+
const apply = terragruntWaveArgs({ units, command: "apply", outDir: join(work, "plans"), reportFile: join(work, "apply-report.json") });
|
|
50
|
+
const a = await defaultTerragruntExec("terragrunt", apply, { cwd: dir, env: {} });
|
|
51
|
+
if (a.code !== 0) throw new Error(a.stderr);
|
|
52
|
+
save(`wave-${n}/apply-report.json`, readFileSync(join(work, "apply-report.json"), "utf8"));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
rmSync(tmp, { recursive: true, force: true });
|
|
56
|
+
console.log(`recorded ${out}`);
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"type": "unit",
|
|
4
|
+
"path": "live/dev/app",
|
|
5
|
+
"include": {
|
|
6
|
+
"root": "root.hcl"
|
|
7
|
+
},
|
|
8
|
+
"reading": [
|
|
9
|
+
"modules/app/main.tf",
|
|
10
|
+
"root.hcl"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"type": "unit",
|
|
15
|
+
"path": "live/dev/vpc",
|
|
16
|
+
"include": {
|
|
17
|
+
"root": "root.hcl"
|
|
18
|
+
},
|
|
19
|
+
"reading": [
|
|
20
|
+
"modules/thing/main.tf",
|
|
21
|
+
"root.hcl"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "unit",
|
|
26
|
+
"path": "live/prod/app",
|
|
27
|
+
"include": {
|
|
28
|
+
"root": "root.hcl"
|
|
29
|
+
},
|
|
30
|
+
"reading": [
|
|
31
|
+
"modules/app/main.tf",
|
|
32
|
+
"root.hcl"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"type": "stack",
|
|
37
|
+
"path": "live/stg"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"type": "unit",
|
|
41
|
+
"path": "live/stg/.terragrunt-stack/web",
|
|
42
|
+
"include": {
|
|
43
|
+
"root": "root.hcl"
|
|
44
|
+
},
|
|
45
|
+
"reading": [
|
|
46
|
+
"modules/thing/main.tf",
|
|
47
|
+
"root.hcl"
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
]
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"Started": "2026-10-03T21:49:02.34817-06:00",
|
|
4
|
+
"Ended": "2026-10-03T21:49:02.502195-06:00",
|
|
5
|
+
"Reason": "run error",
|
|
6
|
+
"Cause": "error occurred:\n\n* Failed to execute \"false\" in ./live/dev/db/.terragrunt-cache/LAwNEq4aOTzWWv43O_15pH6E0Tk/zc-bcd5wSzLXJhJ1nHeK3mim74w\n \n exit status 1\n",
|
|
7
|
+
"Name": "live/dev/db",
|
|
8
|
+
"Result": "failed",
|
|
9
|
+
"Cmd": "plan",
|
|
10
|
+
"Args": [
|
|
11
|
+
"-detailed-exitcode"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"Started": "2026-10-03T21:49:02.349044-06:00",
|
|
16
|
+
"Ended": "2026-10-03T21:49:02.439947-06:00",
|
|
17
|
+
"Name": "live/prod/app",
|
|
18
|
+
"Result": "succeeded",
|
|
19
|
+
"Cmd": "plan",
|
|
20
|
+
"Args": [
|
|
21
|
+
"-detailed-exitcode"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"Started": "2026-10-03T21:49:02.502206-06:00",
|
|
26
|
+
"Ended": "2026-10-03T21:49:02.502207-06:00",
|
|
27
|
+
"Reason": "ancestor error",
|
|
28
|
+
"Cause": "db",
|
|
29
|
+
"Name": "live/dev/app",
|
|
30
|
+
"Result": "early exit",
|
|
31
|
+
"Cmd": "plan",
|
|
32
|
+
"Args": [
|
|
33
|
+
"-detailed-exitcode"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
]
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"type": "unit",
|
|
4
|
+
"path": "live/dev/vpc",
|
|
5
|
+
"include": {
|
|
6
|
+
"root": "root.hcl"
|
|
7
|
+
},
|
|
8
|
+
"reading": [
|
|
9
|
+
"modules/thing/main.tf",
|
|
10
|
+
"root.hcl"
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"type": "unit",
|
|
15
|
+
"path": "live/prod/vpc",
|
|
16
|
+
"include": {
|
|
17
|
+
"root": "root.hcl"
|
|
18
|
+
},
|
|
19
|
+
"reading": [
|
|
20
|
+
"modules/thing/main.tf",
|
|
21
|
+
"root.hcl"
|
|
22
|
+
]
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "unit",
|
|
26
|
+
"path": "live/dev/db",
|
|
27
|
+
"include": {
|
|
28
|
+
"root": "root.hcl"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": [
|
|
31
|
+
"live/dev/vpc"
|
|
32
|
+
],
|
|
33
|
+
"reading": [
|
|
34
|
+
"modules/thing/main.tf",
|
|
35
|
+
"root.hcl"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"type": "unit",
|
|
40
|
+
"path": "live/prod/app",
|
|
41
|
+
"include": {
|
|
42
|
+
"root": "root.hcl"
|
|
43
|
+
},
|
|
44
|
+
"dependencies": [
|
|
45
|
+
"live/prod/vpc"
|
|
46
|
+
],
|
|
47
|
+
"reading": [
|
|
48
|
+
"modules/thing/main.tf",
|
|
49
|
+
"root.hcl"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"type": "unit",
|
|
54
|
+
"path": "live/dev/app",
|
|
55
|
+
"include": {
|
|
56
|
+
"root": "root.hcl"
|
|
57
|
+
},
|
|
58
|
+
"dependencies": [
|
|
59
|
+
"live/dev/db",
|
|
60
|
+
"live/dev/vpc"
|
|
61
|
+
],
|
|
62
|
+
"reading": [
|
|
63
|
+
"modules/thing/main.tf",
|
|
64
|
+
"root.hcl"
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
terragrunt version v1.1.6
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"Started": "2026-10-03T21:52:46.75567-06:00",
|
|
4
|
+
"Ended": "2026-10-03T21:52:46.8429-06:00",
|
|
5
|
+
"Name": "live/prod/vpc",
|
|
6
|
+
"Result": "succeeded",
|
|
7
|
+
"Cmd": "apply",
|
|
8
|
+
"Args": [
|
|
9
|
+
"-no-color"
|
|
10
|
+
]
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"Started": "2026-10-03T21:52:46.75727-06:00",
|
|
14
|
+
"Ended": "2026-10-03T21:52:46.843046-06:00",
|
|
15
|
+
"Name": "live/dev/vpc",
|
|
16
|
+
"Result": "succeeded",
|
|
17
|
+
"Cmd": "apply",
|
|
18
|
+
"Args": [
|
|
19
|
+
"-no-color"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"format_version":"1.2","terraform_version":"1.12.5","variables":{"name":{"value":"live-dev-vpc"},"upstream":{"value":[]}},"planned_values":{"outputs":{"id":{"sensitive":false,"type":"string","value":"live-dev-vpc-id"}},"root_module":{"resources":[{"address":"terraform_data.this","mode":"managed","type":"terraform_data","name":"this","provider_name":"terraform.io/builtin/terraform","schema_version":0,"values":{"input":{"name":"live-dev-vpc","upstream":[]},"triggers_replace":null},"sensitive_values":{"input":{"upstream":[]},"output":{}}}]}},"resource_changes":[{"address":"terraform_data.this","mode":"managed","type":"terraform_data","name":"this","provider_name":"terraform.io/builtin/terraform","change":{"actions":["create"],"before":null,"after":{"input":{"name":"live-dev-vpc","upstream":[]},"triggers_replace":null},"after_unknown":{"id":true,"input":{"upstream":[]},"output":true},"before_sensitive":false,"after_sensitive":{"input":{"upstream":[]},"output":{}}}}],"output_changes":{"id":{"actions":["create"],"before":null,"after":"live-dev-vpc-id","after_unknown":false,"before_sensitive":false,"after_sensitive":false}},"prior_state":{"format_version":"1.0","terraform_version":"1.12.5","values":{"outputs":{"id":{"sensitive":false,"value":"live-dev-vpc-id","type":"string"}},"root_module":{}}},"configuration":{"provider_config":{"terraform":{"name":"terraform","full_name":"terraform.io/builtin/terraform"}},"root_module":{"outputs":{"id":{"expression":{"references":["var.name"]}}},"resources":[{"address":"terraform_data.this","mode":"managed","type":"terraform_data","name":"this","provider_config_key":"terraform","expressions":{"input":{"references":["var.name","var.upstream"]}},"schema_version":0}],"variables":{"name":{"type":"string","required":true},"upstream":{"type":["list","string"],"default":[]}}}},"timestamp":"2026-10-04T03:52:46Z","errored":false}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"format_version":"1.2","terraform_version":"1.12.5","variables":{"name":{"value":"live-prod-vpc"},"upstream":{"value":[]}},"planned_values":{"outputs":{"id":{"sensitive":false,"type":"string","value":"live-prod-vpc-id"}},"root_module":{"resources":[{"address":"terraform_data.this","mode":"managed","type":"terraform_data","name":"this","provider_name":"terraform.io/builtin/terraform","schema_version":0,"values":{"input":{"name":"live-prod-vpc","upstream":[]},"triggers_replace":null},"sensitive_values":{"input":{"upstream":[]},"output":{}}}]}},"resource_changes":[{"address":"terraform_data.this","mode":"managed","type":"terraform_data","name":"this","provider_name":"terraform.io/builtin/terraform","change":{"actions":["create"],"before":null,"after":{"input":{"name":"live-prod-vpc","upstream":[]},"triggers_replace":null},"after_unknown":{"id":true,"input":{"upstream":[]},"output":true},"before_sensitive":false,"after_sensitive":{"input":{"upstream":[]},"output":{}}}}],"output_changes":{"id":{"actions":["create"],"before":null,"after":"live-prod-vpc-id","after_unknown":false,"before_sensitive":false,"after_sensitive":false}},"prior_state":{"format_version":"1.0","terraform_version":"1.12.5","values":{"outputs":{"id":{"sensitive":false,"value":"live-prod-vpc-id","type":"string"}},"root_module":{}}},"configuration":{"provider_config":{"terraform":{"name":"terraform","full_name":"terraform.io/builtin/terraform"}},"root_module":{"outputs":{"id":{"expression":{"references":["var.name"]}}},"resources":[{"address":"terraform_data.this","mode":"managed","type":"terraform_data","name":"this","provider_config_key":"terraform","expressions":{"input":{"references":["var.name","var.upstream"]}},"schema_version":0}],"variables":{"name":{"type":"string","required":true},"upstream":{"type":["list","string"],"default":[]}}}},"timestamp":"2026-10-04T03:52:46Z","errored":false}
|