terraform/internal/command
Sarah French d11bdf6832
Refactor backend error strings as custom errors or pre-made diagnostics (#37762)
* Replace `errBackendLocalRead` constant with custom error of same name

* Replace `errBackendNoExistingWorkspaces` constant with custom error of same name

* Replace `errBackendMigrateLocalDelete` constant with custom error of same name

* Replace `errBackendNewUnknown` constant with custom error of same name

* Replace `errBackendSavedUnknown` constant with custom error of same name

* Replace `errBackendClearSaved` constant with custom error of same name

* Replace `errBackendInit` constant with custom error of same name

* Replace `errBackendInitCloud` constant with custom error of same name

* Replace `errBackendWriteSaved` constant with custom error of same name

* Move `migrateOrReconfigDiag` next to custom errors

* Replace `errBackendInit` custom error with `func errBackendInitDiag` for creating diagnostics directly

* Replace `errBackendInitCloud` custom error with `func errBackendInitCloudDiag` for creating diagnostics directly

* Replace `errBackendWriteSaved` custom error with `func errBackendWriteSavedDiag` for creating diagnostics directly

* Add new usage of errBackendWriteSavedDiag; this is another place where failing to write to backend state files happens

* Add godoc comments

* Ensure errors aren't repeated in terminal output, and ensure warnings are not lost.
2025-10-13 16:02:19 +01:00
..
arguments query: add -query flag to validate command (#37671) 2025-10-01 11:33:52 +02:00
cliconfig Apply some new go collection features (#36818) 2025-04-02 16:20:16 +02:00
clistate command/workdir: Model the "backend state" file format 2024-03-08 17:21:53 -08:00
e2etest PSS: Add reusable method for obtaining the provider factory needed for accessing a state store. (#37665) 2025-09-24 15:21:23 +00:00
format standardize on marks.Has 2025-10-09 14:48:13 +02:00
jsonchecks Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
jsonconfig fix: move parsing action reference expressions into terraform (#37458) 2025-08-22 11:23:55 -04:00
jsonformat tf query: ready list blocks for beta (#37619) 2025-09-17 12:29:04 +02:00
jsonfunction lang: stabilise templatestring func experiment (#35224) 2024-05-28 16:50:25 +01:00
jsonplan actions: preserve unknown metadata in the json plan (#37611) 2025-09-15 14:21:14 +02:00
jsonprovider tf query: ready list blocks for beta (#37619) 2025-09-17 12:29:04 +02:00
jsonstate standardize on marks.Has 2025-10-09 14:48:13 +02:00
junit Apply some new go collection features (#36818) 2025-04-02 16:20:16 +02:00
testdata PSS: Add savedStateStore method to Meta (#37558) 2025-10-03 18:47:35 +01:00
testing terraform test: enable deferrals in Terraform Test with the specified flag (#37370) 2025-07-30 11:03:41 +02:00
views standardize on marks.Has 2025-10-09 14:48:13 +02:00
webbrowser Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
workdir Implement controlling destroy functionality within Terraform Test (#37359) 2025-09-10 17:22:20 +02:00
apply.go remove feature flag from invoke flag 2025-09-16 16:10:53 +02:00
apply_destroy_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
apply_test.go apply: include sensitive metadata when comparing changed input values (#37582) 2025-09-10 11:11:31 +02:00
autocomplete.go Clarify usage of BackendOpts, rename field in struct to enable usage with PSS in future (#37085) 2025-07-11 11:08:56 +01:00
autocomplete_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
cli_ui.go adopt hashicorp/cli fork of mitchellh/cli (#34429) 2023-12-20 11:04:10 +00:00
cli_ui_test.go adopt hashicorp/cli fork of mitchellh/cli (#34429) 2023-12-20 11:04:10 +00:00
cloud.go Clarify usage of BackendOpts, rename field in struct to enable usage with PSS in future (#37085) 2025-07-11 11:08:56 +01:00
cloud_test.go PSS: Add alternative, experimental version of init command that downloads providers in two stages (#37350) 2025-08-18 11:20:18 +01:00
command.go Update comments about backend interfaces, enhanced vs operations, and fix copy-paste inaccuracies (#36716) 2025-03-20 16:52:00 +00:00
command_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
console.go Clarify usage of BackendOpts, rename field in struct to enable usage with PSS in future (#37085) 2025-07-11 11:08:56 +01:00
console_interactive.go terraform console: Multi-line entry support 2024-03-13 09:00:02 -07:00
console_interactive_solaris.go adopt hashicorp/cli fork of mitchellh/cli (#34429) 2023-12-20 11:04:10 +00:00
console_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
experimental_test.go Fix experimental gating of PSS feature (#37526) 2025-08-29 14:23:35 +01:00
flag_kv.go move all command args from command/init to args/init 2024-04-17 12:26:23 -04:00
flag_kv_test.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
fmt.go Support tfquery files in terraform fmt (#37347) 2025-07-23 16:52:19 +02:00
fmt_test.go Support tfquery files in terraform fmt (#37347) 2025-07-23 16:52:19 +02:00
get.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
get_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
graph.go Clarify usage of BackendOpts, rename field in struct to enable usage with PSS in future (#37085) 2025-07-11 11:08:56 +01:00
graph_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
helper.go Rebrand Terraform Cloud to HCP Terraform 2024-04-23 16:12:59 -04:00
hook_module_install.go allow slashes in git url parameters 2024-08-09 13:54:13 -04:00
import.go Clarify usage of BackendOpts, rename field in struct to enable usage with PSS in future (#37085) 2025-07-11 11:08:56 +01:00
import_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
init.go PSS: Add reusable method for obtaining the provider factory needed for accessing a state store. (#37665) 2025-09-24 15:21:23 +00:00
init_run.go PSS: Add reusable method for obtaining the provider factory needed for accessing a state store. (#37665) 2025-09-24 15:21:23 +00:00
init_run_experiment.go PSS: Add reusable method for obtaining the provider factory needed for accessing a state store. (#37665) 2025-09-24 15:21:23 +00:00
init_test.go Fix experimental gating of PSS feature (#37526) 2025-08-29 14:23:35 +01:00
login.go Rebrand Terraform Cloud to HCP Terraform 2024-04-23 16:12:59 -04:00
login_test.go Rebrand Terraform Cloud to HCP Terraform 2024-04-23 16:12:59 -04:00
logout.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
logout_test.go adopt hashicorp/cli fork of mitchellh/cli (#34429) 2023-12-20 11:04:10 +00:00
meta.go PSS: Add reusable method for obtaining the provider factory needed for accessing a state store. (#37665) 2025-09-24 15:21:23 +00:00
meta_backend.go Refactor backend error strings as custom errors or pre-made diagnostics (#37762) 2025-10-13 16:02:19 +01:00
meta_backend_errors.go Refactor backend error strings as custom errors or pre-made diagnostics (#37762) 2025-10-13 16:02:19 +01:00
meta_backend_migrate.go Update calls to StateMgr method to use diagnostics more conventionally (#37597) 2025-09-15 15:22:58 +01:00
meta_backend_migrate_test.go Inject appname to backend migration prompts 2024-04-23 16:12:59 -04:00
meta_backend_test.go PSS: Add stateStoreInitFromConfig method to Meta (#37723) 2025-10-06 16:26:11 +01:00
meta_config.go tf query: ready list blocks for beta (#37619) 2025-09-17 12:29:04 +02:00
meta_dependencies.go PSS: Add alternative, experimental version of init command that downloads providers in two stages (#37350) 2025-08-18 11:20:18 +01:00
meta_dependencies_test.go PSS: Add alternative, experimental version of init command that downloads providers in two stages (#37350) 2025-08-18 11:20:18 +01:00
meta_new.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
meta_providers.go PSS: Add reusable method for obtaining the provider factory needed for accessing a state store. (#37665) 2025-09-24 15:21:23 +00:00
meta_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
meta_vars.go Update comments about backend interfaces, enhanced vs operations, and fix copy-paste inaccuracies (#36716) 2025-03-20 16:52:00 +00:00
metadata_command.go adopt hashicorp/cli fork of mitchellh/cli (#34429) 2023-12-20 11:04:10 +00:00
metadata_functions.go internal/command: Avoid ignoring ephemeralasnull function (#35651) 2024-09-04 10:25:11 +01:00
metadata_functions_test.go adopt hashicorp/cli fork of mitchellh/cli (#34429) 2023-12-20 11:04:10 +00:00
modules.go Add human view for modules cmd 2024-11-21 12:54:24 -05:00
modules_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
output.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
output_test.go Remove handling of ephemeral root outputs (#35809) 2024-10-03 18:10:30 +01:00
plan.go actions: connect invoke flag with TFC (#37544) 2025-10-08 19:29:32 +02:00
plan_test.go tf query: ready list blocks for beta (#37619) 2025-09-17 12:29:04 +02:00
plugins.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
plugins_lock.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
plugins_lock_test.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
plugins_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
providers.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
providers_lock.go move all command args from command/init to args/init 2024-04-17 12:26:23 -04:00
providers_lock_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
providers_mirror.go update helptext and docs 2024-06-14 16:23:36 -04:00
providers_mirror_test.go adopt hashicorp/cli fork of mitchellh/cli (#34429) 2023-12-20 11:04:10 +00:00
providers_schema.go tf query: ready list blocks for beta (#37619) 2025-09-17 12:29:04 +02:00
providers_schema_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
providers_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
push.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
query.go tf query: ready list blocks for beta (#37619) 2025-09-17 12:29:04 +02:00
query_test.go remove id from generated config 2025-10-01 15:16:00 -04:00
refresh.go Clarify usage of BackendOpts, rename field in struct to enable usage with PSS in future (#37085) 2025-07-11 11:08:56 +01:00
refresh_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
show.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
show_test.go actions: remove references to action types, linked resources (#37616) 2025-09-16 08:46:22 -04:00
stacks.go Use raw args in -help flag handling 2025-09-19 15:50:20 -04:00
stacks_test.go make hostname and token optional, read token from cli file 2025-05-12 17:10:40 -04:00
state_command.go adopt hashicorp/cli fork of mitchellh/cli (#34429) 2023-12-20 11:04:10 +00:00
state_identities.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
state_identities_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
state_list.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
state_list_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
state_meta.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
state_mv.go Update comments about backend interfaces, enhanced vs operations, and fix copy-paste inaccuracies (#36716) 2025-03-20 16:52:00 +00:00
state_mv_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
state_pull.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
state_pull_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
state_push.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
state_push_test.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
state_replace_provider.go adopt hashicorp/cli fork of mitchellh/cli (#34429) 2023-12-20 11:04:10 +00:00
state_replace_provider_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
state_rm.go Update help output to consistently call out -state and -state-out flags as legacy and related to the local backend. (#37446) 2025-08-14 09:57:43 +01:00
state_rm_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
state_show.go tf query: ready list blocks for beta (#37619) 2025-09-17 12:29:04 +02:00
state_show_test.go Replace custom testCwd function with standard testing library (#37335) 2025-07-16 10:41:51 +00:00
state_test.go Replace custom testCwd function with standard testing library (#37335) 2025-07-16 10:41:51 +00:00
taint.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
taint_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
telemetry.go add missing copyright headers 2023-08-16 11:21:49 -07:00
test.go Implement controlling destroy functionality within Terraform Test (#37359) 2025-09-10 17:22:20 +02:00
test_cleanup.go Implement controlling destroy functionality within Terraform Test (#37359) 2025-09-10 17:22:20 +02:00
test_test.go evaluate: return diagnostics instead of unknown for uninitialised locals and resources (#37663) 2025-09-24 16:27:43 +02:00
ui_input.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
ui_input_test.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00
unlock.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
unlock_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
untaint.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
untaint_test.go Replace custom testCwd function with standard testing library (#37335) 2025-07-16 10:41:51 +00:00
validate.go query: add -query flag to validate command (#37671) 2025-10-01 11:33:52 +02:00
validate_test.go query: add -query flag to validate command (#37671) 2025-10-01 11:33:52 +02:00
version.go Update URLs from www.terraform.io to developer.hashicorp.com (#36792) 2025-04-01 09:37:12 +01:00
version_test.go Update use of testChdir to standard library's t.Chdir, remove testChdir function from codebase (#37334) 2025-07-16 16:04:10 +01:00
workspace_command.go Make Terraform reject empty strings as invalid workspace names (#37267) 2025-06-26 12:26:58 +01:00
workspace_command_test.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
workspace_delete.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
workspace_list.go Update backend.Backend interface to return diagnostics from Workspaces and DeleteWorkspace methods (#37430) 2025-08-18 19:03:31 +01:00
workspace_new.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
workspace_select.go Update backend.Backend's StateMgr method to return diagnostics instead of primitive errors (#37496) 2025-09-04 11:14:35 +01:00
workspace_show.go Update copyright file headers to BUSL-1.1 2023-08-10 23:43:27 +01:00