Terraform and OpenTofu version switcher written in Rust.
To install, simply run cargo install tfswitcher
. There are also prebuilt binaries available with each release for Linux, macOS and Windows.
To see available flags and arguments, run tfswitcher -h
or tfswitcher --help
.
You can also use a configuration file to automatically set certain flags or arguments. Simply place a file called .tfswitch.toml
either in your current working directory or in your $HOME
directory.
bin = "/location/of/terraform/binary"
list_all = false
opentofu = false
version = "1.0.0"
tfswitcher
can generate tab-completion scripts for your desired shell. To see which shells are supported, see the --help
text.
For example, for Bash:
tfswitcher -c bash >> ~/.local/share/bash-completion/completions/tfswitcher
Alternatively, you can source the tab-completion script inside your shell's start up script:
echo "source <(tfswitcher -c bash)" >> ~/.bashrc
This has not been tested on Windows or macOS, so YMMV.
v0.1.0
used FFI with Cgo in order to use HashiCorp's terraform-config-inspect
library.
This was inadvertently published as the Windows and macOS builds were broken and is yanked.
v0.2.0
replaced the Go library with a partially-reimplemented Rust library to eliminate FFI and makes building for Windows and macOS a lot less painful.