xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/SwitchMetrics.v1_1_0.json (revision 5ecf7b4e1bb6988dd3403fa80b723afbe2be30ae)
1*5ecf7b4eSGunnar Mills{
2*5ecf7b4eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/SwitchMetrics.v1_1_0.json",
3*5ecf7b4eSGunnar Mills    "$ref": "#/definitions/SwitchMetrics",
4*5ecf7b4eSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*5ecf7b4eSGunnar Mills    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*5ecf7b4eSGunnar Mills    "definitions": {
7*5ecf7b4eSGunnar Mills        "Actions": {
8*5ecf7b4eSGunnar Mills            "additionalProperties": false,
9*5ecf7b4eSGunnar Mills            "description": "The available actions for this resource.",
10*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11*5ecf7b4eSGunnar Mills            "patternProperties": {
12*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14*5ecf7b4eSGunnar Mills                    "type": [
15*5ecf7b4eSGunnar Mills                        "array",
16*5ecf7b4eSGunnar Mills                        "boolean",
17*5ecf7b4eSGunnar Mills                        "integer",
18*5ecf7b4eSGunnar Mills                        "number",
19*5ecf7b4eSGunnar Mills                        "null",
20*5ecf7b4eSGunnar Mills                        "object",
21*5ecf7b4eSGunnar Mills                        "string"
22*5ecf7b4eSGunnar Mills                    ]
23*5ecf7b4eSGunnar Mills                }
24*5ecf7b4eSGunnar Mills            },
25*5ecf7b4eSGunnar Mills            "properties": {
26*5ecf7b4eSGunnar Mills                "#SwitchMetrics.ClearCurrentPeriod": {
27*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/ClearCurrentPeriod"
28*5ecf7b4eSGunnar Mills                },
29*5ecf7b4eSGunnar Mills                "Oem": {
30*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/OemActions",
31*5ecf7b4eSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
32*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
33*5ecf7b4eSGunnar Mills                }
34*5ecf7b4eSGunnar Mills            },
35*5ecf7b4eSGunnar Mills            "type": "object"
36*5ecf7b4eSGunnar Mills        },
37*5ecf7b4eSGunnar Mills        "ClearCurrentPeriod": {
38*5ecf7b4eSGunnar Mills            "additionalProperties": false,
39*5ecf7b4eSGunnar Mills            "description": "This action sets the `CurrentPeriod` property's values to 0.",
40*5ecf7b4eSGunnar Mills            "longDescription": "This action shall set the `CurrentPeriod` property's values to 0.",
41*5ecf7b4eSGunnar Mills            "parameters": {},
42*5ecf7b4eSGunnar Mills            "patternProperties": {
43*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
44*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
45*5ecf7b4eSGunnar Mills                    "type": [
46*5ecf7b4eSGunnar Mills                        "array",
47*5ecf7b4eSGunnar Mills                        "boolean",
48*5ecf7b4eSGunnar Mills                        "integer",
49*5ecf7b4eSGunnar Mills                        "number",
50*5ecf7b4eSGunnar Mills                        "null",
51*5ecf7b4eSGunnar Mills                        "object",
52*5ecf7b4eSGunnar Mills                        "string"
53*5ecf7b4eSGunnar Mills                    ]
54*5ecf7b4eSGunnar Mills                }
55*5ecf7b4eSGunnar Mills            },
56*5ecf7b4eSGunnar Mills            "properties": {
57*5ecf7b4eSGunnar Mills                "target": {
58*5ecf7b4eSGunnar Mills                    "description": "Link to invoke action",
59*5ecf7b4eSGunnar Mills                    "format": "uri-reference",
60*5ecf7b4eSGunnar Mills                    "type": "string"
61*5ecf7b4eSGunnar Mills                },
62*5ecf7b4eSGunnar Mills                "title": {
63*5ecf7b4eSGunnar Mills                    "description": "Friendly action name",
64*5ecf7b4eSGunnar Mills                    "type": "string"
65*5ecf7b4eSGunnar Mills                }
66*5ecf7b4eSGunnar Mills            },
67*5ecf7b4eSGunnar Mills            "type": "object"
68*5ecf7b4eSGunnar Mills        },
69*5ecf7b4eSGunnar Mills        "CurrentPeriod": {
70*5ecf7b4eSGunnar Mills            "additionalProperties": false,
71*5ecf7b4eSGunnar Mills            "description": "The memory metrics since the last switch reset or `ClearCurrentPeriod` action for a switch.",
72*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe the memory metrics since the last reset or `ClearCurrentPeriod` action for a switch.",
73*5ecf7b4eSGunnar Mills            "patternProperties": {
74*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
75*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
76*5ecf7b4eSGunnar Mills                    "type": [
77*5ecf7b4eSGunnar Mills                        "array",
78*5ecf7b4eSGunnar Mills                        "boolean",
79*5ecf7b4eSGunnar Mills                        "integer",
80*5ecf7b4eSGunnar Mills                        "number",
81*5ecf7b4eSGunnar Mills                        "null",
82*5ecf7b4eSGunnar Mills                        "object",
83*5ecf7b4eSGunnar Mills                        "string"
84*5ecf7b4eSGunnar Mills                    ]
85*5ecf7b4eSGunnar Mills                }
86*5ecf7b4eSGunnar Mills            },
87*5ecf7b4eSGunnar Mills            "properties": {
88*5ecf7b4eSGunnar Mills                "CorrectableECCErrorCount": {
89*5ecf7b4eSGunnar Mills                    "description": "The number of correctable errors of memory since reset.",
90*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the number of correctable errors of memory since reset.",
91*5ecf7b4eSGunnar Mills                    "readonly": true,
92*5ecf7b4eSGunnar Mills                    "type": [
93*5ecf7b4eSGunnar Mills                        "integer",
94*5ecf7b4eSGunnar Mills                        "null"
95*5ecf7b4eSGunnar Mills                    ]
96*5ecf7b4eSGunnar Mills                },
97*5ecf7b4eSGunnar Mills                "UncorrectableECCErrorCount": {
98*5ecf7b4eSGunnar Mills                    "description": "The number of uncorrectable errors of memory since reset.",
99*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the number of uncorrectable errors of memory since reset.",
100*5ecf7b4eSGunnar Mills                    "readonly": true,
101*5ecf7b4eSGunnar Mills                    "type": [
102*5ecf7b4eSGunnar Mills                        "integer",
103*5ecf7b4eSGunnar Mills                        "null"
104*5ecf7b4eSGunnar Mills                    ]
105*5ecf7b4eSGunnar Mills                }
106*5ecf7b4eSGunnar Mills            },
107*5ecf7b4eSGunnar Mills            "type": "object"
108*5ecf7b4eSGunnar Mills        },
109*5ecf7b4eSGunnar Mills        "InternalMemoryMetrics": {
110*5ecf7b4eSGunnar Mills            "additionalProperties": false,
111*5ecf7b4eSGunnar Mills            "description": "The memory metrics for a switch.",
112*5ecf7b4eSGunnar Mills            "longDescription": "This property shall contain properties that describe the memory metrics for a switch.",
113*5ecf7b4eSGunnar Mills            "patternProperties": {
114*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
115*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
116*5ecf7b4eSGunnar Mills                    "type": [
117*5ecf7b4eSGunnar Mills                        "array",
118*5ecf7b4eSGunnar Mills                        "boolean",
119*5ecf7b4eSGunnar Mills                        "integer",
120*5ecf7b4eSGunnar Mills                        "number",
121*5ecf7b4eSGunnar Mills                        "null",
122*5ecf7b4eSGunnar Mills                        "object",
123*5ecf7b4eSGunnar Mills                        "string"
124*5ecf7b4eSGunnar Mills                    ]
125*5ecf7b4eSGunnar Mills                }
126*5ecf7b4eSGunnar Mills            },
127*5ecf7b4eSGunnar Mills            "properties": {
128*5ecf7b4eSGunnar Mills                "CurrentPeriod": {
129*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/CurrentPeriod",
130*5ecf7b4eSGunnar Mills                    "description": "The memory metrics since the last reset for this switch.",
131*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain properties that describe the metrics for the current period of memory for this switch."
132*5ecf7b4eSGunnar Mills                },
133*5ecf7b4eSGunnar Mills                "LifeTime": {
134*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/LifeTime",
135*5ecf7b4eSGunnar Mills                    "description": "The memory metrics for the lifetime of this switch.",
136*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain properties that describe the metrics for the lifetime of memory for this switch."
137*5ecf7b4eSGunnar Mills                }
138*5ecf7b4eSGunnar Mills            },
139*5ecf7b4eSGunnar Mills            "type": "object"
140*5ecf7b4eSGunnar Mills        },
141*5ecf7b4eSGunnar Mills        "LifeTime": {
142*5ecf7b4eSGunnar Mills            "additionalProperties": false,
143*5ecf7b4eSGunnar Mills            "description": "The memory metrics for the lifetime for a switch.",
144*5ecf7b4eSGunnar Mills            "longDescription": "This type shall describe the memory metrics since manufacturing for a switch.",
145*5ecf7b4eSGunnar Mills            "patternProperties": {
146*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
147*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
148*5ecf7b4eSGunnar Mills                    "type": [
149*5ecf7b4eSGunnar Mills                        "array",
150*5ecf7b4eSGunnar Mills                        "boolean",
151*5ecf7b4eSGunnar Mills                        "integer",
152*5ecf7b4eSGunnar Mills                        "number",
153*5ecf7b4eSGunnar Mills                        "null",
154*5ecf7b4eSGunnar Mills                        "object",
155*5ecf7b4eSGunnar Mills                        "string"
156*5ecf7b4eSGunnar Mills                    ]
157*5ecf7b4eSGunnar Mills                }
158*5ecf7b4eSGunnar Mills            },
159*5ecf7b4eSGunnar Mills            "properties": {
160*5ecf7b4eSGunnar Mills                "CorrectableECCErrorCount": {
161*5ecf7b4eSGunnar Mills                    "description": "The number of correctable errors for the lifetime of the memory.",
162*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the number of correctable errors for the lifetime of memory.",
163*5ecf7b4eSGunnar Mills                    "readonly": true,
164*5ecf7b4eSGunnar Mills                    "type": [
165*5ecf7b4eSGunnar Mills                        "integer",
166*5ecf7b4eSGunnar Mills                        "null"
167*5ecf7b4eSGunnar Mills                    ]
168*5ecf7b4eSGunnar Mills                },
169*5ecf7b4eSGunnar Mills                "UncorrectableECCErrorCount": {
170*5ecf7b4eSGunnar Mills                    "description": "The number of uncorrectable errors for the lifetime of the memory.",
171*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the number of uncorrectable errors for the lifetime of memory.",
172*5ecf7b4eSGunnar Mills                    "readonly": true,
173*5ecf7b4eSGunnar Mills                    "type": [
174*5ecf7b4eSGunnar Mills                        "integer",
175*5ecf7b4eSGunnar Mills                        "null"
176*5ecf7b4eSGunnar Mills                    ]
177*5ecf7b4eSGunnar Mills                }
178*5ecf7b4eSGunnar Mills            },
179*5ecf7b4eSGunnar Mills            "type": "object"
180*5ecf7b4eSGunnar Mills        },
181*5ecf7b4eSGunnar Mills        "OemActions": {
182*5ecf7b4eSGunnar Mills            "additionalProperties": true,
183*5ecf7b4eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
184*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
185*5ecf7b4eSGunnar Mills            "patternProperties": {
186*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
187*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
188*5ecf7b4eSGunnar Mills                    "type": [
189*5ecf7b4eSGunnar Mills                        "array",
190*5ecf7b4eSGunnar Mills                        "boolean",
191*5ecf7b4eSGunnar Mills                        "integer",
192*5ecf7b4eSGunnar Mills                        "number",
193*5ecf7b4eSGunnar Mills                        "null",
194*5ecf7b4eSGunnar Mills                        "object",
195*5ecf7b4eSGunnar Mills                        "string"
196*5ecf7b4eSGunnar Mills                    ]
197*5ecf7b4eSGunnar Mills                }
198*5ecf7b4eSGunnar Mills            },
199*5ecf7b4eSGunnar Mills            "properties": {},
200*5ecf7b4eSGunnar Mills            "type": "object"
201*5ecf7b4eSGunnar Mills        },
202*5ecf7b4eSGunnar Mills        "SwitchMetrics": {
203*5ecf7b4eSGunnar Mills            "additionalProperties": false,
204*5ecf7b4eSGunnar Mills            "description": "The `SwitchMetrics` schema contains usage and health statistics for a switch device.",
205*5ecf7b4eSGunnar Mills            "longDescription": "This resource shall represent the metrics for a switch device in a Redfish implementation.",
206*5ecf7b4eSGunnar Mills            "patternProperties": {
207*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
208*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
209*5ecf7b4eSGunnar Mills                    "type": [
210*5ecf7b4eSGunnar Mills                        "array",
211*5ecf7b4eSGunnar Mills                        "boolean",
212*5ecf7b4eSGunnar Mills                        "integer",
213*5ecf7b4eSGunnar Mills                        "number",
214*5ecf7b4eSGunnar Mills                        "null",
215*5ecf7b4eSGunnar Mills                        "object",
216*5ecf7b4eSGunnar Mills                        "string"
217*5ecf7b4eSGunnar Mills                    ]
218*5ecf7b4eSGunnar Mills                }
219*5ecf7b4eSGunnar Mills            },
220*5ecf7b4eSGunnar Mills            "properties": {
221*5ecf7b4eSGunnar Mills                "@odata.context": {
222*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
223*5ecf7b4eSGunnar Mills                },
224*5ecf7b4eSGunnar Mills                "@odata.etag": {
225*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
226*5ecf7b4eSGunnar Mills                },
227*5ecf7b4eSGunnar Mills                "@odata.id": {
228*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
229*5ecf7b4eSGunnar Mills                },
230*5ecf7b4eSGunnar Mills                "@odata.type": {
231*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
232*5ecf7b4eSGunnar Mills                },
233*5ecf7b4eSGunnar Mills                "Actions": {
234*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Actions",
235*5ecf7b4eSGunnar Mills                    "description": "The available actions for this resource.",
236*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
237*5ecf7b4eSGunnar Mills                },
238*5ecf7b4eSGunnar Mills                "Description": {
239*5ecf7b4eSGunnar Mills                    "anyOf": [
240*5ecf7b4eSGunnar Mills                        {
241*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
242*5ecf7b4eSGunnar Mills                        },
243*5ecf7b4eSGunnar Mills                        {
244*5ecf7b4eSGunnar Mills                            "type": "null"
245*5ecf7b4eSGunnar Mills                        }
246*5ecf7b4eSGunnar Mills                    ],
247*5ecf7b4eSGunnar Mills                    "readonly": true
248*5ecf7b4eSGunnar Mills                },
249*5ecf7b4eSGunnar Mills                "Id": {
250*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
251*5ecf7b4eSGunnar Mills                    "readonly": true
252*5ecf7b4eSGunnar Mills                },
253*5ecf7b4eSGunnar Mills                "InternalMemoryMetrics": {
254*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/InternalMemoryMetrics",
255*5ecf7b4eSGunnar Mills                    "description": "The memory metrics for a switch.",
256*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain properties that describe the memory metrics for a switch."
257*5ecf7b4eSGunnar Mills                },
258*5ecf7b4eSGunnar Mills                "LifetimeStartDateTime": {
259*5ecf7b4eSGunnar Mills                    "description": "The date and time when the switch started accumulating data for the `LifeTime` property.",
260*5ecf7b4eSGunnar Mills                    "format": "date-time",
261*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the date and time when the switch started accumulating data for the `LifeTime` property.  This might contain the same value as the production date of the switch.",
262*5ecf7b4eSGunnar Mills                    "readonly": true,
263*5ecf7b4eSGunnar Mills                    "type": [
264*5ecf7b4eSGunnar Mills                        "string",
265*5ecf7b4eSGunnar Mills                        "null"
266*5ecf7b4eSGunnar Mills                    ],
267*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
268*5ecf7b4eSGunnar Mills                },
269*5ecf7b4eSGunnar Mills                "Name": {
270*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
271*5ecf7b4eSGunnar Mills                    "readonly": true
272*5ecf7b4eSGunnar Mills                },
273*5ecf7b4eSGunnar Mills                "Oem": {
274*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
275*5ecf7b4eSGunnar Mills                    "description": "The OEM extension property.",
276*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
277*5ecf7b4eSGunnar Mills                },
278*5ecf7b4eSGunnar Mills                "PCIeErrors": {
279*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeErrors",
280*5ecf7b4eSGunnar Mills                    "description": "The PCIe errors associated with this switch.",
281*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the PCIe errors associated with this switch."
282*5ecf7b4eSGunnar Mills                }
283*5ecf7b4eSGunnar Mills            },
284*5ecf7b4eSGunnar Mills            "required": [
285*5ecf7b4eSGunnar Mills                "@odata.id",
286*5ecf7b4eSGunnar Mills                "@odata.type",
287*5ecf7b4eSGunnar Mills                "Id",
288*5ecf7b4eSGunnar Mills                "Name"
289*5ecf7b4eSGunnar Mills            ],
290*5ecf7b4eSGunnar Mills            "type": "object"
291*5ecf7b4eSGunnar Mills        }
292*5ecf7b4eSGunnar Mills    },
293*5ecf7b4eSGunnar Mills    "language": "en",
294*5ecf7b4eSGunnar Mills    "owningEntity": "DMTF",
295*5ecf7b4eSGunnar Mills    "release": "2025.3",
296*5ecf7b4eSGunnar Mills    "title": "#SwitchMetrics.v1_1_0.SwitchMetrics"
297*5ecf7b4eSGunnar Mills}