Matej Risek
768b7bd0bc
Add local values walk to walk_dynamic
...
This helps us catch diagnostics in locals that only happen during evaluation
Co-authored-by: Mutahhir Hayat <mutahhir.hayat@hashicorp.com>
Co-authored-by: Matej Risek <matej.risek@hashicorp.com>
2025-12-11 10:42:52 +01:00
Liam Cervante
7ac2b7938e
Stacks: temporarily disable ephemeral outputs in Stack components ( #37823 )
2025-10-31 09:52:48 +01:00
Liam Cervante
411f18e6ac
ephemerals: allow root ephemeral outputs in stacks and test ( #37813 )
...
* ephemerals: allow root ephemeral outputs in stacks and test
* remember to set new opt for apply stage
2025-10-28 09:29:44 +01:00
Liam Cervante
abf1c00e03
stacks migrate: make diagnostics more relevant to operation ( #37416 )
2025-08-25 10:10:21 +02:00
Matej Risek
a9b67a6cdc
stacks: Don't require built-in providers to be listed under required providers. ( #37234 )
2025-06-18 17:02:27 +02:00
Liam Cervante
b6be635748
stacks migrate: allow resource mapping to include nested resources ( #37060 )
...
* stacks migrate: allow resource mapping to include nested resources
* make protobuf
2025-05-16 10:10:47 +02:00
Liam Cervante
a80220dcc9
stacks: rename .tfstack files to .tfcomponent ( #37013 )
...
* stacks: rename .tfstack files to .tfcomponent
* fix consistency issues
2025-05-15 08:33:13 +02:00
Liam Cervante
dcff9e4d2c
stacks: improve test coverage for removed blocks ( #36914 )
...
* stacks: improve test coverage for removed blocks
* remove leftover comment
2025-04-24 09:22:50 +02:00
Samsondeen
be242c36f4
Stacks migrate: migration workflow improvements ( #36882 )
2025-04-16 08:51:18 +02:00
Liam Cervante
a06f82746a
stacks: update removed blocks to allow targeting of embedded stacks ( #36814 )
...
* stacks: update removed blocks to allow targeting of embedded stacks
* copywrite headers
2025-04-04 15:01:37 +02:00
Liam Cervante
2b5101f734
stacks: include existing components when deferring nested stacks ( #36788 )
...
* stacks: include existing components when deferring nested stacks
* improve comments
2025-04-03 10:40:28 +02:00
Liam Cervante
fbd5a7930e
stacks: allow removed blocks to target components in nested stacks ( #36787 )
...
* stacks: allow removed blocks to target components in nested stacks
* make copywrite fix
* fix comments
2025-04-03 10:29:18 +02:00
Liam Cervante
7fadbe34de
write-only attributes: internal providers should set write-only attributes to null ( #36824 )
...
* write-only attributes: internal providers should set write-only attributes to null
* add changelog
* fix copywrite headers
2025-04-02 15:58:42 +02:00
Samsondeen
71dbc7d726
migrate command for terraform stacks ( #36482 )
2025-03-19 10:39:50 +01:00
Samsondeen
8b7e7ad27d
Detect circular references during Validation ( #36709 )
2025-03-19 10:39:23 +01:00
Liam Cervante
9bbe34daa4
stacks: pre-destroy refresh should use a normal plan ( #36696 )
...
* stacks: pre-destroy refresh should use a normal plan
* format
2025-03-18 09:28:31 +01:00
Liam Cervante
c16d466773
stacks: allow multiple removed blocks to target the same component ( #36693 )
...
* stacks: allow multiple removed blocks to target the same component
* make linter happy
2025-03-18 08:54:27 +01:00
Daniel Schmidt
bc901abcc5
stacks: test resource identity
2025-03-12 14:46:50 +01:00
Liam Cervante
3d014d82f3
stacks: fix errors processing index keys of removed blocks ( #36673 )
2025-03-12 10:33:18 +01:00
Liam Cervante
1c04516392
stacks: allow unknown variables during apply operations ( #36311 )
2025-01-20 12:18:35 +01:00
Liam Cervante
a5c9903bbe
deferred actions: don't plan partial resources during refresh and destroy ( #36310 )
...
* deferred actions: don't plan partial resources during refresh and destroy
* actually, imports don't trigger during refresh
* Update internal/terraform/node_resource_plan_partialexp.go
Co-authored-by: Nick Fagerlund <nick.fagerlund@gmail.com>
* address comments
---------
Co-authored-by: Nick Fagerlund <nick.fagerlund@gmail.com>
2025-01-20 12:18:25 +01:00
Liam Cervante
a384d2daa7
stacks: fix deferred data sources and unknown component applies ( #35876 )
2024-10-22 11:23:53 +02:00
Liam Cervante
7eb94fa7c8
stacks: fix tests broken now that ephemeral outputs aren't allowed
2024-10-11 10:23:10 +02:00
Liam Cervante
669e8ff1a6
stacks: skip full plan/apply cycles when deleting empty state ( #35831 )
2024-10-09 16:32:54 +02:00
Liam Cervante
bfa320c7b0
stacks: represent ephemeral inputs and outputs as null ( #35824 )
...
* stacks: represent ephemeral inputs and outputs as null
* quick fix: remove unnecessary check
2024-10-08 16:46:31 +02:00
Liam Cervante
d93e18d155
stacks: separate refresh and destroy stages during destroy plans ( #35744 )
...
* add tests that highlight known issues in the destroy mechanism
* separate refresh during destroy plans
* use the refresh outputs during destroy plans
* copywrite headers
2024-09-19 11:36:41 +02:00
Daniel Schmidt
e50a1ac824
stacks: fix dependency handling in component forget
2024-09-17 14:15:43 +02:00
Liam Cervante
73e3f8096b
stacks: complete stack output implementation for plan and apply ( #35723 )
2024-09-16 11:36:36 +02:00
Daniel Schmidt
ceb52e65bb
stacks: support forgetting components
2024-09-16 10:20:29 +02:00
Liam Cervante
c00bee8bbd
stacks: add a test for removed blocks in embedded stacks ( #35681 )
...
* stacks: add a test for removed blocks in embedded stacks
* restore test files
2024-09-07 15:22:59 +02:00
Liam Cervante
cf49545b5a
stacks: include removed blocks during validate command ( #35680 )
2024-09-07 15:04:14 +02:00
Liam Cervante
f8fe397d88
stacks: add removed block functionality ( #35671 )
...
* stacks: add removed block functionality
* fix compile errors
2024-09-07 14:36:16 +02:00
Liam Cervante
7163c4b6d5
stacks: fix destroy ordering of stacks destroy plans ( #35665 )
...
* stacks: remove unneeded required components functions
* stacks: refactor the mock provider for realism
* deferred actions: fix missing features in deletions
* stacks: fix destroy ordering of stacks destroy plans
* fix missing import
2024-09-05 12:10:24 +02:00
Liam Cervante
cb7bae3217
stacks: remove stale state during Stack apply operations ( #35639 )
2024-08-28 09:23:41 +02:00
Liam Cervante
f1ae07b1af
stacks: add support for provider functions in .tfstack.hcl files ( #35610 )
...
* stacks: fix bug preventing cross-provider move refactorings
* also make provider functions work
* stacks: add support for provider functions in .tfstack.hcl files
2024-08-22 09:28:39 +02:00
Liam Cervante
964c64157c
stacks: fix bug preventing unconfigured clients within Terraform ( #35571 )
...
* stacks: fix bug preventing cross-provider move refactorings
* also make provider functions work
2024-08-22 09:20:47 +02:00
Liam Cervante
047c1af0b4
stacks: add tests for state manipulation failure cases ( #35589 )
2024-08-19 11:45:08 +02:00
Liam Cervante
5939efb798
stacks: add depends_on for embedded stacks and components ( #35549 )
2024-08-12 15:02:36 +02:00
Liam Cervante
46393f2a92
stacks: apply automatic type conversion before comparing inputs ( #35530 )
...
* stacks: apply automatic type conversion before comparing inputs
* correct error message for missing ephemeral value during apply
2024-08-05 10:08:35 +02:00
Liam Cervante
33c0ae7f09
stacks: add additional provider validation tests ( #35471 )
2024-07-26 11:36:08 +02:00
Liam Cervante
87bbc47737
stacks: include plan mode in stacks plan format ( #35405 )
...
* stacks: include plan mode in stacks plan format
* fix tests
* fix missed files
2024-07-23 17:45:07 +02:00
Liam Cervante
3ecf7655ba
stacks: insert unknown values for missing outputs during applies ( #35463 )
...
* stacks: insert unknown values for missing outputs during apply operations
* fix tests
2024-07-17 08:44:39 +02:00
Daniel Schmidt
1d45d12f40
stacks: track resource deferrals in apply
2024-07-11 16:33:36 +02:00
Liam Cervante
8e47b5907c
stacks: provide more helpful diagnostics when providers types are mismatched ( #35422 )
...
* stacks: provide more helpful diagnostics when providers types are mismatched
* remove left over implementation experiments
* remove unnecessary fmt.Sprintf
* address comments
* fix incorrect pluralisation
* fix tests
2024-07-08 10:31:52 +02:00
Daniel Schmidt
b62a67394b
stacks: save plantimestamp to plan
2024-06-25 10:59:56 +02:00
Daniel Schmidt
8fa922f912
stacks: implement PlanTimestamp method on ExpressionScope
...
This allows us to set the plantimestamp methods value in
the stacks language
2024-06-24 17:19:18 +02:00
Liam Cervante
c0499647fa
stacks: include moved and removed in API ( #35360 )
...
* stacks: include moved and removed in API
* fix race test
2024-06-20 11:04:22 +02:00
Liam Cervante
b646dff26a
stacks: apply nested default values to inputs ( #35349 )
...
* stacks: apply nested default values to inputs
* group similar tests
2024-06-18 12:03:43 +02:00
Martin Atkins
e74896bd24
stackruntime: Handle apply-time-specified input variables
...
When the topmost stack configuration declares an ephemeral input variable,
its values must be provided separately for each of the plan and apply
phases.
Therefore here we extend the API to allow specifying input variable values
during the apply phase, and add rules to check whether all of the
apply-time-required input variables have been specified and whether any
non-ephemeral variables are either unspecified or re-specified with equal
values during the apply phase.
This also extends the FindStackConfigurationComponents response to include
more metadata about the input variables and output values so that a caller
can know which ones are ephemeral. The name of that RPC function had
already become a little too specific with the inclusion of embedded stack
information and is even moreso now; we might choose to rename it to
something more generic like "AnalyzeStackConfiguration" in future, but
that'd be a breaking change and therefore requires more coordination.
2024-06-17 08:34:46 -07:00
Liam Cervante
fc390038f3
stacks: add tests for and refactor steps when a provider can't be configured ( #35294 )
2024-06-06 13:36:57 +02:00