terraform/helper/schema
James Bardin 9eef5e3f91 implement UpgradeState for schema.Resource
This is the provider-side UpgradeState implementation for a particular
resource. This new function will be called to upgrade a saved state with
an old schema version to the current schema.

UpgradeState also requires a record of the last schema and version that
could have been stored as a flatmapped state. If the stored state is in
the legacy flatmap format, this will allow the provider to properly
decode the flatmapped state into the expected structure for the new json
encoded state. If the stored state's version is below that of the
LegacySchema.Version value, it will first be processed by the legacy
MigrateState function.
2018-10-16 18:53:51 -07:00
..
README.md helper/schema: README 2014-08-17 20:51:09 -07:00
backend.go move "configschema" from "config" to "configs" 2018-10-16 18:50:29 -07:00
backend_test.go backend: Update interface and implementations for new config loader 2018-10-16 18:39:12 -07:00
core_schema.go only add "id" to top-level resources 2018-10-16 18:53:51 -07:00
core_schema_test.go only add "id" to top-level resources 2018-10-16 18:53:51 -07:00
data_source_resource_shim.go Deprecated -> DeprecationMessage. 2018-06-20 11:21:46 -07:00
equal.go helper/schema: use interface for equality check 2015-01-16 09:32:15 -08:00
field_reader.go helper/schema: handle TypeMap elem consistently with other collection types 2018-03-14 14:50:41 -07:00
field_reader_config.go helper/schema: handle TypeMap elem consistently with other collection types 2018-03-14 14:50:41 -07:00
field_reader_config_test.go helper/schema: handle TypeMap elem consistently with other collection types 2018-03-14 14:50:41 -07:00
field_reader_diff.go helper/schema: handle TypeMap elem consistently with other collection types 2018-03-14 14:50:41 -07:00
field_reader_diff_test.go helper/schema: handle TypeMap elem consistently with other collection types 2018-03-14 14:50:41 -07:00
field_reader_map.go helper/schema: handle TypeMap elem consistently with other collection types 2018-03-14 14:50:41 -07:00
field_reader_map_test.go helper/schema: handle TypeMap elem consistently with other collection types 2018-03-14 14:50:41 -07:00
field_reader_multi.go helper/schema: full object test for addrToSchema 2015-01-09 17:43:44 -08:00
field_reader_multi_test.go Revert "helper/schema: Make nested Set(s) in List(s) work" (#7436) 2016-06-30 10:48:52 -05:00
field_reader_test.go helper/schema: handle TypeMap elem consistently with other collection types 2018-03-14 14:50:41 -07:00
field_writer.go helper/schema: FieldWriter, replace Set 2015-01-10 11:44:26 -08:00
field_writer_map.go helper/schema: Clear existing map/set/list contents before overwriting 2017-11-05 12:04:23 -08:00
field_writer_map_test.go helper/schema: Clear existing map/set/list contents before overwriting 2017-11-05 12:04:23 -08:00
getsource_string.go Update various files for new version of "stringer" 2017-12-11 13:26:29 -08:00
provider.go move "configschema" from "config" to "configs" 2018-10-16 18:50:29 -07:00
provider_test.go use a custom comparer for cty.Type 2018-10-16 18:50:57 -07:00
provisioner.go move "configschema" from "config" to "configs" 2018-10-16 18:50:29 -07:00
provisioner_test.go Refactor the provisioner validation function (#15273) 2017-06-15 19:57:04 +02:00
resource.go implement UpgradeState for schema.Resource 2018-10-16 18:53:51 -07:00
resource_data.go SetId should set the attribute as well 2018-10-16 18:50:57 -07:00
resource_data_get_source.go helper/schema: diff with set going to 0 elements removes it from state 2015-02-17 11:38:56 -08:00
resource_data_test.go SetId should set the attribute as well 2018-10-16 18:50:57 -07:00
resource_diff.go Don't allow sub-blocks for SetNew. 2018-09-26 12:38:38 -07:00
resource_diff_test.go Add tests to ensure clearing sub-blocks works. 2018-09-20 10:52:36 -07:00
resource_importer.go helper/schema: pass through import state func 2016-05-16 10:03:57 -07:00
resource_test.go implement UpgradeState for schema.Resource 2018-10-16 18:53:51 -07:00
resource_timeout.go helper/schema: Rename Timeout resource block to Timeouts (#12533) 2017-03-09 14:40:14 -06:00
resource_timeout_test.go Fix drift caused from gofmt when running make dev and go 1.11. 2018-09-09 10:18:08 -07:00
schema.go add schema.InternalMap 2018-10-16 18:53:51 -07:00
schema_test.go Fix drift caused from gofmt when running make dev and go 1.11. 2018-09-09 10:18:08 -07:00
serialize.go core: Avoid crash on empty TypeSet blocks (#14305) 2017-05-09 20:45:53 +02:00
serialize_test.go Add test for TypeMap in a Schema 2016-06-09 16:00:33 -04:00
set.go Add a HashInt helper/schema function 2018-04-27 00:04:41 -07:00
set_test.go helper/schema: More tests for Set.HashEqual 2017-08-15 21:56:01 -07:00
testing.go helper/schema: Hook CustomizeDiffFunc into diff logic 2017-11-01 14:25:32 -07:00
valuetype.go helper/schema: zero value of a set should be empty 2015-02-17 16:58:47 -08:00
valuetype_string.go Update various files for new version of "stringer" 2017-12-11 13:26:29 -08:00

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.