xref: /openbmc/entity-manager/schemas/openbmc-dbus.json (revision da89d235c12bfc2c19437fecf2d1ca5251523e1c)
1{
2    "$schema": "http://json-schema.org/draft-07/schema#",
3    "title": "Schemas for JSON representations of OpenBMC DBus interfaces",
4    "$defs": {
5        "xyz": {
6            "openbmc_project": {
7                "Inventory": {
8                    "Decorator": {
9                        "Asset": {
10                            "additionalProperties": false,
11                            "properties": {
12                                "BuildDate": {
13                                    "type": "string"
14                                },
15                                "SparePartNumber": {
16                                    "type": "string"
17                                },
18                                "Manufacturer": {
19                                    "type": "string"
20                                },
21                                "Model": {
22                                    "type": "string"
23                                },
24                                "PartNumber": {
25                                    "type": "string"
26                                },
27                                "SerialNumber": {
28                                    "type": "string"
29                                }
30                            },
31                            "required": [
32                                "Manufacturer",
33                                "Model",
34                                "PartNumber",
35                                "SerialNumber"
36                            ],
37                            "type": "object"
38                        },
39                        "AssetTag": {
40                            "additionalProperties": false,
41                            "properties": {
42                                "AssetTag": {
43                                    "type": "string"
44                                }
45                            },
46                            "required": ["AssetTag"],
47                            "type": "object"
48                        },
49                        "Compatible": {
50                            "additionalProperties": false,
51                            "properties": {
52                                "Names": {
53                                    "type": "array",
54                                    "items": {
55                                        "type": "string"
56                                    }
57                                }
58                            },
59                            "required": ["Names"],
60                            "type": "object"
61                        },
62                        "ManagedHost": {
63                            "description": "Used to enumerate hosts from 1 to N on multi-host platforms. Set to 0 for a single-host system. Can be used to map a host to e.g. a systemd service instance.",
64                            "additionalProperties": false,
65                            "properties": {
66                                "HostIndex": {
67                                    "type": ["string", "number"]
68                                }
69                            },
70                            "required": ["HostIndex"],
71                            "type": "object"
72                        },
73                        "Cable": {
74                            "additionalProperties": false,
75                            "properties": {
76                                "Length": {
77                                    "type": "number"
78                                },
79                                "Type": {
80                                    "enum": ["Optical", "Copper", "Unknown"]
81                                }
82                            },
83                            "required": ["Length", "Type"],
84                            "type": "object"
85                        },
86                        "Replaceable": {
87                            "additionalProperties": false,
88                            "properties": {
89                                "FieldReplaceable": {
90                                    "type": "boolean"
91                                },
92                                "HotPluggable": {
93                                    "type": "boolean"
94                                }
95                            },
96                            "required": ["FieldReplaceable", "HotPluggable"],
97                            "type": "object"
98                        },
99                        "Slot": {
100                            "additionalProperties": false,
101                            "properties": {
102                                "SlotNumber": {
103                                    "type": ["string", "number"]
104                                }
105                            },
106                            "required": ["SlotNumber"],
107                            "type": "object"
108                        },
109                        "Revision": {
110                            "additionalProperties": false,
111                            "properties": {
112                                "Version": {
113                                    "type": "string"
114                                }
115                            },
116                            "required": ["Version"],
117                            "type": "object"
118                        }
119                    },
120                    "Item": {
121                        "Board": {
122                            "Motherboard": {
123                                "additionalProperties": false,
124                                "type": "object"
125                            }
126                        },
127                        "Chassis": {
128                            "additionalProperties": false,
129                            "properties": {
130                                "Type": {
131                                    "type": "string"
132                                }
133                            },
134                            "type": "object"
135                        },
136                        "NetworkInterface": {
137                            "additionalProperties": false,
138                            "properties": {
139                                "MACAddress": {
140                                    "type": "string"
141                                }
142                            },
143                            "required": ["MACAddress"],
144                            "type": "object"
145                        },
146                        "Panel": {
147                            "additionalProperties": false,
148                            "type": "object"
149                        },
150                        "System": {
151                            "additionalProperties": false,
152                            "type": "object"
153                        },
154                        "Bmc": {
155                            "additionalProperties": false,
156                            "type": "object"
157                        },
158                        "Storage": {
159                            "additionalProperties": false,
160                            "type": "object"
161                        },
162                        "Accelerator": {
163                            "additionalProperties": false,
164                            "properties": {
165                                "Type": {
166                                    "type": "string"
167                                }
168                            },
169                            "required": ["Type"],
170                            "type": "object"
171                        },
172                        "Dimm": {
173                            "additionalProperties": false,
174                            "type": "object"
175                        },
176                        "Valve": {
177                            "additionalProperties": false,
178                            "properties": {
179                                "Direction": {
180                                    "enum": [
181                                        "xyz.openbmc_project.Inventory.Item.Valve.Direction.Supply",
182                                        "xyz.openbmc_project.Inventory.Item.Valve.Direction.Return",
183                                        "xyz.openbmc_project.Inventory.Item.Valve.Direction.Unknown"
184                                    ]
185                                }
186                            },
187                            "required": ["Direction"],
188                            "type": "object"
189                        }
190                    }
191                },
192                "Common": {
193                    "UUID": {
194                        "additionalProperties": false,
195                        "properties": {
196                            "UUID": {
197                                "type": "string"
198                            }
199                        },
200                        "required": ["UUID"],
201                        "type": "object"
202                    }
203                }
204            }
205        }
206    }
207}
208