terraform/command
Martin Atkins 400038eda4 command: "terraform apply" uses interactive confirmation by default
In the 0.10 release we added an opt-in mode where Terraform would prompt
interactively for confirmation during apply. We made this opt-in to give
those who wrap Terraform in automation some time to update their scripts
to explicitly opt out of this behavior where appropriate.

Here we switch the default so that a "terraform apply" with no arguments
will -- if it computes a non-empty diff -- display the diff and wait for
the user to type "yes" in similar vein to the "terraform destroy" command.

This makes the commonly-used "terraform apply" a safe workflow for
interactive use, so "terraform plan" is now mainly for use in automation
where a separate planning step is used. The apply command remains
non-interactive when given an explicit plan file.

The previous behavior -- though not recommended -- can be obtained by
explicitly setting the -auto-approve option on the apply command line,
and indeed that is how all of the tests are updated here so that they can
continue to run non-interactively.
2017-11-01 06:54:39 -07:00
..
clistate Have the clistate Lock use LockWithContext 2017-04-01 17:09:20 -04:00
e2etest command: "terraform apply" uses interactive confirmation by default 2017-11-01 06:54:39 -07:00
format command: utility for rendering tfdiag diagnostics 2017-10-06 11:46:07 -07:00
test-fixtures Remove test output file accidentally added in 52c97e9f 2017-10-03 17:32:26 -07:00
testdata Have backend operations properly unlock state 2017-02-15 14:41:55 -05:00
apply.go command: "terraform apply" uses interactive confirmation by default 2017-11-01 06:54:39 -07:00
apply_destroy_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
apply_test.go command: "terraform apply" uses interactive confirmation by default 2017-11-01 06:54:39 -07:00
autocomplete.go command: workspace name autocomplete helper 2017-09-26 14:01:13 -07:00
autocomplete_test.go command: workspace name autocomplete helper 2017-09-26 14:01:13 -07: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 always pass in the full plugin path to dicovery 2017-06-16 14:09:47 -04:00
command_test.go pass command credentials into module.Storage 2017-10-27 16:16:35 -04:00
console.go Autoload only .auto.tfvars files 2017-07-05 17:24:17 -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 Use all tfvars files in working directory 2017-07-05 17:24:17 -07: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 command: add -check flag to fmt (#15304) 2017-07-21 14:37:15 -05:00
fmt_test.go command: add -check flag to fmt (#15304) 2017-07-21 14:37:15 -05:00
get.go use the new ModuleStorage in the command package 2017-10-27 12:58:24 -04:00
get_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
graph.go graph should not panic with no config 2017-07-18 13:03:57 -04:00
graph_test.go graph should not panic with no config 2017-07-18 13:03:57 -04: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 command: show resource actions using resource addresses 2017-09-01 17:55:05 -07:00
hook_ui_test.go Output duration in UiHook after successful operation completion. 2017-08-16 14:41:41 -07:00
import.go cli: terraform import -ignore-missing-config 2017-09-18 11:41:30 -07:00
import_test.go cli: terraform import -ignore-missing-config 2017-09-18 11:41:30 -07:00
init.go use Storage.GetModule for init -from-module 2017-10-27 19:27:20 -04:00
init_test.go command/init: check required_version 2017-08-28 11:25:16 -07: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_list.go Add salt-masterless provisioner 2017-08-07 10:00:29 -04:00
internal_plugin_test.go Add salt-masterless provisioner 2017-08-07 10:00:29 -04:00
meta.go pass command credentials into module.Storage 2017-10-27 16:16:35 -04:00
meta_backend.go cli: allow disabling "next steps" message in terraform plan 2017-09-14 10:51:41 -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 use the new ModuleStorage in the command package 2017-10-27 12:58:24 -04:00
meta_test.go properly cleanup and print correct error messages 2017-07-06 11:33:32 -04:00
output.go Use all tfvars files in working directory 2017-07-05 17:24:17 -07:00
output_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
plan.go command: use c.showDiagnostics for backend operation errors 2017-10-16 17:53:06 -07:00
plan_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
plugins.go command: allow callers to activate a plugin cache 2017-09-29 14:03:09 -07: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 Fix swallowed errors in command package. 2017-07-11 08:01:02 -07: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 use the new version package 2017-10-19 21:48:08 -04:00
push_test.go Don't show plugin init message if there are none 2017-06-19 12:08:42 -04:00
refresh.go command: use c.showDiagnostics for backend operation errors 2017-10-16 17:53:06 -07:00
refresh_test.go use the new version package 2017-10-19 21:48:08 -04:00
show.go command/format: improve consistency of plan results 2017-09-01 17:55:05 -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 Use all tfvars files in working directory 2017-07-05 17:24:17 -07:00
state_list_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_meta.go Make the state commands use the real command.Meta 2017-07-27 15:33:50 -04:00
state_mv.go update state rm amd mv docs 2017-08-03 13:24:23 -04:00
state_mv_test.go add tests for state commands through a backend 2017-07-27 18:06:47 -04:00
state_pull.go Use all tfvars files in working directory 2017-07-05 17:24:17 -07:00
state_pull_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_push.go Use all tfvars files in working directory 2017-07-05 17:24:17 -07:00
state_push_test.go create failing test cases for remote lineage issue 2017-08-01 19:34:21 -04:00
state_rm.go command/state-rm: tell the user how many items were removed 2017-09-20 12:48:27 -07:00
state_rm_test.go add tests for state commands through a backend 2017-07-27 18:06:47 -04:00
state_show.go Use all tfvars files in working directory 2017-07-05 17:24:17 -07:00
state_show_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_test.go Make the state commands use the real command.Meta 2017-07-27 15:33:50 -04:00
taint.go Use all tfvars files in working directory 2017-07-05 17:24:17 -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 Use all tfvars files in working directory 2017-07-05 17:24:17 -07:00
unlock_test.go create failing test cases for remote lineage issue 2017-08-01 19:34:21 -04:00
untaint.go Use all tfvars files in working directory 2017-07-05 17:24:17 -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: Load plugins from plugin_path file 2017-10-20 15:42:51 -07:00
validate_test.go command/validate: read terraform.tfvars file for variable values 2017-08-28 12:01:11 -07:00
version.go command: Include provider versions in "terraform version" 2017-10-25 17:36:24 -07:00
version_test.go Implement CLI, version command 2014-05-24 12:04:43 -07:00
workspace_command.go Use all tfvars files in working directory 2017-07-05 17:24:17 -07:00
workspace_command_test.go update workspace new test for inmem backend 2017-08-01 19:34:22 -04:00
workspace_delete.go command: parameter autocomplete for "terraform workspace ..." 2017-09-26 14:01:13 -07:00
workspace_list.go command: parameter autocomplete for "terraform workspace ..." 2017-09-26 14:01:13 -07:00
workspace_new.go command: parameter autocomplete for "terraform workspace ..." 2017-09-26 14:01:13 -07:00
workspace_select.go command: parameter autocomplete for "terraform workspace ..." 2017-09-26 14:01:13 -07:00
workspace_show.go command: parameter autocomplete for "terraform workspace ..." 2017-09-26 14:01:13 -07:00