b0da5b1ce5
We've not been using HIL in the main codepaths since Terraform 0.12, but some references to it (and some supporting functionality in Terraform) stuck around due to interactions with types we'd kept around to support legacy shims. However, removing the configs.RawConfig field from terraform.ResourceConfig disconnects that subtree of dependencies from everything else, allowing us to remove it. This is safe because the only remaining uses of terraform.ResourceConfig are shims from values that were already evaluated using the HCL 2 API, and thus they never need the "just in time" HIL evaluation that ResourceConfig.interpolateForce used to do. We also had some HIL references in configs/hcl2shim that were previously in support of the "terraform 0.12upgrade" command, but the implementation of that command is now removed. There was one remaining reference to HIL in a now-unused function in the helper/schema package, which I removed entirely here. This then allows us to remove the HIL dependency entirely, and also to clean up some remaining old remants of the legacy "config" package that we'd recently moved into the "configs" package pending further pruning. |
||
---|---|---|
.. | ||
README.md | ||
backend.go | ||
backend_test.go | ||
core_schema.go | ||
core_schema_test.go | ||
data_source_resource_shim.go | ||
equal.go | ||
field_reader.go | ||
field_reader_config.go | ||
field_reader_config_test.go | ||
field_reader_diff.go | ||
field_reader_diff_test.go | ||
field_reader_map.go | ||
field_reader_map_test.go | ||
field_reader_multi.go | ||
field_reader_multi_test.go | ||
field_reader_test.go | ||
field_writer.go | ||
field_writer_map.go | ||
field_writer_map_test.go | ||
getsource_string.go | ||
provider.go | ||
provider_test.go | ||
provisioner.go | ||
provisioner_test.go | ||
resource.go | ||
resource_data.go | ||
resource_data_get_source.go | ||
resource_data_test.go | ||
resource_diff.go | ||
resource_diff_test.go | ||
resource_importer.go | ||
resource_test.go | ||
resource_timeout.go | ||
resource_timeout_test.go | ||
schema.go | ||
schema_test.go | ||
serialize.go | ||
serialize_test.go | ||
set.go | ||
set_test.go | ||
shims.go | ||
shims_test.go | ||
testing.go | ||
valuetype.go | ||
valuetype_string.go |
README.md
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.