xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/TelemetryService.v1_4_0.json (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/TelemetryService.v1_4_0.json",
3    "$ref": "#/definitions/TelemetryService",
4    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6    "definitions": {
7        "Actions": {
8            "additionalProperties": false,
9            "description": "The available actions for this resource.",
10            "longDescription": "This type shall contain the available actions for this resource.",
11            "patternProperties": {
12                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13                    "description": "This property shall specify a valid odata or Redfish property.",
14                    "type": [
15                        "array",
16                        "boolean",
17                        "integer",
18                        "number",
19                        "null",
20                        "object",
21                        "string"
22                    ]
23                }
24            },
25            "properties": {
26                "#TelemetryService.ClearMetricReports": {
27                    "$ref": "#/definitions/ClearMetricReports"
28                },
29                "#TelemetryService.ClearTelemetryData": {
30                    "$ref": "#/definitions/ClearTelemetryData"
31                },
32                "#TelemetryService.CollectTelemetryData": {
33                    "$ref": "#/definitions/CollectTelemetryData"
34                },
35                "#TelemetryService.ResetMetricReportDefinitionsToDefaults": {
36                    "$ref": "#/definitions/ResetMetricReportDefinitionsToDefaults"
37                },
38                "#TelemetryService.ResetTriggersToDefaults": {
39                    "$ref": "#/definitions/ResetTriggersToDefaults"
40                },
41                "#TelemetryService.SubmitTestMetricReport": {
42                    "$ref": "#/definitions/SubmitTestMetricReport"
43                },
44                "Oem": {
45                    "$ref": "#/definitions/OemActions",
46                    "description": "The available OEM-specific actions for this resource.",
47                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
48                }
49            },
50            "type": "object"
51        },
52        "ClearMetricReports": {
53            "additionalProperties": false,
54            "description": "The action to clear the metric reports for this telemetry service.",
55            "longDescription": "This action shall delete all entries found in the metric report collection for this telemetry service.",
56            "parameters": {},
57            "patternProperties": {
58                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
59                    "description": "This property shall specify a valid odata or Redfish property.",
60                    "type": [
61                        "array",
62                        "boolean",
63                        "integer",
64                        "number",
65                        "null",
66                        "object",
67                        "string"
68                    ]
69                }
70            },
71            "properties": {
72                "target": {
73                    "description": "Link to invoke action",
74                    "format": "uri-reference",
75                    "type": "string"
76                },
77                "title": {
78                    "description": "Friendly action name",
79                    "type": "string"
80                }
81            },
82            "type": "object",
83            "versionAdded": "v1_3_0"
84        },
85        "ClearTelemetryData": {
86            "additionalProperties": false,
87            "description": "The action to clear the telemetry data for this telemetry service.",
88            "longDescription": "This action shall delete all entries found in the telemetry data collection for this telemetry service.",
89            "parameters": {},
90            "patternProperties": {
91                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
92                    "description": "This property shall specify a valid odata or Redfish property.",
93                    "type": [
94                        "array",
95                        "boolean",
96                        "integer",
97                        "number",
98                        "null",
99                        "object",
100                        "string"
101                    ]
102                }
103            },
104            "properties": {
105                "target": {
106                    "description": "Link to invoke action",
107                    "format": "uri-reference",
108                    "type": "string"
109                },
110                "title": {
111                    "description": "Friendly action name",
112                    "type": "string"
113                }
114            },
115            "type": "object",
116            "versionAdded": "v1_4_0"
117        },
118        "CollectTelemetryData": {
119            "actionResponse": {
120                "$ref": "#/definitions/CollectTelemetryDataResponse"
121            },
122            "additionalProperties": false,
123            "description": "The action to collect the telemetry data from a device or service.  When the telemetry data is collected, a new telemetry data resource will be created.",
124            "longDescription": "This action shall collect the telemetry data from a device or service.  The `Location` header in the response shall contain a URI to a resource of type `TelemetryData` that contains the telemetry data.  The `AdditionalDataURI` property in the referenced `TelemetryData` resource shall contain the URI to download the telemetry data.",
125            "parameters": {
126                "OEMTelemetryDataType": {
127                    "description": "The OEM-defined type of telemetry data to collect.",
128                    "longDescription": "This parameter shall contain the OEM-defined type of telemetry data to collect.  This parameter shall be required if `TelemetryDataType` is `OEM`.",
129                    "type": "string"
130                },
131                "TargetDevices": {
132                    "description": "An array of devices from which to collect telemetry data.",
133                    "items": {
134                        "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/idRef"
135                    },
136                    "longDescription": "This parameter shall contain an array of devices from which to collect telemetry data.",
137                    "type": "array"
138                },
139                "TelemetryDataType": {
140                    "$ref": "http://redfish.dmtf.org/schemas/v1/TelemetryData.json#/definitions/TelemetryDataTypes",
141                    "description": "The type of telemetry data to collect.",
142                    "longDescription": "This parameter shall contain the type of telemetry data to collect.",
143                    "requiredParameter": true
144                }
145            },
146            "patternProperties": {
147                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
148                    "description": "This property shall specify a valid odata or Redfish property.",
149                    "type": [
150                        "array",
151                        "boolean",
152                        "integer",
153                        "number",
154                        "null",
155                        "object",
156                        "string"
157                    ]
158                }
159            },
160            "properties": {
161                "target": {
162                    "description": "Link to invoke action",
163                    "format": "uri-reference",
164                    "type": "string"
165                },
166                "title": {
167                    "description": "Friendly action name",
168                    "type": "string"
169                }
170            },
171            "type": "object",
172            "versionAdded": "v1_4_0"
173        },
174        "CollectTelemetryDataResponse": {
175            "additionalProperties": false,
176            "description": "The response body for the `CollectTelemetryData` action.",
177            "longDescription": "This type shall contain the properties found in the response body for the `CollectTelemetryData` action.",
178            "patternProperties": {
179                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
180                    "description": "This property shall specify a valid odata or Redfish property.",
181                    "type": [
182                        "array",
183                        "boolean",
184                        "integer",
185                        "number",
186                        "null",
187                        "object",
188                        "string"
189                    ]
190                }
191            },
192            "properties": {
193                "TelmetryData": {
194                    "description": "An array of links to the collected telemetry data.",
195                    "items": {
196                        "type": "string"
197                    },
198                    "longDescription": "This property shall contain an array of links to resources of type `TelemetryData` that represent the collected telemetry data.",
199                    "readonly": true,
200                    "type": "array",
201                    "versionAdded": "v1_4_0"
202                }
203            },
204            "required": [
205                "TelmetryData"
206            ],
207            "type": "object"
208        },
209        "CollectionFunction": {
210            "description": "An operation to perform over the sample.",
211            "enum": [
212                "Average",
213                "Maximum",
214                "Minimum",
215                "Summation"
216            ],
217            "enumDescriptions": {
218                "Average": "An averaging function.",
219                "Maximum": "A maximum function.",
220                "Minimum": "A minimum function.",
221                "Summation": "A summation function."
222            },
223            "longDescription": "If present, the metric value shall be computed according to this function.",
224            "type": "string"
225        },
226        "MetricValue": {
227            "additionalProperties": false,
228            "description": "Properties that capture a metric value and other associated information.",
229            "longDescription": "This type shall contain properties that capture a metric value and other associated information.",
230            "patternProperties": {
231                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
232                    "description": "This property shall specify a valid odata or Redfish property.",
233                    "type": [
234                        "array",
235                        "boolean",
236                        "integer",
237                        "number",
238                        "null",
239                        "object",
240                        "string"
241                    ]
242                }
243            },
244            "properties": {
245                "MetricDefinition": {
246                    "$ref": "http://redfish.dmtf.org/schemas/v1/MetricDefinition.json#/definitions/MetricDefinition",
247                    "description": "The link to the metric definition for this metric.",
248                    "longDescription": "This property shall contain a link to a resource of type `MetricDefinition` that describes what this metric value captures.",
249                    "readonly": true,
250                    "versionAdded": "v1_1_0"
251                },
252                "MetricId": {
253                    "description": "The metric definitions identifier for this metric.",
254                    "longDescription": "This property shall contain the same value as the `Id` property of the source metric within the associated metric definition.",
255                    "readonly": true,
256                    "type": [
257                        "string",
258                        "null"
259                    ],
260                    "versionAdded": "v1_1_0"
261                },
262                "MetricProperty": {
263                    "description": "The URI for the property from which this metric is derived.",
264                    "format": "uri-reference",
265                    "longDescription": "The value shall be the URI to the property following the JSON fragment notation, as defined by RFC6901, to identify an individual property in a Redfish resource.",
266                    "readonly": true,
267                    "type": [
268                        "string",
269                        "null"
270                    ],
271                    "versionAdded": "v1_1_0"
272                },
273                "MetricValue": {
274                    "description": "The metric value, as a string.",
275                    "longDescription": "This property shall contain the metric value, as a string.",
276                    "readonly": true,
277                    "type": [
278                        "string",
279                        "null"
280                    ],
281                    "versionAdded": "v1_1_0"
282                },
283                "Timestamp": {
284                    "description": "The date and time when the metric is obtained.  A management application can establish a time series of metric data by retrieving the instances of metric value and sorting them according to their timestamp.",
285                    "format": "date-time",
286                    "longDescription": "The value shall time when the metric value was obtained.  Note that this value may be different from the time when this instance is created.",
287                    "readonly": true,
288                    "type": [
289                        "string",
290                        "null"
291                    ],
292                    "versionAdded": "v1_1_0"
293                }
294            },
295            "type": "object"
296        },
297        "OemActions": {
298            "additionalProperties": true,
299            "description": "The available OEM-specific actions for this resource.",
300            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
301            "patternProperties": {
302                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
303                    "description": "This property shall specify a valid odata or Redfish property.",
304                    "type": [
305                        "array",
306                        "boolean",
307                        "integer",
308                        "number",
309                        "null",
310                        "object",
311                        "string"
312                    ]
313                }
314            },
315            "properties": {},
316            "type": "object"
317        },
318        "ResetMetricReportDefinitionsToDefaults": {
319            "additionalProperties": false,
320            "description": "The action to reset the metric report definitions to factory defaults.",
321            "longDescription": "This action shall reset all entries found in the metric report definition collection to factory defaults.  This action may delete members of the metric report definition collection.",
322            "parameters": {},
323            "patternProperties": {
324                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
325                    "description": "This property shall specify a valid odata or Redfish property.",
326                    "type": [
327                        "array",
328                        "boolean",
329                        "integer",
330                        "number",
331                        "null",
332                        "object",
333                        "string"
334                    ]
335                }
336            },
337            "properties": {
338                "target": {
339                    "description": "Link to invoke action",
340                    "format": "uri-reference",
341                    "type": "string"
342                },
343                "title": {
344                    "description": "Friendly action name",
345                    "type": "string"
346                }
347            },
348            "type": "object",
349            "versionAdded": "v1_3_0"
350        },
351        "ResetTriggersToDefaults": {
352            "additionalProperties": false,
353            "description": "The action to reset the triggers to factory defaults.",
354            "longDescription": "This action shall reset all entries found in the triggers collection to factory defaults.  This action may delete members of the triggers collection.",
355            "parameters": {},
356            "patternProperties": {
357                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
358                    "description": "This property shall specify a valid odata or Redfish property.",
359                    "type": [
360                        "array",
361                        "boolean",
362                        "integer",
363                        "number",
364                        "null",
365                        "object",
366                        "string"
367                    ]
368                }
369            },
370            "properties": {
371                "target": {
372                    "description": "Link to invoke action",
373                    "format": "uri-reference",
374                    "type": "string"
375                },
376                "title": {
377                    "description": "Friendly action name",
378                    "type": "string"
379                }
380            },
381            "type": "object",
382            "versionAdded": "v1_3_0"
383        },
384        "SubmitTestMetricReport": {
385            "additionalProperties": false,
386            "description": "This action generates a metric report.",
387            "longDescription": "This action shall cause the event service to immediately generate the metric report as an alert event.  Then, this message should be sent to any appropriate event destinations.",
388            "parameters": {
389                "GeneratedMetricReportValues": {
390                    "description": "The contents of the `MetricReportValues` in the generated metric report.",
391                    "items": {
392                        "$ref": "#/definitions/MetricValue"
393                    },
394                    "longDescription": "This parameter shall contain the contents of the `MetricReportValues` array property in the generated metric report.",
395                    "requiredParameter": true,
396                    "type": "array",
397                    "versionAdded": "v1_1_0"
398                },
399                "MetricReportName": {
400                    "description": "The name of the metric report in generated metric report.",
401                    "longDescription": "This parameter shall contain the name of the generated metric report.",
402                    "requiredParameter": true,
403                    "type": "string"
404                },
405                "MetricReportValues": {
406                    "deprecated": "This property has been deprecated in favor of using the property `GeneratedMetricReportValues`.",
407                    "description": "The contents of the `MetricReportValues` array in the generated metric report.",
408                    "longDescription": "This parameter shall contain the contents of the `MetricReportValues` array property in the generated metric report.",
409                    "type": "string",
410                    "versionDeprecated": "v1_1_0"
411                }
412            },
413            "patternProperties": {
414                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
415                    "description": "This property shall specify a valid odata or Redfish property.",
416                    "type": [
417                        "array",
418                        "boolean",
419                        "integer",
420                        "number",
421                        "null",
422                        "object",
423                        "string"
424                    ]
425                }
426            },
427            "properties": {
428                "target": {
429                    "description": "Link to invoke action",
430                    "format": "uri-reference",
431                    "type": "string"
432                },
433                "title": {
434                    "description": "Friendly action name",
435                    "type": "string"
436                }
437            },
438            "type": "object"
439        },
440        "TelemetryService": {
441            "additionalProperties": false,
442            "description": "The `TelemetryService` schema describes a telemetry service.  The telemetry service is used for collecting and reporting metric data within the Redfish service.",
443            "longDescription": "This resource contains a telemetry service for a Redfish implementation.",
444            "patternProperties": {
445                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
446                    "description": "This property shall specify a valid odata or Redfish property.",
447                    "type": [
448                        "array",
449                        "boolean",
450                        "integer",
451                        "number",
452                        "null",
453                        "object",
454                        "string"
455                    ]
456                }
457            },
458            "properties": {
459                "@odata.context": {
460                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
461                },
462                "@odata.etag": {
463                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
464                },
465                "@odata.id": {
466                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
467                },
468                "@odata.type": {
469                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
470                },
471                "Actions": {
472                    "$ref": "#/definitions/Actions",
473                    "description": "The available actions for this resource.",
474                    "longDescription": "This property shall contain the available actions for this resource."
475                },
476                "Description": {
477                    "anyOf": [
478                        {
479                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
480                        },
481                        {
482                            "type": "null"
483                        }
484                    ],
485                    "readonly": true
486                },
487                "Id": {
488                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
489                    "readonly": true
490                },
491                "LogService": {
492                    "$ref": "http://redfish.dmtf.org/schemas/v1/LogService.json#/definitions/LogService",
493                    "description": "The link to a log service that the telemetry service uses.  This service can be a dedicated log service or a pointer to a log service under another resource, such as a manager.",
494                    "longDescription": "This property shall contain a link to a resource of type `LogService` that this telemetry service uses.",
495                    "readonly": true
496                },
497                "MaxReports": {
498                    "description": "The maximum number of metric reports that this service supports.",
499                    "longDescription": "This property shall contain the maximum number of metric reports that this service supports.",
500                    "readonly": true,
501                    "type": [
502                        "integer",
503                        "null"
504                    ]
505                },
506                "MetricDefinitions": {
507                    "$ref": "http://redfish.dmtf.org/schemas/v1/MetricDefinitionCollection.json#/definitions/MetricDefinitionCollection",
508                    "description": "The link to the collection of metric definitions.",
509                    "longDescription": "This property shall contain a link to a resource collection of type `MetricDefinitionCollection`.",
510                    "readonly": true
511                },
512                "MetricReportDefinitions": {
513                    "$ref": "http://redfish.dmtf.org/schemas/v1/MetricReportDefinitionCollection.json#/definitions/MetricReportDefinitionCollection",
514                    "description": "The link to the collection of metric report definitions.",
515                    "longDescription": "This property shall contain a link to a resource collection of type `MetricReportDefinitionCollection`.",
516                    "readonly": true
517                },
518                "MetricReports": {
519                    "$ref": "http://redfish.dmtf.org/schemas/v1/MetricReportCollection.json#/definitions/MetricReportCollection",
520                    "description": "The link to the collection of metric reports.",
521                    "longDescription": "This property shall contain a link to a resource collection of type `MetricReportCollection`.",
522                    "readonly": true
523                },
524                "MinCollectionInterval": {
525                    "description": "The minimum time interval between gathering metric data that this service allows.",
526                    "longDescription": "This property shall contain the minimum time interval between gathering metric data that this service allows.",
527                    "pattern": "^P(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+(.\\d+)?S)?)?$",
528                    "readonly": true,
529                    "type": [
530                        "string",
531                        "null"
532                    ]
533                },
534                "Name": {
535                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
536                    "readonly": true
537                },
538                "Oem": {
539                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
540                    "description": "The OEM extension property.",
541                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
542                },
543                "ServiceEnabled": {
544                    "description": "An indication of whether this service is enabled.",
545                    "longDescription": "This property shall indicate whether this service is enabled.",
546                    "readonly": false,
547                    "type": [
548                        "boolean",
549                        "null"
550                    ],
551                    "versionAdded": "v1_2_0"
552                },
553                "Status": {
554                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
555                    "description": "The status and health of the resource and its subordinate or dependent resources.",
556                    "longDescription": "This property shall contain any status or health properties of the resource."
557                },
558                "SupportedCollectionFunctions": {
559                    "description": "The functions that can be performed over each metric.",
560                    "items": {
561                        "anyOf": [
562                            {
563                                "$ref": "#/definitions/CollectionFunction"
564                            },
565                            {
566                                "type": "null"
567                            }
568                        ]
569                    },
570                    "longDescription": "This property shall contain the function to apply over the collection duration.",
571                    "readonly": true,
572                    "type": "array"
573                },
574                "SupportedOEMTelemetryDataTypes": {
575                    "description": "A list of supported OEM-defined telemetry data types.",
576                    "items": {
577                        "type": [
578                            "string",
579                            "null"
580                        ]
581                    },
582                    "longDescription": "This property shall contain a list of supported OEM-defined telemetry data types.",
583                    "readonly": true,
584                    "type": "array",
585                    "versionAdded": "v1_4_0"
586                },
587                "SupportedTelemetryDataTypes": {
588                    "description": "A list of supported telemetry data types.",
589                    "items": {
590                        "anyOf": [
591                            {
592                                "$ref": "http://redfish.dmtf.org/schemas/v1/TelemetryData.json#/definitions/TelemetryDataTypes"
593                            },
594                            {
595                                "type": "null"
596                            }
597                        ]
598                    },
599                    "longDescription": "This property shall contain a list of supported telemetry data types.",
600                    "readonly": true,
601                    "type": "array",
602                    "versionAdded": "v1_4_0"
603                },
604                "TelemetryData": {
605                    "$ref": "http://redfish.dmtf.org/schemas/v1/TelemetryDataCollection.json#/definitions/TelemetryDataCollection",
606                    "description": "The link to the collection of data telemetry.",
607                    "longDescription": "This property shall contain a link to a resource collection of type `TelemetryDataCollection`.",
608                    "readonly": true,
609                    "versionAdded": "v1_4_0"
610                },
611                "Triggers": {
612                    "$ref": "http://redfish.dmtf.org/schemas/v1/TriggersCollection.json#/definitions/TriggersCollection",
613                    "description": "The link to the collection of triggers that apply to metrics.",
614                    "longDescription": "This property shall contain a link to a resource collection of type `TriggersCollection`.",
615                    "readonly": true
616                }
617            },
618            "required": [
619                "@odata.id",
620                "@odata.type",
621                "Id",
622                "Name"
623            ],
624            "type": "object"
625        }
626    },
627    "language": "en",
628    "owningEntity": "DMTF",
629    "release": "2025.2",
630    "title": "#TelemetryService.v1_4_0.TelemetryService"
631}