Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 1 | { |
| 2 | "$ref": "#/definitions/PCIeFunction", |
Ed Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 3 | "$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 Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 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", |
Ed Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 16 | "integer", |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 17 | "number", |
| 18 | "null", |
| 19 | "object", |
| 20 | "string" |
| 21 | ] |
| 22 | } |
| 23 | }, |
| 24 | "properties": { |
| 25 | "Oem": { |
Ed Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 26 | "$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 Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 29 | } |
| 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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 107 | "integer", |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 108 | "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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 126 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count" |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 127 | }, |
| 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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 138 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count" |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 139 | }, |
| 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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 150 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count" |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 151 | }, |
| 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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 180 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/count" |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 181 | } |
| 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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 195 | "integer", |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 196 | "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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 209 | "longDescription": "This resource shall be used to represent a PCIeFunction attached to a System.", |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 210 | "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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 216 | "integer", |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 217 | "number", |
| 218 | "null", |
| 219 | "object", |
| 220 | "string" |
| 221 | ] |
| 222 | } |
| 223 | }, |
| 224 | "properties": { |
| 225 | "@odata.context": { |
Ed Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 226 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/context" |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 227 | }, |
| 228 | "@odata.etag": { |
Ed Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 229 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/etag" |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 230 | }, |
| 231 | "@odata.id": { |
Ed Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 232 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/id" |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 233 | }, |
| 234 | "@odata.type": { |
Ed Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 235 | "$ref": "http://redfish.dmtf.org/schemas/v1/odata.v4_0_3.json#/definitions/type" |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 236 | }, |
| 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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 284 | "integer", |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 285 | "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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 300 | "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 Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 302 | }, |
| 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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 323 | "$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 Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 326 | }, |
| 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 Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 359 | "@odata.id", |
| 360 | "@odata.type", |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 361 | "Id", |
| 362 | "Name" |
| 363 | ], |
| 364 | "type": "object" |
| 365 | } |
| 366 | }, |
| 367 | "owningEntity": "DMTF", |
Ed Tanous | 530520e | 2019-01-02 13:41:37 -0800 | [diff] [blame^] | 368 | "title": "#PCIeFunction.v1_2_1.PCIeFunction" |
Ed Tanous | 118b1c7 | 2018-09-13 13:45:51 -0700 | [diff] [blame] | 369 | } |