terraform/helper/schema
Martin Atkins a67182543c Nicer error when list/map assigned to string argument.
Previous this would return the following sort of error:
expected type 'string', got unconvertible type '[]interface {}'

This is the raw error returned by the underlying mapstructure library.
This is not a helpful error message for anyone who doesn't know Go's
type system, and it exposes Terraform's internals to the UI.

Instead we'll catch these cases before we try to use mapstructure and
return a more straightforward message.

By checking the type before the IsComputed exception this also avoids
a crash caused when the assigned value is a computed list. Otherwise
the list of interpolations is allowed through here and then crashes later
during Diff when the value is not a primitive as expected.
2015-10-22 21:16:02 -07: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: Default hashing function for sets 2015-10-03 18:10:47 -07:00
field_reader_config_test.go removed extra parentheses 2015-10-08 15:48:04 +03: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 Condense switch fallthroughs into expr lists 2015-05-26 21:52:36 -04:00
field_writer_map_test.go removed extra parentheses 2015-10-08 15:48:04 +03:00
getsource_string.go helper/schema: diff with set going to 0 elements removes it from state 2015-02-17 11:38:56 -08: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 removed extra parentheses 2015-10-08 15:48:04 +03:00
resource_data.go helper/schema: test real nil pointer to ResourceData.Set 2015-03-02 23:37:43 -08: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 removed extra parentheses 2015-10-08 15:48:04 +03:00
resource_test.go removed extra parentheses 2015-10-08 15:48:04 +03:00
schema.go Nicer error when list/map assigned to string argument. 2015-10-22 21:16:02 -07:00
schema_test.go Nicer error when list/map assigned to string argument. 2015-10-22 21:16:02 -07: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 helper/schema: Default hashing function for sets 2015-10-03 18:10:47 -07:00
set_test.go Prevent negative hashcodes for all set operations. 2015-04-23 09:32:07 -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 Fixes #2676 by prefixing all Windows commands 2015-07-10 12:56:27 +02: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.