terraform/command
Martin Atkins e21f0fa61e backend/local: Handle interactive prompts for variables in UI layer
During the 0.12 work we intended to move all of the variable value
collection logic into the UI layer (command package and backend packages)
and present them all together as a unified data structure to Terraform
Core. However, we didn't quite succeed because the interactive prompts
for unset required variables were still being handled _after_ calling
into Terraform Core.

Here we complete that earlier work by moving the interactive prompts for
variables out into the UI layer too, thus allowing us to handle final
validation of the variables all together in one place and do so in the UI
layer where we have the most context still available about where all of
these values are coming from.

This allows us to fix a problem where previously disabling input with
-input=false on the command line could cause Terraform Core to receive an
incomplete set of variable values, and fail with a bad error message.

As a consequence of this refactoring, the scope of terraform.Context.Input
is now reduced to only gathering provider configuration arguments. Ideally
that too would move into the UI layer somehow in a future commit, but
that's a problem for another day.
2019-10-10 10:07:01 -07:00
..
cliconfig command/cliconfig: EmptyCredentialsSourceForTests 2019-08-30 09:39:46 -07:00
clistate terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
e2etest command/e2etest: Fix TestInitProviders 2019-09-06 14:27:16 -07:00
format vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
jsonconfig vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
jsonplan command/show (json): marshal the state snapshot included with the plan file (#21597) 2019-06-05 07:29:02 -04:00
jsonprovider configs/configschema: Introduce the NestingGroup mode for blocks 2019-04-10 14:53:52 -07:00
jsonstate command/jsonstate: properly marshal deposed resources (#23027) 2019-10-08 13:42:34 -04:00
testdata command/import: fix error during import when implied provider was not used (#22855) 2019-09-20 10:02:42 -04:00
webbrowser command: Swappable implementation of launching web browsers 2019-09-09 11:15:24 -07:00
012_config_upgrade.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
apply.go move hcl2shim package to configs 2019-08-06 19:58:58 -04:00
apply_destroy_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
apply_test.go backend/local: Handle interactive prompts for variables in UI layer 2019-10-10 10:07:01 -07: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 Standardise directory name for test data 2019-06-30 10:16:15 +02:00
console.go Merge pull request #22145 from jeffb4/terraform-21483-allow-vars-for-console 2019-09-06 11:41:56 -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 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 commands: make sure the correct flagset is used 2018-11-23 16:13:34 +01:00
debug_json2dot_test.go cleanup temp files from command tests 2018-03-28 13:08:38 -04: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 vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
fmt_test.go Normalize in the fmt -check test 2019-06-18 17:15:59 -04:00
get.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -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: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
graph_test.go command: Fix TestGraph_plan 2018-10-16 19:14:11 -07:00
hook_module_install.go Move module install functionality over to internal/initwd 2019-01-14 11:33:21 -08:00
hook_ui.go Merge pull request #18823 from minamijoyo/fix-multibyte-trucate 2019-08-06 14:24:24 -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 vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
import_test.go command/import: fix error during import when implied provider was not used (#22855) 2019-09-20 10:02:42 -04:00
init.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
init_test.go command/init: omit a warning if -backend-config is used with no backend (#22164) 2019-07-23 08:08:28 -04:00
internal_plugin.go create a new InternalProviders test 2018-01-05 10:59:30 -05:00
internal_plugin_list.go provisioner: new Puppet provisioner (#18851) 2019-06-10 15:31:21 -04:00
internal_plugin_test.go create a new InternalProviders test 2018-01-05 10:59:30 -05:00
login.go command/login: Remove unimplemented -into-file option 2019-09-09 11:15:24 -07:00
login_test.go command: Tests for the "terraform login" command 2019-09-09 11:15:24 -07:00
meta.go backend/local: Handle interactive prompts for variables in UI layer 2019-10-10 10:07:01 -07:00
meta_backend.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
meta_backend_migrate.go don't store prepared backend config 2019-05-24 14:51:18 -04:00
meta_backend_test.go grammatical updates to comments and docs (#20195) 2019-03-21 14:05:41 -07:00
meta_config.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
meta_new.go prune dead code from command/meta 2019-07-18 16:11:41 -04:00
meta_test.go backend/local: Handle interactive prompts for variables in UI layer 2019-10-10 10:07:01 -07: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: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
output_test.go command: Restore the "terraform output" functionality 2018-10-16 19:14:11 -07:00
plan.go command/apply: remove duplicate statement (#23011) 2019-10-08 16:11:36 -04:00
plan_test.go backend/local: Handle interactive prompts for variables in UI layer 2019-10-10 10:07:01 -07:00
plugins.go update provisioners for multiple processes 2018-10-16 19:14:11 -07: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 plugin/discovery: use new addrs.ProviderType in place of a provider typeName string (#22724) 2019-09-09 16:59:50 -04:00
providers.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
providers_schema.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
providers_schema_test.go Standardise directory name for test data 2019-06-30 10:16:15 +02:00
providers_test.go command: Fix tests for "terraform providers" 2018-10-16 19:14:11 -07:00
push.go command: remove "terraform push" 2018-10-16 18:24:47 -07:00
refresh.go command: Consistency implement and document parallelism default of 10 2019-03-06 09:25:36 -05:00
refresh_test.go Standardise directory name for test data 2019-06-30 10:16:15 +02:00
show.go command/show: Fix dropped errors (#22772) 2019-09-13 10:51:32 -04:00
show_test.go fix show-json test to expect error from nested mod 2019-07-16 21:30:04 -04:00
state_command.go Thread the environment through all commands 2017-02-28 16:35:46 -05:00
state_list.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -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: Fix various issues in the "terraform state ..." subcommands 2019-03-18 09:19:55 -07:00
state_mv.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
state_mv_test.go allow moving resource to new modules not in state 2019-08-01 18:54:09 -04:00
state_pull.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -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: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
state_push_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
state_rm.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
state_rm_test.go command: Fix various issues in the "terraform state ..." subcommands 2019-03-18 09:19:55 -07:00
state_show.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
state_show_test.go command/format: Reduce extra whitespaces & new lines 2019-05-16 14:52:06 +01: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: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
taint_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
ui_input.go Make sure UIInput keeps working after being canceled 2019-04-29 15:15:26 +02:00
ui_input_test.go Make sure UIInput keeps working after being canceled 2019-04-29 15:15:26 +02:00
unlock.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
unlock_test.go check for errors when loading a backend config 2019-03-12 17:57:26 -04:00
untaint.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
untaint_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
validate.go website / help: reconcile 'validate' command docs 2019-10-03 15:31:33 -07:00
validate_test.go vendor: go get github.com/hashicorp/hcl2@0b64543c968c 2019-06-18 17:37:24 -07:00
version.go command/version: drop empty line on version check (#14858) 2019-07-06 15:18:13 +02:00
version_test.go Implement CLI, version command 2014-05-24 12:04:43 -07:00
workspace_command.go command/workspace: Added `show` subcommand to workspace command help text. (#22367) 2019-08-16 11:47:00 -04:00
workspace_command_test.go command: Fix TestWorkspace_createWithState 2018-11-08 08:57:11 -08:00
workspace_delete.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
workspace_list.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
workspace_new.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
workspace_select.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00
workspace_show.go command: discard output from flags package and return errs directly (#22373) 2019-08-16 08:31:21 -04:00