mirror of
https://github.com/opentffoundation/opentf.git
synced 2026-02-19 07:01:10 -05:00
* Initial renaming, rewriting and cleaning up wave for the CLI docs. Signed-off-by: Jakub Martin <kubam@spacelift.io> * More renaming. Signed-off-by: Jakub Martin <kubam@spacelift.io> * More renaming. Signed-off-by: Jakub Martin <kubam@spacelift.io> * More renaming. Signed-off-by: Jakub Martin <kubam@spacelift.io> * Remove tutorial references. Signed-off-by: Jakub Martin <kubam@spacelift.io> * Post-review fixes. Signed-off-by: Jakub Martin <kubam@spacelift.io> --------- Signed-off-by: Jakub Martin <kubam@spacelift.io>
119 lines
4.8 KiB
Plaintext
119 lines
4.8 KiB
Plaintext
---
|
|
page_title: Basic CLI Features
|
|
description: An introduction to the opentf command and its available subcommands.
|
|
---
|
|
|
|
# Basic CLI Features
|
|
|
|
The command line interface to OpenTF is the `opentf` command, which
|
|
accepts a variety of subcommands such as `opentf init` or `opentf plan`.
|
|
|
|
To view a list of the commands available in your current OpenTF version,
|
|
run `opentf` with no additional arguments:
|
|
|
|
```text
|
|
Usage: opentf [global options] <subcommand> [args]
|
|
|
|
The available commands for execution are listed below.
|
|
The primary workflow commands are given first, followed by
|
|
less common or more advanced commands.
|
|
|
|
Main commands:
|
|
init Prepare your working directory for other commands
|
|
validate Check whether the configuration is valid
|
|
plan Show changes required by the current configuration
|
|
apply Create or update infrastructure
|
|
destroy Destroy previously-created infrastructure
|
|
|
|
All other commands:
|
|
console Try OpenTF expressions at an interactive command prompt
|
|
fmt Reformat your configuration in the standard style
|
|
force-unlock Release a stuck lock on the current workspace
|
|
get Install or upgrade remote OpenTF modules
|
|
graph Generate a Graphviz graph of the steps in an operation
|
|
import Associate existing infrastructure with a OpenTF resource
|
|
login Obtain and save credentials for a remote host
|
|
logout Remove locally-stored credentials for a remote host
|
|
metadata Metadata related commands
|
|
output Show output values from your root module
|
|
providers Show the providers required for this configuration
|
|
refresh Update the state to match remote systems
|
|
show Show the current state or a saved plan
|
|
state Advanced state management
|
|
taint Mark a resource instance as not fully functional
|
|
untaint Remove the 'tainted' state from a resource instance
|
|
version Show the current OpenTF version
|
|
workspace Workspace management
|
|
|
|
Global options (use these before the subcommand, if any):
|
|
-chdir=DIR Switch to a different working directory before executing the
|
|
given subcommand.
|
|
-help Show this help output, or the help for a specified subcommand.
|
|
-version An alias for the "version" subcommand.
|
|
```
|
|
|
|
(The output from your current OpenTF version may be different than the
|
|
above example.)
|
|
|
|
To get specific help for any specific command, use the `-help` option with the
|
|
relevant subcommand. For example, to see help about the "validate" subcommand
|
|
you can run `opentf validate -help`.
|
|
|
|
The inline help built in to OpenTF CLI describes the most important
|
|
characteristics of each command. For more detailed information, refer to each
|
|
command's page for details.
|
|
|
|
## Switching working directory with `-chdir`
|
|
|
|
The usual way to run OpenTF is to first switch to the directory containing
|
|
the `.tf` files for your root module (for example, using the `cd` command), so
|
|
that OpenTF will find those files automatically without any extra arguments.
|
|
|
|
In some cases though — particularly when wrapping OpenTF in automation
|
|
scripts — it can be convenient to run OpenTF from a different directory than
|
|
the root module directory. To allow that, OpenTF supports a global option
|
|
`-chdir=...` which you can include before the name of the subcommand you intend
|
|
to run:
|
|
|
|
```
|
|
opentf -chdir=environments/production apply
|
|
```
|
|
|
|
The `chdir` option instructs OpenTF to change its working directory to the
|
|
given directory before running the given subcommand. This means that any files
|
|
that OpenTF would normally read or write in the current working directory
|
|
will be read or written in the given directory instead.
|
|
|
|
There are two exceptions where OpenTF will use the original working directory
|
|
even when you specify `-chdir=...`:
|
|
|
|
* Settings in the [CLI Configuration](/opentf/cli/config/config-file) are not for a specific
|
|
subcommand and OpenTF processes them before acting on the `-chdir`
|
|
option.
|
|
|
|
* In case you need to use files from the original working directory as part
|
|
of your configuration, a reference to `path.cwd` in the configuration will
|
|
produce the original working directory instead of the overridden working
|
|
directory. Use `path.root` to get the root module directory.
|
|
|
|
## Shell Tab-completion
|
|
|
|
If you use either `bash` or `zsh` as your command shell, OpenTF can provide
|
|
tab-completion support for all command names and some command arguments.
|
|
|
|
To add the necessary commands to your shell profile, run the following command:
|
|
|
|
```bash
|
|
opentf -install-autocomplete
|
|
```
|
|
|
|
After installation, it is necessary to restart your shell or to re-read its
|
|
profile script before completion will be activated.
|
|
|
|
To uninstall the completion hook, assuming that it has not been modified
|
|
manually in the shell profile, run the following command:
|
|
|
|
```bash
|
|
opentf -uninstall-autocomplete
|
|
```
|