# Functions
Diagnostic formats a single diagnostic message.
ObjectValueID takes a value that is assumed to be an object representation of some resource instance object and attempts to heuristically find an attribute of it that is likely to be a unique identifier in the remote system that it belongs to which will be useful to the user.
ObjectValueIDOrName is a convenience wrapper around both ObjectValueID and ObjectValueName (in that preference order) to try to extract some sort of human-friendly descriptive string value for an object as additional context about an object when it is being displayed in a compact way (where not all of the attributes are visible.)
Just as with the two functions it wraps, it is a best-effort and may return two empty strings if no suitable attribute can be found for a given object.
ObjectValueName takes a value that is assumed to be an object representation of some resource instance object and attempts to heuristically find an attribute of it that is likely to be a human-friendly name in the remote system that it belongs to which will be useful to the user.
ResourceChange returns a string representation of a change to a particular resource, for inclusion in user-facing plan output.
State takes a state and returns a string.