mirror of
https://github.com/opentffoundation/opentf.git
synced 2026-01-07 19:01:55 -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.
21 lines
819 B
Markdown
21 lines
819 B
Markdown
---
|
|
layout: "commands-state"
|
|
page_title: "Command: state resource addressing"
|
|
sidebar_current: "docs-state-address"
|
|
description: |-
|
|
The `terraform state` command is used for advanced state management.
|
|
---
|
|
|
|
# Resource Addressing
|
|
|
|
The `terraform state` subcommands make heavy use of resource addressing
|
|
for targeting and filtering specific resources and modules within the state.
|
|
|
|
Resource addressing is a common feature of Terraform that is used in
|
|
multiple locations. For example, resource addressing syntax is also used for
|
|
the `-target` flag for apply and plan commands.
|
|
|
|
Because resource addressing is unified across Terraform, it is documented
|
|
in a single place rather than duplicating it in multiple locations. You
|
|
can find the [resource addressing documentation here](/docs/internals/resource-addressing.html).
|