terraform/command
Martin Atkins 549aede792 Remove terraform.ResourceProvider, use providercache.Installer instead
Back when we first introduced provider versioning in Terraform 0.10, we
did the provider version resolution in terraform.NewContext because we
weren't sure yet how exactly our versioning model was going to play out
(whether different versions could be selected per provider configuration,
for example) and because we were building around the limitations of our
existing filesystem-based plugin discovery model.

However, the new installer codepath is new able to do all of the
selections up front during installation, so we don't need such a heavy
inversion of control abstraction to get this done: the command package can
select the exact provider versions and pass their factories directly
to terraform.NewContext as a simple static map.

The result of this commit is that CLI commands other than "init" are now
able to consume the local cache directory and selections produced by the
installation process in "terraform init", passing all of the selected
providers down to the terraform.NewContext function for use in
implementing the main operations.

This commit is just enough to get the providers passing into the
terraform.Context. There's still plenty more to do here, including to
repair all of the tests this change has additionally broken.
2020-04-06 09:24:23 -07:00
..
cliconfig command: Fix bug when using terraform login on Windows 2020-03-18 09:08:40 -04: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 command/format: Fix multi-line diagnostic output 2020-03-26 15:53:52 -04:00
jsonconfig terraform: use addrs.Provider as map keys for provider schemas (#24002) 2020-02-03 08:18:04 -05:00
jsonplan finish provider ModuleInstance replacement 2020-03-11 14:19:52 -04:00
jsonprovider Add support for provider metadata to modules. (#22583) 2020-03-05 16:53:24 -08:00
jsonstate fixup states.Resource change throughout packages 2020-03-16 16:50:48 -04:00
testdata rename provider-specific functions (#24417) 2020-03-20 13:59:59 -04:00
webbrowser command/login: Fix browser launcher for WSL users 2020-02-13 15:02:40 -05:00
012_config_upgrade.go command: remove 0.12upgrade (#24403) 2020-03-19 08:01:16 -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: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
013_config_upgrade_test.go command: Add scaffold for 0.13upgrade command 2020-03-16 12:50:24 -04:00
apply.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
apply_destroy_test.go use addrs.ConfigResource for dependency tracking 2020-03-25 17:03:06 -04:00
apply_test.go Remove terraform.ResourceProvider, use providercache.Installer instead 2020-04-06 09:24:23 -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
cli_ui_test.go
command.go Implement the Enterprise enhanced remote backend 2018-08-03 22:22:55 +02:00
command_test.go Remove terraform.ResourceProvider, use providercache.Installer instead 2020-04-06 09:24:23 -07:00
console.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
console_interactive.go command: update "terraform console" for HCL2 2018-10-16 18:46:46 -07:00
console_interactive_solaris.go
console_test.go backend: Allow certain commands to opt out of required variable checks 2019-10-10 10:07:01 -07:00
debug_command.go
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
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 finish provider ModuleInstance replacement 2020-03-11 14:19:52 -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 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 command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
import_test.go Mildwonkey/ps import (#24412) 2020-03-20 08:15:29 -04:00
init.go Remove terraform.ResourceProvider, use providercache.Installer instead 2020-04-06 09:24:23 -07:00
init_test.go rename provider-specific functions (#24417) 2020-03-20 13:59:59 -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/internal-plugin: Strip off TF_CLI_ARGS arguments 2019-12-05 15:00:51 -08:00
login.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
login_test.go Add token validation for manual terraform login 2020-02-04 17:24:25 -05: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 Remove terraform.ResourceProvider, use providercache.Installer instead 2020-04-06 09:24:23 -07:00
meta_backend.go command: use backend config from state when backend=false is used. (#23802) 2020-01-07 15:07:06 -05:00
meta_backend_migrate.go don't store prepared backend config 2019-05-24 14:51:18 -04:00
meta_backend_test.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -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 Remove terraform.ResourceProvider, use providercache.Installer instead 2020-04-06 09:24:23 -07:00
meta_test.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -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: Simplify Meta.process helper method 2020-04-01 15:01:08 -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: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
plan_test.go finish provider ModuleInstance replacement 2020-03-11 14:19:52 -04:00
plugins.go Remove terraform.ResourceProvider, use providercache.Installer instead 2020-04-06 09:24:23 -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 command/show: fix issue with show and aliased provider (#23848) 2020-01-13 15:10:00 -05:00
providers.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
providers_schema.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -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: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
refresh_test.go use addrs.ConfigResource for dependency tracking 2020-03-25 17:03:06 -04:00
show.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
show_test.go use addrs.ConfigResource for dependency tracking 2020-03-25 17:03:06 -04:00
state_command.go
state_list.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -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: Add state replace-provider subcommand 2020-04-02 08:15:52 -04:00
state_mv.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
state_mv_test.go use addrs.ConfigResource for dependency tracking 2020-03-25 17:03:06 -04:00
state_pull.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -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: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
state_push_test.go command/state: lock when pushing state 2018-11-20 11:15:16 +01:00
state_replace_provider.go command: Add state replace-provider subcommand 2020-04-02 08:15:52 -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: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
state_rm_test.go finish provider ModuleInstance replacement 2020-03-11 14:19:52 -04:00
state_show.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
state_show_test.go Remove terraform.ResourceProvider, use providercache.Installer instead 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: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
taint_test.go finish provider ModuleInstance replacement 2020-03-11 14:19:52 -04: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: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
unlock_test.go check for errors when loading a backend config 2019-03-12 17:57:26 -04:00
untaint.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
untaint_test.go finish provider ModuleInstance replacement 2020-03-11 14:19:52 -04:00
validate.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
validate_test.go vendor: go get github.com/hashicorp/hcl2@0b64543c968c 2019-06-18 17:37:24 -07:00
version.go Remove terraform.ResourceProvider, use providercache.Installer instead 2020-04-06 09:24:23 -07:00
version_test.go
workspace_command.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00
workspace_command_test.go finish provider ModuleInstance replacement 2020-03-11 14:19:52 -04:00
workspace_delete.go command: Simplify Meta.process helper method 2020-04-01 15:01:08 -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: Simplify Meta.process helper method 2020-04-01 15:01:08 -04:00