terraform/builtin/providers/consul
Martin Atkins 2e33f5311c Treat each consul key as having its own lifecycle
Previously this resource managed the set of keys as a whole rather than
the individual keys, and so it was unable to recognize when a particular
managed key is removed and delete just that one key from Consul.

Here this is addressed by recognizing that each key actually has its own
lifecycle, and detecting when individual keys are added and removed
without replacing the entire consul_keys instance.

Additionally this restores the behavior of updating the "value" attribute
on read, but restricts it only to blocks that already had a value so as
to avoid the quirkiness seen previously when we updated blocks that were
intended to be read-only. Updating the value is important now, because we
rely on this to detect and repair discrepancies between values stored in
Consul and values given in the configuration.

This change produces a change in the handling of the "delete" attribute.
Before it was considered only when the entire consul_keys resource was
deleted, but now it is considered also when a particular key block is
removed from within a resource.
2016-03-10 07:52:43 -08:00
..
config.go providers/consul: add scheme argument 2015-05-06 16:12:32 -07:00
key_client.go Specialized client for interacting with Consul keys 2016-03-10 07:51:27 -08:00
resource_consul_keys.go Treat each consul key as having its own lifecycle 2016-03-10 07:52:43 -08:00
resource_consul_keys_migrate.go consul: Fix several problems w/ consul_keys update 2016-01-26 14:46:26 -06:00
resource_consul_keys_migrate_test.go consul: Fix several problems w/ consul_keys update 2016-01-26 14:46:26 -06:00
resource_consul_keys_test.go Treat each consul key as having its own lifecycle 2016-03-10 07:52:43 -08:00
resource_provider.go providers/consul: add scheme argument 2015-05-06 16:12:32 -07:00
resource_provider_test.go consul: Fix several problems w/ consul_keys update 2016-01-26 14:46:26 -06:00