BetterStackHQ / terraform-provider-better-uptime

Apache License 2.0
45 stars 12 forks source link

U-1166 Make sure terraform applies nicely (avoid updating unspecified fields) #96

Closed PetrHeinz closed 1 month ago

PetrHeinz commented 1 month ago

Resolves #64, #76, #80

This is a change across all resources in how we specify schemas, so it's on the larger side. I'm making sure all fields are one of these:

This makes sure the Terraform provider will be more compatible with future changes in the API, and if you as a user don't care about a specific value, Terraform will avoid overwriting it.

I'm very open to feedback on this one 🙏

The only exception to this rule is team_name, which is basically Write-only (it's never returned from API, only used to identify which team to update when using global token).


Also updated some field descriptions.

mschfh commented 1 month ago

@PetrHeinz this PR removed the note about ip_version (When not set, we use both IPv4 and IPv6 for our checks.) from the docs, was this intentional?

Is this still the expected behaviour? (if IPv4 or IPv6 is specified, that version is forced, else it will check both?)

PetrHeinz commented 1 month ago

Hi @mschfh, thanks for reaching out! It was intentional, as now Terraform doesn't force the value to be anything. When a new monitor is created, our API has both IPv4 and IPv6 as a default, so they will be both used.

However, you can change it in Better Stack's GUI freely, and subsequent terraform plan will still apply no changes (as it will be OK with any value provided by the API). If you want a specific value forced, you should mention it in your Terraform config.