terraform/helper/schema
James Nugent 7b6df27e4a helper/schema: Read native maps from configuration
This adds a test and the support necessary to read from native maps
passed as variables via interpolation - for example:

```
resource ...... {
     mapValue = "${var.map}"
}
```

We also add support for interpolating maps from the flat-mapped resource
config, which is necessary to support assignment of computed maps, which
is now valid.

Unfortunately there is no good way to distinguish between a list and a
map in the flatmap. In lieu of changing that representation (which is
risky), we assume that if all the keys are numeric, this is intended to
be a list, and if not it is intended to be a map. This does preclude
maps which have purely numeric keys, which should be noted as a
backwards compatibility concern.
2016-05-10 14:49:14 -04:00
..
README.md helper/schema: README 2014-08-17 20:51:09 -07:00
equal.go helper/schema: use interface for equality check 2015-01-16 09:32:15 -08:00
field_reader.go helper/schema: Default hashing function for sets 2015-10-03 18:10:47 -07:00
field_reader_config.go helper/schema: Read native maps from configuration 2016-05-10 14:49:14 -04:00
field_reader_config_test.go helper/schema: Read native maps from configuration 2016-05-10 14:49:14 -04:00
field_reader_diff.go helper/schema: Default hashing function for sets 2015-10-03 18:10:47 -07:00
field_reader_diff_test.go removed extra parentheses 2015-10-08 15:48:04 +03:00
field_reader_map.go helper/schema: Default hashing function for sets 2015-10-03 18:10:47 -07:00
field_reader_map_test.go removed extra parentheses 2015-10-08 15:48:04 +03: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 helper/schema: too big to fail 2015-01-08 18:02:19 -08:00
field_reader_test.go removed extra parentheses 2015-10-08 15:48:04 +03:00
field_writer.go helper/schema: FieldWriter, replace Set 2015-01-10 11:44:26 -08:00
field_writer_map.go consul: Fix several problems w/ consul_keys update 2016-01-26 14:46:26 -06:00
field_writer_map_test.go Merge pull request #3257 from fatih/fix-nil-setting-schema 2015-12-08 20:15:00 -06:00
getsource_string.go Reflect new comment format in stringer.go 2015-11-09 11:38:51 -05:00
provider.go helper/schema: internal validate as part of provider validation 2015-06-23 16:52:04 -07:00
provider_test.go removed extra parentheses 2015-10-08 15:48:04 +03:00
resource.go Merge pull request #4446 from TimeIncOSS/f-schema-new-resource 2016-02-29 20:07:00 +00:00
resource_data.go helper/schema: Allow identification of a new resource in update func 2015-12-27 14:01:03 +01: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 Change Set internals and make (extreme) performance improvements 2015-11-22 14:21:28 +01:00
resource_test.go helper/schema: Allow identification of a new resource in update func 2015-12-27 14:01:03 +01:00
schema.go helper/schema: Read native maps from configuration 2016-05-10 14:49:14 -04:00
schema_test.go core: support native list variables in config 2016-05-10 14:49:14 -04:00
serialize.go helper/schema: Default hashing function for sets 2015-10-03 18:10:47 -07:00
serialize_test.go helper/schema: Default hashing function for sets 2015-10-03 18:10:47 -07:00
set.go Change Set internals and make (extreme) performance improvements 2015-11-22 14:21:28 +01:00
set_test.go Change Set internals and make (extreme) performance improvements 2015-11-22 14:21:28 +01:00
valuetype.go helper/schema: zero value of a set should be empty 2015-02-17 16:58:47 -08:00
valuetype_string.go Reflect new comment format in stringer.go 2015-11-09 11:38:51 -05: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.