xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/VirtualCXLSwitch.v1_0_0.json (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1*c6d7a45dSGunnar Mills{
2*c6d7a45dSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/VirtualCXLSwitch.v1_0_0.json",
3*c6d7a45dSGunnar Mills    "$ref": "#/definitions/VirtualCXLSwitch",
4*c6d7a45dSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*c6d7a45dSGunnar Mills    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*c6d7a45dSGunnar Mills    "definitions": {
7*c6d7a45dSGunnar Mills        "Actions": {
8*c6d7a45dSGunnar Mills            "additionalProperties": false,
9*c6d7a45dSGunnar Mills            "description": "The available actions for this resource.",
10*c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11*c6d7a45dSGunnar Mills            "patternProperties": {
12*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14*c6d7a45dSGunnar Mills                    "type": [
15*c6d7a45dSGunnar Mills                        "array",
16*c6d7a45dSGunnar Mills                        "boolean",
17*c6d7a45dSGunnar Mills                        "integer",
18*c6d7a45dSGunnar Mills                        "number",
19*c6d7a45dSGunnar Mills                        "null",
20*c6d7a45dSGunnar Mills                        "object",
21*c6d7a45dSGunnar Mills                        "string"
22*c6d7a45dSGunnar Mills                    ]
23*c6d7a45dSGunnar Mills                }
24*c6d7a45dSGunnar Mills            },
25*c6d7a45dSGunnar Mills            "properties": {
26*c6d7a45dSGunnar Mills                "Oem": {
27*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/OemActions",
28*c6d7a45dSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
29*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
30*c6d7a45dSGunnar Mills                }
31*c6d7a45dSGunnar Mills            },
32*c6d7a45dSGunnar Mills            "type": "object"
33*c6d7a45dSGunnar Mills        },
34*c6d7a45dSGunnar Mills        "Links": {
35*c6d7a45dSGunnar Mills            "additionalProperties": false,
36*c6d7a45dSGunnar Mills            "description": "The links to other resources that are related to this resource.",
37*c6d7a45dSGunnar Mills            "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*c6d7a45dSGunnar Mills            "patternProperties": {
39*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
40*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
41*c6d7a45dSGunnar Mills                    "type": [
42*c6d7a45dSGunnar Mills                        "array",
43*c6d7a45dSGunnar Mills                        "boolean",
44*c6d7a45dSGunnar Mills                        "integer",
45*c6d7a45dSGunnar Mills                        "number",
46*c6d7a45dSGunnar Mills                        "null",
47*c6d7a45dSGunnar Mills                        "object",
48*c6d7a45dSGunnar Mills                        "string"
49*c6d7a45dSGunnar Mills                    ]
50*c6d7a45dSGunnar Mills                }
51*c6d7a45dSGunnar Mills            },
52*c6d7a45dSGunnar Mills            "properties": {
53*c6d7a45dSGunnar Mills                "Endpoints": {
54*c6d7a45dSGunnar Mills                    "description": "The links to the endpoints designated for this Virtual CXL Switch.",
55*c6d7a45dSGunnar Mills                    "items": {
56*c6d7a45dSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Endpoint.json#/definitions/Endpoint"
57*c6d7a45dSGunnar Mills                    },
58*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Endpoint` that represent the endpoints for this Virtual CXL Switch.",
59*c6d7a45dSGunnar Mills                    "readonly": true,
60*c6d7a45dSGunnar Mills                    "type": "array"
61*c6d7a45dSGunnar Mills                },
62*c6d7a45dSGunnar Mills                "Endpoints@odata.count": {
63*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
64*c6d7a45dSGunnar Mills                },
65*c6d7a45dSGunnar Mills                "Oem": {
66*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
67*c6d7a45dSGunnar Mills                    "description": "The OEM extension property.",
68*c6d7a45dSGunnar Mills                    "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*c6d7a45dSGunnar Mills                },
70*c6d7a45dSGunnar Mills                "Port": {
71*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port",
72*c6d7a45dSGunnar Mills                    "description": "The link to the local upstream port of the switch that is physically connected to a host or another switch for this Virtual CXL Switch.",
73*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `Port` that represents the local upstream port of the switch that is physically connected to a host or another switch for this Virtual CXL Switch.",
74*c6d7a45dSGunnar Mills                    "readonly": true
75*c6d7a45dSGunnar Mills                }
76*c6d7a45dSGunnar Mills            },
77*c6d7a45dSGunnar Mills            "type": "object"
78*c6d7a45dSGunnar Mills        },
79*c6d7a45dSGunnar Mills        "OemActions": {
80*c6d7a45dSGunnar Mills            "additionalProperties": true,
81*c6d7a45dSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
82*c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
83*c6d7a45dSGunnar Mills            "patternProperties": {
84*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
85*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
86*c6d7a45dSGunnar Mills                    "type": [
87*c6d7a45dSGunnar Mills                        "array",
88*c6d7a45dSGunnar Mills                        "boolean",
89*c6d7a45dSGunnar Mills                        "integer",
90*c6d7a45dSGunnar Mills                        "number",
91*c6d7a45dSGunnar Mills                        "null",
92*c6d7a45dSGunnar Mills                        "object",
93*c6d7a45dSGunnar Mills                        "string"
94*c6d7a45dSGunnar Mills                    ]
95*c6d7a45dSGunnar Mills                }
96*c6d7a45dSGunnar Mills            },
97*c6d7a45dSGunnar Mills            "properties": {},
98*c6d7a45dSGunnar Mills            "type": "object"
99*c6d7a45dSGunnar Mills        },
100*c6d7a45dSGunnar Mills        "VirtualCXLSwitch": {
101*c6d7a45dSGunnar Mills            "additionalProperties": false,
102*c6d7a45dSGunnar Mills            "description": "The Virtual CXL Switch describes the virtual component with the CXL switch that is governed by a list of rules as prescribed in the CXL specification.",
103*c6d7a45dSGunnar Mills            "longDescription": "This resource shall represent a VCS entity within a CXL switch.  The CXL Specification contains the complete definition of a Virtual CXL Switch.",
104*c6d7a45dSGunnar Mills            "patternProperties": {
105*c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
106*c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
107*c6d7a45dSGunnar Mills                    "type": [
108*c6d7a45dSGunnar Mills                        "array",
109*c6d7a45dSGunnar Mills                        "boolean",
110*c6d7a45dSGunnar Mills                        "integer",
111*c6d7a45dSGunnar Mills                        "number",
112*c6d7a45dSGunnar Mills                        "null",
113*c6d7a45dSGunnar Mills                        "object",
114*c6d7a45dSGunnar Mills                        "string"
115*c6d7a45dSGunnar Mills                    ]
116*c6d7a45dSGunnar Mills                }
117*c6d7a45dSGunnar Mills            },
118*c6d7a45dSGunnar Mills            "properties": {
119*c6d7a45dSGunnar Mills                "@odata.context": {
120*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
121*c6d7a45dSGunnar Mills                },
122*c6d7a45dSGunnar Mills                "@odata.etag": {
123*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
124*c6d7a45dSGunnar Mills                },
125*c6d7a45dSGunnar Mills                "@odata.id": {
126*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
127*c6d7a45dSGunnar Mills                },
128*c6d7a45dSGunnar Mills                "@odata.type": {
129*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
130*c6d7a45dSGunnar Mills                },
131*c6d7a45dSGunnar Mills                "Actions": {
132*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/Actions",
133*c6d7a45dSGunnar Mills                    "description": "The available actions for this resource.",
134*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
135*c6d7a45dSGunnar Mills                },
136*c6d7a45dSGunnar Mills                "Description": {
137*c6d7a45dSGunnar Mills                    "anyOf": [
138*c6d7a45dSGunnar Mills                        {
139*c6d7a45dSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
140*c6d7a45dSGunnar Mills                        },
141*c6d7a45dSGunnar Mills                        {
142*c6d7a45dSGunnar Mills                            "type": "null"
143*c6d7a45dSGunnar Mills                        }
144*c6d7a45dSGunnar Mills                    ],
145*c6d7a45dSGunnar Mills                    "readonly": true
146*c6d7a45dSGunnar Mills                },
147*c6d7a45dSGunnar Mills                "HDMDecoders": {
148*c6d7a45dSGunnar Mills                    "description": "The number of HDM (Host Device Memory) decoders present in this Virtual CXL Switch.",
149*c6d7a45dSGunnar Mills                    "longDescription": "The number of HDM (Host Device Memory) decoders present in this Virtual CXL Switch.",
150*c6d7a45dSGunnar Mills                    "readonly": true,
151*c6d7a45dSGunnar Mills                    "type": "integer"
152*c6d7a45dSGunnar Mills                },
153*c6d7a45dSGunnar Mills                "Id": {
154*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
155*c6d7a45dSGunnar Mills                    "readonly": true
156*c6d7a45dSGunnar Mills                },
157*c6d7a45dSGunnar Mills                "Links": {
158*c6d7a45dSGunnar Mills                    "$ref": "#/definitions/Links",
159*c6d7a45dSGunnar Mills                    "description": "The links to other resources that are related to this resource.",
160*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
161*c6d7a45dSGunnar Mills                },
162*c6d7a45dSGunnar Mills                "Name": {
163*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
164*c6d7a45dSGunnar Mills                    "readonly": true
165*c6d7a45dSGunnar Mills                },
166*c6d7a45dSGunnar Mills                "Oem": {
167*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
168*c6d7a45dSGunnar Mills                    "description": "The OEM extension property.",
169*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
170*c6d7a45dSGunnar Mills                },
171*c6d7a45dSGunnar Mills                "Status": {
172*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
173*c6d7a45dSGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
174*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource."
175*c6d7a45dSGunnar Mills                },
176*c6d7a45dSGunnar Mills                "VCSId": {
177*c6d7a45dSGunnar Mills                    "description": "The Virtual CXL Switch identifier.",
178*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the identifier of the Virtual CXL Switch.",
179*c6d7a45dSGunnar Mills                    "readonly": true,
180*c6d7a45dSGunnar Mills                    "type": "string"
181*c6d7a45dSGunnar Mills                },
182*c6d7a45dSGunnar Mills                "VPPBs": {
183*c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/VirtualPCI2PCIBridgeCollection.json#/definitions/VirtualPCI2PCIBridgeCollection",
184*c6d7a45dSGunnar Mills                    "description": "The link to the collection of vPPBs (Virtual PCI-to-PCI Bridges) for this Virtual CXL Switch.",
185*c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `VirtualPCI2PCIBridgeCollection`.",
186*c6d7a45dSGunnar Mills                    "readonly": true
187*c6d7a45dSGunnar Mills                }
188*c6d7a45dSGunnar Mills            },
189*c6d7a45dSGunnar Mills            "required": [
190*c6d7a45dSGunnar Mills                "@odata.id",
191*c6d7a45dSGunnar Mills                "@odata.type",
192*c6d7a45dSGunnar Mills                "Id",
193*c6d7a45dSGunnar Mills                "Name"
194*c6d7a45dSGunnar Mills            ],
195*c6d7a45dSGunnar Mills            "type": "object"
196*c6d7a45dSGunnar Mills        }
197*c6d7a45dSGunnar Mills    },
198*c6d7a45dSGunnar Mills    "owningEntity": "DMTF",
199*c6d7a45dSGunnar Mills    "release": "2025.2",
200*c6d7a45dSGunnar Mills    "title": "#VirtualCXLSwitch.v1_0_0.VirtualCXLSwitch"
201*c6d7a45dSGunnar Mills}