Post by c789 on Apr 24, 2023 5:21:38 GMT
Hi,
Is it acceptable for a Redfish server to output more LogEntry properties when a client retrieves a single LogEntry resource than when the client retrieves the same resource as part of a LogEntryCollection (that has AutoExpand of its members)?
Redfish Spec v1.15.0, section 7.3.2 "The $expand query parameter" states:
Also section 9.13.11 "Expanded resource annotation" states:
LogEntryCollection schema indicates "AutoExpand" of its members:
Example GET response for /redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1 (from Redfish Resource and Schema Guide 2022.3, 6.54.5 "Example response")
Is it acceptable to omit arbitrary LogEntry resource properties (other than @odata.id) when the client retrieves the LogEntryCollection (example below)? If the client doesn't receive the properties it's interested in, it can get each individual LogEntry resource to potentially get more properties.
Example GET response for /redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries:
Is it acceptable for a Redfish server to output more LogEntry properties when a client retrieves a single LogEntry resource than when the client retrieves the same resource as part of a LogEntryCollection (that has AutoExpand of its members)?
Redfish Spec v1.15.0, section 7.3.2 "The $expand query parameter" states:
"When services execute $expand , they may omit some of the referenced resource's properties."
Also section 9.13.11 "Expanded resource annotation" states:
The expanded resource annotation can be applied to a reference property to specify that the default behavior for the service is to include the contents of the related resource or resource collection in responses. This behavior follows the same semantics of the expand query parameter with a level of 1.
LogEntryCollection schema indicates "AutoExpand" of its members:
<NavigationProperty Name="Members" Type="Collection(LogEntry.LogEntry)">
<Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
<Annotation Term="OData.Description" String="The members of this collection."/>
<Annotation Term="OData.LongDescription" String="This property shall contain an array of links to the members of this collection."/>
<Annotation Term="OData.AutoExpand"/>
<Annotation Term="Redfish.Required"/>
</NavigationProperty>ere
Example GET response for /redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1 (from Redfish Resource and Schema Guide 2022.3, 6.54.5 "Example response")
{
"@odata.type": "#LogEntry.v1_14_0.LogEntry",
"Id": "1",
"Name": "Log Entry 1",
"EntryType": "Event",
"Severity": "Critical",
"Created": "2012-03-07T14:44:00Z",
"Resolved": false,
"Message": "Temperature threshold exceeded",
"MessageId": "Contoso.1.0.TempAssert",
"MessageArgs": [
"42"
],
"Links": {
"OriginOfCondition": {
"@odata.id": "/redfish/v1/Chassis/1U/Thermal"
},
"Oem": {}
},
"Oem": {},
"@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1"
}
Is it acceptable to omit arbitrary LogEntry resource properties (other than @odata.id) when the client retrieves the LogEntryCollection (example below)? If the client doesn't receive the properties it's interested in, it can get each individual LogEntry resource to potentially get more properties.
Example GET response for /redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries:
{
"@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries",
"@odata.type": "#LogEntryCollection.LogEntryCollection",
"Description": "Collection of Log Entries",
"Members": [
{
"@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/1"
"Message": "Temperature threshold exceeded"
},
{
"@odata.id": "/redfish/v1/Systems/437XR1138R2/LogServices/Log1/Entries/2"
"Message": "Temperature back to normal"
}
],
"Members@odata.count": 2,
"Name": "Sample Log Entries"
}