1{ 2 "$id": "http://redfish.dmtf.org/schemas/v1/VirtualPCI2PCIBridge.v1_0_0.json", 3 "$ref": "#/definitions/VirtualPCI2PCIBridge", 4 "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", 5 "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright", 6 "definitions": { 7 "Actions": { 8 "additionalProperties": false, 9 "description": "The available actions for this resource.", 10 "longDescription": "This type shall contain the available actions for this resource.", 11 "patternProperties": { 12 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 13 "description": "This property shall specify a valid odata or Redfish property.", 14 "type": [ 15 "array", 16 "boolean", 17 "integer", 18 "number", 19 "null", 20 "object", 21 "string" 22 ] 23 } 24 }, 25 "properties": { 26 "Oem": { 27 "$ref": "#/definitions/OemActions", 28 "description": "The available OEM-specific actions for this resource.", 29 "longDescription": "This property shall contain the available OEM-specific actions for this resource." 30 } 31 }, 32 "type": "object" 33 }, 34 "Links": { 35 "additionalProperties": false, 36 "description": "The links to other resources that are related to this resource.", 37 "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.", 38 "patternProperties": { 39 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 40 "description": "This property shall specify a valid odata or Redfish property.", 41 "type": [ 42 "array", 43 "boolean", 44 "integer", 45 "number", 46 "null", 47 "object", 48 "string" 49 ] 50 } 51 }, 52 "properties": { 53 "Endpoints": { 54 "description": "The links to the endpoints associated with this vPPB.", 55 "items": { 56 "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint" 57 }, 58 "longDescription": "This property shall contain an array of links to resources of type `Endpoint` that represent the endpoints associated with this vPPB.", 59 "readonly": true, 60 "type": "array" 61 }, 62 "Endpoints@odata.count": { 63 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count" 64 }, 65 "Oem": { 66 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", 67 "description": "The OEM extension property.", 68 "longDescription": "This property shall contain the OEM extensions. All values for properties contained in this object shall conform to the Redfish Specification-described requirements." 69 }, 70 "Port": { 71 "anyOf": [ 72 { 73 "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port" 74 }, 75 { 76 "type": "null" 77 } 78 ], 79 "description": "The link to the port associated with this vPPB.", 80 "longDescription": "This property shall contain a link to a resource of type `Port` that represents the port associated with this vPPB.", 81 "readonly": false 82 } 83 }, 84 "type": "object" 85 }, 86 "OemActions": { 87 "additionalProperties": true, 88 "description": "The available OEM-specific actions for this resource.", 89 "longDescription": "This type shall contain the available OEM-specific actions for this resource.", 90 "patternProperties": { 91 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 92 "description": "This property shall specify a valid odata or Redfish property.", 93 "type": [ 94 "array", 95 "boolean", 96 "integer", 97 "number", 98 "null", 99 "object", 100 "string" 101 ] 102 } 103 }, 104 "properties": {}, 105 "type": "object" 106 }, 107 "VirtualPCI2PCIBridge": { 108 "additionalProperties": false, 109 "description": "The `VirtualPCI2PCIBridge` schema describes Virtual PCI-to-PCI Bridge (vPPB) inside a CXL switch that is owned by the host.", 110 "longDescription": "This resource shall represent a Virtual PCI-to-PCI Bridge (vPPB) inside a CXL switch that is host-owned. This can be bound to a port that is either disconnected, connected to a PCIe component, or connected to a CXL component.", 111 "patternProperties": { 112 "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": { 113 "description": "This property shall specify a valid odata or Redfish property.", 114 "type": [ 115 "array", 116 "boolean", 117 "integer", 118 "number", 119 "null", 120 "object", 121 "string" 122 ] 123 } 124 }, 125 "properties": { 126 "@odata.context": { 127 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context" 128 }, 129 "@odata.etag": { 130 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag" 131 }, 132 "@odata.id": { 133 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id" 134 }, 135 "@odata.type": { 136 "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type" 137 }, 138 "Actions": { 139 "$ref": "#/definitions/Actions", 140 "description": "The available actions for this resource.", 141 "longDescription": "This property shall contain the available actions for this resource." 142 }, 143 "BindingStatus": { 144 "$ref": "#/definitions/vPPBStatusTypes", 145 "description": "The binding status of the vPPB.", 146 "longDescription": "This property shall contain the binding status of the vPPB.", 147 "readonly": true 148 }, 149 "BoundLDId": { 150 "description": "The identifier of the bound local logical device.", 151 "longDescription": "This property shall contain the identifier of the bound local logical device bound to this vPPB. This property shall only be present if `BindingStatus` contains `BoundLD`.", 152 "readonly": true, 153 "type": "integer" 154 }, 155 "BoundPBRId": { 156 "description": "The identifier of the bound PBR.", 157 "longDescription": "This property shall contain the identifier of PBR bound to this vPPB. This property shall only be present if `BindingStatus` contains `BoundPID`.", 158 "readonly": true, 159 "type": "integer" 160 }, 161 "BoundPortId": { 162 "description": "The physical port number of the bound port.", 163 "longDescription": "This property shall contain the physical port number of the port bound to this vPPB. This property shall only be present if `BindingStatus` contains `BoundPhysicalPort` or `BoundLD`.", 164 "readonly": true, 165 "type": "integer" 166 }, 167 "Description": { 168 "anyOf": [ 169 { 170 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description" 171 }, 172 { 173 "type": "null" 174 } 175 ], 176 "readonly": true 177 }, 178 "GCXLID": { 179 "description": "The GCXLID for the CXL logical device bound to this vPPB.", 180 "longDescription": "This property shall contain the globally unique CXL logical device identifier (GCXLID) for the CXL logical device that is bound to this vPPB.", 181 "pattern": "^([0-9A-Fa-f]{2}-){7}[0-9A-Fa-f]{2}:([0-9A-Fa-f]{4})$", 182 "readonly": true, 183 "type": [ 184 "string", 185 "null" 186 ] 187 }, 188 "Id": { 189 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id", 190 "readonly": true 191 }, 192 "Links": { 193 "$ref": "#/definitions/Links", 194 "description": "The links to other resources that are related to this resource.", 195 "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource." 196 }, 197 "Name": { 198 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name", 199 "readonly": true 200 }, 201 "Oem": { 202 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem", 203 "description": "The OEM extension property.", 204 "longDescription": "This property shall contain the OEM extensions. All values for properties that this object contains shall conform to the Redfish Specification-described requirements." 205 }, 206 "Status": { 207 "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status", 208 "description": "The status and health of the resource and its subordinate or dependent resources.", 209 "longDescription": "This property shall contain any status or health properties of the resource." 210 }, 211 "VPPBId": { 212 "description": "The Virtual PCI-PCI Bridge identifier.", 213 "longDescription": "This property shall contain the identifier of the vPPB. This property shall contain the same value as the `Id` property.", 214 "readonly": true, 215 "type": [ 216 "string", 217 "null" 218 ] 219 } 220 }, 221 "required": [ 222 "@odata.id", 223 "@odata.type", 224 "Id", 225 "Name" 226 ], 227 "type": "object" 228 }, 229 "vPPBStatusTypes": { 230 "enum": [ 231 "Unbound", 232 "Busy", 233 "BoundPhysicalPort", 234 "BoundLD", 235 "BoundPID" 236 ], 237 "enumDescriptions": { 238 "BoundLD": "This vPPB is bound to a CXL logical device.", 239 "BoundPID": "This vPPB is bound to a PBR ID.", 240 "BoundPhysicalPort": "This vPPB is bound to a physical port.", 241 "Busy": "Binding or unbinding is in progress for this vPPB.", 242 "Unbound": "This vPPB is in unbound state." 243 }, 244 "enumLongDescriptions": { 245 "BoundLD": "This value shall indicate the CXL Specification-defined 'Bound LD' state for the vPPB.", 246 "BoundPID": "This value shall indicate the CXL Specification-defined 'Bound PBR Id' state for the vPPB.", 247 "BoundPhysicalPort": "This value shall indicate the CXL Specification-defined 'Bound Physical Port' state for the vPPB.", 248 "Busy": "This value shall indicate the CXL Specification-defined 'Binding or Unbinding' state for the vPPB.", 249 "Unbound": "This value shall indicate the CXL Specification-defined 'Unbound' state for the vPPB." 250 }, 251 "type": "string" 252 } 253 }, 254 "owningEntity": "DMTF", 255 "release": "2025.2", 256 "title": "#VirtualPCI2PCIBridge.v1_0_0.VirtualPCI2PCIBridge" 257}