Guarantee structure of health/check object relationship
smoyer64 opened this issue · comments
The specification states:
Since each sub-component may be backed by several nodes with varying health statuses, these keys point to arrays of objects. In case of a single-node sub-component (or if presence of nodes is not relevant), a single-element array SHOULD be used as the value, for consistency.
Many languages use binding to convert from JSON to their internal object structure. Typed languages have an especially hard time with the idea that a sub-component might sometimes contain a check[]
and that other sub-components might contain a check
instead.
I'd propose that the above paragraph should be amended to read (emphasis added):
Since each sub-component may be backed by several nodes with varying health statuses, these keys point to arrays of objects. In case of a single-node sub-component (or if presence of nodes is not relevant), a single-element array
SHOULDMUST be used as the value, for consistency.