blob: 1ba6eb8c3864a04e595ed13290b5e28e43d098a2 [file] [log] [blame]
Ed Tanous683f7272018-07-26 12:47:19 -07001{
2 "$ref": "#/definitions/PCIeFunction",
3 "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema.v1_4_0.json",
4 "copyright": "Copyright 2014-2018 Distributed Management Task Force, Inc. (DMTF). For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
5 "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",
16 "number",
17 "null",
18 "object",
19 "string"
20 ]
21 }
22 },
23 "properties": {
24 "Oem": {
25 "$ref": "#/definitions/OemActions"
26 }
27 },
28 "type": "object"
29 },
30 "DeviceClass": {
31 "enum": [
32 "UnclassifiedDevice",
33 "MassStorageController",
34 "NetworkController",
35 "DisplayController",
36 "MultimediaController",
37 "MemoryController",
38 "Bridge",
39 "CommunicationController",
40 "GenericSystemPeripheral",
41 "InputDeviceController",
42 "DockingStation",
43 "Processor",
44 "SerialBusController",
45 "WirelessController",
46 "IntelligentController",
47 "SatelliteCommunicationsController",
48 "EncryptionController",
49 "SignalProcessingController",
50 "ProcessingAccelerators",
51 "NonEssentialInstrumentation",
52 "Coprocessor",
53 "UnassignedClass",
54 "Other"
55 ],
56 "enumDescriptions": {
57 "Bridge": "A bridge.",
58 "CommunicationController": "A communication controller.",
59 "Coprocessor": "A coprocessor.",
60 "DisplayController": "A display controller.",
61 "DockingStation": "A docking station.",
62 "EncryptionController": "An encryption controller.",
63 "GenericSystemPeripheral": "A generic system peripheral.",
64 "InputDeviceController": "An input device controller.",
65 "IntelligentController": "An intelligent controller.",
66 "MassStorageController": "A mass storage controller.",
67 "MemoryController": "A memory controller.",
68 "MultimediaController": "A multimedia controller.",
69 "NetworkController": "A network controller.",
70 "NonEssentialInstrumentation": "A non-essential instrumentation.",
71 "Other": "A other class. The function Device Class Id needs to be verified.",
72 "ProcessingAccelerators": "A processing accelerators.",
73 "Processor": "A processor.",
74 "SatelliteCommunicationsController": "A satellite communications controller.",
75 "SerialBusController": "A serial bus controller.",
76 "SignalProcessingController": "A signal processing controller.",
77 "UnassignedClass": "An unassigned class.",
78 "UnclassifiedDevice": "An unclassified device.",
79 "WirelessController": "A wireless controller."
80 },
81 "type": "string"
82 },
83 "FunctionType": {
84 "enum": [
85 "Physical",
86 "Virtual"
87 ],
88 "enumDescriptions": {
89 "Physical": "A physical PCie function.",
90 "Virtual": "A virtual PCIe function."
91 },
92 "type": "string"
93 },
94 "Links": {
95 "additionalProperties": false,
96 "description": "Contains references to other resources that are related to this resource.",
97 "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.",
98 "patternProperties": {
99 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
100 "description": "This property shall specify a valid odata or Redfish property.",
101 "type": [
102 "array",
103 "boolean",
104 "number",
105 "null",
106 "object",
107 "string"
108 ]
109 }
110 },
111 "properties": {
112 "Drives": {
113 "description": "An array of references to the drives which the PCIe device produces.",
114 "items": {
115 "$ref": "http://redfish.dmtf.org/schemas/v1/Drive.json#/definitions/Drive"
116 },
117 "longDescription": "The value of this property shall reference a resource of type Drive that represents the storage drives associated with this resource.",
118 "readonly": true,
119 "type": "array"
120 },
121 "Drives@odata.count": {
122 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
123 },
124 "EthernetInterfaces": {
125 "description": "An array of references to the ethernet interfaces which the PCIe device produces.",
126 "items": {
127 "$ref": "http://redfish.dmtf.org/schemas/v1/EthernetInterface.json#/definitions/EthernetInterface"
128 },
129 "longDescription": "The value of this property shall reference a resource of type EthernetInterface that represents the network interfaces associated with this resource.",
130 "readonly": true,
131 "type": "array"
132 },
133 "EthernetInterfaces@odata.count": {
134 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
135 },
136 "NetworkDeviceFunctions": {
137 "description": "An array of references to the Network Device Functions which the PCIe device produces.",
138 "items": {
139 "$ref": "http://redfish.dmtf.org/schemas/v1/NetworkDeviceFunction.json#/definitions/NetworkDeviceFunction"
140 },
141 "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.",
142 "readonly": true,
143 "type": "array"
144 },
145 "NetworkDeviceFunctions@odata.count": {
146 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
147 },
148 "Oem": {
149 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
150 "description": "Oem extension object.",
151 "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."
152 },
153 "PCIeDevice": {
154 "anyOf": [
155 {
156 "$ref": "http://redfish.dmtf.org/schemas/v1/PCIeDevice.json#/definitions/PCIeDevice"
157 },
158 {
159 "type": "null"
160 }
161 ],
162 "description": "A reference to the PCIeDevice on which this function resides.",
163 "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.",
164 "readonly": true
165 },
166 "StorageControllers": {
167 "description": "An array of references to the storage controllers which the PCIe device produces.",
168 "items": {
169 "$ref": "http://redfish.dmtf.org/schemas/v1/Storage.json#/definitions/StorageController"
170 },
171 "longDescription": "The value of this property shall reference a resource of type StorageController that represents the storage controllers associated with this resource.",
172 "readonly": true,
173 "type": "array"
174 },
175 "StorageControllers@odata.count": {
176 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/count"
177 }
178 },
179 "type": "object"
180 },
181 "OemActions": {
182 "additionalProperties": true,
183 "description": "The available OEM specific actions for this resource.",
184 "longDescription": "This type shall contain any additional OEM actions for this resource.",
185 "patternProperties": {
186 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
187 "description": "This property shall specify a valid odata or Redfish property.",
188 "type": [
189 "array",
190 "boolean",
191 "number",
192 "null",
193 "object",
194 "string"
195 ]
196 }
197 },
198 "properties": {},
199 "type": "object"
200 },
201 "PCIeFunction": {
202 "additionalProperties": false,
203 "description": "This is the schema definition for the PCIeFunction resource. It represents the properties of a PCIeFunction attached to a System.",
204 "patternProperties": {
205 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_.]+$": {
206 "description": "This property shall specify a valid odata or Redfish property.",
207 "type": [
208 "array",
209 "boolean",
210 "number",
211 "null",
212 "object",
213 "string"
214 ]
215 }
216 },
217 "properties": {
218 "@odata.context": {
219 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/context"
220 },
221 "@odata.etag": {
222 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/etag"
223 },
224 "@odata.id": {
225 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/id"
226 },
227 "@odata.type": {
228 "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_2.json#/definitions/type"
229 },
230 "Actions": {
231 "$ref": "#/definitions/Actions",
232 "description": "The available actions for this resource.",
233 "longDescription": "The Actions property shall contain the available actions for this resource."
234 },
235 "ClassCode": {
236 "description": "The Class Code of this PCIe function.",
237 "longDescription": "The value of this property shall be the PCI Class Code of the PCIe device function.",
238 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){3}$",
239 "readonly": true,
240 "type": [
241 "string",
242 "null"
243 ]
244 },
245 "Description": {
246 "anyOf": [
247 {
248 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
249 },
250 {
251 "type": "null"
252 }
253 ],
254 "readonly": true
255 },
256 "DeviceClass": {
257 "$ref": "#/definitions/DeviceClass",
258 "description": "The class for this PCIe Function.",
259 "longDescription": "The value of this property shall be the device class of the PCIe device function such as Storage, Network, Memory etc.",
260 "readonly": true
261 },
262 "DeviceId": {
263 "description": "The Device ID of this PCIe function.",
264 "longDescription": "The value of this property shall be the PCI Device ID of the PCIe device function.",
265 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
266 "readonly": true,
267 "type": [
268 "string",
269 "null"
270 ]
271 },
272 "FunctionId": {
273 "description": "The the PCIe Function identifier.",
274 "longDescription": "The value of this property shall the PCIe device function number within a given PCIe device.",
275 "readonly": true,
276 "type": [
277 "number",
278 "null"
279 ]
280 },
281 "FunctionType": {
282 "$ref": "#/definitions/FunctionType",
283 "description": "The type of the PCIe Function.",
284 "longDescription": "The value of this property shall be the function type of the PCIe device function such as Physical or Virtual.",
285 "readonly": true
286 },
287 "Id": {
288 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
289 "readonly": true
290 },
291 "Links": {
292 "$ref": "#/definitions/Links",
293 "description": "The links object contains the links to other resources that are related to this resource."
294 },
295 "Name": {
296 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
297 "readonly": true
298 },
299 "Oem": {
300 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
301 "description": "This is the manufacturer/provider specific extension moniker used to divide the Oem object into sections.",
302 "longDescription": "The value of this string shall be of the format for the reserved word *Oem*."
303 },
304 "RevisionId": {
305 "description": "The Revision ID of this PCIe function.",
306 "longDescription": "The value of this property shall be the PCI Revision ID of the PCIe device function.",
307 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){1}$",
308 "readonly": true,
309 "type": [
310 "string",
311 "null"
312 ]
313 },
314 "Status": {
315 "anyOf": [
316 {
317 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status"
318 },
319 {
320 "type": "null"
321 }
322 ]
323 },
324 "SubsystemId": {
325 "description": "The Subsystem ID of this PCIe function.",
326 "longDescription": "The value of this property shall be the PCI Subsystem ID of the PCIe device function.",
327 "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.",
336 "longDescription": "The value of this property shall be the PCI Subsystem Vendor ID of the PCIe device function.",
337 "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.",
346 "longDescription": "The value of this property shall be the PCI Vendor ID of the PCIe device function.",
347 "pattern": "^0[xX](([a-fA-F]|[0-9]){2}){2}$",
348 "readonly": true,
349 "type": [
350 "string",
351 "null"
352 ]
353 }
354 },
355 "required": [
356 "Id",
357 "Name"
358 ],
359 "type": "object"
360 }
361 },
362 "owningEntity": "DMTF",
363 "title": "#PCIeFunction.v1_2_0.PCIeFunction"
364}