Redfish-Service-Validator
Redfish-Service-Validator copied to clipboard
Redfish Service Validator is not checking or navigating the properties of a OEM schema when basetype is Resource.OemObject
Hi All,
For the oem schema mentioned below the Redfish Service Validator is not checking or not navigating the property of the oem schema.
Above example schema is using basetype as Resource.OemObject. when i gave basetype as contoso.contoso Redfish Service validator is working fine and it is navigating to the property.
Whether it is a tool issue or schema issue?
What is the usage of BaseType=Resource.OemObject?
File: OemSample_v1.txt
Thanks, Mani P K
Can you please provide the debug output of the tool and sample resource responses? At least using the contents of the public-oem-example mockup, I see the tool parsing the OEM extensions and following the path to the /redfish/v1/Oem/Contoso/TurboencabulatorService resource.
"Resource.OemObject" is used to enforce expected typing for the OEM extensions. The "Oem" object definition has a bit of hardening to ensure the only contents of "Oem": { } are properly-defined OEM extension objects. This is enforced by this definition...
<ComplexType Name="Oem">
<Annotation Term="OData.AdditionalProperties" Bool="true"/>
<Annotation Term="Redfish.DynamicPropertyPatterns">
<Collection>
<Record>
<PropertyValue Property="Pattern" String="^[A-Za-z0-9_]+$"/>
<PropertyValue Property="Type" String="Resource.OemObject"/>
</Record>
</Collection>
</Annotation>
<Annotation Term="OData.Description" String="The OEM extension."/>
<Annotation Term="OData.LongDescription" String="This object represents the OEM properties. The resource values shall comply with the Redfish Specification-described requirements."/>
</ComplexType>
The above definition essentially states that "Oem can contain properties whose name matches "^[A-Za-z0-9_]+$" and stem from the OemObject definition". This is to ensure we don't have things like string properties inside of "Oem".
Closing; no updates to debug the issue further.