xref: /openbmc/bmcweb/redfish-core/schema/dmtf/json-schema/VirtualCXLSwitch.v1_0_0.json (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
1{
2    "$id": "http://redfish.dmtf.org/schemas/v1/VirtualCXLSwitch.v1_0_0.json",
3    "$ref": "#/definitions/VirtualCXLSwitch",
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 designated for this Virtual CXL Switch.",
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 for this Virtual CXL Switch.",
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                    "$ref": "http://redfish.dmtf.org/schemas/v1/Port.json#/definitions/Port",
72                    "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                    "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                    "readonly": true
75                }
76            },
77            "type": "object"
78        },
79        "OemActions": {
80            "additionalProperties": true,
81            "description": "The available OEM-specific actions for this resource.",
82            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
83            "patternProperties": {
84                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
85                    "description": "This property shall specify a valid odata or Redfish property.",
86                    "type": [
87                        "array",
88                        "boolean",
89                        "integer",
90                        "number",
91                        "null",
92                        "object",
93                        "string"
94                    ]
95                }
96            },
97            "properties": {},
98            "type": "object"
99        },
100        "VirtualCXLSwitch": {
101            "additionalProperties": false,
102            "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            "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            "patternProperties": {
105                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
106                    "description": "This property shall specify a valid odata or Redfish property.",
107                    "type": [
108                        "array",
109                        "boolean",
110                        "integer",
111                        "number",
112                        "null",
113                        "object",
114                        "string"
115                    ]
116                }
117            },
118            "properties": {
119                "@odata.context": {
120                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
121                },
122                "@odata.etag": {
123                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
124                },
125                "@odata.id": {
126                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
127                },
128                "@odata.type": {
129                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
130                },
131                "Actions": {
132                    "$ref": "#/definitions/Actions",
133                    "description": "The available actions for this resource.",
134                    "longDescription": "This property shall contain the available actions for this resource."
135                },
136                "Description": {
137                    "anyOf": [
138                        {
139                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
140                        },
141                        {
142                            "type": "null"
143                        }
144                    ],
145                    "readonly": true
146                },
147                "HDMDecoders": {
148                    "description": "The number of HDM (Host Device Memory) decoders present in this Virtual CXL Switch.",
149                    "longDescription": "The number of HDM (Host Device Memory) decoders present in this Virtual CXL Switch.",
150                    "readonly": true,
151                    "type": "integer"
152                },
153                "Id": {
154                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
155                    "readonly": true
156                },
157                "Links": {
158                    "$ref": "#/definitions/Links",
159                    "description": "The links to other resources that are related to this resource.",
160                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."
161                },
162                "Name": {
163                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
164                    "readonly": true
165                },
166                "Oem": {
167                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
168                    "description": "The OEM extension property.",
169                    "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                },
171                "Status": {
172                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
173                    "description": "The status and health of the resource and its subordinate or dependent resources.",
174                    "longDescription": "This property shall contain any status or health properties of the resource."
175                },
176                "VCSId": {
177                    "description": "The Virtual CXL Switch identifier.",
178                    "longDescription": "This property shall contain the identifier of the Virtual CXL Switch.",
179                    "readonly": true,
180                    "type": "string"
181                },
182                "VPPBs": {
183                    "$ref": "http://redfish.dmtf.org/schemas/v1/VirtualPCI2PCIBridgeCollection.json#/definitions/VirtualPCI2PCIBridgeCollection",
184                    "description": "The link to the collection of vPPBs (Virtual PCI-to-PCI Bridges) for this Virtual CXL Switch.",
185                    "longDescription": "This property shall contain a link to a resource collection of type `VirtualPCI2PCIBridgeCollection`.",
186                    "readonly": true
187                }
188            },
189            "required": [
190                "@odata.id",
191                "@odata.type",
192                "Id",
193                "Name"
194            ],
195            "type": "object"
196        }
197    },
198    "owningEntity": "DMTF",
199    "release": "2025.2",
200    "title": "#VirtualCXLSwitch.v1_0_0.VirtualCXLSwitch"
201}