2e33f5311c
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. |
||
---|---|---|
.. | ||
config.go | ||
key_client.go | ||
resource_consul_keys.go | ||
resource_consul_keys_migrate.go | ||
resource_consul_keys_migrate_test.go | ||
resource_consul_keys_test.go | ||
resource_provider.go | ||
resource_provider_test.go |