|
Post by abiramisekar on Apr 13, 2021 11:28:24 GMT
Hi, For Triggers creation in POST call, the request body is containing MetricProperties as below, "MetricProperties": [
"/redfish/v1/Chassis/Self/xx"
]
1. Under MetricDefinitions Collections URI, we will be having all the Numerical Sensors listed(temperature, fan and Voltage) , so while creating Numeric Triggers, we can refer if the Sensors are available or not and if they are listed out in proper format or not "MetricProperties":[
"/redfish/v1/Chassis/Self/Thermal#/Temperatures/116_0/ReadingCelsius",
"/redfish/v1/Chassis/Self/Thermal#/Temperatures/117_0/ReadingCelsius"
] 2. But in the case of Discrete triggers, we can allow the user to monitor any discrete valued attribute throughout the Redfish Implementation ; so how do we check the availability of those attributes as to whether they form a part of any URI and whether they are listed out in proper format or not(attribute name preceded by a # symbol) "MetricProperties": [
"/redfish/v1/Chassis/Self/IndicatorLED"
]With Regards, Abirami S
|
|
|
Post by mraineri on Apr 13, 2021 14:58:10 GMT
The value of the property would be "/redfish/v1/Chassis/Self#/IndicatorLED". Regardless of whether it's numeric or discrete, any time you make a reference to a property in a resource using a URI, you always need the "#" to show where the URI ends and the JSON-pointer segment begins. I would recommend reviewing your first examples for "ReadingCelsius" since the JSON-pointers do not appear correct based on the syntax RFC6901 requires. This is how to break down the URI structure: /redfish/v1/Chassis/Self/Thermal#/Temperatures/116_0/ReadingCelsius - /redfish/v1/Chassis/Self/Thermal --> URI for the Thermal resource
- /Temperatures/116_0/ReadingCelsius --> Path to the desired property within the Thermal resource
Breaking down the JSON-pointer further... - Temperatures: Property to step into
- 116_0: Array index (since "Temperatures" is defined as an array)
- ReadingCelsius : Desired property
So, since "Temperatures" is an array, I would expect the portion between Temperaturesand ReadingCelsius to be the array index.
|
|
|
Post by abiramisekar on Apr 20, 2021 15:40:41 GMT
Hi mraineri,
For Discrete triggers, which are allowed to pass - numeric string or non numeric string.
Example: Numeric String: "FirmwareVersion": "12.03.220050"
Non Numeric String: "MaxConcurrentSessions": 4
With Regards, Abirami S
|
|
|
Post by mraineri on Apr 20, 2021 15:50:56 GMT
"Numeric string" is still a string. So, that would be a discrete trigger. Think about this in terms of the underlying data type in JSON: if it's a decimal or integer, that's a numeric trigger; everything else is discrete.
Specifically for FirmwareVersion, there's no guarantee that the version is even numeric; there are numerous devices that use letters and hash values in their version info, so it would be best to not think of firmware version as numeric at all (even if the string value of the property contains numbers).
Also specifically for MaxConcurrentSessions, that is not a string at all; that's an integer (numeric).
|
|