opentofu/terraform
Martin Atkins e2c64bc255 core: Annotate for_each errors with expression info
Our diagnostics model allows for optionally annotating an error or warning
with information about the expression and eval context it was generated
from, which the diagnostic renderer for the UI will then use to give the
user some additional hints about what values may have contributed to the
error.

We previously didn't have those annotations on the results of evaluating
for_each expressions though, because in that case we were using the helper
function to evaluate an expression in one shot and thus we didn't ever
have a reference to the EvalContext in order to include it in the
diagnostic values.

Now, at the expense of having to handle the evaluation at a slightly lower
level of abstraction, we'll annotate all of the for_each error messages
with source expression information. This is valuable because we see users
often confused as to how their complex for_each expressions ended up being
invalid, and hopefully giving some information about what the inputs were
will allow more users to self-solve.
2020-10-29 09:07:48 -07:00
..
testdata terraform: Fix sensitive values in ignore changes 2020-10-20 12:27:17 -04:00
context_apply_test.go fix the rpc diags tests 2020-10-28 17:40:36 -04:00
context_components_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
context_components.go terraform: Remove some addrs.Provider.LegacyString uses 2020-04-06 09:24:23 -07:00
context_eval_test.go evaluate vars and outputs during import 2020-10-06 17:22:50 -04:00
context_fixtures_test.go remove legacy ApplyFn from mock provisioner 2020-10-08 13:13:13 -04:00
context_graph_type.go remove refresh! 2020-09-22 10:27:45 -04:00
context_import_test.go remove old mock provider ConfigureFn 2020-10-08 12:26:12 -04:00
context_import.go Mildwonkey/ps import (#24412) 2020-03-20 08:15:29 -04:00
context_input_test.go remove legacy ApplyFn from mock provisioner 2020-10-08 13:13:13 -04:00
context_input.go convert /terraform to use new provider config 2020-03-11 11:21:45 -04:00
context_plan_test.go fix the rpc diags tests 2020-10-28 17:40:36 -04:00
context_refresh_test.go don't read data sources that are to be removed 2020-10-22 10:15:22 -04:00
context_test.go Mark sensitive attributes in blocks 2020-10-14 17:37:06 -04:00
context_validate_test.go fix the rpc diags tests 2020-10-28 17:40:36 -04:00
context.go use a single log writer 2020-10-19 14:29:54 -04:00
diff_test.go re-count the flatmapped containers 2018-11-16 15:26:16 -05:00
diff.go prevent panics when encountering nil diffs 2019-09-04 16:51:42 -04:00
eval_apply.go change apply Eval methods to use diags 2020-10-27 18:16:28 -04:00
eval_context_builtin_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
eval_context_builtin.go get rid of EvalEarlyExitError 2020-10-28 14:40:30 -04:00
eval_context_mock.go Add RefreshState to the eval context 2020-09-17 09:54:59 -04:00
eval_context.go Add RefreshState to the eval context 2020-09-17 09:54:59 -04:00
eval_count.go fixup count transition for refresh state 2020-09-17 09:54:59 -04:00
eval_diff_test.go allow ignore_changes to reference any map key 2020-10-01 09:36:36 -04:00
eval_diff.go add diags to eval_diff 2020-10-28 11:46:07 -04:00
eval_for_each_test.go core: Annotate for_each errors with expression info 2020-10-29 09:07:48 -07:00
eval_for_each.go core: Annotate for_each errors with expression info 2020-10-29 09:07:48 -07:00
eval_provider_test.go terraform: remove deprecated or unused Eval() bits 2020-09-29 15:01:24 -04:00
eval_provider.go terraform: remove deprecated or unused Eval() bits 2020-09-29 15:01:24 -04:00
eval_read_data_apply.go add diags to data eval 2020-10-28 11:57:45 -04:00
eval_read_data_plan.go add diags to data eval 2020-10-28 11:57:45 -04:00
eval_read_data.go remove unused refresh node 2020-09-30 18:04:40 -04:00
eval_refresh.go add diags to eval_refresh 2020-10-28 12:03:00 -04:00
eval_state_test.go add diags to eval_state 2020-10-28 12:23:03 -04:00
eval_state_upgrade_test.go remove extra attrs found in state json 2020-08-06 22:55:36 -04:00
eval_state_upgrade.go remove extra attrs found in state json 2020-08-06 22:55:36 -04:00
eval_state.go add diags to eval_state 2020-10-28 12:23:03 -04:00
eval_validate_selfref_test.go last Evals without diagnostics 2020-10-28 12:32:49 -04:00
eval_validate_selfref.go last Evals without diagnostics 2020-10-28 12:32:49 -04:00
eval_validate_test.go Mildwonkey/node resource validate (#26206) 2020-09-14 08:43:14 -04:00
eval_validate.go core: Annotate for_each errors with expression info 2020-10-29 09:07:48 -07:00
eval_variable.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
evaluate_test.go Add provider sensitivity propagation experiment 2020-10-26 15:05:22 -04:00
evaluate_valid_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
evaluate_valid.go didyoumean: move from "helper" to "internal" 2020-10-02 13:35:07 -07:00
evaluate.go Add provider sensitivity propagation experiment 2020-10-26 15:05:22 -04:00
execute.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
features.go output warning flag 2017-11-28 14:18:54 -05:00
graph_builder_apply_test.go remove last use of the apply graph Destroy flag! 2020-10-12 17:29:45 -04:00
graph_builder_apply.go Comment fixing 2020-10-18 13:00:09 -04:00
graph_builder_destroy_plan.go use recorded changes for outputs 2020-10-09 13:13:27 -04:00
graph_builder_eval.go audit graph builder to make them more similar 2020-10-06 17:39:53 -04:00
graph_builder_import.go audit graph builder to make them more similar 2020-10-06 17:39:53 -04:00
graph_builder_plan_test.go remove the need for destroyRootOutputTransformer 2020-10-12 17:29:45 -04:00
graph_builder_plan.go Read orphaned resources during plan 2020-10-22 09:46:42 -04:00
graph_builder_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
graph_builder_validate.go add module expansion to validation 2020-04-05 12:13:48 -04:00
graph_builder.go move helper/logging to internal 2020-10-19 14:27:53 -04:00
graph_dot_test.go terraform: remove ConnectDependents and related interfaces 2017-02-03 14:25:54 +01:00
graph_dot.go Remove dot package 2016-11-14 08:50:34 -05:00
graph_interface_subgraph.go rename GraphNodeSubPath -> GraphNodeModuleInstance 2020-03-10 17:25:11 -04:00
graph_test.go update some graph builder tests 2018-10-16 19:14:11 -07:00
graph_walk_context.go get rid of EvalEarlyExitError 2020-10-28 14:40:30 -04:00
graph_walk_operation.go remove refresh! 2020-09-22 10:27:45 -04:00
graph_walk_test.go terraform: trying this graphwalker thing 2015-02-19 12:07:56 -08:00
graph_walk.go terraform: remove deprecated or unused Eval() bits 2020-09-29 15:01:24 -04:00
graph.go use a single log writer 2020-10-19 14:29:54 -04:00
graphtype_string.go remove refresh! 2020-09-22 10:27:45 -04:00
hook_mock.go terraform: More wiring in of new provider types 2018-10-16 19:12:54 -07:00
hook_stop_test.go terraform: stopHook and tests 2014-07-02 16:16:38 -07:00
hook_stop.go get rid of EvalEarlyExitError 2020-10-28 14:40:30 -04:00
hook_test.go add locks to testHook 2020-04-08 10:02:43 -04:00
hook.go terraform: More wiring in of new provider types 2018-10-16 19:12:54 -07:00
instance_expanders.go remove requiresInstanceExpansion 2020-05-28 21:30:44 -04:00
instancetype_string.go stringer: Regenerate files with latest version 2019-05-13 15:34:27 +01:00
instancetype.go Version tools per Go convention under tools.go 2019-10-17 22:23:39 +02:00
node_count_boundary_test.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_count_boundary.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_data_destroy_test.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_data_destroy.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_local_test.go Mildwonkey/eval local (#26182) 2020-09-09 15:59:29 -04:00
node_local.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_module_expand_test.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_module_expand.go core: Annotate for_each errors with expression info 2020-10-29 09:07:48 -07:00
node_module_variable_test.go re-enable and fix module variable tests 2020-10-14 09:10:37 -04:00
node_module_variable.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_output_test.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_output.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_provider_abstract.go remove unused interfaces 2020-06-24 10:45:58 -04:00
node_provider_eval.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_provider_test.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_provider.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_provisioner.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_resource_abstract_instance_test.go terraform: minor cleanup from EvalTree() refactor (#26429) 2020-10-01 08:12:10 -04:00
node_resource_abstract_instance.go terraform: minor cleanup from EvalTree() refactor (#26429) 2020-10-01 08:12:10 -04:00
node_resource_abstract_test.go terraform: minor cleanup from EvalTree() refactor (#26429) 2020-10-01 08:12:10 -04:00
node_resource_abstract.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_resource_apply_instance.go get rid of EvalEarlyExitError 2020-10-28 14:40:30 -04:00
node_resource_apply_test.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_resource_apply.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_resource_destroy_deposed_test.go terraform: refactor NodeDestroyDeposedResourceInstanceObject and NodePlanDeposedResourceInstanceObject 2020-09-29 13:26:50 -04:00
node_resource_destroy_deposed.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_resource_destroy.go get rid of EvalEarlyExitError 2020-10-28 14:40:30 -04:00
node_resource_plan_destroy.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_resource_plan_instance.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_resource_plan_orphan_test.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_resource_plan_orphan.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_resource_plan_test.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_resource_plan.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_resource_validate.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_root_variable_test.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_root_variable.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
node_value.go prune unused values based on behavior 2020-04-02 16:00:36 -04:00
plan.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
provider_mock.go update tests 2020-10-22 09:46:42 -04:00
provisioner_mock.go remove legacy ApplyFn from mock provisioner 2020-10-08 13:13:13 -04:00
resource_address_test.go prune references to config/module 2019-08-07 17:50:59 -04:00
resource_address.go Typo: heirarchical => hierarchical 2020-07-23 15:09:22 +02:00
resource_mode_string.go prune references to config/module 2019-08-07 17:50:59 -04:00
resource_mode.go Version tools per Go convention under tools.go 2019-10-17 22:23:39 +02:00
resource_provider_mock_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
resource_provider_mock.go minor race issue in mockResourceProvider 2017-12-20 09:18:38 -05:00
resource_provider.go terraform: return initialization required error when provider schemas not found (#24715) 2020-04-21 16:29:27 -04:00
resource_provisioner_mock_test.go replace provider and provisioner types in tests 2018-10-16 19:11:09 -07:00
resource_provisioner_mock.go move "configschema" from "config" to "configs" 2018-10-16 18:50:29 -07:00
resource_provisioner.go Run gofmt 2020-08-28 09:41:00 -04:00
resource_test.go s/GraphNodeResource/GraphNodeConfigResource/ 2020-03-16 11:16:23 -04:00
resource.go core: Remove the last few HIL remnants 2020-09-02 15:53:33 -07:00
schemas_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
schemas.go terraform: Remove some addrs.Provider.LegacyString uses 2020-04-06 09:24:23 -07:00
state_filter.go restore (via copypaste) terraform.State.Remove 2019-01-03 22:06:30 -05:00
state_test.go prune references to config/module 2019-08-07 17:50:59 -04:00
state_upgrade_v1_to_v2.go terraform: convert empty path to root path in V1 state 2017-03-21 11:37:12 -07:00
state_upgrade_v2_to_v3.go terraform: V1 to V2 upgrade should treat nil path as root path 2017-03-21 11:12:44 -07:00
state_v1.go core: Introduce state v3 and upgrade process 2016-06-09 10:49:49 +01:00
state.go Add support for provider metadata to modules. (#22583) 2020-03-05 16:53:24 -08:00
terraform_test.go use a single log writer 2020-10-19 14:29:54 -04:00
testing.go terraform: support backends in the state 2017-01-26 14:33:49 -08:00
transform_attach_config_provider_meta.go s/GraphNodeResource/GraphNodeConfigResource/ 2020-03-16 11:16:23 -04:00
transform_attach_config_provider.go minor cleanup 2020-03-12 14:54:47 -04:00
transform_attach_config_resource.go s/GraphNodeResource/GraphNodeConfigResource/ 2020-03-16 11:16:23 -04:00
transform_attach_schema.go terraform: large refactor to use Provider from configs.Resource (#24396) 2020-03-18 08:58:20 -04:00
transform_attach_state.go attach a deep copy of ResourceState 2018-12-17 18:08:53 -05:00
transform_config_test.go NewNodeAbstractResource accepts a ResourceConfig 2020-03-25 17:03:06 -04:00
transform_config.go audit graph builder to make them more similar 2020-10-06 17:39:53 -04:00
transform_count_boundary.go core: Update EvalCountFixZeroOneBoundaryGlobal for new state types 2018-10-16 19:14:11 -07:00
transform_destroy_cbd_test.go terraform: rename mustReourceAddr to mustConfigResourceAddr and add mustAbsResourceAddr 2020-09-25 09:29:18 -04:00
transform_destroy_cbd.go cleanup unused CBD code 2020-09-16 11:14:36 -04:00
transform_destroy_edge_test.go terraform: rename mustReourceAddr to mustConfigResourceAddr and add mustAbsResourceAddr 2020-09-25 09:29:18 -04:00
transform_destroy_edge.go cleanup unused CBD code 2020-09-16 11:14:36 -04:00
transform_diff_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
transform_diff.go s/GraphNodeResource/GraphNodeConfigResource/ 2020-03-16 11:16:23 -04:00
transform_expand.go GraphNodeExpand is not used 2020-03-10 17:25:11 -04:00
transform_import_state_test.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
transform_import_state.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
transform_local.go rename plannable local 2020-05-12 11:07:00 -04:00
transform_module_expansion.go don't connect module closers to destroy nodes 2020-09-09 12:23:23 -04:00
transform_module_variable_test.go update test strings 2020-05-12 11:07:00 -04:00
transform_module_variable.go eval variables with unknown expansion data 2020-04-08 15:37:38 -04:00
transform_orphan_count_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
transform_orphan_count.go expansion resource and instance orphans 2020-04-02 16:00:35 -04:00
transform_orphan_output.go get rid of the NodeOutputOrphan 2020-05-28 21:30:44 -04:00
transform_orphan_resource_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
transform_orphan_resource.go make the root node a nodeCloseModule for root 2020-04-02 16:00:36 -04:00
transform_output.go handle sensitivity in the OutputChange 2020-10-12 17:29:45 -04:00
transform_provider_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
transform_provider.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
transform_provisioner_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
transform_provisioner.go make GraphNodeExecutable return diagnostics 2020-10-28 13:47:04 -04:00
transform_reference_test.go core: Skip edges between resource instances in different module instances 2020-07-17 08:40:13 -07:00
transform_reference.go evaluate vars and outputs during import 2020-10-06 17:22:50 -04:00
transform_removed_modules.go pruneUnusedNodesTransformer 2020-05-28 21:30:42 -04:00
transform_resource_count.go s/GraphNodeResource/GraphNodeConfigResource/ 2020-03-16 11:16:23 -04:00
transform_root_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
transform_root.go make the root node a nodeCloseModule for root 2020-04-02 16:00:36 -04:00
transform_state.go cleanup from resource state mods 2020-03-16 11:16:23 -04:00
transform_targets_test.go remove the need for destroyRootOutputTransformer 2020-10-12 17:29:45 -04:00
transform_targets.go re-add ModuleInstance -> Module conversion 2020-08-12 10:22:13 -04:00
transform_transitive_reduction_test.go Mildwonkey/tests (#24522) 2020-04-06 09:24:23 -07:00
transform_transitive_reduction.go terraform: add TransitiveReductionTransformer 2015-02-27 19:18:04 -08:00
transform_variable.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_vertex_test.go terraform: GraphVertexTransformers 2015-02-19 12:07:57 -08:00
transform_vertex.go terraform: GraphVertexTransformers 2015-02-19 12:07:57 -08:00
transform.go move helper/logging to internal 2020-10-19 14:27:53 -04:00
ui_input_mock.go core: add a context to the UIInput interface 2019-03-08 10:24:40 +01:00
ui_input_prefix_test.go remove unused code (#26503) 2020-10-07 11:00:06 -04:00
ui_input_prefix.go core: add a context to the UIInput interface 2019-03-08 10:24:40 +01:00
ui_input.go command/login: Require "yes" to confirm 2020-06-25 11:46:51 -04:00
ui_output_callback_test.go terraform: provisioners 2015-02-19 12:08:06 -08:00
ui_output_callback.go terraform: provisioners 2015-02-19 12:08:06 -08:00
ui_output_mock_test.go terraform: UIOutput interface 2014-10-04 09:00:07 -07:00
ui_output_mock.go minor race fix in tests 2017-10-02 16:19:01 -04:00
ui_output_provisioner_test.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
ui_output_provisioner.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
ui_output.go terraform: UIOutput interface 2014-10-04 09:00:07 -07:00
upgrade_state_v1_test.go Fix swallowed tests in terraform package tests 2017-07-20 02:23:43 -07:00
upgrade_state_v2_test.go core: Add test for V2->V3 state upgrade 2016-06-09 11:16:34 +01:00
util_test.go Resolve resource provider types in config package 2017-06-09 14:03:59 -07:00
util.go Fix negative parallelism and negative semaphore (#23902) 2020-02-12 10:10:52 -05:00
valuesourcetype_string.go stringer: Regenerate files with latest version 2019-05-13 15:34:27 +01:00
variables_test.go vendor: upgrade go-cty dependency to 1.4.1 (#24983) 2020-05-18 14:10:19 -04:00
variables.go Version tools per Go convention under tools.go 2019-10-17 22:23:39 +02:00
version_required.go terraform: Fix required version constraint diags 2020-08-18 09:35:32 -04:00
version.go httpclient: Introduce composable UserAgent() 2019-08-05 11:07:21 +01:00
walkoperation_string.go remove refresh! 2020-09-22 10:27:45 -04:00