terraform/command
Martin Atkins 7ca592ac06 core: use ResourceProviderResolver to resolve providers
Previously the set of providers was fixed early on in the command package
processing. In order to be version-aware we need to defer this work until
later, so this interface exists so we can hold on to the possibly-many
versions of plugins we have available and then later, once we've finished
determining the provider dependencies, select the appropriate version of
each provider to produce the final set of providers to use.

This commit establishes the use of this new mechanism, and thus populates
the provider factory map with only the providers that result from the
dependency resolution process.

This disables support for internal provider plugins, though the
mechanisms for building and launching these are still here vestigially,
to be cleaned up in a subsequent commit.

This also adds a new awkward quirk to the "terraform import" workflow
where one can't import a resource from a provider that isn't already
mentioned (implicitly or explicitly) in config. We will do some UX work
in subsequent commits to make this behavior better.

This breaks many tests due to the change in interface, but to keep this
particular diff reasonably easy to read the test fixes are split into
a separate commit.
2017-06-09 14:03:59 -07:00
..
clistate Have the clistate Lock use LockWithContext 2017-04-01 17:09:20 -04:00
format command/format: a package for formatting plans/state for output 2017-01-26 14:33:49 -08:00
test-fixtures command: correct provider name in the test fixture for push 2017-06-09 14:03:59 -07:00
testdata Have backend operations properly unlock state 2017-02-15 14:41:55 -05:00
apply.go add data-loss warning to SIGINT handler in apply 2017-04-25 11:43:59 -04:00
apply_destroy_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
apply_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
cli_ui.go adding new AskSecret to ColorizeUi 2015-04-29 13:07:13 -05:00
cli_ui_test.go
command.go command: convert to use backends 2017-01-26 14:33:49 -08:00
command_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
console.go command: convert to use backends 2017-01-26 14:33:49 -08: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
env_command.go update error response when env does not exist (#14009) 2017-04-27 11:22:30 +01:00
env_command_test.go Reject names that aren't url-safe 2017-03-27 18:00:56 -04:00
env_delete.go provide contexts to clistate.Lock calls 2017-04-01 17:09:20 -04:00
env_list.go missing args assignment after parsing flags 2017-03-03 18:19:56 -05:00
env_new.go missing PersistState in env new 2017-04-12 13:57:22 -04:00
env_select.go Reject names that aren't url-safe 2017-03-27 18:00:56 -04: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/fmt: Improve documentation for -diff and defaults (#6398) 2016-04-29 00:39:53 +01:00
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 terraform: remove legacy graph builder 2017-01-26 15:18:42 -08: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 add cli flags for -lock-timeout 2017-04-01 17:09:21 -04:00
import_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
init.go correct spelling mistakes (#13979) 2017-04-27 02:10:04 +12:00
init_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -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_core.go Implemented internal plugin calls; which allows us to compile plugins into the main terraform binary 2016-05-10 14:40:11 -04:00
internal_plugin_list.go Regenerate plugin list since provisioners were changed in previous commits 2017-05-19 20:54:08 +02:00
internal_plugin_test.go Implemented internal plugin calls; which allows us to compile plugins into the main terraform binary 2016-05-10 14:40:11 -04:00
meta.go core: use ResourceProviderResolver to resolve providers 2017-06-09 14:03:59 -07:00
meta_backend.go core: fix bad Sprintf in backend migration message (#14601) 2017-05-19 17:01:44 +03:00
meta_backend_migrate.go Fix typo on state migration input error 2017-05-23 20:50:12 -07:00
meta_backend_test.go add init -reconfigure test 2017-04-20 18:15:47 -04:00
meta_new.go command: convert to use backends 2017-01-26 14:33:49 -08:00
meta_test.go Thread the environment through all commands 2017-02-28 16:35:46 -05:00
module_storage.go fix a bunch of tests from go-getter import 2015-10-15 13:48:58 -07:00
module_storage_test.go fix a bunch of tests from go-getter import 2015-10-15 13:48:58 -07:00
output.go Thread the environment through all commands 2017-02-28 16:35:46 -05:00
output_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
plan.go add cli flags for -lock-timeout 2017-04-01 17:09:21 -04:00
plan_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
plugins.go core: use ResourceProviderResolver to resolve providers 2017-06-09 14:03:59 -07:00
push.go command/push: update copy for remote state error 2017-03-16 14:41:37 -07:00
push_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
refresh.go add cli flags for -lock-timeout 2017-04-01 17:09:21 -04:00
refresh_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
show.go Thread the environment through all commands 2017-02-28 16:35:46 -05: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 Split Meta back out of StateMeta 2017-03-01 10:20:32 -05:00
state_list_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_meta.go Split Meta back out of StateMeta 2017-03-01 10:20:32 -05:00
state_mv.go correct spelling mistakes (#13979) 2017-04-27 02:10:04 +12:00
state_mv_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_pull.go command: fix crash on state pull with empty state 2017-03-01 12:47:36 -08:00
state_pull_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_push.go command/state-push: support pushing from stdin 2017-03-01 13:10:48 -08:00
state_push_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_rm.go Split Meta back out of StateMeta 2017-03-01 10:20:32 -05:00
state_rm_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
state_show.go Split Meta back out of StateMeta 2017-03-01 10:20:32 -05: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 add cli flags for -lock-timeout 2017-04-01 17:09:21 -04: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 remove extra state.Locker assertions 2017-04-01 17:01:45 -04:00
unlock_test.go Push plugin discovery down into command package 2017-06-09 14:03:59 -07:00
untaint.go add cli flags for -lock-timeout 2017-04-01 17:09:21 -04:00
untaint_test.go Clean up LockInfo and LockError and use them 2017-02-15 14:44:43 -05:00
validate.go command/validate: respond to --help 2016-10-27 13:43:01 -04:00
validate_test.go Fixing some golint issues on the new validate command 2016-02-08 22:04:24 +00:00
version.go
version_test.go