Please note that terraform-exec now requires Go 1.18.
BUG FIXES:
terraform init was always called with the -force-copy flag (#268)-no-color flag when calling terraform force-unlock (#270)ENHANCEMENTS:
(Terraform).SetLogCore() and (Terraform).SetLogProvider() methods (#324)INTERNAL:
BUG FIXES:
StatePush would fail with “Exactly one argument expected” (#316)FEATURES:
SetLog() method for Terraform (#291)state pull and state push (#215)TFEXEC_E2ETEST_TERRAFORM_PATH (#305)BUG FIXES:
INTERNAL:
This patch version removes some unnecessary dependencies, and bumps Go module compatibility to 1.17.
This release removes the experimental tfinstall package. We recommend users of tfinstall switch to https://github.com/hashicorp/hc-install.
Please note also terraform-exec‘s Go version support policy, which, like Go’s own release policy, commits to supporting the last two major releases. This means that currently terraform-exec requires Go 1.17 or later.
BREAKING CHANGES:
FEATURES:
workspace delete command (#212)workspace show command (#245)force-unlock command (#223)graph command (#257)taint command (#251)untaint command (#251)ErrStatePlanRead, returned when Terraform cannot read a given state or plan file (#273)FEATURES:
providers lock command (#203)add command (#209)Plan/Apply Replace option (#211)ENHANCEMENTS:
tfexec.ErrStateLocked to represent locked state error (#221)INTERNAL:
0.13.0 to address panic & support v1 JSON format (#224)FEATURES:
ProtocolVersion to ReattachConfig struct, enabling provider protocol v6 support in reattach mode, provided that Terraform and the provider plugin are both using go-plugin v1.4.1 or later. This change is backwards-compatible, as zero values for this field are interpreted as protocol v5. (#182)tfexec.Get() for downloading modules (#176)tfexec.Upgrade013() (#178)INTERNAL:
terraform-json to account for changes in state & plan JSON output in Terraform v1.0.1+ (#194)SECURITY:
tfinstall: The HashiCorp PGP signing key has been rotated (HCSEC-2021-12). This key is used to verify downloaded versions of Terraform. We recommend all users of terraform-exec upgrade to v0.13.3 for this security fix. (#166)N.B. Versions of terraform-exec prior to v0.13.3 will continue to verify older versions of Terraform (up to and including v0.15.0) for a limited period. Installation of Terraform using older versions of terraform-exec will stop working soon, and we recommend upgrading as soon as possible to avoid any interruption.
BUG FIXES:
terraform-json to support 0.15 changes in plan & config JSON output (#153)go-getter to prevent race conditions where consumers would require go-cleanhttp >=0.5.2 (which tfexec itself didn't depend on until now) (#154)BUG FIXES:
NOTES:
Please note that this is the first release of terraform-exec compatible with Terraform 0.15. Running Terraform 0.15 commands with previous versions of terraform-exec may produce unexpected results.
FEATURES:
BREAKING CHANGES:
FEATURES:
<0.7.7) (#88)Format method with io.Reader/io.Writer interfaces (#96)Validate method with tfjson defined diagnostic types. Those types reflect exactly the types used in terraform validate -json output (#68)StateMv method (#112)Upgrade012 method (#105)BUG FIXES:
vendor directory was present (#89)json.Number instead of float64 when parsing state (#113)ErrMissingVar (#110)FEATURES:
N.B. tfinstall binaries for all supported platforms are now available via GitHub Releases.
FEATURES:
User-Agent header for some tfinstall finders (#76)required_version (#66)ShowPlanFileRaw function to obtain the human-friendly output of a plan (#83)BREAKING CHANGES:
context.Context added to tfinstall.Find to allow for cancellation, timeouts, etc (#51)TF_WORKSPACE for workspace management, you must use Terraform.WorkspaceSelect (#75)FEATURES:
ErrWorkspaceExists for when workspaces with the same name already exist when calling Terraform.WorkspaceNew (#67)tfinstall.GitRef to support installation of Terraform from a git ref instead of by released version (#51)ReattachOption for plugin reattach functionality (#78)BREAKING CHANGES:
-detailed-exit-code to Terraform.Plan calls, Terraform.Plan now also returns a bool indicating if any diff is present (#55)FEATURES:
Terraform.SetAppendUserAgent for User-Agent management from consuming applications (#46)Terraform.WorkspaceList, Terraform.WorkspaceNew, and Terraform.WorkspaceSelect along with the ErrNoWorkspace error to indicate a workspace does not exist (#56)VarFile options (#61)BUG FIXES:
FEATURES:
Terraform.Refresh method (#53)Terraform.ShowStateFile and Terraform.ShowPlanFile (#54)DIR positional arg in init, destroy, and plan (#52)BUG FIXES:
FEATURES:
Terraform.SetStdout and Terraform.SetStderr to let consumers log CLI output (#49)BUG FIXES:
ErrNoInit on Terraform 0.13 (#48)FEATURES:
terraform show (#41)BUG FIXES:
terraform version output order (#47)FEATURES:
Terraform.SetLogPath method to set TF_LOG_PATH environment variable, and prevented manual setting of programmatically supported environment variables (#32)Terraform.Version method to get executable version information (#7)BUG FIXES:
-var handling issue (#34)BREAKING CHANGES:
exec.Cmd versions of methods (#25)address and id arguments in Import() (#24)StateShow() to Show() (#30)BUG FIXES:
Import() config argument (#28)BUG FIXES:
tfinstall.Version was incorrect between versions 0.1.1 and 0.2.1 inclusive.BUG FIXES:
FEATURES:
Import() function (#20)BUG FIXES:
github.com/hashicorp/go-getter dependency, which added a requirement for Go 1.13.Initial release.
This Go module contains two packages, github.com/hashicorp/terraform-exec/tfexec, and github.com/hashicorp/terraform-exec/tfinstall, which share the same version.