terraform/terraform
Pam Selle c249943360
Module Expansion: Part 2 (#24154)
* WIP: dynamic expand

* WIP: add variable and local support

* WIP: outputs

* WIP: Add referencer

* String representation, fixing tests it impacts

* Fixes TestContext2Apply_outputOrphanModule

* Fix TestContext2Apply_plannedDestroyInterpolatedCount

* Update DestroyOutputTransformer and associated types to reflect PlannableOutputs

* Remove comment about locals

* Remove module count enablement

* Removes allowing count for modules, and reverts the test,
while adding a Skip()'d test that works when you re-enable
the config

* update TargetDownstream signature to match master

* remove unnecessary method

Co-authored-by: James Bardin <j.bardin@gmail.com>
2020-02-24 17:42:32 -05:00
..
testdata Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
context.go core: Make an instances.Expander available to every graph walk 2020-02-14 15:20:07 -08:00
context_apply_test.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
context_components.go terraform: remove no-longer-necessary type strings 2020-02-14 15:41:31 -08:00
context_components_test.go providers: use addrs.Provider as map keys for provider.Factory (#23548) 2019-12-04 11:30:20 -05:00
context_fixtures_test.go providers: use addrs.Provider as map keys for provider.Factory (#23548) 2019-12-04 11:30:20 -05:00
context_graph_type.go Version tools per Go convention under tools.go 2019-10-17 22:23:39 +02:00
context_import.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
context_import_test.go addrs: ProviderConfig fixups (#24115) 2020-02-14 09:06:50 -05:00
context_input.go terraform: replace addrs.NewLegacyProvider with lookups when the 2020-02-14 15:41:31 -08:00
context_input_test.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
context_plan_test.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
context_refresh_test.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
context_test.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
context_validate_test.go config: Allow module authors to specify validation rules for variables 2020-01-10 15:23:25 -08:00
diff.go prevent panics when encountering nil diffs 2019-09-04 16:51:42 -04:00
diff_test.go re-count the flatmapped containers 2018-11-16 15:26:16 -05:00
eval.go core: EvalSequence must continue when only warnings are returned 2018-10-16 18:49:20 -07:00
eval_apply.go better comments 2020-02-19 16:54:41 -05:00
eval_check_prevent_destroy.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
eval_context.go terraform: remove no-longer-necessary type strings 2020-02-14 15:41:31 -08:00
eval_context_builtin.go comment cleanup: those FIXME comments are load-bearing and must be up to date 2020-02-14 15:41:31 -08:00
eval_context_builtin_test.go comment cleanup: those FIXME comments are load-bearing and must be up to date 2020-02-14 15:41:31 -08:00
eval_context_mock.go terraform: remove no-longer-necessary type strings 2020-02-14 15:41:31 -08:00
eval_count.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
eval_count_boundary.go core: Update EvalCountFixZeroOneBoundaryGlobal for new state types 2018-10-16 19:14:11 -07:00
eval_diff.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
eval_diff_test.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
eval_error.go
eval_filter.go
eval_filter_operation.go
eval_for_each.go terraform: detect null values in for_each sets 2020-02-14 17:20:08 -05:00
eval_for_each_test.go terraform: Add test coverage for eval_for_each 2020-02-18 07:07:24 -05:00
eval_if.go
eval_import_state.go terraform: More wiring in of new provider types 2018-10-16 19:12:54 -07:00
eval_lang.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
eval_local.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
eval_local_test.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
eval_noop.go
eval_output.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
eval_output_test.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
eval_provider.go terraform: remove no-longer-necessary type strings 2020-02-14 15:41:31 -08:00
eval_provider_test.go addrs: ProviderConfig fixups (#24115) 2020-02-14 09:06:50 -05:00
eval_provisioner.go ResourceProvisioner to provisioners.Interface 2018-10-16 19:11:09 -07:00
eval_provisioner_test.go replace provider and provisioner types in tests 2018-10-16 19:11:09 -07:00
eval_read_data.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
eval_refresh.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
eval_sequence.go core: EvalSequence to handle EvalEarlyExitError 2018-10-16 18:49:20 -07:00
eval_sequence_test.go
eval_state.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
eval_state_test.go addrs: ProviderConfig fixups (#24115) 2020-02-14 09:06:50 -05:00
eval_state_upgrade.go Initial steps towards AbsProviderConfig/LocalProviderConfig separation (#23978) 2020-01-31 08:23:07 -05:00
eval_test.go
eval_validate.go Initial steps towards AbsProviderConfig/LocalProviderConfig separation (#23978) 2020-01-31 08:23:07 -05:00
eval_validate_selfref.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
eval_validate_selfref_test.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
eval_validate_test.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
eval_variable.go config: Allow module authors to specify validation rules for variables 2020-01-10 15:23:25 -08:00
evaltree_provider.go terraform: remove no-longer-necessary type strings 2020-02-14 15:41:31 -08:00
evaluate.go better comments 2020-02-19 16:54:41 -05:00
evaluate_test.go core: path.module, path.root, path.cwd use fwd slashes on all platforms 2018-12-19 13:47:42 -08:00
evaluate_valid.go terraform: replace addrs.NewLegacyProvider with lookups when the 2020-02-14 15:41:31 -08:00
evaluate_valid_test.go terraform: use addrs.Provider as map keys for provider schemas (#24002) 2020-02-03 08:18:04 -05:00
features.go output warning flag 2017-11-28 14:18:54 -05:00
graph.go update terraform to work with new dag changes 2020-02-19 14:53:19 -05:00
graph_builder.go update terraform to work with new dag changes 2020-02-19 14:53:19 -05:00
graph_builder_apply.go core: Use instances.Expander to handle resource count and for_each 2020-02-14 15:20:07 -08:00
graph_builder_apply_test.go core: Use instances.Expander to handle resource count and for_each 2020-02-14 15:20:07 -08:00
graph_builder_destroy_plan.go run AttachStateTransformer in destroy plan 2020-02-13 15:43:19 -05:00
graph_builder_eval.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
graph_builder_import.go command/import: attach references before validating provider (#22862) 2020-02-12 14:00:08 -05:00
graph_builder_plan.go core: Use instances.Expander to handle resource count and for_each 2020-02-14 15:20:07 -08:00
graph_builder_plan_test.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
graph_builder_refresh.go core: Use instances.Expander to handle resource count and for_each 2020-02-14 15:20:07 -08:00
graph_builder_refresh_test.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05: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_dot.go
graph_dot_test.go terraform: remove ConnectDependents and related interfaces 2017-02-03 14:25:54 +01: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 update some graph builder tests 2018-10-16 19:14:11 -07:00
graph_walk.go core: Remove GraphWalkerPanicwrap, etc 2018-10-16 18:48:28 -07:00
graph_walk_context.go core: Make an instances.Expander available to every graph walk 2020-02-14 15:20:07 -08:00
graph_walk_operation.go Version tools per Go convention under tools.go 2019-10-17 22:23:39 +02:00
graph_walk_test.go
graphtype_string.go stringer: Regenerate files with latest version 2019-05-13 15:34:27 +01:00
hook.go terraform: More wiring in of new provider types 2018-10-16 19:12:54 -07:00
hook_mock.go terraform: More wiring in of new provider types 2018-10-16 19:12:54 -07:00
hook_stop.go command: Fix TestPlan_shutdown 2018-11-08 08:57:11 -08:00
hook_stop_test.go
hook_test.go core: Fix various compile-time errors in tests 2018-10-16 19:14:11 -07:00
instancetype.go Version tools per Go convention under tools.go 2019-10-17 22:23:39 +02:00
instancetype_string.go stringer: Regenerate files with latest version 2019-05-13 15:34:27 +01:00
module_dependencies.go addrs: Stronger validation and normalization of provider namespace/type 2020-02-18 15:42:09 -08:00
module_dependencies_test.go terraform: fix issue merging provider version constraints 2020-02-06 11:28:48 -05:00
node_count_boundary.go core: Update EvalCountFixZeroOneBoundaryGlobal for new state types 2018-10-16 19:14:11 -07:00
node_data_destroy.go rename NodeDestroyableDataResourceInstance 2018-12-18 13:22:21 -05:00
node_data_refresh.go core: Use instances.Expander to handle resource count and for_each 2020-02-14 15:20:07 -08:00
node_data_refresh_test.go core: Use instances.Expander to handle resource count and for_each 2020-02-14 15:20:07 -08:00
node_local.go core: Local and output values must reference destroy nodes too 2018-10-16 18:49:20 -07:00
node_module_expand.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
node_module_removed.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
node_module_variable.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
node_module_variable_test.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
node_output.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
node_output_orphan.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
node_provider.go WIP reference providers by full name 2017-11-02 15:00:06 -04:00
node_provider_abstract.go core: A "go fmt" catchup 2018-10-16 19:14:11 -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 terraform: remove no-longer-necessary type strings 2020-02-14 15:41:31 -08:00
node_provisioner.go prune references to config/module 2019-08-07 17:50:59 -04:00
node_resource_abstract.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
node_resource_apply.go core: NodeApplyableResource only depends on count and for_each 2018-10-16 19:14:11 -07:00
node_resource_apply_instance.go core: Don't panic if EvalMaybeResourceDeposedObject has no DeposedKey 2020-01-06 10:22:51 -08:00
node_resource_destroy.go Add GraphNodeNoProvider to skip adding a providers 2020-01-10 16:28:44 -05:00
node_resource_destroy_deposed.go fix missing deposed key 2019-11-21 10:31:41 -05:00
node_resource_plan.go core: Use instances.Expander to handle resource count and for_each 2020-02-14 15:20:07 -08:00
node_resource_plan_destroy.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
node_resource_plan_instance.go make use of the new state Dependencies 2019-11-07 17:49:03 -05:00
node_resource_plan_orphan.go core: Record correct provider address in orphan destroy plan 2018-10-16 19:14:11 -07:00
node_resource_refresh.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
node_resource_refresh_test.go core: Use instances.Expander to handle resource count and for_each 2020-02-14 15:20:07 -08:00
node_resource_validate.go Support using self in the provisioner of resources that use for_each 2019-07-29 01:18:33 -06:00
node_root_variable.go config: Allow module authors to specify validation rules for variables 2020-01-10 15:23:25 -08: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 move hcl2shim package to configs 2019-08-06 19:58:58 -04:00
provisioner_mock.go check resource-level connections block for refs 2019-12-12 12:57:23 -05:00
resource.go move hcl2shim package to configs 2019-08-06 19:58:58 -04:00
resource_address.go prune references to config/module 2019-08-07 17:50:59 -04:00
resource_address_test.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_mode_string.go prune references to config/module 2019-08-07 17:50:59 -04:00
resource_provider.go comment cleanup: those FIXME comments are load-bearing and must be up to date 2020-02-14 15:41:31 -08:00
resource_provider_mock.go minor race issue in mockResourceProvider 2017-12-20 09:18:38 -05:00
resource_provider_mock_test.go providers: use addrs.Provider as map keys for provider.Factory (#23548) 2019-12-04 11:30:20 -05:00
resource_provisioner.go provisioners: Add Factory type and FactoryFixed helper 2018-10-16 19:14:11 -07:00
resource_provisioner_mock.go move "configschema" from "config" to "configs" 2018-10-16 18:50:29 -07:00
resource_provisioner_mock_test.go replace provider and provisioner types in tests 2018-10-16 19:11:09 -07:00
resource_test.go move hcl2shim package to configs 2019-08-06 19:58:58 -04:00
schemas.go terraform: remove no-longer-necessary type strings 2020-02-14 15:41:31 -08:00
schemas_test.go terraform: use addrs.Provider as map keys for provider schemas (#24002) 2020-02-03 08:18:04 -05:00
state.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -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
terraform_test.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
testing.go terraform: support backends in the state 2017-01-26 14:33:49 -08:00
transform.go helper/logging: Bring the LevelFilter into our own codebase 2019-12-05 15:22:03 -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 addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
transform_attach_state.go attach a deep copy of ResourceState 2018-12-17 18:08:53 -05:00
transform_config.go terraform: ugly huge change to weave in new HCL2-oriented types 2018-10-16 18:46:46 -07:00
transform_config_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
transform_count_boundary.go core: Update EvalCountFixZeroOneBoundaryGlobal for new state types 2018-10-16 19:14:11 -07:00
transform_destroy_cbd.go update terraform to work with new dag changes 2020-02-19 14:53:19 -05:00
transform_destroy_cbd_test.go new deps are more precise 2020-02-13 15:42:10 -05:00
transform_destroy_edge.go update terraform to work with new dag changes 2020-02-19 14:53:19 -05:00
transform_destroy_edge_test.go fixup provider types in new tests 2020-02-13 16:05:28 -05:00
transform_diff.go do not connect destroy and resource nodes 2019-10-24 12:04:46 -04:00
transform_diff_test.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
transform_expand.go terraform: more dead code removal 2017-01-26 19:47:02 -08:00
transform_expand_test.go
transform_import_provider.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
transform_import_state.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05: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_expansion.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
transform_module_variable.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
transform_module_variable_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
transform_orphan_count.go core: Use instances.Expander to handle resource count and for_each 2020-02-14 15:20:07 -08:00
transform_orphan_count_test.go core: Use instances.Expander to handle resource count and for_each 2020-02-14 15:20:07 -08:00
transform_orphan_output.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
transform_orphan_resource.go core: Clean up resource states when they are orphaned 2018-10-16 19:14:11 -07:00
transform_orphan_resource_test.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
transform_output.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
transform_provider.go update terraform to work with new dag changes 2020-02-19 14:53:19 -05:00
transform_provider_test.go addrs: ProviderConfig fixups (#24115) 2020-02-14 09:06:50 -05:00
transform_provisioner.go only create one provisioner instance per type 2019-08-21 19:41:56 -04:00
transform_provisioner_test.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
transform_reference.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
transform_reference_test.go Module Expansion: Part 2 (#24154) 2020-02-24 17:42:32 -05:00
transform_removed_modules.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -07:00
transform_resource_count.go core: Use instances.Expander to handle resource count and for_each 2020-02-14 15:20:07 -08:00
transform_root.go terraform: provider transform is converted to new graph world view 2017-01-26 20:58:22 -08:00
transform_root_test.go addrs: embed Provider in AbsProviderConfig instead of Type 2020-02-13 15:32:58 -05:00
transform_state.go core: Be more explicit in how we handle create_before_destroy 2018-10-16 19:14:11 -07:00
transform_targets.go update terraform to work with new dag changes 2020-02-19 14:53:19 -05:00
transform_targets_test.go core: Get tests compiling again 2018-10-16 18:46:46 -07:00
transform_transitive_reduction.go
transform_transitive_reduction_test.go terraform: use addrs.Provider as map keys for provider schemas (#24002) 2020-02-03 08:18:04 -05: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.go
transform_vertex_test.go
ui_input.go core: add a context to the UIInput interface 2019-03-08 10:24:40 +01:00
ui_input_mock.go core: add a context to the UIInput interface 2019-03-08 10:24:40 +01:00
ui_input_prefix.go core: add a context to the UIInput interface 2019-03-08 10:24:40 +01:00
ui_input_prefix_test.go core: add a context to the UIInput interface 2019-03-08 10:24:40 +01:00
ui_output.go
ui_output_callback.go
ui_output_callback_test.go
ui_output_mock.go minor race fix in tests 2017-10-02 16:19:01 -04:00
ui_output_mock_test.go
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_provisioner_test.go terraform: Ugly huge change to weave in new State and Plan types 2018-10-16 19:11:09 -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
user_agent.go httpclient: Introduce composable UserAgent() 2019-08-05 11:07:21 +01:00
util.go Fix negative parallelism and negative semaphore (#23902) 2020-02-12 10:10:52 -05:00
util_test.go Resolve resource provider types in config package 2017-06-09 14:03:59 -07:00
valuesourcetype_string.go stringer: Regenerate files with latest version 2019-05-13 15:34:27 +01:00
variables.go Version tools per Go convention under tools.go 2019-10-17 22:23:39 +02:00
variables_test.go Standardise directory name for test data 2019-06-30 10:16:15 +02:00
version.go httpclient: Introduce composable UserAgent() 2019-08-05 11:07:21 +01:00
version_required.go vendor: switch to HCL 2.0 in the HCL repository 2019-10-02 15:10:21 -07:00
walkoperation_string.go stringer: Regenerate files with latest version 2019-05-13 15:34:27 +01:00