Terraform and OpenTofu version switcher written in Rust.
To install via Homebrew, run:
brew install asleepycat/tap/tfswitcherThis will build from source.
To install with cargo, run:
cargo install tfswitcherThere 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 = "$HOME/.local/bin/terraform"
list_all = false
opentofu = false
force_remove = false
silent = false
verbose = 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/tfswitcherAlternatively, you can source the tab-completion script inside your shell's start up script:
echo "source <(tfswitcher -c bash)" >> ~/.bashrcThis has not been tested on 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.