terraform/command
Mitchell Hashimoto 473a58a672 Add `terraform state list` command
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.
2016-05-10 14:49:14 -04:00
..
test-fixtures core: Add support for marking outputs as sensitive (#6559) 2016-05-09 15:46:07 -04:00
apply.go core: Use native HIL maps instead of flatmaps 2016-05-10 14:49:13 -04:00
apply_destroy_test.go remove various typos 2015-09-11 11:56:20 -07:00
apply_test.go core: Add terraform_version to state 2016-05-10 14:40:11 -04:00
cli_ui.go adding new AskSecret to ColorizeUi 2015-04-29 13:07:13 -05:00
cli_ui_test.go command/*: colors on error messages (red) 2014-07-12 20:59:16 -07:00
command.go command: pull parallelism default up to CLI layer 2015-10-05 15:06:08 -05:00
command_test.go command: Add `terraform untaint` 2016-03-11 12:38:57 -06:00
counthookaction_string.go Reflect new comment format in stringer.go 2015-11-09 11:38:51 -05:00
flag_kv.go command: make error message clearer for invalid tfvars format [GH-1889] 2015-06-25 17:56:37 -07:00
flag_kv_test.go core: test coverage around map key regression 2015-11-24 16:00:02 -06:00
fmt.go command/fmt: Improve documentation for -diff and defaults (#6398) 2016-04-29 00:39:53 +01:00
fmt_test.go Update HCL to latest, unskip fmt tests 2016-04-27 07:37:47 -05:00
format_plan.go Colorize the 'forces new resource' message. 2015-08-31 15:37:09 -07:00
format_state.go command: nil-check for instance state when showing state 2014-10-02 17:48:51 -07:00
get.go command/get: fix typo 2015-09-13 14:40:36 -07:00
get_test.go command: put the modules in ".terraform/modules" 2014-10-13 12:05:28 -07:00
graph.go command: Change module-depth default to -1 2016-01-20 13:58:02 -06:00
graph_test.go terraform: Graph returns *Graph for now 2015-02-19 12:08:32 -08:00
hook_count.go core: Return correct number of planned updates 2015-07-03 13:22:10 +02:00
hook_count_action.go terraform: orphans should call post-apply hook [GH-1938] 2015-06-25 20:11:29 -07:00
hook_count_test.go core: Return correct number of planned updates 2015-07-03 13:22:10 +02:00
hook_state.go command: StateHook for continous state updates 2015-02-23 21:57:17 -08:00
hook_state_test.go command: StateHook for continous state updates 2015-02-23 21:57:17 -08:00
hook_ui.go command: defer the lock unlock 2016-04-13 12:02:24 -07:00
init.go Fixes #5011 - Backend downcased for init 2016-02-05 06:26:12 -06:00
init_test.go Fixes #5011 - Backend downcased for init 2016-02-05 06:26:12 -06:00
internal_plugin.go Set a log prefix for each plugin and remove go-dynect global log prefix (#6336) 2016-05-10 14:49:13 -04:00
internal_plugin_core.go Implemented internal plugin calls; which allows us to compile plugins into the main terraform binary 2016-05-10 14:40:11 -04:00
internal_plugin_list.go core: Add Cobbler provider to internal plugin list 2016-05-10 14:49:13 -04:00
internal_plugin_test.go Implemented internal plugin calls; which allows us to compile plugins into the main terraform binary 2016-05-10 14:40:11 -04:00
meta.go core: Add terraform_version to state 2016-05-10 14:40:11 -04:00
meta_test.go command: Change module-depth default to -1 2016-01-20 13:58:02 -06:00
module_storage.go fix a bunch of tests from go-getter import 2015-10-15 13:48:58 -07:00
module_storage_test.go fix a bunch of tests from go-getter import 2015-10-15 13:48:58 -07:00
output.go core: Use native HIL maps instead of flatmaps 2016-05-10 14:49:13 -04:00
output_test.go state: Add support for outputs of multiple types 2016-05-10 14:40:12 -04:00
plan.go core: write planfile even on empty plans 2016-01-20 16:00:20 -06:00
plan_test.go core: Add terraform_version to state 2016-05-10 14:40:11 -04:00
push.go remove various typos 2015-09-11 11:56:20 -07:00
push_test.go command/push: update flag to -overwrite, update docs 2015-06-29 13:53:05 -07:00
refresh.go core: Add support for marking outputs as sensitive (#6559) 2016-05-09 15:46:07 -04:00
refresh_test.go core: Add terraform_version to state 2016-05-10 14:40:11 -04:00
remote.go Add -no-color to help text 2015-06-22 13:14:01 +01:00
remote_config.go Update list of backends in RemoteConfigCommand's Help() method 2015-10-25 16:46:02 -04:00
remote_config_test.go remove various typos 2015-09-11 11:56:20 -07:00
remote_pull.go Add -no-color to help text 2015-06-22 13:14:01 +01:00
remote_pull_test.go command: when setting up state, only write back if local is newer 2015-03-26 17:16:54 -07:00
remote_push.go Add -no-color to help text 2015-06-22 13:14:01 +01:00
remote_push_test.go command: move remote configuration stuff 2015-03-04 16:17:30 -08:00
show.go command: Change module-depth default to -1 2016-01-20 13:58:02 -06:00
show_test.go core: fix `terraform show` with remote state 2015-06-16 12:26:04 -05:00
state.go remove various typos 2015-09-11 11:56:20 -07:00
state_command.go Add `terraform state list` command 2016-05-10 14:14:47 -04:00
state_list.go Add `terraform state list` command 2016-05-10 14:49:14 -04:00
state_list_test.go Add `terraform state list` command 2016-05-10 14:14:47 -04:00
state_meta.go add command/state show 2016-05-10 14:14:47 -04:00
state_show.go command/state: pattern => address 2016-05-10 14:14:48 -04:00
state_show_test.go add command/state show 2016-05-10 14:14:47 -04:00
taint.go command/taint: fix comment 2015-02-26 14:30:02 -08:00
taint_test.go command/taint: -allow-missing 2015-02-26 10:56:45 -08:00
ui_input.go helper/scheam: support UI defaults 2014-09-29 14:00:35 -07:00
ui_input_test.go command: UIInput implementation to ask via CLI 2014-09-29 10:56:01 -07:00
untaint.go command: Add `terraform untaint` 2016-03-11 12:38:57 -06:00
untaint_test.go command: Add `terraform untaint` 2016-03-11 12:38:57 -06:00
validate.go Fixing some golint issues on the new validate command 2016-02-08 22:04:24 +00:00
validate_test.go Fixing some golint issues on the new validate command 2016-02-08 22:04:24 +00:00
version.go fixing version numbers RCs should be labeled x.x.x-rcx 2015-02-07 16:56:56 +01:00
version_test.go Implement CLI, version command 2014-05-24 12:04:43 -07:00