mirror of
https://github.com/opentofu/opentofu.git
synced 2024-12-30 10:47:14 -06:00
861a2ebf26
We previously attempted to make the special diff apply behavior for nested sets of objects work with attribute mode by totally discarding attribute mode for all shims. In practice, that is too broad a solution: there are lots of other shimming behaviors that we _don't_ want when attribute mode is enabled. In particular, we need to make sure that the difference between null and empty can be seen in configuration. As a compromise then, we will give all of the shims access to the real ConfigMode and then do a more specialized fixup within the diff-apply logic: we'll construct a synthetic nested block schema and then use that to run our existing logic to deal with nested sets of objects, while using the previous behavior in all other cases. In effect, this means that the special new behavior only applies when the provider uses the opt-in ConfigMode setting on a particular attribute, and thus this change has much less risk of causing broad, unintended regressions elsewhere. |
||
---|---|---|
.. | ||
backend_test.go | ||
backend.go | ||
core_schema_test.go | ||
core_schema.go | ||
data_source_resource_shim.go | ||
equal.go | ||
field_reader_config_test.go | ||
field_reader_config.go | ||
field_reader_diff_test.go | ||
field_reader_diff.go | ||
field_reader_map_test.go | ||
field_reader_map.go | ||
field_reader_multi_test.go | ||
field_reader_multi.go | ||
field_reader_test.go | ||
field_reader.go | ||
field_writer_map_test.go | ||
field_writer_map.go | ||
field_writer.go | ||
getsource_string.go | ||
provider_test.go | ||
provider.go | ||
provisioner_test.go | ||
provisioner.go | ||
README.md | ||
resource_data_get_source.go | ||
resource_data_test.go | ||
resource_data.go | ||
resource_diff_test.go | ||
resource_diff.go | ||
resource_importer.go | ||
resource_test.go | ||
resource_timeout_test.go | ||
resource_timeout.go | ||
resource.go | ||
schema_test.go | ||
schema.go | ||
serialize_test.go | ||
serialize.go | ||
set_test.go | ||
set.go | ||
shims_test.go | ||
shims.go | ||
testing.go | ||
valuetype_string.go | ||
valuetype.go |
Terraform Helper Lib: schema
The schema
package provides a high-level interface for writing resource
providers for Terraform.
If you're writing a resource provider, we recommend you use this package.
The interface exposed by this package is much friendlier than trying to write to the Terraform API directly. The core Terraform API is low-level and built for maximum flexibility and control, whereas this library is built as a framework around that to more easily write common providers.