mirror of
https://github.com/opentffoundation/opentf.git
synced 2026-03-07 09:00:28 -05:00
This introduces the terraform state list command to list the resources within a state. This is the first of many state management commands to come into 0.7. This is the first command of many to come that is considered a "plumbing" command within Terraform (see "plumbing vs porcelain": http://git.661346.n2.nabble.com/what-are-plumbing-and-porcelain-td2190639.html). As such, this PR also introduces a bunch of groundwork to support plumbing commands. The main changes: - Main command output is changed to split "common" and "uncommon" commands. - mitchellh/cli is updated to support nested subcommands, since terraform state list is a nested subcommand. - terraform.StateFilter is introduced as a way in core to filter/search the state files. This is very basic currently but I expect to make it more advanced as time goes on. - terraform state list command is introduced to list resources in a state. This can take a series of arguments to filter this down. Known issues, or things that aren't done in this PR on purpose: - Unit tests for terraform state list are on the way. Unit tests for the core changes are all there.
58 lines
2.3 KiB
Markdown
58 lines
2.3 KiB
Markdown
---
|
|
layout: "docs"
|
|
page_title: "Commands"
|
|
sidebar_current: "docs-commands"
|
|
description: |-
|
|
Terraform is controlled via a very easy to use command-line interface (CLI). Terraform is only a single command-line application: terraform. This application then takes a subcommand such as "apply" or "plan". The complete list of subcommands is in the navigation to the left.
|
|
---
|
|
|
|
# Terraform Commands (CLI)
|
|
|
|
Terraform is controlled via a very easy to use command-line interface (CLI).
|
|
Terraform is only a single command-line application: terraform. This application
|
|
then takes a subcommand such as "apply" or "plan". The complete list of subcommands
|
|
is in the navigation to the left.
|
|
|
|
The terraform CLI is a well-behaved command line application. In erroneous cases,
|
|
a non-zero exit status will be returned. It also responds to -h and --help as you'd
|
|
most likely expect.
|
|
|
|
To view a list of the available commands at any time, just run terraform with no arguments:
|
|
|
|
```
|
|
$ terraform
|
|
usage: terraform [--version] [--help] <command> [<args>]
|
|
|
|
Available commands are:
|
|
apply Builds or changes infrastructure
|
|
destroy Destroy Terraform-managed infrastructure
|
|
get Download and install modules for the configuration
|
|
graph Create a visual graph of Terraform resources
|
|
init Initializes Terraform configuration from a module
|
|
output Read an output from a state file
|
|
plan Generate and show an execution plan
|
|
refresh Update local state file against real resources
|
|
remote Configure remote state storage
|
|
show Inspect Terraform state or plan
|
|
taint Manually mark a resource for recreation
|
|
validate Validates the Terraform files
|
|
version Prints the Terraform version
|
|
```
|
|
|
|
To get help for any specific command, pass the -h flag to the relevant subcommand. For example,
|
|
to see help about the members subcommand:
|
|
|
|
```
|
|
$ terraform graph -h
|
|
Usage: terraform graph [options] PATH
|
|
|
|
Outputs the visual graph of Terraform resources. If the path given is
|
|
the path to a configuration, the dependency graph of the resources are
|
|
shown. If the path is a plan file, then the dependency graph of the
|
|
plan itself is shown.
|
|
|
|
The graph is outputted in DOT format. The typical program that can
|
|
read this format is GraphViz, but many web services are also available
|
|
to read this format.
|
|
```
|