terraform/helper/schema
Mitchell Hashimoto 3342aa580c
terraform: InstanceState.Meta is value type interface{}
This changes the type of values in Meta for InstanceState to
`interface{}`. They were `string` before.

This will allow richer structures to be persisted to this without
flatmapping them (down with flatmap!). The documentation clearly states
that only primitives/collections are allowed here.

The only thing using this was helper/schema for schema versioning.
Appropriate type checking was added to make this change safe.

The timeout work @catsby is doing will use this for a richer structure.
2017-02-23 10:44:05 -08:00
..
README.md
backend.go helper/schema: framework for Backends 2017-01-26 14:33:49 -08:00
backend_test.go helper/schema: framework for Backends 2017-01-26 14:33:49 -08:00
data_source_resource_shim.go
equal.go
field_reader.go Check for interpolated values when reading a map 2016-11-28 09:04:24 -05:00
field_reader_config.go helper/schema: PromoteSingle for legacy support of "maybe list" types 2017-01-26 15:09:15 -08:00
field_reader_config_test.go Check for interpolated values when reading a map 2016-11-28 09:04:24 -05:00
field_reader_diff.go Allow primitive type in maps via all FieldReaders 2016-11-17 15:35:08 -05:00
field_reader_diff_test.go Allow primitive type in maps via all FieldReaders 2016-11-17 15:35:08 -05:00
field_reader_map.go Allow primitive type in maps via all FieldReaders 2016-11-17 15:35:08 -05:00
field_reader_map_test.go Allow primitive type in maps via all FieldReaders 2016-11-17 15:35:08 -05:00
field_reader_multi.go
field_reader_multi_test.go
field_reader_test.go Allow primitive type in maps via all FieldReaders 2016-11-17 15:35:08 -05:00
field_writer.go
field_writer_map.go
field_writer_map_test.go
getsource_string.go
provider.go
provider_test.go
provisioner.go provisioners/file: use the old communicator.New just to minimize risk 2017-01-26 15:03:28 -08:00
provisioner_test.go helper/schema: provisioner allows for nil state 2017-01-26 15:03:28 -08:00
resource.go terraform: InstanceState.Meta is value type interface{} 2017-02-23 10:44:05 -08:00
resource_data.go terraform: InstanceState.Meta is value type interface{} 2017-02-23 10:44:05 -08:00
resource_data_get_source.go
resource_data_test.go Convert the map fields values when reading diff 2016-11-17 14:34:18 -05:00
resource_importer.go
resource_test.go terraform: InstanceState.Meta is value type interface{} 2017-02-23 10:44:05 -08:00
schema.go Make sure to diff all nested schema.Set elements 2017-02-07 16:55:20 -05:00
schema_test.go flatmap: mark computed list as a computed value in Expand 2017-02-23 10:03:59 -08:00
serialize.go
serialize_test.go
set.go
set_test.go
testing.go provisioners/remote-exec: switch to helper/schema 2017-01-26 15:09:15 -08:00
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.