blob: 94e628c25fc11d03a6ab6af8cc374660ceab004f [file] [log] [blame]
Ed Tanous118b1c72018-09-13 13:45:51 -07001{
2 "$ref": "#/definitions/PCIeFunction",
Ed Tanous530520e2019-01-02 13:41:37 -08003 "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
4 "copyright": "Copyright 2014-2018 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
Ed Tanous118b1c72018-09-13 13:45:51 -07005 "definitions": {
6 "Actions": {
7 "additionalProperties": false,
8 "description": "The available actions for this resource.",
9 "longDescription": "This type shall contain the available actions for this resource.",
10 "patternProperties": {
11 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
12 "description": "This property shall specify a valid odata or Redfish property.",
13 "type": [
14 "array",
15 "boolean",
Ed Tanous530520e2019-01-02 13:41:37 -080016 "integer",
Ed Tanous118b1c72018-09-13 13:45:51 -070017 "number",
18 "null",
19 "object",
20 "string"
21 ]
22 }
23 },
24 "properties": {
25 "Oem": {
Ed Tanous530520e2019-01-02 13:41:37 -080026 "$ref": "#/definitions/OemActions",
27 "description": "This property contains the available OEM specific actions for this resource.",
28 "longDescription": "This property shall contain any additional OEM actions for this resource."
Ed Tanous118b1c72018-09-13 13:45:51 -070029 }
30 },
31 "type": "object"
32 },
33 "DeviceClass": {
34 "enum": [
35 "UnclassifiedDevice",
36 "MassStorageController",
37 "NetworkController",
38 "DisplayController",
39 "MultimediaController",
40 "MemoryController",
41 "Bridge",
42 "CommunicationController",
43 "GenericSystemPeripheral",
44 "InputDeviceController",
45 "DockingStation",
46 "Processor",
47 "SerialBusController",
48 "WirelessController",
49 "IntelligentController",
50 "SatelliteCommunicationsController",
51 "EncryptionController",
52 "SignalProcessingController",
53 "ProcessingAccelerators",
54 "NonEssentialInstrumentation",
55 "Coprocessor",
56 "UnassignedClass",
57 "Other"
58 ],
59 "enumDescriptions": {
60 "Bridge": "A bridge.",
61 "CommunicationController": "A communication controller.",
62 "Coprocessor": "A coprocessor.",
63 "DisplayController": "A display controller.",
64 "DockingStation": "A docking station.",
65 "EncryptionController": "An encryption controller.",
66 "GenericSystemPeripheral": "A generic system peripheral.",
67 "InputDeviceController": "An input device controller.",
68 "IntelligentController": "An intelligent controller.",
69 "MassStorageController": "A mass storage controller.",
70 "MemoryController": "A memory controller.",
71 "MultimediaController": "A multimedia controller.",
72 "NetworkController": "A network controller.",
73 "NonEssentialInstrumentation": "A non-essential instrumentation.",
74 "Other": "A other class. The function Device Class Id needs to be verified.",
75 "ProcessingAccelerators": "A processing accelerators.",
76 "Processor": "A processor.",
77 "SatelliteCommunicationsController": "A satellite communications controller.",
78 "SerialBusController": "A serial bus controller.",
79 "SignalProcessingController": "A signal processing controller.",
80 "UnassignedClass": "An unassigned class.",
81 "UnclassifiedDevice": "An unclassified device.",
82 "WirelessController": "A wireless controller."
83 },
84 "type": "string"
85 },
86 "FunctionType": {
87 "enum": [
88 "Physical",
89 "Virtual"
90 ],
91 "enumDescriptions": {
92 "Physical": "A physical PCie function.",
93 "Virtual": "A virtual PCIe function."
94 },
95 "type": "string"
96 },
97 "Links": {
98 "additionalProperties": false,
99 "description": "Contains references to other resources that are related to this resource.",
100 "longDescription": "This type, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource.",
101 "patternProperties": {
102 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
103 "description": "This property shall specify a valid odata or Redfish property.",
104 "type": [
105 "array",
106 "boolean",
Ed Tanous530520e2019-01-02 13:41:37 -0800107 "integer",
Ed Tanous118b1c72018-09-13 13:45:51 -0700108 "number",
109 "null",
110 "object",
111 "string"
112 ]
113 }
114 },
115 "properties": {
116 "Drives": {
117 "description": "An array of references to the drives which the PCIe device produces.",
118 "items": {
119 "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.json#/definitions/Drive"
120 },
121 "longDescription": "The value of this property shall reference a resource of type Drive that represents the storage drives associated with this resource.",
122 "readonly": true,
123 "type": "array"
124 },
125 "Drives@odata.count": {
Ed Tanous530520e2019-01-02 13:41:37 -0800126 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
Ed Tanous118b1c72018-09-13 13:45:51 -0700127 },
128 "EthernetInterfaces": {
129 "description": "An array of references to the ethernet interfaces which the PCIe device produces.",
130 "items": {
131 "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface"
132 },
133 "longDescription": "The value of this property shall reference a resource of type EthernetInterface that represents the network interfaces associated with this resource.",
134 "readonly": true,
135 "type": "array"
136 },
137 "EthernetInterfaces@odata.count": {
Ed Tanous530520e2019-01-02 13:41:37 -0800138 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
Ed Tanous118b1c72018-09-13 13:45:51 -0700139 },
140 "NetworkDeviceFunctions": {
141 "description": "An array of references to the Network Device Functions which the PCIe device produces.",
142 "items": {
143 "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction"
144 },
145 "longDescription": "The value of this property shall be an array of references to resources of type NetworkDeviceFunction that represents the network device functions associated with this resource.",
146 "readonly": true,
147 "type": "array"
148 },
149 "NetworkDeviceFunctions@odata.count": {
Ed Tanous530520e2019-01-02 13:41:37 -0800150 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
Ed Tanous118b1c72018-09-13 13:45:51 -0700151 },
152 "Oem": {
153 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
154 "description": "Oem extension object.",
155 "longDescription": "This object represents the Oem property. All values for resources described by this schema shall comply to the requirements as described in the Redfish specification."
156 },
157 "PCIeDevice": {
158 "anyOf": [
159 {
160 "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeDevice"
161 },
162 {
163 "type": "null"
164 }
165 ],
166 "description": "A reference to the PCIeDevice on which this function resides.",
167 "longDescription": "The value of this property shall be a reference to the resource that this function is a part of and shall reference a resource of type PCIeDevice.",
168 "readonly": true
169 },
170 "StorageControllers": {
171 "description": "An array of references to the storage controllers which the PCIe device produces.",
172 "items": {
173 "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.json#/definitions/StorageController"
174 },
175 "longDescription": "The value of this property shall reference a resource of type StorageController that represents the storage controllers associated with this resource.",
176 "readonly": true,
177 "type": "array"
178 },
179 "StorageControllers@odata.count": {
Ed Tanous530520e2019-01-02 13:41:37 -0800180 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count"
Ed Tanous118b1c72018-09-13 13:45:51 -0700181 }
182 },
183 "type": "object"
184 },
185 "OemActions": {
186 "additionalProperties": true,
187 "description": "The available OEM specific actions for this resource.",
188 "longDescription": "This type shall contain any additional OEM actions for this resource.",
189 "patternProperties": {
190 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
191 "description": "This property shall specify a valid odata or Redfish property.",
192 "type": [
193 "array",
194 "boolean",
Ed Tanous530520e2019-01-02 13:41:37 -0800195 "integer",
Ed Tanous118b1c72018-09-13 13:45:51 -0700196 "number",
197 "null",
198 "object",
199 "string"
200 ]
201 }
202 },
203 "properties": {},
204 "type": "object"
205 },
206 "PCIeFunction": {
207 "additionalProperties": false,
208 "description": "This is the schema definition for the PCIeFunction resource. It represents the properties of a PCIeFunction attached to a System.",
Ed Tanous530520e2019-01-02 13:41:37 -0800209 "longDescription": "This resource shall be used to represent a PCIeFunction attached to a System.",
Ed Tanous118b1c72018-09-13 13:45:51 -0700210 "patternProperties": {
211 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
212 "description": "This property shall specify a valid odata or Redfish property.",
213 "type": [
214 "array",
215 "boolean",
Ed Tanous530520e2019-01-02 13:41:37 -0800216 "integer",
Ed Tanous118b1c72018-09-13 13:45:51 -0700217 "number",
218 "null",
219 "object",
220 "string"
221 ]
222 }
223 },
224 "properties": {
225 "@odata.context": {
Ed Tanous530520e2019-01-02 13:41:37 -0800226 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context"
Ed Tanous118b1c72018-09-13 13:45:51 -0700227 },
228 "@odata.etag": {
Ed Tanous530520e2019-01-02 13:41:37 -0800229 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag"
Ed Tanous118b1c72018-09-13 13:45:51 -0700230 },
231 "@odata.id": {
Ed Tanous530520e2019-01-02 13:41:37 -0800232 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id"
Ed Tanous118b1c72018-09-13 13:45:51 -0700233 },
234 "@odata.type": {
Ed Tanous530520e2019-01-02 13:41:37 -0800235 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type"
Ed Tanous118b1c72018-09-13 13:45:51 -0700236 },
237 "Actions": {
238 "$ref": "#/definitions/Actions",
239 "description": "The available actions for this resource.",
240 "longDescription": "The Actions property shall contain the available actions for this resource."
241 },
242 "ClassCode": {
243 "description": "The Class Code of this PCIe function.",
244 "longDescription": "The value of this property shall be the PCI Class Code of the PCIe device function.",
245 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){3}$",
246 "readonly": true,
247 "type": [
248 "string",
249 "null"
250 ]
251 },
252 "Description": {
253 "anyOf": [
254 {
255 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
256 },
257 {
258 "type": "null"
259 }
260 ],
261 "readonly": true
262 },
263 "DeviceClass": {
264 "$ref": "#/definitions/DeviceClass",
265 "description": "The class for this PCIe Function.",
266 "longDescription": "The value of this property shall be the device class of the PCIe device function such as Storage, Network, Memory etc.",
267 "readonly": true
268 },
269 "DeviceId": {
270 "description": "The Device ID of this PCIe function.",
271 "longDescription": "The value of this property shall be the PCI Device ID of the PCIe device function.",
272 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
273 "readonly": true,
274 "type": [
275 "string",
276 "null"
277 ]
278 },
279 "FunctionId": {
280 "description": "The the PCIe Function identifier.",
281 "longDescription": "The value of this property shall the PCIe device function number within a given PCIe device.",
282 "readonly": true,
283 "type": [
Ed Tanous530520e2019-01-02 13:41:37 -0800284 "integer",
Ed Tanous118b1c72018-09-13 13:45:51 -0700285 "null"
286 ]
287 },
288 "FunctionType": {
289 "$ref": "#/definitions/FunctionType",
290 "description": "The type of the PCIe Function.",
291 "longDescription": "The value of this property shall be the function type of the PCIe device function such as Physical or Virtual.",
292 "readonly": true
293 },
294 "Id": {
295 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
296 "readonly": true
297 },
298 "Links": {
299 "$ref": "#/definitions/Links",
Ed Tanous530520e2019-01-02 13:41:37 -0800300 "description": "The links object contains the links to other resources that are related to this resource.",
301 "longDescription": "The Links property, as described by the Redfish Specification, shall contain references to resources that are related to, but not contained by (subordinate to), this resource."
Ed Tanous118b1c72018-09-13 13:45:51 -0700302 },
303 "Name": {
304 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
305 "readonly": true
306 },
307 "Oem": {
308 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
309 "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
310 "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
311 },
312 "RevisionId": {
313 "description": "The Revision ID of this PCIe function.",
314 "longDescription": "The value of this property shall be the PCI Revision ID of the PCIe device function.",
315 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){1}$",
316 "readonly": true,
317 "type": [
318 "string",
319 "null"
320 ]
321 },
322 "Status": {
Ed Tanous530520e2019-01-02 13:41:37 -0800323 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
324 "description": "This property describes the status and health of the resource and its children.",
325 "longDescription": "This property shall contain any status or health properties of the resource."
Ed Tanous118b1c72018-09-13 13:45:51 -0700326 },
327 "SubsystemId": {
328 "description": "The Subsystem ID of this PCIe function.",
329 "longDescription": "The value of this property shall be the PCI Subsystem ID of the PCIe device function.",
330 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
331 "readonly": true,
332 "type": [
333 "string",
334 "null"
335 ]
336 },
337 "SubsystemVendorId": {
338 "description": "The Subsystem Vendor ID of this PCIe function.",
339 "longDescription": "The value of this property shall be the PCI Subsystem Vendor ID of the PCIe device function.",
340 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
341 "readonly": true,
342 "type": [
343 "string",
344 "null"
345 ]
346 },
347 "VendorId": {
348 "description": "The Vendor ID of this PCIe function.",
349 "longDescription": "The value of this property shall be the PCI Vendor ID of the PCIe device function.",
350 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
351 "readonly": true,
352 "type": [
353 "string",
354 "null"
355 ]
356 }
357 },
358 "required": [
Ed Tanous530520e2019-01-02 13:41:37 -0800359 "@odata.id",
360 "@odata.type",
Ed Tanous118b1c72018-09-13 13:45:51 -0700361 "Id",
362 "Name"
363 ],
364 "type": "object"
365 }
366 },
367 "owningEntity": "DMTF",
Ed Tanous530520e2019-01-02 13:41:37 -0800368 "title": "#PCIeFunction.v1_2_1.PCIeFunction"
Ed Tanous118b1c72018-09-13 13:45:51 -0700369}