opentofu/terraform
Martin Atkins 183833affc core: terraform.ResourceProvider.GetSchema method
In order to parse provider, resource and data source configuration from
HCL2 config files, we need to know the relevant configuration schema.
This new method allows Terraform Core to request these from a provider.

This is a breaking change to this interface, so all of its implementers
in this package are updated too. This includes concrete implementations
of the new method in helper/schema that use the schema conversion code
added in an earlier commit to produce a configschema.Block automatically.

Plugins compiled against prior versions of helper/schema will not have
support for this method, and so calls to them will fail. Callers of
this new method will therefore need to sniff for support using the
SchemaAvailable field added to both ResourceType and DataSource.

This careful handling will need to persist until next time we increment
the plugin protocol version, at which point we can make the breaking
change of requiring this information to be available.
2017-10-17 07:23:41 -07:00
..
test-fixtures fix provider with local value test and docs 2017-09-29 17:14:07 -04:00
context_apply_test.go fix the providerWithLocals test 2017-10-02 16:21:37 -04:00
context_components.go terraform: switch to a component factory 2016-10-11 22:17:29 +08:00
context_graph_type.go terraform: wip moving validation to new graph 2017-01-25 12:28:07 -08:00
context_import_test.go core: provide config to all import context tests 2017-06-09 14:03:59 -07:00
context_import.go core: remove shadow graph infrastructure 2017-08-28 08:40:22 -07:00
context_input_test.go test with bad interpolation during Input 2017-08-10 14:14:29 -04:00
context_plan_test.go add some output error tests 2017-10-02 16:20:29 -04:00
context_refresh_test.go Merge #15344: Avoid double-counting resources to create 2017-06-27 10:48:45 -07:00
context_test.go core: return explicit caption if tests fail to construct context 2017-06-09 14:03:59 -07:00
context_validate_test.go core: remove shadow graph infrastructure 2017-08-28 08:40:22 -07:00
context.go make a destroy plan work the same as destroy 2017-10-02 16:20:29 -04:00
debug_test.go Update tests for the new ProviderResolver interface 2017-06-09 14:03:59 -07:00
debug.go terraform: fix compilation by complying with interface 2017-01-20 20:45:06 -08:00
diff_test.go terraform: ignore RequiresNew for collection removal in diff.Same 2017-02-06 17:46:48 -08:00
diff.go command/format: improve consistency of plan results 2017-09-01 17:55:05 -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 advertise data source destroy via hooks 2017-09-01 17:55:05 -07:00
eval_check_prevent_destroy.go terraform: prevent_destroy works for decreasing count 2016-10-28 21:31:47 -04:00
eval_context_builtin_test.go terraform: provider input should be scoped by path 2015-06-24 09:34:21 -07:00
eval_context_builtin.go terraform: switch to Context for stop, Stoppable provisioners 2017-01-26 15:03:27 -08:00
eval_context_mock.go terraform: switch to Context for stop, Stoppable provisioners 2017-01-26 15:03:27 -08:00
eval_context.go terraform: switch to Context for stop, Stoppable provisioners 2017-01-26 15:03:27 -08: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 terraform: catch scenario where both "foo" and "foo.0" are in state 2015-03-01 21:28:41 -08:00
eval_diff_test.go terraform: destroy node should not create 2015-02-24 22:45:47 -08:00
eval_diff.go core: Skip diff hooks for stubs on eval altogether 2017-06-24 08:01:17 -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 terraform: import verifies the refresh results in non-nil state 2016-05-11 13:02:36 -07:00
eval_interpolate_test.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_interpolate.go use an EvalOpFilter for module variables 2017-10-02 16:20:29 -04:00
eval_local_test.go core: evaluate locals and return them for interpolation 2017-08-21 15:15:25 -07:00
eval_local.go don't evaluate locals during destroy 2017-09-28 12:56:25 -04:00
eval_noop.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_output_test.go Check for multi-values maps in output too 2016-10-07 15:09:03 -04:00
eval_output.go put output errors behind a feature flag 2017-10-02 16:20:29 -04:00
eval_provider_test.go core: Input walk shouldn't clobber dynamic provider config 2017-04-04 10:31:42 -07:00
eval_provider.go core: Input walk shouldn't clobber dynamic provider config 2017-04-04 10:31:42 -07:00
eval_provisioner_test.go core: close provider/provisioner connections 2015-06-19 21:52:50 +02:00
eval_provisioner.go core: close provider/provisioner connections 2015-06-19 21:52:50 +02:00
eval_read_data.go core: don't force data resource id diff to be empty 2016-09-24 12:48:58 -07:00
eval_refresh.go providers/aws: security group import imports rules 2016-05-11 13:02:36 -07:00
eval_resource.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_sequence_test.go terraform: Refresh, Read/Write state 2015-02-19 12:08:00 -08:00
eval_sequence.go terraform: don't validate computed values in validate 2017-01-27 21:15:43 -08:00
eval_state_test.go Add tests and fix last issues 2016-05-26 19:56:03 -05:00
eval_state.go Don't allow interpolation failure to stop Input 2017-08-10 14:14:29 -04:00
eval_test.go terraform: clean up EvalNodes 2015-02-19 12:08:32 -08:00
eval_validate_selfref_test.go terraform: validate self references 2017-01-25 21:00:45 -08:00
eval_validate_selfref.go terraform: validate self references 2017-01-25 21:00:45 -08:00
eval_validate_test.go Detect and reject unknown attributes in "connection" blocks 2017-04-06 13:46:43 -07:00
eval_validate.go Detect and reject unknown attributes in "connection" blocks 2017-04-06 13:46:43 -07:00
eval_variable_test.go core: basic test of EvalVariableBlock 2017-04-04 12:16:19 -07:00
eval_variable.go core: EvalVariableBlock to decode maps and slices more carefully 2017-04-07 17:05:14 -07:00
eval.go terraform+dag: Set lower log levels 2017-08-14 11:43:45 +02:00
evaltree_provider.go terraform: providers should input/config on import 2016-05-11 13:02:34 -07:00
features.go put output errors behind a feature flag 2017-10-02 16:20:29 -04:00
graph_builder_apply_test.go Add the close provider and provisioner transformers (#13102) 2017-04-12 23:25:15 +02:00
graph_builder_apply.go add DestroyValueReferenceTransformer 2017-10-02 16:20:29 -04:00
graph_builder_destroy_plan.go terraform: new Graph API that can return the graph for each op 2016-12-02 22:56:22 -05:00
graph_builder_import.go Add the close provider and provisioner transformers (#13102) 2017-04-12 23:25:15 +02: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: graph nodes and edges for local values 2017-08-21 15:15:25 -07:00
graph_builder_plan.go use an EvalOpFilter for module variables 2017-10-02 16:20:29 -04:00
graph_builder_refresh_test.go core: Test for new refresh graph behaviour 2017-05-12 15:45:06 -07:00
graph_builder_refresh.go core: graph nodes and edges for local values 2017-08-21 15:15:25 -07:00
graph_builder_test.go terraform: remove legacy graph builder 2017-01-26 15:18:42 -08:00
graph_builder_validate.go terraform: expand count on resources during validation 2017-01-25 12:39:08 -08:00
graph_builder.go terraform: remove legacy graph builder 2017-01-26 15:18:42 -08: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: subpath context setting 2015-05-01 14:19:32 -07:00
graph_test.go terraform: remove ConnectDependents and related interfaces 2017-02-03 14:25:54 +01:00
graph_walk_context.go terraform: string through the context meta 2017-03-13 16:21:09 -07:00
graph_walk_operation.go terraform: start Import function, totally untested 2016-05-11 13:02:30 -07:00
graph_walk_test.go terraform: trying this graphwalker thing 2015-02-19 12:07:56 -08:00
graph_walk.go Replace DebugGraphs with the Graph's methods 2016-11-14 08:52:18 -05:00
graph.go terraform+dag: Set lower log levels 2017-08-14 11:43:45 +02:00
graphtype_string.go Fix stringer comments (#15069) 2017-06-05 10:17:35 +01: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 Fix stringer comments (#15069) 2017-06-05 10:17:35 +01:00
instancetype.go core: formalize resource addressing 2015-03-31 15:04:10 -05:00
interpolate_test.go core: evaluate locals and return them for interpolation 2017-08-21 15:15:25 -07:00
interpolate.go core: evaluate locals and return them for interpolation 2017-08-21 15:15:25 -07:00
module_dependencies_test.go Rename VersionSet to Constraints 2017-06-09 14:03:59 -07:00
module_dependencies.go Rename VersionSet to Constraints 2017-06-09 14:03:59 -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: data source on refresh should just delete from state 2017-02-03 20:58:03 +01:00
node_data_refresh_test.go Fix swallowed tests in terraform package tests 2017-07-20 02:23:43 -07:00
node_data_refresh.go core: Fix destroy factory in data source refresh expander 2017-05-12 15:45:06 -07:00
node_local.go don't evaluate locals during destroy 2017-09-28 12:56:25 -04:00
node_module_variable_test.go terraform: tests for module variable node 2016-10-19 13:38:51 -07:00
node_module_variable.go use an EvalOpFilter for module variables 2017-10-02 16:20:29 -04:00
node_output_orphan.go terraform: prune orphan outputs in old graph 2016-11-08 13:24:09 -08:00
node_output.go continue on output errors during Input 2017-10-02 16:20:29 -04:00
node_provider_abstract.go terraform: don't include providers if not targeted 2017-02-17 09:21:29 -08:00
node_provider_disabled.go terraform: disable providers in new apply graph 2016-10-19 14:54:00 -07:00
node_provider.go terraform: refactor NodeApplyableProvider to use NodeAbstractProvider 2016-12-03 15:27:38 -08:00
node_provisioner.go terraform: new provisioner node 2017-01-26 21:02:55 -08:00
node_resource_abstract_count.go terraform: don't validate computed values in validate 2017-01-27 21:15:43 -08:00
node_resource_abstract.go remove duplicates in Dependencies 2017-04-08 15:37:15 -04:00
node_resource_apply.go terraform: convert StateDeps to use new structs 2017-01-26 20:47:20 -08:00
node_resource_destroy_test.go terraform: Destroy node should only include deposed for specific index 2016-11-29 09:16:18 -08:00
node_resource_destroy.go terraform: destroy resource should depend on destroy-time prov deps 2017-02-17 13:13:44 -08:00
node_resource_plan_destroy.go terraform: Destroy node should only include deposed for specific index 2016-11-29 09:16:18 -08:00
node_resource_plan_instance.go terraform: convert StateDeps to use new structs 2017-01-26 20:47:20 -08:00
node_resource_plan_orphan.go terraform: Destroy node should only include deposed for specific index 2016-11-29 09:16:18 -08:00
node_resource_plan.go terraform: handle count fields for data sources 2017-01-22 16:05:10 -08:00
node_resource_refresh_test.go Fix swallowed tests in terraform package tests 2017-07-20 02:23:43 -07:00
node_resource_refresh.go core: evalTreeManagedScaleOutResource -> evalTreeManagedResourceNoState 2017-06-23 17:35:30 -07:00
node_resource_validate.go Detect and reject unknown attributes in "connection" blocks 2017-04-06 13:46:43 -07:00
node_root_variable.go terraform: RootVariableTransform 2016-10-19 13:38:51 -07:00
path.go terraform: module inputs are passed through to subgraphs 2015-02-19 12:08:01 -08:00
plan_test.go Add warning to mismatched plan state 2017-07-17 10:41:29 -04:00
plan.go make a destroy plan work the same as destroy 2017-10-02 16:20:29 -04:00
resource_address_test.go core: stabilize ResourceAddress.Less results 2017-09-01 17:55:05 -07:00
resource_address.go optimization:Merge slices 2017-09-13 21:08:41 +08:00
resource_provider_mock_test.go terraform: provider mock should close itself to find bugs 2015-06-29 10:33:37 -07:00
resource_provider_mock.go core: terraform.ResourceProvider.GetSchema method 2017-10-17 07:23:41 -07:00
resource_provider.go core: terraform.ResourceProvider.GetSchema method 2017-10-17 07:23:41 -07:00
resource_provisioner_mock_test.go terraform: Adding mock resource provisioner 2014-07-10 11:38:56 -07:00
resource_provisioner_mock.go terraform: switch to Context for stop, Stoppable provisioners 2017-01-26 15:03:27 -08:00
resource_provisioner.go terraform: switch to Context for stop, Stoppable provisioners 2017-01-26 15:03:27 -08:00
resource_test.go command: show resource actions using resource addresses 2017-09-01 17:55:05 -07:00
resource.go command: show resource actions using resource addresses 2017-09-01 17:55:05 -07:00
schemas.go core: terraform.ResourceProvider.GetSchema method 2017-10-17 07:23:41 -07:00
semantics_test.go terraform: user friendly error when using old map overrides 2016-12-09 15:58:24 -05:00
semantics.go terraform: remove GraphNodeModule 2017-01-26 20:01:39 -08: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 Set proper Mode when moving a data source in state 2016-11-21 18:26:29 -05: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 Merge pull request #15448 from hashicorp/jbardin/state-meta-equal 2017-08-30 16:00:00 -04: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 Merge pull request #15448 from hashicorp/jbardin/state-meta-equal 2017-08-30 16:00:00 -04:00
terraform_test.go Use t.Helper() in our test helpers 2017-08-28 09:59:30 -07:00
test_failure Rename VersionSet to Constraints 2017-06-09 14:03:59 -07:00
testing.go terraform: support backends in the state 2017-01-26 14:33:49 -08:00
transform_attach_config_provider.go terraform: configure provider aliases in the new apply graph 2016-11-04 16:51:52 -07:00
transform_attach_config_resource.go terraform: enable shadow graph and destroy resource mode with addr 2016-10-22 12:12:30 -07:00
transform_attach_state.go terraform: passing test for destroy edge for module only 2017-02-07 19:12:03 -08:00
transform_config_flat_test.go terraform: FlatConfigTransformer 2016-10-19 13:38:53 -07:00
transform_config_flat.go terraform: CBD makes the proper edge connections for dependent resources 2016-10-19 13:38:53 -07:00
transform_config_old.go terraform: remove config transformer old 2017-01-26 19:57:46 -08:00
transform_config_test.go terraform: ConfigTransformer has Unique and mode filters 2017-01-22 12:58:18 -08:00
transform_config.go terraform: ConfigTransformer has Unique and mode filters 2017-01-22 12:58:18 -08: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 terraform: introduce EvalApplyPre so that PreApply is called even for 2017-01-20 20:36:53 -08:00
transform_destroy_cbd_test.go terraform: CBD edge should ignore "index" 2017-02-07 10:53:12 -08:00
transform_destroy_cbd.go terraform: CBD edge should ignore "index" 2017-02-07 10:53:12 -08:00
transform_destroy_edge_test.go terraform: passing test for destroy edge for module only 2017-02-07 19:12:03 -08:00
transform_destroy_edge.go add DestroyValueReferenceTransformer 2017-10-02 16:20:29 -04:00
transform_diff_test.go terraform: remove diff transformer test that no longer happens 2016-10-19 13:38:52 -07:00
transform_diff.go terraform: new apply graph understands destroying deposed only 2016-11-28 14:34:24 -08: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: verify import providers only depend on vars 2016-11-09 15:09:13 -08:00
transform_import_state.go Implements import with specified provider 2016-11-23 11:58:58 +01:00
transform_local.go core: graph nodes and edges for local values 2017-08-21 15:15:25 -07:00
transform_module_variable_test.go terraform: module variables should be pruned if nothing depends on them 2016-11-04 18:58:03 -07:00
transform_module_variable.go use an EvalOpFilter for module variables 2017-10-02 16:20:29 -04:00
transform_orphan_count_test.go terraform: proper "what to orphan" on zero/one boundary logic 2016-11-08 13:59:29 -08:00
transform_orphan_count.go terraform: fix a typo found during review 2016-11-09 08:10:09 -08:00
transform_orphan_output.go terraform: orphan outputs are deleted from the state 2016-10-19 13:38:52 -07:00
transform_orphan_resource_test.go terraform: don't prune state on init() 2016-12-02 11:48:34 -05:00
transform_orphan_resource.go terraform: don't prune state on init() 2016-12-02 11:48:34 -05:00
transform_output.go terraform: get tests to not panic on failures 2016-10-19 13:38:51 -07:00
transform_provider_disable.go terraform: disable providers in new apply graph 2016-10-19 14:54:00 -07:00
transform_provider_test.go terraform: close transform should not include untargeted providers 2017-02-17 09:27:47 -08:00
transform_provider.go terraform: close transform should not include untargeted providers 2017-02-17 09:27:47 -08:00
transform_provisioner_test.go terraform: new provisioner node 2017-01-26 21:02:55 -08:00
transform_provisioner.go terraform: remove flatten, forever 2017-01-26 21:03:27 -08:00
transform_reference_test.go terraform: tests for ReferenceMap for module paths 2016-11-12 08:24:09 -08:00
transform_reference.go add DestroyValueReferenceTransformer 2017-10-02 16:20:29 -04:00
transform_resource_count.go terraform: expand count in plan 2016-11-08 13:59:26 -08:00
transform_root_test.go terraform: convert root transform test to use new config transform 2017-01-26 19:40:46 -08: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: implement destroy planning basics from state 2016-10-22 12:12:29 -07:00
transform_targets_test.go core: Allow downstream targeting of certain node types 2017-05-11 11:57:46 -07:00
transform_targets.go remove broken outputs from targeted graph 2017-10-02 16:20:29 -04:00
transform_transitive_reduction_test.go terraform: convert all tests to use the new config transformer 2017-01-26 19:56:16 -08:00
transform_transitive_reduction.go terraform: add TransitiveReductionTransformer 2015-02-27 19:18:04 -08:00
transform_variable.go terraform: RootVariableTransform 2016-10-19 13:38:51 -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: unify destroy/apply graph builders 2016-10-22 12:12:30 -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 provider/openstack: Add Terraform version to UserAgent string (#14955) 2017-06-01 22:12:25 -06: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
variables_test.go Add failing test for GH-10155 2016-11-16 18:20:59 -05:00
variables.go Return an error for setting a non-map to a map 2016-11-17 11:10:43 -05:00
version_required.go command/init: check required_version 2017-08-28 11:25:16 -07:00
version.go release: clean up after v0.10.7 2017-10-02 18:54:33 +00:00
walkoperation_string.go Fix stringer comments (#15069) 2017-06-05 10:17:35 +01:00