Added a new tool field to allow users to choose between OpenTofu, Terraform, or manually provisioning the tool themselves.
Fixed an existing issue in the stack data source and resource where we weren't specifying the vendor config for Terragrunt stacks properly.
Related to the previous point, we were treating Terragrunt stacks like Terraform stacks, and setting all the terraform_ settings. But the API actually returns null from the vendorConfig.terraform property for Terragrunt stacks, so these would have all contained the default values for their types (i.e. null, false, etc).
Fixed a bug where we were passing through empty strings instead of null when the terraform_version or terragrunt_version properties weren't specified. The API actually handles it fine, but I figured it made sense to fix.
Type of change
[x] Bug fix (non-breaking change that fixes an issue)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (non-breaking change that adds documentation)
Checklists
Development
[x] Lint rules pass locally
[x] The code changed/added as part of this pull request has been covered with tests
[x] All tests related to the changed code pass in development
[x] Examples for new resources and data sources have been added
[x] Default values have been documented in the description (e.g., "Dummy: (Boolean) Blah blah. Defaults to false.)
[x] If the action fails that checks the documentation: Run go generate to make sure the docs are up to date
Code review
[x] This pull request has a descriptive title and information useful to a reviewer. There may be a screenshot or screencast attached
[x] Pull Request is no longer marked as "draft"
[x] Reviewers have been assigned
[ ] Changes have been reviewed by at least one other engineer
Description of the change
tool
field to allow users to choose between OpenTofu, Terraform, or manually provisioning the tool themselves.terraform_
settings. But the API actually returnsnull
from thevendorConfig.terraform
property for Terragrunt stacks, so these would have all contained the default values for their types (i.e.null
,false
, etc).null
when theterraform_version
orterragrunt_version
properties weren't specified. The API actually handles it fine, but I figured it made sense to fix.Type of change
Checklists
Development
false
.)go generate
to make sure the docs are up to dateCode review