This PR eliminates apparent state churn related to always-null computed values in pool resources.
Consider a simple pool name change:
Before:
# apstra_vni_pool.x will be updated in-place
~ resource "apstra_vni_pool" "x" {
id = "686e9c0b-e084-4e9a-9498-f9efa698969b"
~ name = "bar" -> "foo"
~ ranges = [
- {
- first = 5001 -> null
- last = 5010 -> null
},
+ {
+ first = 5001
+ last = 5010
+ status = (known after apply)
+ total = (known after apply)
+ used = (known after apply)
+ used_percentage = (known after apply)
},
]
+ status = (known after apply)
+ total = (known after apply)
+ used = (known after apply)
+ used_percentage = (known after apply)
}
Note that most of the output is computed values which are going to be null anyway (#737, #752).
After:
# apstra_vni_pool.x will be updated in-place
~ resource "apstra_vni_pool" "x" {
id = "686e9c0b-e084-4e9a-9498-f9efa698969b"
~ name = "bar" -> "foo"
# (1 unchanged attribute hidden)
}
In this PR we have:
introduction of a new plan modifier UseNullStateForUnknown which works like the framework's UseStateForUnknown, but it doesn't ignore null values found in the state -- these also get replicated to the plan.
use of the new plan modifier on all of the pool metadata fields
normalization of the MarkdownDescription inline documentation for these un-readable metadata fields
This PR eliminates apparent state churn related to always-null computed values in pool resources.
Consider a simple pool name change:
Before:
Note that most of the output is computed values which are going to be
null
anyway (#737, #752).After:
In this PR we have:
UseNullStateForUnknown
which works like the framework'sUseStateForUnknown
, but it doesn't ignorenull
values found in the state -- these also get replicated to the plan.MarkdownDescription
inline documentation for these un-readable metadata fieldsTested with:
Closes #923