• Mitchell Hashimoto's avatar
    Add `terraform state list` command · d1b46e99
    Mitchell Hashimoto authored
    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 is...
    d1b46e99