opentofu/terraform
Martin Atkins 88b5607a7a core: Fetch schemas during context construction
Previously we fetched schemas during the AttachSchemaTransformer,
potentially multiple times as that was re-run for each graph built. Now
we fetch the schemas just once during context construction, passing that
result into each of the graph builders.

This only addresses the schema accesses during graph construction. We're
still separately loading schemas during the main walk for evaluation
purposes. This will be addressed in a later commit.
2018-10-16 18:49:20 -07:00
..
test-fixtures core: provider alias inheritance 2018-10-16 18:49:20 -07:00
context_apply_test.go core: provider alias inheritance 2018-10-16 18:49:20 -07:00
context_components_test.go core: mock provider factory functions for testing 2018-10-16 18:48:28 -07:00
context_components.go terraform: switch to a component factory 2016-10-11 22:17:29 +08:00
context_fixtures_test.go core: Update tests that use the apply-vars fixture 2018-10-16 18:48:28 -07:00
context_graph_type.go core: Context.Eval method 2018-10-16 18:46:46 -07:00
context_import_test.go core: use testProvider for TestContextImport_moduleProvider 2018-10-16 18:49:20 -07:00
context_import.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
context_input_test.go core: Fix TestContext2Input_submoduleTriggersInvalidCount 2018-10-16 18:49:20 -07:00
context_plan_test.go core: "computed ref type mismatch" test is now a plan test 2018-10-16 18:49:20 -07:00
context_refresh_test.go core: Update context refresh test output to be more useful 2018-10-16 18:49:20 -07:00
context_test.go prefer the existing instance ID in tests 2018-10-16 18:49:20 -07:00
context_validate_test.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
context.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
debug_test.go core: fix tests for debug.go 2018-10-16 18:48:28 -07:00
debug.go terraform: fix compilation by complying with interface 2017-01-20 20:45:06 -08:00
diff_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
diff.go core: fix string rendering of modules in diffs 2018-10-16 18:48:28 -07:00
edge_destroy.go terraform: starting CBD, destroy edge for the destroy relationship 2016-10-19 13:38:52 -07:00
eval_apply.go core: Don't try to run provisioners with nil state 2018-10-16 18:49:20 -07:00
eval_check_prevent_destroy.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
eval_context_builtin_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
eval_context_builtin.go index provider schemas by type 2018-10-16 18:49:20 -07:00
eval_context_mock.go core: EvalContextMock code-based mocking of evaluation 2018-10-16 18:48:28 -07:00
eval_context.go core: Context.Eval method 2018-10-16 18:46:46 -07:00
eval_count_boundary.go terraform: new graph fixes ".0" and "" boundaries on counts 2016-10-19 13:38:52 -07:00
eval_count_computed.go terraform: detect compute counts and show a nicer error 2016-11-11 11:07:17 -08:00
eval_count.go core: skip resource validation when count is unknown 2018-10-16 18:48:28 -07:00
eval_diff_test.go core: Fix ProcessIgnoreChanges tests 2018-10-16 18:48:28 -07:00
eval_diff.go core: NewInstanceInfo should take ResourceInstance, not Resource 2018-10-16 18:49:20 -07:00
eval_error.go core: [refactor] store Deposed resource instances as a list 2015-03-04 12:25:59 -06:00
eval_filter_operation.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_filter.go terraform: more eval stuff 2015-02-19 12:07:54 -08:00
eval_if.go core: [refactor] pull Deposed out of Tainted list 2015-03-04 12:25:47 -06:00
eval_import_state.go core: More TRACE logging for the "terraform import" walk 2018-10-16 18:49:20 -07:00
eval_lang.go core: pass InstanceKey to EvaluateBlock 2018-10-16 18:46:46 -07:00
eval_local_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
eval_local.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
eval_noop.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_output_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
eval_output.go core: EvalWriteOutput handle dynamic pseudo-type 2018-10-16 18:48:28 -07:00
eval_provider_test.go core: fix test for buildProviderConfig 2018-10-16 18:48:28 -07:00
eval_provider.go core: EvalSequence must continue when only warnings are returned 2018-10-16 18:49:20 -07:00
eval_provisioner_test.go core: close provider/provisioner connections 2015-06-19 21:52:50 +02:00
eval_provisioner.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
eval_read_data.go core: NewInstanceInfo should take ResourceInstance, not Resource 2018-10-16 18:49:20 -07:00
eval_refresh.go core: More TRACE logging for the "terraform import" walk 2018-10-16 18:49:20 -07:00
eval_sequence_test.go terraform: Refresh, Read/Write state 2015-02-19 12:08:00 -08:00
eval_sequence.go core: EvalSequence to handle EvalEarlyExitError 2018-10-16 18:49:20 -07:00
eval_state_test.go core: Fix EvalWriteState tests 2018-10-16 18:48:28 -07:00
eval_state.go core: if InstanceState has empty id after apply, instance is deleted 2018-10-16 18:49:20 -07:00
eval_test.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_validate_selfref_test.go core: Pass ProviderSchema to EvalValidateSelfRef 2018-10-16 18:48:28 -07:00
eval_validate_selfref.go core: Pass ProviderSchema to EvalValidateSelfRef 2018-10-16 18:48:28 -07:00
eval_validate_test.go fix the provisioner schema and update tests 2018-10-16 18:49:20 -07:00
eval_validate.go fix the provisioner schema and update tests 2018-10-16 18:49:20 -07:00
eval_variable.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
eval.go core: EvalSequence must continue when only warnings are returned 2018-10-16 18:49:20 -07:00
evaltree_provider.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
evaluate_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
evaluate.go index provider schemas by type 2018-10-16 18:49:20 -07:00
features.go output warning flag 2017-11-28 14:18:54 -05:00
graph_builder_apply_test.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
graph_builder_apply.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
graph_builder_destroy_plan.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
graph_builder_eval.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
graph_builder_import.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
graph_builder_input.go use an EvalOpFilter for module variables 2017-10-02 16:20:29 -04:00
graph_builder_plan_test.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
graph_builder_plan.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
graph_builder_refresh_test.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
graph_builder_refresh.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
graph_builder_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
graph_builder_validate.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
graph_builder.go core: remove redundant rule lines in BasicGraphBuilder logs 2018-10-16 18:49:20 -07: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 terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
graph_test.go core: Remove GraphWalkerPanicwrap, etc 2018-10-16 18:48:28 -07:00
graph_walk_context.go core: EvalSequence must continue when only warnings are returned 2018-10-16 18:49:20 -07:00
graph_walk_operation.go core: Context.Eval method 2018-10-16 18:46:46 -07:00
graph_walk_test.go terraform: trying this graphwalker thing 2015-02-19 12:07:56 -08:00
graph_walk.go core: Remove GraphWalkerPanicwrap, etc 2018-10-16 18:48:28 -07:00
graph.go core: Remove GraphWalkerPanicwrap, etc 2018-10-16 18:48:28 -07:00
graphtype_string.go core: Context.Eval method 2018-10-16 18:46:46 -07:00
hook_mock.go terraform: PostProvision hook gets the error from the provision step 2017-01-20 20:21:12 -08:00
hook_stop_test.go terraform: stopHook and tests 2014-07-02 16:16:38 -07:00
hook_stop.go terraform: PostProvision hook gets the error from the provision step 2017-01-20 20:21:12 -08:00
hook_test.go core: add testHook for testing correct interaction with hooks 2017-09-01 17:55:05 -07:00
hook.go terraform: PostProvision hook gets the error from the provision step 2017-01-20 20:21:12 -08:00
instancetype_string.go Update various files for new version of "stringer" 2017-12-11 13:26:29 -08:00
instancetype.go core: formalize resource addressing 2015-03-31 15:04:10 -05:00
interpolate.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
module_dependencies_test.go core: fix inheritence checks in ConfigTreeDependencies 2018-10-16 18:48:28 -07:00
module_dependencies.go core: fix inheritence checks in ConfigTreeDependencies 2018-10-16 18:48:28 -07:00
node_count_boundary.go terraform: new graph fixes ".0" and "" boundaries on counts 2016-10-19 13:38:52 -07:00
node_data_destroy.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
node_data_refresh_test.go core: Tests for scale in and out need to mock EvalExpression 2018-10-16 18:48:28 -07:00
node_data_refresh.go core: Actually read provider schema for data resources 2018-10-16 18:48:28 -07:00
node_local.go core: Local and output values must reference destroy nodes too 2018-10-16 18:49:20 -07:00
node_module_removed.go compare module by normalized path 2018-10-16 18:48:28 -07:00
node_module_variable_test.go core: Update TestNodeApplyableModuleVariablePath for new address type 2018-10-16 18:48:28 -07:00
node_module_variable.go core: render variables, locals and outputs nicely in "terraform graph" 2018-10-16 18:46:46 -07:00
node_output_orphan.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
node_output.go core: Local and output values must reference destroy nodes too 2018-10-16 18:49:20 -07:00
node_provider_abstract.go core: Attach resource and provider config schemas during graph build 2018-10-16 18:46:46 -07:00
node_provider_disabled.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
node_provider_eval.go core: Context.Eval method 2018-10-16 18:46:46 -07:00
node_provider.go WIP reference providers by full name 2017-11-02 15:00:06 -04:00
node_provisioner.go core: NodeProvisioner.Name update for new address types 2018-10-16 18:48:28 -07:00
node_resource_abstract.go filter self references in NodeApplyableResourceIns 2018-10-16 18:49:20 -07:00
node_resource_apply.go core: Produce correct references for destroy nodes 2018-10-16 18:49:20 -07:00
node_resource_destroy_test.go core: Fix test for NodeDestroyResource.DynamicExpand 2018-10-16 18:48:28 -07:00
node_resource_destroy.go core: Produce correct references for destroy nodes 2018-10-16 18:49:20 -07:00
node_resource_plan_destroy.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
node_resource_plan_instance.go core: fix NodePlannableResourceInstance data reads 2018-10-16 18:49:20 -07:00
node_resource_plan_orphan.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
node_resource_plan.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
node_resource_refresh_test.go core: Tests for scale in and out need to mock EvalExpression 2018-10-16 18:48:28 -07:00
node_resource_refresh.go core: Attach resource and provider config schemas during graph build 2018-10-16 18:46:46 -07:00
node_resource_validate.go core: skip resource validation when count is unknown 2018-10-16 18:48:28 -07:00
node_root_variable.go core: render variables, locals and outputs nicely in "terraform graph" 2018-10-16 18:46:46 -07:00
path.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
plan_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
plan.go core: Have WritePlan be explicit that it's non-functional right now 2018-10-16 18:49:20 -07:00
resource_address_test.go configs: Re-unify the ManagedResource and DataResource types 2018-10-16 18:44:26 -07:00
resource_address.go core: NewLegacyResourceInstanceAddress correct handling of addrs.NoKey 2018-10-16 18:46:46 -07:00
resource_provider_mock_test.go add Provider schema to the contextFixture 2018-10-16 18:49:20 -07:00
resource_provider_mock.go minor race issue in mockResourceProvider 2017-12-20 09:18:38 -05:00
resource_provider.go core: terraform.ResourceProvider.GetSchema method 2017-10-17 07:23:41 -07:00
resource_provisioner_mock_test.go core: mock provider factory functions for testing 2018-10-16 18:48:28 -07:00
resource_provisioner_mock.go core: Update MockResourceProvisioner to include GetConfigSchema 2018-10-16 18:46:46 -07:00
resource_provisioner.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
resource_test.go core: check for negative indices in ResourceConfig.get 2017-12-12 09:18:38 -08:00
resource.go core: NewInstanceInfo should take ResourceInstance, not Resource 2018-10-16 18:49:20 -07:00
schemas_test.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
schemas.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
semantics_test.go core: fix tests for checkInputVariables 2018-10-16 18:48:28 -07:00
semantics.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
state_add_test.go Set proper Mode when moving a data source in state 2016-11-21 18:26:29 -05:00
state_add.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
state_filter_test.go terraform: StateFilter handles cases where ResourceState has no type 2017-01-21 10:24:03 -08:00
state_filter.go fix sorting of module resources during state mv 2017-02-23 18:27:16 -05:00
state_test.go core: TestStateAddModule old-style output 2018-10-16 18:48:28 -07:00
state_upgrade_v1_to_v2_test.go terraform: convert empty path to root path in V1 state 2017-03-21 11:37:12 -07: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 core: Fix TestContext2Apply_outputOrphanModule 2018-10-16 18:49:20 -07:00
terraform_test.go core: update test fixtures 2018-10-16 18:49:20 -07:00
testing.go terraform: support backends in the state 2017-01-26 14:33:49 -08:00
transform_attach_config_provider.go core: Attach resource and provider config schemas during graph build 2018-10-16 18:46:46 -07:00
transform_attach_config_resource.go core: Additional trace logging in attach resource config transformer 2018-10-16 18:48:28 -07:00
transform_attach_schema.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
transform_attach_state.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_config_flat_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
transform_config_flat.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_config_old.go terraform: remove config transformer old 2017-01-26 19:57:46 -08:00
transform_config_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
transform_config.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_count_boundary.go terraform: new graph fixes ".0" and "" boundaries on counts 2016-10-19 13:38:52 -07:00
transform_deposed.go deposed nodes need the resolved provider too 2018-10-16 18:48:28 -07:00
transform_destroy_cbd_test.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
transform_destroy_cbd.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
transform_destroy_edge_test.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
transform_destroy_edge.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -07:00
transform_diff_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
transform_diff.go core: Fix DiffTransformer node addresses 2018-10-16 18:48:28 -07:00
transform_expand_test.go implement dag.Subgrapher interface 2016-11-14 08:50:34 -05:00
transform_expand.go terraform: more dead code removal 2017-01-26 19:47:02 -08:00
transform_import_provider.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_import_state.go core: Fix TestContextImport_collision 2018-10-16 18:49:20 -07:00
transform_local.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_module_variable_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
transform_module_variable.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_orphan_count_test.go core: Correct test TestOrphanResourceCountTransformer_zeroAndNone 2018-10-16 18:48:28 -07:00
transform_orphan_count.go core: Correct test TestOrphanResourceCountTransformer_zeroAndNone 2018-10-16 18:48:28 -07:00
transform_orphan_output.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_orphan_resource_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
transform_orphan_resource.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_output.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_provider_test.go core: Update ProviderTransformer tests for new ImportTarget interface 2018-10-16 18:48:28 -07:00
transform_provider.go core: ProviderTransformer debug log to use abs addr always 2018-10-16 18:49:20 -07:00
transform_provisioner_test.go core: NodeProvisioner.Name update for new address types 2018-10-16 18:48:28 -07:00
transform_provisioner.go core: Make provisioner schemas available to plan resource instance nodes 2018-10-16 18:49:20 -07:00
transform_reference_test.go core: Fix ReferenceTransformer tests 2018-10-16 18:48:28 -07:00
transform_reference.go core: Local and output values must reference destroy nodes too 2018-10-16 18:49:20 -07:00
transform_removed_modules.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_resource_count.go core: Attach resource and provider config schemas during graph build 2018-10-16 18:46:46 -07:00
transform_root_test.go core: NodeAbstractResource correct default result from ProvidedBy 2018-10-16 18:48:28 -07:00
transform_root.go terraform: provider transform is converted to new graph world view 2017-01-26 20:58:22 -08:00
transform_state.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_targets_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
transform_targets.go don't check for targeted downstream from providers 2018-10-16 18:49:20 -07:00
transform_transitive_reduction_test.go core: Fetch schemas during context construction 2018-10-16 18:49:20 -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 terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
ui_input_mock.go terraform: Input() asks for variable inputs 2014-09-28 23:37:36 -07:00
ui_input_prefix_test.go terraform: prefix the Id for configuring providers 2014-09-29 10:36:49 -07:00
ui_input_prefix.go terraform: Make output more machine-like 2014-09-29 12:52:48 -07:00
ui_input.go helper/scheam: support UI defaults 2014-09-29 14:00:35 -07: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: no longer require uiOutput, do it auto in Hook 2014-10-04 16:24:07 -07:00
ui_output_provisioner.go terraform: no longer require uiOutput, do it auto in Hook 2014-10-04 16:24:07 -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
user_agent.go Standardize http.Client creation with User-Agent 2018-02-28 12:09:50 -05:00
util_test.go Resolve resource provider types in config package 2017-06-09 14:03:59 -07:00
util.go Resolve resource provider types in config package 2017-06-09 14:03:59 -07:00
valuesourcetype_string.go core: Context.Eval method 2018-10-16 18:46:46 -07:00
variables_test.go core: fix the tests in variables_test.go 2018-10-16 18:48:28 -07:00
variables.go core: fix the tests in variables_test.go 2018-10-16 18:48:28 -07:00
version_required.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
version.go use the new version package 2017-10-19 21:48:08 -04:00
walkoperation_string.go core: Context.Eval method 2018-10-16 18:46:46 -07:00