opentofu/internal/command
Brandon Croft 9fd76e56cd
Factor out terraform-config-inspect/tfconfig during init
As explained by the deleted comments, this package was used to identify situations where the `terraform 0.12upgrade` command can help migrate 0.11 syntax. Current versions of terraform don't include this command, and it's not likely that users are attempting upgrades from 0.11 to 1.4+

The replacement init swaps the order of the module and backend initialization in order to prepare for the next commit.

Config initialization now takes the following approach:
1. Load the root module, but withhold diagnostic errors until after version check
2. Initialize the backend, but withhold diagnostic errors until after version check
3. Get modules
4. Load all config (root and modules)
5. Check terraform version requirements (this can be defined by nested modules) and display any errors. It's important to show these first because prior errors could be the result of a newer terraform version syntax
6. Finally, show any errors related to backed init or config loading
2023-01-30 17:21:23 -07:00
..
arguments remove -always-out 2022-12-14 11:09:34 -05:00
cliconfig cliconfig: Allow forcing use of the plugin cache despite the lock file 2023-01-25 08:23:01 -08:00
clistate Upgrade to Go 1.17 2021-08-17 15:20:05 -07:00
e2etest s/trigger/triggers_replace/ 2022-12-05 15:23:57 -05:00
format Structured plan renderer: Introduce support for multiline and JSON strings (#32488) 2023-01-11 09:35:36 +01:00
jsonchecks command/jsonchecks: Mark check result objects as experimental 2022-08-26 15:47:29 -07:00
jsonconfig jsonconfig: add implicitly created provider configs 2022-02-19 01:55:09 +09:00
jsonformat Structured Plan Renderer: another round of fixes after more equivalence testing (#32537) 2023-01-20 09:24:22 +01:00
jsonplan Structured Plan Renderer: Read the data source schemas from the right place (#32532) 2023-01-19 15:37:02 +01:00
jsonprovider Structured plan renderer: Implement the main functionality for the renderer (#32496) 2023-01-12 17:59:07 +01:00
jsonstate command/jsonstate: Include check results in JSON state report 2022-08-26 15:47:29 -07:00
testdata add command test for errored plan 2022-12-14 16:23:31 -05:00
views Structured Plan Renderer: Read the data source schemas from the right place (#32532) 2023-01-19 15:37:02 +01:00
webbrowser Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
workdir build: Use Go 1.19 2022-08-22 10:59:12 -07:00
apply_destroy_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
apply_test.go [fixes 31700] Add mTLS support for http backend by way of client cert & key, as well as enterprise cacert. (#31699) 2023-01-26 14:08:07 +00:00
apply.go add destroy option to terraform apply help text (#31714) 2022-08-31 15:13:26 +01:00
autocomplete_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
autocomplete.go Fix autocomplete for workspace subcommands 2022-01-08 14:41:20 +11:00
cli_ui_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
cli_ui.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
command_test.go removes EnableForcePush and other unrelated code 2022-09-02 14:49:25 -05:00
command.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
console_interactive_solaris.go Upgrade to Go 1.17 2021-08-17 15:20:05 -07:00
console_interactive.go remove wrapped streams and readline 2021-10-28 11:51:39 -04:00
console_test.go Unify all sensitive value plan output as "(sensitive value)" 2022-10-24 12:50:46 -06:00
console.go Merge pull request #29825 from hashicorp/jbardin/no-panicwrap 2021-10-29 14:41:05 -04:00
flag_kv_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
flag_kv.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
fmt_test.go command/fmt: support formatting multiple files 2022-08-07 15:02:55 +02:00
fmt.go command/fmt: support formatting multiple files 2022-08-07 15:02:55 +02:00
get_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
get.go command: make module installation interruptible 2021-11-11 12:28:10 +00:00
graph_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
graph.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
helper.go first part of code review comments 2022-08-30 17:01:44 -05:00
hook_module_install.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
import_test.go build: Use Go 1.19 2022-08-22 10:59:12 -07:00
import.go don't check diags for errors 2022-08-30 18:03:57 -05:00
init_test.go terraform init: add warning and guidance when lock file is incomplete (#31399) 2022-07-20 13:28:04 +01:00
init.go Factor out terraform-config-inspect/tfconfig during init 2023-01-30 17:21:23 -07:00
login_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
login.go insert panic handlers 2021-10-28 11:51:39 -04:00
logout_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
logout.go Fix problems caught by staticcheck v0.3.0 2022-04-04 08:12:44 -07:00
meta_backend_migrate_test.go remove errant fmt.Println 2022-06-21 11:32:07 -04:00
meta_backend_migrate.go first part of code review comments 2022-08-30 17:01:44 -05:00
meta_backend_test.go update persist state 2022-08-25 14:57:40 -05:00
meta_backend.go update persist state 2022-08-25 14:57:40 -05:00
meta_config.go Factor out terraform-config-inspect/tfconfig during init 2023-01-30 17:21:23 -07:00
meta_dependencies.go backend/local: Check dependency lock consistency before any operations 2021-10-01 14:43:58 -07:00
meta_new.go Move plans/ to internal/plans/ 2021-05-17 14:09:07 -07:00
meta_providers.go cliconfig: Allow forcing use of the plugin cache despite the lock file 2023-01-25 08:23:01 -08:00
meta_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
meta_vars.go cli: Improved error for invalid -var "foo = bar" 2022-05-03 09:14:29 -04:00
meta.go cliconfig: Allow forcing use of the plugin cache despite the lock file 2023-01-25 08:23:01 -08:00
output_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
output.go fix: have terraform output adhere to authorization w/ cloud 2022-07-25 10:04:43 -06:00
plan_test.go Merge pull request #32395 from hashicorp/jbardin/plan-output-on-error 2023-01-04 12:44:52 -05:00
plan.go remove -always-out 2022-12-14 11:09:34 -05:00
plugins_lock_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
plugins_lock.go core: Simplify and centralize plugin availability checks 2021-10-01 14:43:58 -07:00
plugins_test.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
plugins.go workdir: Start of a new package for working directory state management 2021-09-10 14:56:49 -07:00
providers_lock_test.go Ignore existing package hashes for providers lock command (#31389) 2022-07-20 13:27:24 +01:00
providers_lock.go Ignore existing package hashes for providers lock command (#31389) 2022-07-20 13:27:24 +01:00
providers_mirror_test.go providers subcommand tests (#28744) 2021-05-19 12:56:16 -04:00
providers_mirror.go add XTerraformGetLimit to prevent redirect loops 2022-06-01 12:46:22 -04:00
providers_schema_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
providers_schema.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
providers_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
providers.go goimports on providers.go only 2022-08-01 16:38:03 -05:00
push.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
refresh_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
refresh.go command: mention plan options in refresh help text (#30892) 2022-05-31 14:27:21 +01:00
show_test.go command: fix panic on show when state file is invalid or unavailable (#31444) 2022-07-15 17:31:56 +01:00
show.go first part of code review comments 2022-08-30 17:01:44 -05:00
state_command.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
state_list_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
state_list.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
state_meta.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
state_mv_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
state_mv.go don't check diags for errors 2022-08-30 18:03:57 -05:00
state_pull_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
state_pull.go cli: Make state commands check required version (#30511) 2022-03-31 13:42:42 -04:00
state_push_test.go update persist state 2022-08-25 14:57:40 -05:00
state_push.go add warning to diags and show at the end of each command 2022-08-30 17:52:51 -05:00
state_replace_provider_test.go remove test for error 2022-08-29 14:25:15 -05:00
state_replace_provider.go don't check diags for errors 2022-08-30 18:03:57 -05:00
state_rm_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
state_rm.go don't check diags for errors 2022-08-30 18:03:57 -05:00
state_show_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
state_show.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
state_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
taint_test.go refactor GetSchemas to include an option to pass in a config 2022-08-29 11:32:14 -05:00
taint.go don't check diags for errors 2022-08-30 18:03:57 -05:00
test_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
test.go Use hashicorp/terraform-registry-address as a decoupled library (#28338) 2022-07-08 14:46:29 +01:00
ui_input_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_input.go command: Ensure all answers were used in command.testInputResponseMap 2021-09-21 22:26:16 -05:00
unlock_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
unlock.go fix(unlock): amend force-unlock description (#32363) 2022-12-09 16:15:27 +00:00
untaint_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
untaint.go don't check diags for errors 2022-08-30 18:03:57 -05:00
validate_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
validate.go core: Functional-style API for terraform.Context 2021-08-30 13:59:14 -07:00
version_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
version.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00
workspace_command_test.go New Terraform Workspace select flag: 2022-08-31 13:07:18 -04:00
workspace_command.go Merge pull request #31633 from brittandeyoung/f-workspace-selectornew 2022-12-16 15:29:25 -05:00
workspace_delete.go Merge pull request #31999 from JarrettSpiker/jspiker/workspace-delete-rum-docs 2022-11-25 12:07:02 -05:00
workspace_list.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
workspace_new.go update persist state 2022-08-25 14:57:40 -05:00
workspace_select.go Update internal/command/workspace_select.go 2022-12-16 15:03:46 -05:00
workspace_show.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00