|
Post by malbolge on Mar 29, 2023 17:21:37 GMT
I noticed the use of nodes like @redfish.Settings and @redfish.SupportedApplyTime in sample Resources. Then I checked out the CSDL where those types are defined. They're defined as regular ComplexTypes.
Is there anything inherently "magical" about Settings.Settings that permit it to be inserted into other schemas as an @redfish.property annotations? Or can any schema decide to legally add any other complex type from any other (already referenced) schema as an annotation?
And if there is something special about EDM types that can be used as annotations versus ones that can't, is this coming just from plaintext spec or is this machine-parseable, like a usedForAnnotations=TRUE in some supplementary file?
|
|
|
Post by mraineri on Mar 29, 2023 18:01:07 GMT
It's simply because they're payload annotations; we define our supported annotations in RedfishExtensions_v1.xml, and those terms point to the ComplexType definitions you've found. Redfish leveraged this annotation concept from OData, which does allow for annotations to be inserted into objects as the services needs to.
There's nothing special about Edm types for this, but all Redfish annotations (both payload and schema annotations) are defined in RedfishExtensions_v1.xml, which in turn informs the client about the expected data type for the annotation.
|
|