blob: a607d067cddfd731f870fb709f042eadda0f8d15 [file] [log] [blame]
Ed Tanous118b1c72018-09-13 13:45:51 -07001{
Ed Tanouscb103132019-10-08 11:34:22 -07002 "$id": "http://redfish.dmtf.org/schemas/v1/PCIeFunction.v1_2_3.json",
Ed Tanous118b1c72018-09-13 13:45:51 -07003 "$ref": "#/definitions/PCIeFunction",
Ed Tanous530520e2019-01-02 13:41:37 -08004 "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
Ed Tanouscb103132019-10-08 11:34:22 -07005 "copyright": "Copyright 2014-2019 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
Ed Tanous118b1c72018-09-13 13:45:51 -07006 "definitions": {
7 "Actions": {
8 "additionalProperties": false,
Ed Tanouscb103132019-10-08 11:34:22 -07009 "description": "The available actions for this Resource.",
10 "longDescription": "This type shall contain the available actions for this Resource.",
Ed Tanous118b1c72018-09-13 13:45:51 -070011 "patternProperties": {
Ed Tanouscb103132019-10-08 11:34:22 -070012 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
Ed Tanous118b1c72018-09-13 13:45:51 -070013 "description": "This property shall specify a valid odata or Redfish property.",
14 "type": [
15 "array",
16 "boolean",
Ed Tanous530520e2019-01-02 13:41:37 -080017 "integer",
Ed Tanous118b1c72018-09-13 13:45:51 -070018 "number",
19 "null",
20 "object",
21 "string"
22 ]
23 }
24 },
25 "properties": {
26 "Oem": {
Ed Tanous530520e2019-01-02 13:41:37 -080027 "$ref": "#/definitions/OemActions",
Ed Tanouscb103132019-10-08 11:34:22 -070028 "description": "The available OEM-specific actions for this Resource.",
29 "longDescription": "This property shall contain the available OEM-specific actions for this Resource.",
30 "versionAdded": "v1_1_0"
Ed Tanous118b1c72018-09-13 13:45:51 -070031 }
32 },
33 "type": "object"
34 },
35 "DeviceClass": {
36 "enum": [
37 "UnclassifiedDevice",
38 "MassStorageController",
39 "NetworkController",
40 "DisplayController",
41 "MultimediaController",
42 "MemoryController",
43 "Bridge",
44 "CommunicationController",
45 "GenericSystemPeripheral",
46 "InputDeviceController",
47 "DockingStation",
48 "Processor",
49 "SerialBusController",
50 "WirelessController",
51 "IntelligentController",
52 "SatelliteCommunicationsController",
53 "EncryptionController",
54 "SignalProcessingController",
55 "ProcessingAccelerators",
56 "NonEssentialInstrumentation",
57 "Coprocessor",
58 "UnassignedClass",
59 "Other"
60 ],
61 "enumDescriptions": {
62 "Bridge": "A bridge.",
63 "CommunicationController": "A communication controller.",
64 "Coprocessor": "A coprocessor.",
65 "DisplayController": "A display controller.",
66 "DockingStation": "A docking station.",
67 "EncryptionController": "An encryption controller.",
68 "GenericSystemPeripheral": "A generic system peripheral.",
69 "InputDeviceController": "An input device controller.",
70 "IntelligentController": "An intelligent controller.",
71 "MassStorageController": "A mass storage controller.",
72 "MemoryController": "A memory controller.",
73 "MultimediaController": "A multimedia controller.",
74 "NetworkController": "A network controller.",
75 "NonEssentialInstrumentation": "A non-essential instrumentation.",
Ed Tanouscb103132019-10-08 11:34:22 -070076 "Other": "A other class. The function Device Class Id needs to be verified.",
Ed Tanous118b1c72018-09-13 13:45:51 -070077 "ProcessingAccelerators": "A processing accelerators.",
78 "Processor": "A processor.",
79 "SatelliteCommunicationsController": "A satellite communications controller.",
80 "SerialBusController": "A serial bus controller.",
81 "SignalProcessingController": "A signal processing controller.",
82 "UnassignedClass": "An unassigned class.",
83 "UnclassifiedDevice": "An unclassified device.",
84 "WirelessController": "A wireless controller."
85 },
86 "type": "string"
87 },
88 "FunctionType": {
89 "enum": [
90 "Physical",
91 "Virtual"
92 ],
93 "enumDescriptions": {
Ed Tanouscb103132019-10-08 11:34:22 -070094 "Physical": "A physical PCIe function.",
Ed Tanous118b1c72018-09-13 13:45:51 -070095 "Virtual": "A virtual PCIe function."
96 },
97 "type": "string"
98 },
99 "Links": {
100 "additionalProperties": false,
Ed Tanouscb103132019-10-08 11:34:22 -0700101 "description": "The links to other Resources that are related to this Resource.",
102 "longDescription": "This Redfish Specification-described type shall contain links to Resources that are related to but are not contained by or subordinate to this Resource.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700103 "patternProperties": {
Ed Tanouscb103132019-10-08 11:34:22 -0700104 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
Ed Tanous118b1c72018-09-13 13:45:51 -0700105 "description": "This property shall specify a valid odata or Redfish property.",
106 "type": [
107 "array",
108 "boolean",
Ed Tanous530520e2019-01-02 13:41:37 -0800109 "integer",
Ed Tanous118b1c72018-09-13 13:45:51 -0700110 "number",
111 "null",
112 "object",
113 "string"
114 ]
115 }
116 },
117 "properties": {
118 "Drives": {
Ed Tanouscb103132019-10-08 11:34:22 -0700119 "description": "An array of links to the drives that the PCIe device produces.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700120 "items": {
121 "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.json#/definitions/Drive"
122 },
Ed Tanouscb103132019-10-08 11:34:22 -0700123 "longDescription": "This property shall link to a Resource of type Drive that represents the storage drives associated with this Resource.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700124 "readonly": true,
125 "type": "array"
126 },
127 "Drives@odata.count": {
Ed Tanouscb103132019-10-08 11:34:22 -0700128 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
Ed Tanous118b1c72018-09-13 13:45:51 -0700129 },
130 "EthernetInterfaces": {
Ed Tanouscb103132019-10-08 11:34:22 -0700131 "description": "An array of links to the Ethernet interfaces that the PCIe device produces.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700132 "items": {
133 "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface"
134 },
Ed Tanouscb103132019-10-08 11:34:22 -0700135 "longDescription": "This property shall link to a Resource of type EthernetInterface that represents the network interfaces associated with this Resource.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700136 "readonly": true,
137 "type": "array"
138 },
139 "EthernetInterfaces@odata.count": {
Ed Tanouscb103132019-10-08 11:34:22 -0700140 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
Ed Tanous118b1c72018-09-13 13:45:51 -0700141 },
142 "NetworkDeviceFunctions": {
Ed Tanouscb103132019-10-08 11:34:22 -0700143 "description": "An array of links to the network device functions that the PCIe device produces.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700144 "items": {
145 "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction"
146 },
Ed Tanouscb103132019-10-08 11:34:22 -0700147 "longDescription": "This property shall contain an array of links to Resources of the NetworkDeviceFunction type that represents the network device functions associated with this Resource.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700148 "readonly": true,
Ed Tanouscb103132019-10-08 11:34:22 -0700149 "type": "array",
150 "versionAdded": "v1_2_0"
Ed Tanous118b1c72018-09-13 13:45:51 -0700151 },
152 "NetworkDeviceFunctions@odata.count": {
Ed Tanouscb103132019-10-08 11:34:22 -0700153 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
Ed Tanous118b1c72018-09-13 13:45:51 -0700154 },
155 "Oem": {
156 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
Ed Tanouscb103132019-10-08 11:34:22 -0700157 "description": "The OEM extension property.",
158 "longDescription": "This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
Ed Tanous118b1c72018-09-13 13:45:51 -0700159 },
160 "PCIeDevice": {
Ed Tanouscb103132019-10-08 11:34:22 -0700161 "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeDevice",
162 "description": "The link to the PCIe device on which this function resides.",
163 "longDescription": "This property shall contain a link to a Resource of type PCIeDevice of which this function is a part.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700164 "readonly": true
165 },
166 "StorageControllers": {
Ed Tanouscb103132019-10-08 11:34:22 -0700167 "description": "An array of links to the storage controllers that the PCIe device produces.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700168 "items": {
169 "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.json#/definitions/StorageController"
170 },
Ed Tanouscb103132019-10-08 11:34:22 -0700171 "longDescription": "This property shall link to a Resource of type StorageController that represents the storage controllers associated with this Resource.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700172 "readonly": true,
173 "type": "array"
174 },
175 "StorageControllers@odata.count": {
Ed Tanouscb103132019-10-08 11:34:22 -0700176 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
Ed Tanous118b1c72018-09-13 13:45:51 -0700177 }
178 },
179 "type": "object"
180 },
181 "OemActions": {
182 "additionalProperties": true,
Ed Tanouscb103132019-10-08 11:34:22 -0700183 "description": "The available OEM-specific actions for this Resource.",
184 "longDescription": "This type shall contain the available OEM-specific actions for this Resource.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700185 "patternProperties": {
Ed Tanouscb103132019-10-08 11:34:22 -0700186 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
Ed Tanous118b1c72018-09-13 13:45:51 -0700187 "description": "This property shall specify a valid odata or Redfish property.",
188 "type": [
189 "array",
190 "boolean",
Ed Tanous530520e2019-01-02 13:41:37 -0800191 "integer",
Ed Tanous118b1c72018-09-13 13:45:51 -0700192 "number",
193 "null",
194 "object",
195 "string"
196 ]
197 }
198 },
199 "properties": {},
200 "type": "object"
201 },
202 "PCIeFunction": {
203 "additionalProperties": false,
Ed Tanouscb103132019-10-08 11:34:22 -0700204 "description": "The schema definition for the PCIeFunction Resource. It represents the properties of a PCIeFunction attached to a System.",
205 "longDescription": "This Resource shall represent a PCIeFunction attached to a System.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700206 "patternProperties": {
Ed Tanouscb103132019-10-08 11:34:22 -0700207 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
Ed Tanous118b1c72018-09-13 13:45:51 -0700208 "description": "This property shall specify a valid odata or Redfish property.",
209 "type": [
210 "array",
211 "boolean",
Ed Tanous530520e2019-01-02 13:41:37 -0800212 "integer",
Ed Tanous118b1c72018-09-13 13:45:51 -0700213 "number",
214 "null",
215 "object",
216 "string"
217 ]
218 }
219 },
220 "properties": {
221 "@odata.context": {
Ed Tanouscb103132019-10-08 11:34:22 -0700222 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
Ed Tanous118b1c72018-09-13 13:45:51 -0700223 },
224 "@odata.etag": {
Ed Tanouscb103132019-10-08 11:34:22 -0700225 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
Ed Tanous118b1c72018-09-13 13:45:51 -0700226 },
227 "@odata.id": {
Ed Tanouscb103132019-10-08 11:34:22 -0700228 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
Ed Tanous118b1c72018-09-13 13:45:51 -0700229 },
230 "@odata.type": {
Ed Tanouscb103132019-10-08 11:34:22 -0700231 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
Ed Tanous118b1c72018-09-13 13:45:51 -0700232 },
233 "Actions": {
234 "$ref": "#/definitions/Actions",
Ed Tanouscb103132019-10-08 11:34:22 -0700235 "description": "The available actions for this Resource.",
236 "longDescription": "This property shall contain the available actions for this Resource.",
237 "versionAdded": "v1_1_0"
Ed Tanous118b1c72018-09-13 13:45:51 -0700238 },
239 "ClassCode": {
240 "description": "The Class Code of this PCIe function.",
Ed Tanouscb103132019-10-08 11:34:22 -0700241 "longDescription": "This property shall contain the PCI Class Code of the PCIe device function.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700242 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){3}$",
243 "readonly": true,
244 "type": [
245 "string",
246 "null"
247 ]
248 },
249 "Description": {
250 "anyOf": [
251 {
252 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
253 },
254 {
255 "type": "null"
256 }
257 ],
258 "readonly": true
259 },
260 "DeviceClass": {
261 "$ref": "#/definitions/DeviceClass",
Ed Tanouscb103132019-10-08 11:34:22 -0700262 "description": "The class for this PCIe function.",
263 "longDescription": "This property shall contain the device class of the PCIe device function, such as storage, network, or memory.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700264 "readonly": true
265 },
266 "DeviceId": {
267 "description": "The Device ID of this PCIe function.",
Ed Tanouscb103132019-10-08 11:34:22 -0700268 "longDescription": "This property shall contain the PCI Device ID of the PCIe device function.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700269 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
270 "readonly": true,
271 "type": [
272 "string",
273 "null"
274 ]
275 },
276 "FunctionId": {
Ed Tanouscb103132019-10-08 11:34:22 -0700277 "description": "The PCIe Function Number.",
278 "longDescription": "This property shall contain the PCIe Function Number within a given PCIe device.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700279 "readonly": true,
280 "type": [
Ed Tanous530520e2019-01-02 13:41:37 -0800281 "integer",
Ed Tanous118b1c72018-09-13 13:45:51 -0700282 "null"
283 ]
284 },
285 "FunctionType": {
286 "$ref": "#/definitions/FunctionType",
Ed Tanouscb103132019-10-08 11:34:22 -0700287 "description": "The type of the PCIe function.",
288 "longDescription": "This property shall contain the function type of the PCIe device function such as Physical or Virtual.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700289 "readonly": true
290 },
291 "Id": {
292 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
293 "readonly": true
294 },
295 "Links": {
296 "$ref": "#/definitions/Links",
Ed Tanouscb103132019-10-08 11:34:22 -0700297 "description": "The links to other Resources that are related to this Resource.",
298 "longDescription": "This property shall contain links to Resources that are related to but are not contained by, or subordinate to, this Resource."
Ed Tanous118b1c72018-09-13 13:45:51 -0700299 },
300 "Name": {
301 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
302 "readonly": true
303 },
304 "Oem": {
305 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
Ed Tanouscb103132019-10-08 11:34:22 -0700306 "description": "The OEM extension property.",
307 "longDescription": "This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
Ed Tanous118b1c72018-09-13 13:45:51 -0700308 },
309 "RevisionId": {
310 "description": "The Revision ID of this PCIe function.",
Ed Tanouscb103132019-10-08 11:34:22 -0700311 "longDescription": "This property shall contain the PCI Revision ID of the PCIe device function.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700312 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){1}$",
313 "readonly": true,
314 "type": [
315 "string",
316 "null"
317 ]
318 },
319 "Status": {
Ed Tanous530520e2019-01-02 13:41:37 -0800320 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
Ed Tanouscb103132019-10-08 11:34:22 -0700321 "description": "The status and health of the Resource and its subordinate or dependent Resources.",
322 "longDescription": "This property shall contain any status or health properties of the Resource."
Ed Tanous118b1c72018-09-13 13:45:51 -0700323 },
324 "SubsystemId": {
325 "description": "The Subsystem ID of this PCIe function.",
Ed Tanouscb103132019-10-08 11:34:22 -0700326 "longDescription": "This property shall contain the PCI Subsystem ID of the PCIe device function.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700327 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
328 "readonly": true,
329 "type": [
330 "string",
331 "null"
332 ]
333 },
334 "SubsystemVendorId": {
335 "description": "The Subsystem Vendor ID of this PCIe function.",
Ed Tanouscb103132019-10-08 11:34:22 -0700336 "longDescription": "This property shall contain the PCI Subsystem Vendor ID of the PCIe device function.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700337 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
338 "readonly": true,
339 "type": [
340 "string",
341 "null"
342 ]
343 },
344 "VendorId": {
345 "description": "The Vendor ID of this PCIe function.",
Ed Tanouscb103132019-10-08 11:34:22 -0700346 "longDescription": "This property shall contain the PCI Vendor ID of the PCIe device function.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700347 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
348 "readonly": true,
349 "type": [
350 "string",
351 "null"
352 ]
353 }
354 },
355 "required": [
Ed Tanous530520e2019-01-02 13:41:37 -0800356 "@odata.id",
357 "@odata.type",
Ed Tanous118b1c72018-09-13 13:45:51 -0700358 "Id",
359 "Name"
360 ],
361 "type": "object"
362 }
363 },
364 "owningEntity": "DMTF",
Ed Tanouscb103132019-10-08 11:34:22 -0700365 "release": "2018.1",
366 "title": "#PCIeFunction.v1_2_3.PCIeFunction"
Ed Tanous118b1c72018-09-13 13:45:51 -0700367}