This repository has been archived by the owner on Feb 20, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 108
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Breaking change. The `tags` attribute will change from string-type to set-of-string type. Users will need to make the following syntactic change to their Terraform configuration files: // before: resource "pingdom_check" "example" { // ... tags = "foo,bar" } // after: resource "pingdom_check" "example" { // ... tags = ["foo", "bar"] // order no longer relevant } This commit includes a schema migration for existing user state. --- The Pingdom API returns tag elements in an unpredictable order. Ordering for this type is not documented in the Pingdom API spec. Current plugin behaviour often leads to spurious diffs against state. https://www.pingdom.com/api/2.1/#MethodGet+Check+List Notionally, tags should be considered to be sets in the Pingdom data model. It does not make much practical sense for us to enforce strict ordering on them. Any implied ordering is likely an inadvertent side-effect of JSON's lack of an unordered set type. This change will hash tag names using the FNV-1a alternate algorithm. (Tag names are the only labels that users see in the Pingdom UI and API. Pingdom do not expose tag IDs in their API.) http://www.isthe.com/chongo/tech/comp/fnv/index.html#FNV-1a As far as I know, this algorithm is a good fit for set element hash computation: it is said to be fast, said to provide reasonably good dispersion, and is a part of the Go standard library.
- Loading branch information
Showing
1 changed file
with
213 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters