For 2.1.8 (this task), deprecate (via doxygen comments) direct access to all members of libcrmcommon's struct pe_resource_s, and deprecate public access to libcrmcommon's struct resource_object_functions_s and libpacemaker's struct resource_alloc_functions_s entirely.
We will need new public APIs that SBD can be updated to use instead of direct access (T794). We will need to keep the members SBD uses around until we no longer support any OSes shipping an older version.
- struct pe_resource_s
- Define a new public API to get the id member
- Define a new public API for "is resource managed" (equivalent to pcmk_is_set(rsc->flags, pe_rsc_managed))
- For 3.0.0 (T796), we can rename it to struct pcmk__resource, and replace all members except id and flags with a void *private member pointing to a new internal struct for the replaced members
- struct resource_object_functions_s and struct resource_alloc_functions_s: For 3.0.0, we can make these internal