terraform/internal/command
Martin Atkins 096cddb4b7 command/format: Limitation of plans.ResourceInstanceDeleteBecauseNoModule
This is an explicit technical debt note that our plan renderer isn't able
to give a fully-specific hint in this particular case of deletion reason.

This reason code means that at least one of the module instance keys in
the resource's module path doesn't match an instance declared in the
configuration, but the plan data structure doesn't retain enough
information to know which is the first step in the path which refers to
a missing instance, and so we just always return the whole thing.

This would be confusing if we return module.foo[0].module.bar not being
in the configuration as a result of module.foo not using "count"; it would
be better to say "module.foo[0] is not in the configuration" instead.

It would be most ideal to handle all of the different situations that
ResourceInstanceDeleteBecauseWrongRepetition's rendering does, so that we
can go further and explain exactly _why_ that module instance isn't
declared anymore.

We can do neither of those things today because only the Terraform Core
"expander" component knows that information, and we've discarded that
by the time we get to rendering a plan. To fix this one day would require
preserving in the plan information about which module instances are
declared, as a separate sidecar data structure from which resource
instances we're taking actions on, and then using that to identify which
step in addr.Module here first selects an invalid instance.
2021-12-13 10:04:15 -05:00
..
arguments command/init: Add -cloud alias (of -backend) 2021-11-19 14:40:12 -06:00
cliconfig cliconfig: Fix error message about invalid credentials helper type 2021-09-29 13:36:59 -07:00
clistate Upgrade to Go 1.17 2021-08-17 15:20:05 -07:00
e2etest cli: Fix backend init failure with deleted cache 2021-10-25 12:45:35 -04:00
format command/format: Limitation of plans.ResourceInstanceDeleteBecauseNoModule 2021-12-13 10:04:15 -05:00
jsonconfig allow json output to marshal ConfigModeAttr blocks 2021-09-03 13:53:52 -04:00
jsonplan json-output: Release format version 1.0 2021-10-06 11:13:06 -04:00
jsonprovider Merge pull request #29648 from hashicorp/jbardin/tfproto6.1 2021-10-28 16:00:02 -04:00
jsonstate json-output: Release format version 1.0 2021-10-06 11:13:06 -04:00
testdata command/init: Be explicit that some options are not relevant for Cloud 2021-11-17 14:20:44 -08:00
views command: Remove the experimental "terraform add" command 2021-10-20 06:42:47 -07:00
webbrowser
workdir workdir: Start of a new package for working directory state management 2021-09-10 14:56:49 -07:00
apply.go command: Adjust skipping of resource counts for any remote implementation 2021-10-29 21:23:28 -05:00
apply_destroy_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
apply_test.go test planfile may need to have a specific lineage 2021-10-13 17:28:14 -04:00
autocomplete.go
autocomplete_test.go
cli_ui.go
cli_ui_test.go
command.go
command_test.go command: make module installation interruptible 2021-11-11 12:28:10 +00:00
console.go Merge pull request #29825 from hashicorp/jbardin/no-panicwrap 2021-10-29 14:41:05 -04:00
console_interactive.go remove wrapped streams and readline 2021-10-28 11:51:39 -04:00
console_interactive_solaris.go Upgrade to Go 1.17 2021-08-17 15:20:05 -07:00
console_test.go
flag_kv.go
flag_kv_test.go
fmt.go
fmt_test.go
get.go command: make module installation interruptible 2021-11-11 12:28:10 +00:00
get_test.go command: make module installation interruptible 2021-11-11 12:28:10 +00:00
graph.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
graph_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
hook_module_install.go
import.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
import_test.go backend/local: Check dependency lock consistency before any operations 2021-10-01 14:43:58 -07:00
init.go command/init: Adjust init help output 2021-11-19 14:40:12 -06:00
init_test.go Cloud integration requires input for migrations 2021-11-23 10:39:42 -06:00
login.go insert panic handlers 2021-10-28 11:51:39 -04:00
login_test.go
logout.go
logout_test.go
meta.go cli: Fix init failure with deleted cache 2021-10-21 08:44:26 -04:00
meta_backend.go Fixes Issue #29959, Apply w/o init error message 2021-12-01 11:28:35 -06:00
meta_backend_migrate.go Do not ask to migrate empty default workspace 2021-12-01 11:43:41 -06:00
meta_backend_migrate_test.go Backend State Migration to `cloud`: Multiple Workspaces 2021-10-28 19:29:13 -05:00
meta_backend_test.go command/init: Fail if -input=false but required 2021-10-25 15:08:10 -04:00
meta_config.go revert change to installModules diag handling 2021-11-11 12:28:16 +00: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 Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
meta_vars.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
output.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
output_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
plan.go Clarify legacy Ui comments 2021-10-28 19:29:21 -05:00
plan_test.go backend/local: Check dependency lock consistency before any operations 2021-10-01 14:43:58 -07:00
plugins.go workdir: Start of a new package for working directory state management 2021-09-10 14:56:49 -07:00
plugins_lock.go core: Simplify and centralize plugin availability checks 2021-10-01 14:43:58 -07:00
plugins_lock_test.go
plugins_test.go
providers.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
providers_lock.go providers subcommand tests (#28744) 2021-05-19 12:56:16 -04:00
providers_lock_test.go providers subcommand tests (#28744) 2021-05-19 12:56:16 -04:00
providers_mirror.go
providers_mirror_test.go providers subcommand tests (#28744) 2021-05-19 12:56:16 -04:00
providers_schema.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
providers_schema_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
providers_test.go
push.go
refresh.go Clarify legacy Ui comments 2021-10-28 19:29:21 -05:00
refresh_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
show.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
show_test.go remove debugging println 2021-09-28 17:58:40 -04:00
state_command.go
state_list.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
state_list_test.go
state_meta.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
state_mv.go Error if backup or backup-out options are used without the state option on non-local backends for the state mv command 2021-11-09 13:09:36 -06:00
state_mv_test.go Error if backup or backup-out options are used without the state option on non-local backends for the state mv command 2021-11-09 13:09:36 -06:00
state_pull.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
state_pull_test.go
state_push.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
state_push_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
state_replace_provider.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
state_replace_provider_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
state_rm.go
state_rm_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
state_show.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
state_show_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
state_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
taint.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
taint_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
test.go command: make module installation interruptible 2021-11-11 12:28:10 +00:00
test_test.go
ui_input.go command: Ensure all answers were used in command.testInputResponseMap 2021-09-21 22:26:16 -05:00
ui_input_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
unlock.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
unlock_test.go
untaint.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
untaint_test.go Move states/ to internal/states/ 2021-05-17 14:09:07 -07:00
validate.go core: Functional-style API for terraform.Context 2021-08-30 13:59:14 -07:00
validate_test.go
version.go
version_test.go
workspace_command.go command/workspace_delete: Allow deleting a workspace with empty husks 2021-10-13 13:54:11 -07:00
workspace_command_test.go command/workspace_delete: Allow deleting a workspace with empty husks 2021-10-13 13:54:11 -07:00
workspace_delete.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
workspace_list.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
workspace_new.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
workspace_select.go Add cloud {} configuration block for Terraform Cloud 2021-10-28 19:29:09 -05:00
workspace_show.go