terraform/helper
Chris Marchesi b99c615ee6 helper/schema: New ResourceDiff object
This adds a new object, ResourceDiff, to the schema package. This
object, in conjunction with a function defined in CustomizeDiff in the
resource schema, allows for the in-flight customization of a Terraform
diff. This helps support use cases such as when there are necessary
changes to a resource that cannot be detected in config, such as via
computed fields (most of the utility in this object works on computed
fields only). It also allows for a wholesale wipe of the diff to allow
for diff logic completely offloaded to an external API, if it is a
better use case for a specific provider.

As part of this work, many internal diff functions have been moved to
use a special resourceDiffer interface, to allow for shared
functionality between ResourceDiff and ResourceData. This may be
extended to the DiffSuppressFunc as well which would restrict use of
ResourceData in DiffSuppressFunc to generally read-only fields.

This work is not yet in its final state - CustomizeDiff is not yet
implemented in the general diff workflow, new functions may be added
(notably Clear() for a single key), and functionality may be altered.
Tests will follow as well.
2017-11-01 14:25:32 -07:00
..
acctest Fix swallowed err in acctest package 2017-07-19 16:24:41 -07:00
config Fix failing tests 2014-10-09 21:29:21 -07:00
copy config/module: use the raw source as part of the key 2016-09-30 10:44:46 -07:00
didyoumean helper/didyoumean: helper library for "Did you mean ...? suggestions 2017-10-16 17:50:57 -07:00
diff helper/diff: handle unknownvariablevalue 2016-11-09 14:28:16 -08:00
encryption provider/aws: Extract helper/encryption library 2016-12-06 14:24:21 -06:00
experiment terraform: default shadow to false 2017-02-06 18:02:32 -08:00
hashcode hashcode: "Strings" function for hashing slices of strings 2017-10-20 14:54:23 -07:00
hilmapstructure core: Defeat backward compatibilty in mapstructure 2016-06-08 18:38:41 +01:00
logging helper: Allow logs isolation per acceptance test 2017-10-14 16:39:11 +03:00
mutexkv provider/aws: serialize SG rule access to fix race condition 2015-11-18 12:39:59 -06:00
pathorcontents ssh: accept private key contents instead of path 2015-11-12 14:59:14 -06:00
resource helper: Escape test name in TF_LOG_PATH_MASK 2017-10-31 06:48:57 +00:00
schema helper/schema: New ResourceDiff object 2017-11-01 14:25:32 -07:00
shadow Make sure shadow.closeWalker doesn't copy Mutexes 2017-07-07 11:20:54 -04:00
signalwrapper providers/azurerm: cancellable storage account creation 2016-08-15 21:12:32 -07:00
slowmessage helper/slowmessage 2017-02-14 09:27:23 -08:00
structure Adding tests for each helper method 2017-03-28 12:59:46 +01:00
validation helper/validation: Add NoZeroValues 2017-09-25 17:19:23 -07:00
variables command/init: backend-config accepts key=value pairs 2017-03-16 23:27:05 -07:00
wrappedreadline command: split out and tag code so compilation works on Solaris 2016-11-14 00:32:01 -08:00
wrappedstreams helper/wrappedstreams: get original console input/output on Windows 2016-11-21 10:44:01 -08:00
README.md dos2unix 2014-07-28 10:43:00 -07:00

README.md

Helper Libraries

This folder contains helper libraries for Terraform plugins. A running joke is that this is "Terraform standard library" for plugins. The goal of the packages in this directory are to provide high-level helpers to make it easier to implement the various aspects of writing a plugin for Terraform.