terraform/internal/terraform
kmoe 161374725c
Warn when ignore_changes includes a Computed attribute (#30517)
* ignore_changes attributes must exist in schema

Add a test verifying that attempting to add a nonexistent attribute to
ignore_changes throws an error.

* ignore_changes cannot be used with Computed attrs

Return a warning if a Computed attribute is present in ignore_changes,
unless the attribute is also Optional.

ignore_changes on a non-Optional Computed attribute is a no-op, so the user
likely did not want to set this in config.
An Optional Computed attribute, however, is still subject to ignore_changes
behaviour, since it is possible to make changes in the configuration that
Terraform must ignore.
2022-02-18 10:38:29 +00:00
..
testdata revert 6b8b0617 2021-12-14 17:58:10 -05:00
context.go insert panic handlers 2021-10-28 11:51:39 -04:00
context_apply.go core and backend: remove redundant handling of default variable values 2022-01-10 12:26:54 -08:00
context_apply2_test.go core: Add context tests for pre/post conditions 2022-01-31 15:38:26 -05:00
context_apply_test.go core and backend: remove redundant handling of default variable values 2022-01-10 12:26:54 -08:00
context_eval.go core and backend: remove redundant handling of default variable values 2022-01-10 12:26:54 -08:00
context_eval_test.go core and backend: remove redundant handling of default variable values 2022-01-10 12:26:54 -08:00
context_fixtures_test.go core: Functional-style API for terraform.Context 2021-08-30 13:59:14 -07:00
context_import.go core and backend: remove redundant handling of default variable values 2022-01-10 12:26:54 -08:00
context_import_test.go core: Functional-style API for terraform.Context 2021-08-30 13:59:14 -07:00
context_input.go core: Functional-style API for terraform.Context 2021-08-30 13:59:14 -07:00
context_input_test.go wrap multiple provider creations into a factory fn 2021-10-12 17:47:50 -04:00
context_plan.go core: Remove unused PlanOpts.Validate 2022-02-03 14:16:25 -05:00
context_plan2_test.go core: Add context tests for pre/post conditions 2022-01-31 15:38:26 -05:00
context_plan_test.go core and backend: remove redundant handling of default variable values 2022-01-10 12:26:54 -08:00
context_plugins.go core: Simplify and centralize plugin availability checks 2021-10-01 14:43:58 -07:00
context_plugins_test.go core: Replace contextComponentFactory with contextPlugins 2021-09-10 14:56:49 -07:00
context_refresh.go core: Functional-style API for terraform.Context 2021-08-30 13:59:14 -07:00
context_refresh_test.go core: Simplify and centralize plugin availability checks 2021-10-01 14:43:58 -07:00
context_test.go plans/planfile: Create takes most arguments via a struct type 2021-10-01 14:43:58 -07:00
context_validate.go core: Remove unused PlanOpts.Validate 2022-02-03 14:16:25 -05:00
context_validate_test.go remove synthetic default expression for variables 2022-01-10 16:22:33 -05:00
context_walk.go core: Handle root and child module input variables consistently 2022-01-10 12:26:54 -08:00
eval_conditions.go core: Check pre- and postconditions for resources and output values 2022-01-31 14:02:53 -05:00
eval_context.go core: Handle root and child module input variables consistently 2022-01-10 12:26:54 -08:00
eval_context_builtin.go core: Handle root and child module input variables consistently 2022-01-10 12:26:54 -08:00
eval_context_builtin_test.go core: Replace contextComponentFactory with contextPlugins 2021-09-10 14:56:49 -07:00
eval_context_mock.go core: Handle root and child module input variables consistently 2022-01-10 12:26:54 -08:00
eval_count.go core: refactoring.ImpliedMoveStatements replaces NodeCountBoundary 2021-09-20 09:06:22 -07:00
eval_count_test.go update to use typed sensitive marks 2021-06-25 12:49:07 -04:00
eval_for_each.go core: Invalid for_each argument messaging improvements 2022-01-10 12:23:13 -08:00
eval_for_each_test.go core: Invalid for_each argument messaging improvements 2022-01-10 12:23:13 -08:00
eval_provider.go core: EvalContextBuiltin no longer has a "Schemas" 2021-09-10 14:56:49 -07:00
eval_provider_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
eval_variable.go core: More accurate error message for invalid variable values 2022-01-10 12:26:54 -08:00
eval_variable_test.go core: More accurate error message for invalid variable values 2022-01-10 12:26:54 -08:00
evaluate.go core: Handle root and child module input variables consistently 2022-01-10 12:26:54 -08:00
evaluate_test.go Merge pull request #29559 from hashicorp/jbardin/optional-attrs 2021-09-13 08:58:11 -04:00
evaluate_valid.go core: Document postconditions as valid use of self 2022-01-31 14:34:35 -05:00
evaluate_valid_test.go core: Graph walk loads plugin schemas opportunistically 2021-09-10 14:56:49 -07:00
execute.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
features.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
graph.go insert panic handlers 2021-10-28 11:51:39 -04:00
graph_builder.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
graph_builder_apply.go core: Handle root and child module input variables consistently 2022-01-10 12:26:54 -08:00
graph_builder_apply_test.go core: refactoring.ImpliedMoveStatements replaces NodeCountBoundary 2021-09-20 09:06:22 -07:00
graph_builder_destroy_plan.go core: Handle root and child module input variables consistently 2022-01-10 12:26:54 -08:00
graph_builder_eval.go core: Handle root and child module input variables consistently 2022-01-10 12:26:54 -08:00
graph_builder_import.go core: Handle root and child module input variables consistently 2022-01-10 12:26:54 -08:00
graph_builder_plan.go core: Remove unused PlanOpts.Validate 2022-02-03 14:16:25 -05:00
graph_builder_plan_test.go core: refactoring.ImpliedMoveStatements replaces NodeCountBoundary 2021-09-20 09:06:22 -07:00
graph_builder_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
graph_builder_validate.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
graph_dot.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
graph_dot_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
graph_interface_subgraph.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
graph_test.go de-linting 2021-09-01 11:36:21 -04:00
graph_walk.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
graph_walk_context.go refactoring: ApplyMoves new return type 2021-09-22 09:01:10 -07:00
graph_walk_operation.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
graph_walk_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
hook.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
hook_mock.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
hook_stop.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
hook_stop_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
hook_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
instance_expanders.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
marks.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
marks_test.go update to use typed sensitive marks 2021-06-25 12:49:07 -04:00
node_data_destroy.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
node_data_destroy_test.go command/workspace_delete: Allow deleting a workspace with empty husks 2021-10-13 13:54:11 -07:00
node_local.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
node_local_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
node_module_expand.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
node_module_expand_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
node_module_variable.go remove synthetic default expression for variables 2022-01-10 16:22:33 -05:00
node_module_variable_test.go configs: add ConstraintType to config.Variable 2021-09-13 08:51:32 -04:00
node_output.go core: Check pre- and postconditions for resources and output values 2022-01-31 14:02:53 -05:00
node_output_test.go update to use typed sensitive marks 2021-06-25 12:49:07 -04:00
node_provider.go add comment about when we call ConfigureProvider 2021-10-08 15:23:36 -04:00
node_provider_abstract.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
node_provider_eval.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
node_provider_test.go Merge pull request #29039 from hashicorp/jbardin/sensitive 2021-06-25 17:11:59 -04:00
node_resource_abstract.go terraform: Precondition and postcondition blocks generate dependencies 2022-01-28 11:00:29 -05:00
node_resource_abstract_instance.go Warn when ignore_changes includes a Computed attribute (#30517) 2022-02-18 10:38:29 +00:00
node_resource_abstract_instance_test.go core: Fix schema loading for deleted resources 2021-11-24 15:23:20 -05:00
node_resource_abstract_test.go addrs: Rename DefaultRegistryHost to DefaultProviderRegistryHost 2021-06-03 08:50:34 -07:00
node_resource_apply.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
node_resource_apply_instance.go core: Check pre- and postconditions for resources and output values 2022-01-31 14:02:53 -05:00
node_resource_apply_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
node_resource_destroy.go core: Check pre- and postconditions for resources and output values 2022-01-31 14:02:53 -05:00
node_resource_destroy_deposed.go core: Check pre- and postconditions for resources and output values 2022-01-31 14:02:53 -05:00
node_resource_destroy_deposed_test.go fixup tests for MockProvider changes 2021-10-08 08:42:06 -04:00
node_resource_plan.go core: Fix refresh-only interaction with orphans 2021-09-23 16:38:08 -04:00
node_resource_plan_destroy.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
node_resource_plan_instance.go core: Check pre- and postconditions for resources and output values 2022-01-31 14:02:53 -05:00
node_resource_plan_orphan.go instances: Non-existing module instance has no resource instances 2021-12-13 10:03:50 -05:00
node_resource_plan_orphan_test.go fixup tests for MockProvider changes 2021-10-08 08:42:06 -04:00
node_resource_plan_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
node_resource_validate.go Warn when ignore_changes includes a Computed attribute (#30517) 2022-02-18 10:38:29 +00:00
node_resource_validate_test.go Warn when ignore_changes includes a Computed attribute (#30517) 2022-02-18 10:38:29 +00:00
node_root_variable.go core: More accurate error message for invalid variable values 2022-01-10 12:26:54 -08:00
node_root_variable_test.go configs: Generalize "VariableValidation" as "CheckRule" 2022-01-28 11:00:29 -05:00
node_value.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
phasestate_string.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
provider_mock.go test that providers are configured for calls 2021-10-07 16:48:56 -04:00
provisioner_mock.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
provisioner_mock_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
reduce_plan.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
reduce_plan_test.go test for null map and fix lost map marks 2021-11-11 10:44:39 -05:00
resource_provider_mock_test.go de-linting 2021-09-01 11:36:21 -04:00
schemas.go core: Context.Schemas in terms of contextPlugins methods 2021-09-10 14:56:49 -07:00
schemas_test.go core: Opportunistic schema loading during graph construction 2021-09-10 14:56:49 -07:00
terraform_test.go command: make module installation interruptible 2021-11-11 12:28:10 +00:00
transform.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_attach_config_provider.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_attach_config_provider_meta.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_attach_config_resource.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_attach_schema.go core: Opportunistic schema loading during graph construction 2021-09-10 14:56:49 -07:00
transform_attach_state.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_config.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_config_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_destroy_cbd.go core: Opportunistic schema loading during graph construction 2021-09-10 14:56:49 -07:00
transform_destroy_cbd_test.go core: Opportunistic schema loading during graph construction 2021-09-10 14:56:49 -07:00
transform_destroy_edge.go core: Opportunistic schema loading during graph construction 2021-09-10 14:56:49 -07:00
transform_destroy_edge_test.go core: Opportunistic schema loading during graph construction 2021-09-10 14:56:49 -07:00
transform_diff.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_diff_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_expand.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_import_state.go return error for invalid resource import 2021-05-25 17:13:49 -04:00
transform_import_state_test.go fixup tests for MockProvider changes 2021-10-08 08:42:06 -04:00
transform_local.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_module_expansion.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_module_variable.go remove synthetic default expression for variables 2022-01-10 16:22:33 -05:00
transform_module_variable_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_orphan_count.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_orphan_count_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_orphan_output.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_orphan_resource.go deposed instances should not be counted as orphans 2021-05-20 09:36:45 -04:00
transform_orphan_resource_test.go deposed instances should not be counted as orphans 2021-05-20 09:36:45 -04:00
transform_output.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_provider.go core: Provider transformers don't use the set of all available providers 2021-09-10 14:56:49 -07:00
transform_provider_test.go core: Provider transformers don't use the set of all available providers 2021-09-10 14:56:49 -07:00
transform_provisioner.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_reference.go don't check all ancestors for data depends_on 2021-09-30 16:43:09 -04:00
transform_reference_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_removed_modules.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_resource_count.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_root.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_root_test.go core: Provider transformers don't use the set of all available providers 2021-09-10 14:56:49 -07:00
transform_state.go command/workspace_delete: Allow deleting a workspace with empty husks 2021-10-13 13:54:11 -07:00
transform_targets.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_targets_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_transitive_reduction.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_transitive_reduction_test.go core: Opportunistic schema loading during graph construction 2021-09-10 14:56:49 -07:00
transform_variable.go core: Handle root and child module input variables consistently 2022-01-10 12:26:54 -08:00
transform_vertex.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
transform_vertex_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_input.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_input_mock.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_input_prefix.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_input_prefix_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_output.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_output_callback.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_output_callback_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_output_mock.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_output_mock_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_output_provisioner.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
ui_output_provisioner_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
update_state_hook.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
update_state_hook_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
upgrade_resource_state.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
upgrade_resource_state_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
util.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
util_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
validate_selfref.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
validate_selfref_test.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
valuesourcetype_string.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
variables.go core: More accurate error message for invalid variable values 2022-01-10 12:26:54 -08:00
variables_test.go core and backend: remove redundant handling of default variable values 2022-01-10 12:26:54 -08:00
version_required.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00
walkoperation_string.go Move terraform/ to internal/terraform/ 2021-05-17 14:09:07 -07:00