Commit graph

35309 commits

Author SHA1 Message Date
Kristin Laemmert
e3d2b7de8b fix(import): include provider local in generated resource cfg when set in import
Some checks failed
build / Build for freebsd_amd64 (push) Has been cancelled
build / Build for linux_amd64 (push) Has been cancelled
build / Build for openbsd_amd64 (push) Has been cancelled
build / Build for solaris_amd64 (push) Has been cancelled
build / Build for windows_amd64 (push) Has been cancelled
build / Build for freebsd_arm (push) Has been cancelled
build / Build for linux_arm (push) Has been cancelled
build / Build for darwin_arm64 (push) Has been cancelled
build / Build for linux_arm64 (push) Has been cancelled
build / Build for windows_arm64 (push) Has been cancelled
build / Build Docker image for linux_386 (push) Has been cancelled
build / Build Docker image for linux_amd64 (push) Has been cancelled
build / Build Docker image for linux_arm (push) Has been cancelled
build / Build Docker image for linux_arm64 (push) Has been cancelled
build / Build e2etest for linux_386 (push) Has been cancelled
build / Build e2etest for windows_386 (push) Has been cancelled
build / Build e2etest for darwin_amd64 (push) Has been cancelled
build / Build e2etest for linux_amd64 (push) Has been cancelled
build / Build e2etest for windows_amd64 (push) Has been cancelled
build / Build e2etest for linux_arm (push) Has been cancelled
build / Build e2etest for darwin_arm64 (push) Has been cancelled
build / Build e2etest for linux_arm64 (push) Has been cancelled
build / Run e2e test for linux_386 (push) Has been cancelled
build / Run e2e test for windows_386 (push) Has been cancelled
build / Run e2e test for darwin_amd64 (push) Has been cancelled
build / Run e2e test for linux_amd64 (push) Has been cancelled
build / Run e2e test for windows_amd64 (push) Has been cancelled
build / Run e2e test for linux_arm (push) Has been cancelled
build / Run e2e test for linux_arm64 (push) Has been cancelled
build / Run terraform-exec test for linux amd64 (push) Has been cancelled
By the time we get to the config generation during terraform plan, terraform didn't have access to the import config to see if a provider had been specified by localname. This is working fine for providers with aliases, and terraform was identifying the correct AbsProvider, but it was still missing from the generated configuration.

I've addressed this by adding a struct which carries both the evaluated import target (cty.Value) and the decoded import config, so that generateHCLResourceDef can now use the ProviderConfigRef (if set). I have also added a test to context_plan_import_test that verifies localname is honored.
2026-04-01 16:05:51 -04:00
Samsondeen
ca02fd9c2a
Add aliases for false positive CVE (#38332)
Some checks are pending
build / Build for windows_amd64 (push) Blocked by required conditions
build / Build for freebsd_arm (push) Blocked by required conditions
build / Build for linux_arm (push) Blocked by required conditions
build / Build for darwin_arm64 (push) Blocked by required conditions
build / Build for linux_arm64 (push) Blocked by required conditions
build / Build for windows_arm64 (push) Blocked by required conditions
build / Build Docker image for linux_386 (push) Blocked by required conditions
build / Build Docker image for linux_amd64 (push) Blocked by required conditions
build / Build Docker image for linux_arm (push) Blocked by required conditions
build / Build Docker image for linux_arm64 (push) Blocked by required conditions
build / Build e2etest for linux_386 (push) Blocked by required conditions
build / Build e2etest for windows_386 (push) Blocked by required conditions
build / Build e2etest for darwin_amd64 (push) Blocked by required conditions
build / Build e2etest for linux_amd64 (push) Blocked by required conditions
build / Build e2etest for windows_amd64 (push) Blocked by required conditions
build / Build e2etest for linux_arm (push) Blocked by required conditions
build / Build e2etest for darwin_arm64 (push) Blocked by required conditions
build / Build e2etest for linux_arm64 (push) Blocked by required conditions
build / Run e2e test for linux_386 (push) Blocked by required conditions
build / Run e2e test for windows_386 (push) Blocked by required conditions
build / Run e2e test for darwin_amd64 (push) Blocked by required conditions
build / Run e2e test for linux_amd64 (push) Blocked by required conditions
build / Run e2e test for windows_amd64 (push) Blocked by required conditions
build / Run e2e test for linux_arm (push) Blocked by required conditions
build / Run e2e test for linux_arm64 (push) Blocked by required conditions
build / Run terraform-exec test for linux amd64 (push) Blocked by required conditions
Quick Checks / Unit Tests (push) Waiting to run
Quick Checks / Race Tests (push) Waiting to run
Quick Checks / End-to-end Tests (push) Waiting to run
Quick Checks / Code Consistency Checks (push) Waiting to run
2026-04-01 12:51:38 +02:00
dependabot[bot]
8b9fe1a7f6 Bump github.com/antchfx/xpath from 1.1.10 to 1.3.6
Bumps [github.com/antchfx/xpath](https://github.com/antchfx/xpath) from 1.1.10 to 1.3.6.
- [Release notes](https://github.com/antchfx/xpath/releases)
- [Commits](https://github.com/antchfx/xpath/compare/v1.1.10...v1.3.6)

---
updated-dependencies:
- dependency-name: github.com/antchfx/xpath
  dependency-version: 1.3.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-01 12:17:11 +02:00
Brandon Croft
b4ddd25f6e
Bump terraform-svchost to 0.2.1 (#38236) 2026-04-01 12:08:23 +02:00
James Bardin
86b92092d0
Merge pull request #38305 from hashicorp/jbardin/computed-blocks
Some checks are pending
build / Build for windows_amd64 (push) Blocked by required conditions
build / Build for freebsd_arm (push) Blocked by required conditions
build / Build for linux_arm (push) Blocked by required conditions
build / Build for darwin_arm64 (push) Blocked by required conditions
build / Build for linux_arm64 (push) Blocked by required conditions
build / Build for windows_arm64 (push) Blocked by required conditions
build / Build Docker image for linux_386 (push) Blocked by required conditions
build / Build Docker image for linux_amd64 (push) Blocked by required conditions
build / Build Docker image for linux_arm (push) Blocked by required conditions
build / Build Docker image for linux_arm64 (push) Blocked by required conditions
build / Build e2etest for linux_386 (push) Blocked by required conditions
build / Build e2etest for windows_386 (push) Blocked by required conditions
build / Build e2etest for darwin_amd64 (push) Blocked by required conditions
build / Build e2etest for linux_amd64 (push) Blocked by required conditions
build / Build e2etest for windows_amd64 (push) Blocked by required conditions
build / Build e2etest for linux_arm (push) Blocked by required conditions
build / Build e2etest for darwin_arm64 (push) Blocked by required conditions
build / Build e2etest for linux_arm64 (push) Blocked by required conditions
build / Run e2e test for linux_386 (push) Blocked by required conditions
build / Run e2e test for windows_386 (push) Blocked by required conditions
build / Run e2e test for darwin_amd64 (push) Blocked by required conditions
build / Run e2e test for linux_amd64 (push) Blocked by required conditions
build / Run e2e test for windows_amd64 (push) Blocked by required conditions
build / Run e2e test for linux_arm (push) Blocked by required conditions
build / Run e2e test for linux_arm64 (push) Blocked by required conditions
build / Run terraform-exec test for linux amd64 (push) Blocked by required conditions
Quick Checks / Unit Tests (push) Waiting to run
Quick Checks / Race Tests (push) Waiting to run
Quick Checks / End-to-end Tests (push) Waiting to run
Quick Checks / Code Consistency Checks (push) Waiting to run
Introduce handling of optional and computed blocks
2026-03-31 17:03:58 -04:00
Daniel Banck
6843a8dcd7 Use variables from planfile during a local run from plan
Some checks are pending
build / Build for windows_amd64 (push) Blocked by required conditions
build / Build for freebsd_arm (push) Blocked by required conditions
build / Build for linux_arm (push) Blocked by required conditions
build / Build for darwin_arm64 (push) Blocked by required conditions
build / Build for linux_arm64 (push) Blocked by required conditions
build / Build for windows_arm64 (push) Blocked by required conditions
build / Build Docker image for linux_386 (push) Blocked by required conditions
build / Build Docker image for linux_amd64 (push) Blocked by required conditions
build / Build Docker image for linux_arm (push) Blocked by required conditions
build / Build Docker image for linux_arm64 (push) Blocked by required conditions
build / Build e2etest for linux_386 (push) Blocked by required conditions
build / Build e2etest for windows_386 (push) Blocked by required conditions
build / Build e2etest for darwin_amd64 (push) Blocked by required conditions
build / Build e2etest for linux_amd64 (push) Blocked by required conditions
build / Build e2etest for windows_amd64 (push) Blocked by required conditions
build / Build e2etest for linux_arm (push) Blocked by required conditions
build / Build e2etest for darwin_arm64 (push) Blocked by required conditions
build / Build e2etest for linux_arm64 (push) Blocked by required conditions
build / Run e2e test for linux_386 (push) Blocked by required conditions
build / Run e2e test for windows_386 (push) Blocked by required conditions
build / Run e2e test for darwin_amd64 (push) Blocked by required conditions
build / Run e2e test for linux_amd64 (push) Blocked by required conditions
build / Run e2e test for windows_amd64 (push) Blocked by required conditions
build / Run e2e test for linux_arm (push) Blocked by required conditions
build / Run e2e test for linux_arm64 (push) Blocked by required conditions
build / Run terraform-exec test for linux amd64 (push) Blocked by required conditions
Quick Checks / Unit Tests (push) Waiting to run
Quick Checks / Race Tests (push) Waiting to run
Quick Checks / End-to-end Tests (push) Waiting to run
Quick Checks / Code Consistency Checks (push) Waiting to run
During apply all variables required to load configuration should be
available from the planfile. We shouldn't run our regular checks for
variable values.
2026-03-31 16:16:58 +02:00
Daniel Banck
f29046037f Add regression test for apply with vars
Running an apply from a plan should not raise diagnostics for missing
variables. All non-ephemeral variables are already available in the
planfile.
2026-03-31 16:16:58 +02:00
Kristin Laemmert
abf692ccd5 actions: move condition evaluation into configs package
We have several requirements for action conditions which can all be checked while loading configuration. This PR moves action condition validation into the configs package (without removing any now-duplicated checks from the terraform package). The (now) duplicated checks will be removed as the actions work continues. I've also added tests to the config package, and removed tests that are now failing because we catch the error much earlier.
2026-03-31 08:49:48 -04:00
James Bardin
259c468fb1
Merge pull request #38318 from hashicorp/jbardin/bastion-host-key
fix for bastion host key checking in ssh provisioner connections
2026-03-31 08:22:06 -04:00
James Bardin
06052bd3d7 validate computed block schemas in core
We haven't enforced internal validate in core due to legacy providers,
but we can make sure computed blocks are handled consistently from here
on out.
2026-03-30 16:55:18 -04:00
James Bardin
d0e3f0070d require stricter validation for computed blocks
try to prevent sloppy block handling up front by ensuring computed
values can only contain computed values.
2026-03-30 16:21:32 -04:00
James Bardin
702a6978cd CHANGELOG 2026-03-30 14:52:37 -04:00
Daniel Banck
6853d72303 command: test state pull with const variables
Some checks are pending
build / Build for windows_amd64 (push) Blocked by required conditions
build / Build for freebsd_arm (push) Blocked by required conditions
build / Build for linux_arm (push) Blocked by required conditions
build / Build for darwin_arm64 (push) Blocked by required conditions
build / Build for linux_arm64 (push) Blocked by required conditions
build / Build for windows_arm64 (push) Blocked by required conditions
build / Build Docker image for linux_386 (push) Blocked by required conditions
build / Build Docker image for linux_amd64 (push) Blocked by required conditions
build / Build Docker image for linux_arm (push) Blocked by required conditions
build / Build Docker image for linux_arm64 (push) Blocked by required conditions
build / Build e2etest for linux_386 (push) Blocked by required conditions
build / Build e2etest for windows_386 (push) Blocked by required conditions
build / Build e2etest for darwin_amd64 (push) Blocked by required conditions
build / Build e2etest for linux_amd64 (push) Blocked by required conditions
build / Build e2etest for windows_amd64 (push) Blocked by required conditions
build / Build e2etest for linux_arm (push) Blocked by required conditions
build / Build e2etest for darwin_arm64 (push) Blocked by required conditions
build / Build e2etest for linux_arm64 (push) Blocked by required conditions
build / Run e2e test for linux_386 (push) Blocked by required conditions
build / Run e2e test for windows_386 (push) Blocked by required conditions
build / Run e2e test for darwin_amd64 (push) Blocked by required conditions
build / Run e2e test for linux_amd64 (push) Blocked by required conditions
build / Run e2e test for windows_amd64 (push) Blocked by required conditions
build / Run e2e test for linux_arm (push) Blocked by required conditions
build / Run e2e test for linux_arm64 (push) Blocked by required conditions
build / Run terraform-exec test for linux amd64 (push) Blocked by required conditions
Quick Checks / Unit Tests (push) Waiting to run
Quick Checks / Race Tests (push) Waiting to run
Quick Checks / End-to-end Tests (push) Waiting to run
Quick Checks / Code Consistency Checks (push) Waiting to run
2026-03-30 20:51:48 +02:00
Daniel Banck
b08bd10508 Fix existing state pull tests
The tests now check for a specific resource in the output.
2026-03-30 20:51:48 +02:00
Daniel Banck
4a7a724cd0 command: test validate with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
254ddfa276 command: test graph with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
e81ffa2a02 command: test providers with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
57f4867fe1 command: test providers lock with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
0e7b974ce6 Fix providers lock crash on empty config 2026-03-30 20:51:48 +02:00
Daniel Banck
9bb8db34c0 Use t.Setenv in meta-related tests
This fixes some global env leakage in the `command/` package
2026-03-30 20:51:48 +02:00
Daniel Banck
00d82a0e88 command: test providers mirror with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
ea3778cf6f Fix providers mirrors crash on empty config 2026-03-30 20:51:48 +02:00
Daniel Banck
cb72a8e1d2 command: test providers schema with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
d1f04677c1 command: test modules with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
ae53fa3695 command: test state mv with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
ec70386d30 command: test state push with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
6caa19bf6c command: test state replace-provider with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
2eb9fe90c8 command: test state rm with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
77492116dd command: test taint with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
e1732db97b Add a test backend for fetching remote variables
The backend implements FetchVariables, so it will pass the checks for a
`ConstVariableSupplier` that each command uses to determine if it should
fetch variable values from a backend.
2026-03-30 20:51:48 +02:00
Daniel Banck
27b6f5ed29 command: test get with const variables 2026-03-30 20:51:48 +02:00
Daniel Banck
dde87dc45d Mock the cloud backend with a list all vars response 2026-03-30 20:51:48 +02:00
Craig Wright
d4a07dd468
Merge pull request #38316 from hashicorp/ai-who-are-you
Some checks are pending
build / Build for windows_amd64 (push) Blocked by required conditions
build / Build for freebsd_arm (push) Blocked by required conditions
build / Build for linux_arm (push) Blocked by required conditions
build / Build for darwin_arm64 (push) Blocked by required conditions
build / Build for linux_arm64 (push) Blocked by required conditions
build / Build for windows_arm64 (push) Blocked by required conditions
build / Build Docker image for linux_386 (push) Blocked by required conditions
build / Build Docker image for linux_amd64 (push) Blocked by required conditions
build / Build Docker image for linux_arm (push) Blocked by required conditions
build / Build Docker image for linux_arm64 (push) Blocked by required conditions
build / Build e2etest for linux_386 (push) Blocked by required conditions
build / Build e2etest for windows_386 (push) Blocked by required conditions
build / Build e2etest for darwin_amd64 (push) Blocked by required conditions
build / Build e2etest for linux_amd64 (push) Blocked by required conditions
build / Build e2etest for windows_amd64 (push) Blocked by required conditions
build / Build e2etest for linux_arm (push) Blocked by required conditions
build / Build e2etest for darwin_arm64 (push) Blocked by required conditions
build / Build e2etest for linux_arm64 (push) Blocked by required conditions
build / Run e2e test for linux_386 (push) Blocked by required conditions
build / Run e2e test for windows_386 (push) Blocked by required conditions
build / Run e2e test for darwin_amd64 (push) Blocked by required conditions
build / Run e2e test for linux_amd64 (push) Blocked by required conditions
build / Run e2e test for windows_amd64 (push) Blocked by required conditions
build / Run e2e test for linux_arm (push) Blocked by required conditions
build / Run e2e test for linux_arm64 (push) Blocked by required conditions
build / Run terraform-exec test for linux amd64 (push) Blocked by required conditions
Quick Checks / Unit Tests (push) Waiting to run
Quick Checks / Race Tests (push) Waiting to run
Quick Checks / End-to-end Tests (push) Waiting to run
Quick Checks / Code Consistency Checks (push) Waiting to run
Update CONTRIBUTING.md to help agents self-identify
2026-03-30 09:09:32 -07:00
James Bardin
3198d67ac6 fix for bastion host key checking
the assignment of BastionHostKey was incorrect, causing it to use
the primary HostKey.
2026-03-27 14:31:29 -04:00
James Bardin
9a055ed729 CHANGELOG 2026-03-27 09:06:30 -04:00
James Bardin
520378f9e6 thread ComputedBlocksAllowed through capabilities 2026-03-27 09:06:30 -04:00
James Bardin
22598edbfe add computed_blocks_allowed 2026-03-27 09:06:30 -04:00
James Bardin
8a6221c289 transform computable blocks and test in core
Transform computable blocks to null values for providers to match the
current lifecycle rules for setting computed values.
2026-03-27 09:06:30 -04:00
James Bardin
efa85192ef PrepareComputedBlocks test 2026-03-27 09:06:30 -04:00
James Bardin
0cab7be239 fix internal validate 2026-03-27 09:06:30 -04:00
James Bardin
5410f9bd6a objchange.PrepareComputedBlocks
PrepareComputedBlocks nulls out any empty containers in a cty.Value
corresponding to computed blocks, to indicate to the provider that the
value is safe to insert a computed value into.

TODO: do we really need this, or should the framework take care of it
like it currently does already?
 - Doing this makes the protocol consistent that only null values can be
   replaced with computed values, but it's also more work that is
   currently redundant.
2026-03-27 09:06:30 -04:00
James Bardin
f133e0380a change BlockByPath to NestedBlockByPath
The function is only ever concerned with nested blocks, and we can make
use of the nesting type information for computed block transformations.
2026-03-27 09:06:30 -04:00
James Bardin
9ae47096ae update objchange validations
add computed block handling to AssertPlanValid and
AssertObjectCompatible.
2026-03-27 09:06:30 -04:00
James Bardin
0f2503e4ea detect non-legacy schemas
We already had a heuristic for flagging non-legacy schemas in the
blocktoattr fixup code, but now we need to extend that to computed
blocks. Adapt these checks to the block schema type itself since we want
to use the check outside of the old blocktoattr package.
2026-03-27 09:06:30 -04:00
Craig Wright
d5cac62215
Update CONTRIBUTING.md to help agents self-identify 2026-03-26 10:46:54 -07:00
James Bardin
46d537b71b add computed flag to schema blocks 2026-03-26 11:56:30 -04:00
James Bardin
73c225dff4
Merge pull request #37986 from hashicorp/jbardin/planned-private-for-random
Some checks failed
build / Build for freebsd_amd64 (push) Has been cancelled
build / Build for linux_amd64 (push) Has been cancelled
build / Build for openbsd_amd64 (push) Has been cancelled
build / Build for solaris_amd64 (push) Has been cancelled
build / Build for windows_amd64 (push) Has been cancelled
build / Build for freebsd_arm (push) Has been cancelled
build / Build for linux_arm (push) Has been cancelled
build / Build for darwin_arm64 (push) Has been cancelled
build / Build for linux_arm64 (push) Has been cancelled
build / Build for windows_arm64 (push) Has been cancelled
build / Build Docker image for linux_386 (push) Has been cancelled
build / Build Docker image for linux_amd64 (push) Has been cancelled
build / Build Docker image for linux_arm (push) Has been cancelled
build / Build Docker image for linux_arm64 (push) Has been cancelled
build / Build e2etest for linux_386 (push) Has been cancelled
build / Build e2etest for windows_386 (push) Has been cancelled
build / Build e2etest for darwin_amd64 (push) Has been cancelled
build / Build e2etest for linux_amd64 (push) Has been cancelled
build / Build e2etest for windows_amd64 (push) Has been cancelled
build / Build e2etest for linux_arm (push) Has been cancelled
build / Build e2etest for darwin_arm64 (push) Has been cancelled
build / Build e2etest for linux_arm64 (push) Has been cancelled
build / Run e2e test for linux_386 (push) Has been cancelled
build / Run e2e test for windows_386 (push) Has been cancelled
build / Run e2e test for darwin_amd64 (push) Has been cancelled
build / Run e2e test for linux_amd64 (push) Has been cancelled
build / Run e2e test for windows_amd64 (push) Has been cancelled
build / Run e2e test for linux_arm (push) Has been cancelled
build / Run e2e test for linux_arm64 (push) Has been cancelled
build / Run terraform-exec test for linux amd64 (push) Has been cancelled
Resource pre-planned private data
2026-03-26 11:55:26 -04:00
James Bardin
32ff98ebee
Merge pull request #38298 from hashicorp/jbardin/terraform-data-extensions
terraform_data write-only and sensitive extensions
2026-03-26 09:31:11 -04:00
James Bardin
7f653e1548 full apply test for private plan data 2026-03-25 08:06:52 -04:00
Roniece Ricardo
6bb0218388
Merge pull request #38301 from hashicorp/rr/actions-stacks-restore-apply
Some checks failed
build / Build for freebsd_amd64 (push) Has been cancelled
build / Build for linux_amd64 (push) Has been cancelled
build / Build for openbsd_amd64 (push) Has been cancelled
build / Build for solaris_amd64 (push) Has been cancelled
build / Build for windows_amd64 (push) Has been cancelled
build / Build for freebsd_arm (push) Has been cancelled
build / Build for linux_arm (push) Has been cancelled
build / Build for darwin_arm64 (push) Has been cancelled
build / Build for linux_arm64 (push) Has been cancelled
build / Build for windows_arm64 (push) Has been cancelled
build / Build Docker image for linux_386 (push) Has been cancelled
build / Build Docker image for linux_amd64 (push) Has been cancelled
build / Build Docker image for linux_arm (push) Has been cancelled
build / Build Docker image for linux_arm64 (push) Has been cancelled
build / Build e2etest for linux_386 (push) Has been cancelled
build / Build e2etest for windows_386 (push) Has been cancelled
build / Build e2etest for darwin_amd64 (push) Has been cancelled
build / Build e2etest for linux_amd64 (push) Has been cancelled
build / Build e2etest for windows_amd64 (push) Has been cancelled
build / Build e2etest for linux_arm (push) Has been cancelled
build / Build e2etest for darwin_arm64 (push) Has been cancelled
build / Build e2etest for linux_arm64 (push) Has been cancelled
build / Run e2e test for linux_386 (push) Has been cancelled
build / Run e2e test for windows_386 (push) Has been cancelled
build / Run e2e test for darwin_amd64 (push) Has been cancelled
build / Run e2e test for linux_amd64 (push) Has been cancelled
build / Run e2e test for windows_amd64 (push) Has been cancelled
build / Run e2e test for linux_arm (push) Has been cancelled
build / Run e2e test for linux_arm64 (push) Has been cancelled
build / Run terraform-exec test for linux amd64 (push) Has been cancelled
[Stacks Actions] Ensure action invocations are passed into module runtime
2026-03-24 09:07:23 -04:00