mirror of
https://github.com/opentffoundation/opentf.git
synced 2025-12-25 01:00:16 -05:00
62 lines
3.1 KiB
Plaintext
62 lines
3.1 KiB
Plaintext
---
|
|
description: >-
|
|
The opentf fmt command rewrites configuration files to a canonical format
|
|
and style.
|
|
---
|
|
|
|
# Command: fmt
|
|
|
|
The `opentf fmt` command is used to rewrite OpenTF configuration files
|
|
to a canonical format and style. This command applies a subset of
|
|
the [OpenTF language style conventions](/docs/language/syntax/style),
|
|
along with other minor adjustments for readability.
|
|
|
|
Other OpenTF commands that generate OpenTF configuration will produce
|
|
configuration files that conform to the style imposed by `opentf fmt`, so
|
|
using this style in your own files will ensure consistency.
|
|
|
|
The canonical format may change in minor ways between OpenTF versions, so
|
|
after upgrading OpenTF we recommend to proactively run `opentf fmt`
|
|
on your modules along with any other changes you are making to adopt the new
|
|
version.
|
|
|
|
We don't consider new formatting rules in `opentf fmt` to be a breaking
|
|
change in new versions of OpenTF, but we do aim to minimize changes for
|
|
configurations that are already following the style examples shown in the
|
|
OpenTF documentation. When adding new formatting rules, they will usually
|
|
aim to apply more of the rules already shown in the configuration examples
|
|
in the documentation, and so we recommend following the documented style even
|
|
for decisions that `opentf fmt` doesn't yet apply automatically.
|
|
|
|
Formatting decisions are always subjective and so you might disagree with the
|
|
decisions that `opentf fmt` makes. This command is intentionally opinionated
|
|
and has no customization options because its primary goal is to encourage
|
|
consistency of style between different OpenTF codebases, even though the
|
|
chosen style can never be everyone's favorite.
|
|
|
|
We recommend that you follow the style conventions applied by `opentf fmt`
|
|
when writing OpenTF modules, but if you find the results particularly
|
|
objectionable then you may choose not to use this command, and possibly choose
|
|
to use a third-party formatting tool instead. If you choose to use a
|
|
third-party tool then you should also run it on files that are generated
|
|
automatically by OpenTF, to get consistency between your hand-written files
|
|
and the generated files.
|
|
|
|
## Usage
|
|
|
|
Usage: `opentf fmt [options] [target...]`
|
|
|
|
By default, `fmt` scans the current directory for configuration files. If you
|
|
provide a directory for the `target` argument, then `fmt` will scan that
|
|
directory instead. If you provide a file, then `fmt` will process just that
|
|
file. If you provide a single dash (`-`), then `fmt` will read from standard
|
|
input (STDIN).
|
|
|
|
The command-line flags are all optional. The following flags are available:
|
|
|
|
* `-list=false` - Don't list the files containing formatting inconsistencies.
|
|
* `-write=false` - Don't overwrite the input files. (This is implied by `-check` or when the input is STDIN.)
|
|
* `-diff` - Display diffs of formatting changes.
|
|
* `-check` - Check if the input is formatted. Exit status will be 0 if all input is properly formatted. If not, exit status will be non-zero and the command will output a list of filenames whose files are not properly formatted.
|
|
* `-recursive` - Also process files in subdirectories. By default, only the given directory (or current directory) is processed.
|