opentofu/internal/command
kmoe dec48a8510
plans: indicate when resource deleted due to move (#31695)
Add a new ChangeReason, ReasonDeleteBecauseNoMoveTarget, to provide better
information in cases where a planned deletion is due to moving a resource to
a target not in configuration.

Consider a case in which a resource instance exists in state at address A, and
the user adds a moved block to move A to address B. Whether by the user's
intention or not, address B does not exist in configuration.
Terraform combines the move from A to B, and the lack of configuration for B,
into a single delete action for the (previously nonexistent) entity B.
Prior to this commit, the Terraform plan will report that resource B will be
destroyed because it does not exist in configuration, without explicitly
connecting this to the move.

This commit provides the user an additional clue as to what has happened, in a
case in which Terraform has elided a user's action and inaction into one
potentially destructive change.
2022-08-30 18:01:29 +01:00
..
arguments cli: Migrate show command to use command arguments and views 2022-01-13 11:00:03 -06:00
cliconfig build: Use Go 1.19 2022-08-22 10:59:12 -07:00
clistate Upgrade to Go 1.17 2021-08-17 15:20:05 -07:00
e2etest build: Use Go 1.19 2022-08-22 10:59:12 -07:00
format plans: indicate when resource deleted due to move (#31695) 2022-08-30 18:01:29 +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
jsonplan plans: indicate when resource deleted due to move (#31695) 2022-08-30 18:01:29 +01:00
jsonprovider Merge pull request #29648 from hashicorp/jbardin/tfproto6.1 2021-10-28 16:00:02 -04:00
jsonstate command/jsonstate: Include check results in JSON state report 2022-08-26 15:47:29 -07:00
testdata Ignore existing package hashes for providers lock command (#31389) 2022-07-20 13:27:24 +01:00
views plans: indicate when resource deleted due to move (#31695) 2022-08-30 18:01:29 +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 Add golden reference test for JSON plan (#31362) 2022-07-12 17:00:36 -04:00
apply.go command: Adjust skipping of resource counts for any remote implementation 2021-10-29 21:23:28 -05: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 build: Use Go 1.19 2022-08-22 10:59:12 -07: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 test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01: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
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 remove -allow-missing-config from import 2022-06-21 11:43:04 -04: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 terraform init: add warning and guidance when lock file is incomplete (#31399) 2022-07-20 13:28:04 +01: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 Do not ask to migrate empty default workspace 2021-12-01 11:43:41 -06:00
meta_backend_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
meta_backend.go add simple error indicating backend removal 2022-06-28 13:58:22 -04:00
meta_config.go Experiments supported only in alpha/dev builds 2022-06-17 14:46:07 -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 command: Early error message for missing cache entries of locked providers 2021-10-05 10:59:59 -07: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 Merge pull request #31283 from hashicorp/jbardin/plan-import 2022-06-23 13:26:59 -04: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 Add golden reference test for JSON plan (#31362) 2022-07-12 17:00:36 -04:00
plan.go Clarify multiple times usage (#30724) 2022-03-30 09:52:49 +01: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 command: fix panic on show when state file is invalid or unavailable (#31444) 2022-07-15 17:31:56 +01: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 cli: Make state commands check required version (#30511) 2022-03-31 13:42:42 -04: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 test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
state_push.go cli: Make state commands check required version (#30511) 2022-03-31 13:42:42 -04:00
state_replace_provider_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
state_replace_provider.go cli: Make state commands check required version (#30511) 2022-03-31 13:42:42 -04: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 cli: Make state commands check required version (#30511) 2022-03-31 13:42:42 -04: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 test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
taint.go cli: Make state commands check required version (#30511) 2022-03-31 13:42:42 -04: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 Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
untaint_test.go test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
untaint.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -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 test: use T.TempDir to create temporary test directory (#30803) 2022-04-08 17:34:16 +01:00
workspace_command.go command/workspace_delete: Allow deleting a workspace with empty husks 2021-10-13 13:54:11 -07:00
workspace_delete.go Fix autocomplete for workspace subcommands 2022-01-08 14:41:20 +11:00
workspace_list.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
workspace_new.go Fix autocomplete for workspace subcommands 2022-01-08 14:41:20 +11:00
workspace_select.go Fix autocomplete for workspace subcommands 2022-01-08 14:41:20 +11:00
workspace_show.go Move command/ to internal/command/ 2021-05-17 14:09:07 -07:00