terraform/command
Kristin Laemmert 196c183dda
terraform: remove state from `validate` graph walk (#26063)
This pull reverts a recent change to backend/local which created two context, one with and one without state. Instead I have removed the state entirely from the validate graph (by explicitly passing a states.NewState() to the validate graph builder).

This changed caused a test failure, which (ty so much for the help) @jbardin discovered was inaccurate all along: the test's call to `Validate()` was actually what was removing the output from state. The new expected test output matches terraform's actual behavior on the command line: if you use -target to destroy a resource, an output that references only that resource is *not* removed from state even though that test would lead you to believe it did.

This includes two tests to cover the expected behavior:

TestPlan_varsUnset has been updated so it will panic if it gets more than one request to input a variable
TestPlan_providerArgumentUnset covers #26035

Fixes #26035, #26027
2020-08-31 15:45:39 -04:00
..
cliconfig provider cache: log errors and validate dir exists (#24993) 2020-05-19 15:32:36 -04:00
clistate state: remove deprecated state package (#25490) 2020-08-11 11:43:01 -04:00
e2etest internal/getproviders: decode and return any registry warnings (#25337) 2020-06-25 10:49:48 -04:00
format command/format: Fix empty overlap diagnostics 2020-06-05 16:17:27 -04:00
jsonconfig Ensure depends_on is in module calls for config 2020-08-20 07:49:03 +10:00
jsonplan command/jsonconfig: Use correct provider address to access schema 2020-04-06 09:24:23 -07:00
jsonprovider Mildwonkey/command tests (#24535) 2020-04-06 09:24:23 -07:00
jsonstate remove a few traces of states.EachMode 2020-04-30 09:22:15 -04:00
testdata command: Fix backend config override validation 2020-08-21 16:21:13 -04:00
webbrowser command/login: Fix browser launcher for WSL users 2020-02-13 15:02:40 -05:00
012_config_upgrade.go command: Fix 0.12upgrade stub 2020-06-01 16:12:30 -04:00
012_config_upgrade_test.go command: remove 0.12upgrade (#24403) 2020-03-19 08:01:16 -04:00
013_config_upgrade.go command: Fix 0.13upgrade to preserve more comments 2020-06-24 15:54:46 -04:00
013_config_upgrade_test.go command/0.13upgrade: make confirmation more user-friendly (#25142) 2020-06-08 13:36:19 -04:00
apply.go command/apply: Remove implicit init call 2020-06-12 12:39:15 -04:00
apply_destroy_test.go command: apply and most of import tests passing 2020-04-06 09:24:23 -07:00
apply_test.go state: remove deprecated state package (#25490) 2020-08-11 11:43:01 -04:00
autocomplete.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
autocomplete_test.go command: use newer version of "complete" library 2017-12-05 10:24:04 -08: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 Implement the Enterprise enhanced remote backend 2018-08-03 22:22:55 +02:00
command_test.go command: Fix command fixture modify-in-place bugs 2020-06-18 17:09:20 -04:00
console.go * backend/local: push responsibility for unlocking state into individual operations 2020-08-11 11:23:42 -04:00
console_interactive.go command: update "terraform console" for HCL2 2018-10-16 18:46:46 -07: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 fix command tests 2020-08-07 14:13:57 -04:00
debug_command.go Add debug command with json2dot 2016-11-21 11:59:20 -05:00
flag_kv.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
flag_kv_test.go command: use helper/variables for flags and parsing 2016-12-10 14:30:40 -05:00
fmt.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
fmt_test.go command/fmt: Include source snippets in errors 2020-03-26 14:00:26 -04:00
get.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
get_test.go command: Update "terraform get" to use the new module installer 2019-01-17 16:52:34 -08:00
graph.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
graph_test.go fix command tests 2020-08-07 14:13:57 -04:00
hook_module_install.go Move module install functionality over to internal/initwd 2019-01-14 11:33:21 -08:00
hook_ui.go command: Remove stubbed-out apply diff output code 2020-07-22 14:19:00 -04:00
hook_ui_test.go Merge pull request #18823 from minamijoyo/fix-multibyte-trucate 2019-08-06 14:24:24 -04:00
import.go * backend/local: push responsibility for unlocking state into individual operations 2020-08-11 11:23:42 -04:00
import_test.go terraform: Eval module call arguments for import 2020-08-17 17:14:12 -04:00
init.go command: Fix backend config schema validation 2020-08-26 10:50:47 -04:00
init_test.go command: Add test for backend config validation 2020-08-26 11:37:11 -04:00
internal_plugin.go command/internal-plugin: Strip off TF_CLI_ARGS arguments 2019-12-05 15:00:51 -08:00
internal_plugin_list.go provisioner: new Puppet provisioner (#18851) 2019-06-10 15:31:21 -04:00
internal_plugin_test.go command: Make the tests compile again 2020-04-06 09:24:23 -07:00
login.go command/login: Require "yes" to confirm 2020-06-25 11:46:51 -04:00
login_test.go command/login: Require "yes" to confirm 2020-06-25 11:46:51 -04:00
logout.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
logout_test.go command/logout: Add terraform logout command 2020-02-06 15:00:55 -05:00
meta.go Merge pull request #25847 from zachwhaley/fix-tf-cli-args-no-color 2020-08-24 10:13:59 -04:00
meta_backend.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
meta_backend_migrate.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
meta_backend_test.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
meta_config.go don't print just warnings when loading backend cfg 2019-12-06 10:20:23 -05:00
meta_new.go prune dead code from command/meta 2019-07-18 16:11:41 -04:00
meta_providers.go providercache: Lazily detect executable file 2020-07-07 15:18:27 -04:00
meta_test.go Merge pull request #25847 from zachwhaley/fix-tf-cli-args-no-color 2020-08-24 10:13:59 -04:00
meta_vars.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
output.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
output_test.go command/output: Absence of outputs is not an error 2019-11-06 16:26:32 -08:00
plan.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
plan_test.go terraform: remove state from `validate` graph walk (#26063) 2020-08-31 15:45:39 -04:00
plugins.go Typo: heirarchical => hierarchical 2020-07-23 15:09:22 +02:00
plugins_lock.go Standardize on log level "WARN" rather than "WARNING" 2018-01-16 18:05:26 -08:00
plugins_lock_test.go cleanup temp files from command tests 2018-03-28 13:08:38 -04:00
plugins_test.go command: Make the tests compile again 2020-04-06 09:24:23 -07:00
providers.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
providers_mirror.go internal/getproviders: decode and return any registry warnings (#25337) 2020-06-25 10:49:48 -04:00
providers_schema.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
providers_schema_test.go command: Make the tests compile again 2020-04-06 09:24:23 -07:00
providers_test.go command/providers: Show provider requirements tree 2020-06-09 14:21:53 -04:00
push.go command: remove "terraform push" 2018-10-16 18:24:47 -07:00
refresh.go command/refresh: fix state file path (#22885) 2020-06-04 10:24:53 -04:00
refresh_test.go remove unused DependsOn usage in state 2020-05-14 15:46:08 -04:00
show.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
show_test.go command/show: fix bug displaying provider config in json output of tf plan (#25577) 2020-07-14 15:28:31 -04:00
state_command.go Thread the environment through all commands 2017-02-28 16:35:46 -05:00
state_list.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
state_list_test.go command/state: update and fix the state list command 2018-10-19 16:31:12 +02:00
state_meta.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
state_mv.go command: Fix state mv for only resource in module 2020-08-11 11:54:35 -04:00
state_mv_test.go command: Fix state mv for only resource in module 2020-08-11 11:54:35 -04:00
state_pull.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
state_pull_test.go command: Use statemgr.Import and statemgr.Export for state push and pull 2018-11-19 09:02:35 -08:00
state_push.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
state_push_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
state_replace_provider.go website: Add docs for state replace-provider 2020-04-23 11:41:57 -04:00
state_replace_provider_test.go command: Add state replace-provider subcommand 2020-04-02 08:15:52 -04:00
state_rm.go command: adjust exit code of state rm (#22300) 2020-06-24 14:03:23 -04:00
state_rm_test.go command: adjust exit code of state rm (#22300) 2020-06-24 14:03:23 -04:00
state_show.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
state_show_test.go Mildwonkey/command tests (#24535) 2020-04-06 09:24:23 -07:00
state_test.go command: Allow tests to run to completion without panics or hangs 2018-10-16 19:14:11 -07:00
taint.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
taint_test.go finish provider ModuleInstance replacement 2020-03-11 14:19:52 -04:00
ui_input.go command/login: Require "yes" to confirm 2020-06-25 11:46:51 -04:00
ui_input_test.go Make sure UIInput keeps working after being canceled 2019-04-29 15:15:26 +02:00
unlock.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
unlock_test.go check for errors when loading a backend config 2019-03-12 17:57:26 -04:00
untaint.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
untaint_test.go finish provider ModuleInstance replacement 2020-03-11 14:19:52 -04:00
validate.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00
validate_test.go vendor: go get github.com/hashicorp/hcl2@0b64543c968c 2019-06-18 17:37:24 -07:00
version.go fix outdated message output order 2020-08-11 23:27:29 +01:00
version_test.go test outdated version output 2020-08-12 21:22:39 +01:00
workspace_command.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
workspace_command_test.go command: Allow workspace delete with invalid name 2020-08-11 12:33:12 -04:00
workspace_delete.go command: Allow workspace delete with invalid name 2020-08-11 12:33:12 -04:00
workspace_list.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
workspace_new.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
workspace_select.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
workspace_show.go command: Always validate workspace name 2020-08-11 12:33:12 -04:00