[sc-118429] Don't convert empty monitor conditions back to API model #95
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Our Pulumi provider is built using Pulumi's Terraform
bridge library. We ran into a bug specific to Pulumi where
updating the conditions of a monitor after it had been
created caused validation to fail before we even got
calling the API. The issue was trivially reproducible
in Pulumi, but non-reproducible with the same
configuration in Terraform. Upon debugging I found
that the code that converts monitor condition state
representation to the API model format was getting
an empty condition. This shouldn't happen if the
monitor was successfully applied in the past and
stored to state.
The fix I made was to ignore condition args that
are fully empty (no op, no value, no severity, etc)
I believe that this is a result of the
difference in how Terraform and Pulumi persist state.
sc-118429