terraform/builtin/providers/test
Martin Atkins 1987a92386 helper/schema: Implementation of the AsSingle mechanism
The previous commit added a new flag to schema.Schema which is documented
to make a list with MaxItems: 1 be presented to Terraform Core as a single
value instead, giving a way to switch to non-list nested resources without
it being a breaking change for Terraform v0.11 users as long as it's done
prior to a provider's first v0.12-compatible release.

This is the implementation of that mechanism. It's intentionally
implemented as a suite of extra fixups rather than direct modifications to
existing shim code because we want to ensure that this has no effect
whatsoever on the result of a resource type that _isn't_ using AsSingle.

Although there is some small unit test coverage of the fixup steps here,
the primary testing for this is in the test provider since the integration
of all of these fixup steps in the correct order is the more important
result than any of the intermediate fixup steps.
2019-03-14 15:36:15 -07:00
..
data_source.go failing tests when using resources with count 2018-12-17 12:15:43 -05:00
data_source_label.go provider/test: allow assigning a label to each instance 2017-05-11 10:52:51 -07:00
data_source_label_test.go provider/test: allow assigning a label to each instance 2017-05-11 10:52:51 -07:00
data_source_test.go core: Specialized errors for incorrect indexes in resource reference 2018-12-20 13:55:42 -08:00
provider.go helper/schema: Implementation of the AsSingle mechanism 2019-03-14 15:36:15 -07:00
provider_test.go core: Fix issues with ignore_changes 2016-03-21 14:20:36 -05:00
resource.go we can normalize nulls in Read again 2019-03-12 16:00:25 -04:00
resource_as_single.go helper/schema: Implementation of the AsSingle mechanism 2019-03-14 15:36:15 -07:00
resource_as_single_test.go helper/schema: Implementation of the AsSingle mechanism 2019-03-14 15:36:15 -07:00
resource_computed_set.go stop removing empty flatmap containers 2019-03-11 15:14:29 -04:00
resource_computed_set_test.go remove the partially-known ~ set sigil in diffs 2019-03-04 17:36:30 -05:00
resource_config_mode.go helper/schema: Honor ConfigMode when building core schema 2019-03-11 17:02:05 -07:00
resource_config_mode_test.go helper/schema: Honor ConfigMode when building core schema 2019-03-11 17:02:05 -07:00
resource_data_dep_test.go udpate test configs to work with hcl2 2018-10-16 19:14:54 -07:00
resource_dataproc_cluster_test.go add test for complex schema diff apply 2019-03-12 12:04:35 -04:00
resource_defaults.go add tests for nested default values 2019-01-17 18:51:18 -05:00
resource_defaults_test.go add more tests 2019-01-23 20:03:10 -05:00
resource_deprecated.go add tests for deprecated/removed attrs 2019-01-12 10:41:04 -05:00
resource_deprecated_test.go add tests for deprecated/removed attrs 2019-01-12 10:41:04 -05:00
resource_diff_suppress.go computed value wasn't being set 2018-11-27 08:54:15 -05:00
resource_diff_suppress_test.go verify DiffSuppresFunc behavior 2018-11-16 11:17:23 -05:00
resource_force_new.go add provider tests for force-new with a map 2018-10-31 13:42:28 -04:00
resource_force_new_test.go add provider tests for force-new with a map 2018-10-31 13:42:28 -04:00
resource_gh12183.go helper/schema: Opt-in panic on invalid ResourceData.Set 2017-11-08 10:05:11 +00:00
resource_gh12183_test.go udpate test configs to work with hcl2 2018-10-16 19:14:54 -07:00
resource_import_other.go plugin: Use correct schema when marshaling imported resource objects 2019-02-01 15:22:54 -08:00
resource_import_other_test.go plugin: Use correct schema when marshaling imported resource objects 2019-02-01 15:22:54 -08:00
resource_list.go stop removing empty flatmap containers 2019-03-11 15:14:29 -04:00
resource_list_set.go add a trouble test schema from the aws provider 2019-02-13 19:09:46 -05:00
resource_list_set_test.go add a trouble test schema from the aws provider 2019-02-13 19:09:46 -05:00
resource_list_test.go don't re-add removed list values even when planned 2019-03-05 15:31:08 -05:00
resource_map.go test for missing map entries 2019-01-23 17:04:17 -05:00
resource_map_test.go test for missing map entries 2019-01-23 17:04:17 -05:00
resource_nested.go add more tests for a computed nested list and set 2019-01-15 11:55:02 -05:00
resource_nested_id.go only force top-level id's back to unknown 2019-02-05 16:16:08 -05:00
resource_nested_id_test.go only force top-level id's back to unknown 2019-02-05 16:16:08 -05:00
resource_nested_set.go provider tests for empty values 2019-01-08 16:26:22 -05:00
resource_nested_set_test.go Additional tests with interpolated values 2019-02-07 20:23:39 -05:00
resource_nested_test.go add more tests for a computed nested list and set 2019-01-15 11:55:02 -05:00
resource_state_func.go StateFunc tests 2018-12-03 18:03:45 -05:00
resource_state_func_test.go StateFunc tests 2018-12-03 18:03:45 -05:00
resource_test.go add test for set value drift 2019-03-13 19:17:38 -04:00
resource_timeout.go add timeout tests to the test provider 2018-10-30 13:14:08 -04:00
resource_timeout_test.go add timeout tests to the test provider 2018-10-30 13:14:08 -04:00
resource_with_custom_diff.go provider/test: Added complex-ish list testing 2017-11-01 14:25:32 -07:00
resource_with_custom_diff_test.go provider/test: Added complex-ish list testing 2017-11-01 14:25:32 -07:00
splat_flatten_test.go udpate test configs to work with hcl2 2018-10-16 19:14:54 -07:00