terraform/command
Martin Atkins fee1197cf9 command: terraform state rm to require at least one argument
Due to how the state filter machinery works, passing no arguments is valid
and matches _all_ resources.

It is very unlikely that someone wants to remove everything from state, so
this ends up being a very dangerous default for the "terraform state rm"
command, and surprising for someone who perhaps runs it looking for the
usage information.

So we'll be pragmatic here and reject the no-arguments case for this
command, accepting that it makes the unlikely case of intentionally
deleting all resources harder in order to make it less likely that it
will happen _unintentionally_.

If someone does really want to remove all resources from the state, they
can provide an explicit empty string argument, but this isn't documented
because it's a weird case that doesn't seem worth mentioning.

This fixes #15283.
2017-07-05 16:19:32 -07:00
..
clistate Have the clistate Lock use LockWithContext 2017-04-01 17:09:20 -04:00
format command/format: minor adjustments to plan rendering 2017-06-22 07:03:23 -07:00
test-fixtures command/validate: Add flag to check that all variables are specified (#13872) 2017-07-05 17:32:29 +01:00
testdata Have backend operations properly unlock state 2017-02-15 14:41:55 -05:00
apply.go command: also print plan for destroy 2017-06-27 11:22:31 -07:00
apply_destroy_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
apply_test.go Merge pull request #15032 from hashicorp/jbardin/init 2017-06-12 09:06:32 -04:00
cli_ui.go
cli_ui_test.go
command.go always pass in the full plugin path to dicovery 2017-06-16 14:09:47 -04:00
command_test.go Update tests for the new ProviderResolver interface 2017-06-09 14:03:59 -07:00
console.go have Meta.Backend use a Config rather than loading 2017-06-09 14:03:59 -07:00
console_interactive.go command: split out and tag code so compilation works on Solaris 2016-11-14 00:32:01 -08:00
console_interactive_solaris.go command: split out and tag code so compilation works on Solaris 2016-11-14 00:32:01 -08:00
console_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
debug_command.go Add debug command with json2dot 2016-11-21 11:59:20 -05:00
debug_json2dot.go Add debug command with json2dot 2016-11-21 11:59:20 -05:00
debug_json2dot_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
flag_kv.go command: use helper/variables for flags and parsing 2016-12-10 14:30:40 -05:00
flag_kv_test.go command: use helper/variables for flags and parsing 2016-12-10 14:30:40 -05:00
fmt.go
fmt_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
get.go command: convert to use backends 2017-01-26 14:33:49 -08:00
get_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
graph.go have Meta.Backend use a Config rather than loading 2017-06-09 14:03:59 -07:00
graph_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
hcl_printer.go always quote hcl map keys 2017-02-24 18:32:59 -05:00
hcl_printer_test.go always quote hcl map keys 2017-02-24 18:32:59 -05:00
hook_ui.go it's possible to get a nil diff in PreApply 2017-04-28 21:59:56 -04:00
hook_ui_test.go command/hook_ui: Increase max length of state IDs (#13317) 2017-04-04 15:41:54 +01:00
import.go find -plugin-dir during import 2017-06-26 18:28:45 -04:00
import_test.go test import with -plugin-dir 2017-06-27 11:07:45 -04:00
init.go core: Skip provider checksum validation based on env var 2017-07-03 13:59:13 -04:00
init_test.go command: init to allow plugin init without backend init 2017-06-21 11:43:28 -07:00
internal_plugin.go
internal_plugin_list.go remove "core" distinction 2017-06-12 13:43:54 -04:00
internal_plugin_test.go remove "core" distinction 2017-06-12 13:43:54 -04:00
meta.go core: Skip provider checksum validation based on env var 2017-07-03 13:59:13 -04:00
meta_backend.go command: add "apply -auto-approve=false" flag 2017-06-27 11:22:26 -07:00
meta_backend_migrate.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
meta_backend_test.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
meta_new.go have Meta.Backend use a Config rather than loading 2017-06-09 14:03:59 -07:00
meta_test.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
module_storage.go
module_storage_test.go
output.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
output_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
plan.go Add plugin dir scaffolding 2017-06-15 14:26:12 -04:00
plan_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
plugins.go improve plugin error formatting 2017-06-22 15:31:36 -04:00
plugins_lock.go change providers.json to lock.json 2017-06-09 14:03:59 -07:00
plugins_lock_test.go command: helper to manage the provider plugins lock file 2017-06-09 14:03:59 -07:00
plugins_test.go add -plugin-dir option 2017-06-15 15:23:16 -04:00
providers.go command/providers: Enable processing of meta-parameters 2017-06-10 11:51:06 +01:00
providers_test.go command/providers: Add regression test 2017-06-10 12:02:01 +01:00
push.go command: shallow UI-focused rename of "environment" to "workspace" 2017-06-09 15:01:39 -07:00
push_test.go Don't show plugin init message if there are none 2017-06-19 12:08:42 -04:00
refresh.go Add plugin dir scaffolding 2017-06-15 14:26:12 -04:00
refresh_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
show.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
show_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_command.go Thread the environment through all commands 2017-02-28 16:35:46 -05:00
state_list.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
state_list_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_meta.go don't load the backend when -state is provided 2017-06-23 14:41:49 -04:00
state_mv.go Fix state mv/rm -backup documentation 2017-06-23 14:46:09 -04:00
state_mv_test.go don't load the backend when -state is provided 2017-06-23 14:41:49 -04:00
state_pull.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
state_pull_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_push.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
state_push_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_rm.go command: terraform state rm to require at least one argument 2017-07-05 16:19:32 -07:00
state_rm_test.go command: terraform state rm to require at least one argument 2017-07-05 16:19:32 -07:00
state_show.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
state_show_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_test.go command: tests should move to temporary cwd 2017-02-07 09:11:48 -08:00
taint.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
taint_test.go Clean up LockInfo and LockError and use them 2017-02-15 14:44:43 -05:00
ui_input.go command: initial work on migrating envs, basic cases first 2017-03-01 10:59:17 -08:00
ui_input_test.go command: use bufio.ReadString instead of scanning to get spaces 2016-08-22 12:59:48 -07:00
unlock.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
unlock_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
untaint.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
untaint_test.go Clean up LockInfo and LockError and use them 2017-02-15 14:44:43 -05:00
validate.go command/validate: Add flag to check that all variables are specified (#13872) 2017-07-05 17:32:29 +01:00
validate_test.go command/validate: Add flag to check that all variables are specified (#13872) 2017-07-05 17:32:29 +01:00
version.go
version_test.go
workspace_command.go command: "terraform workspace show" to print current workspace name 2017-07-05 14:35:46 -07:00
workspace_command_test.go command: "terraform workspace show" to print current workspace name 2017-07-05 14:35:46 -07:00
workspace_delete.go Unlock state before workspace deletion 2017-06-27 14:31:08 -04:00
workspace_list.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
workspace_new.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
workspace_select.go command + backend: rename various API objects to "Workspace" terminology 2017-06-09 16:26:25 -07:00
workspace_show.go command: "terraform workspace show" to print current workspace name 2017-07-05 14:35:46 -07:00