xref: /openbmc/entity-manager/schemas/openbmc-dbus.json (revision 075ad3f478655adc3e6d32cae10d9440b79641fe)
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                            "additionalProperties": false,
64                            "properties": {
65                                "HostIndex": {
66                                    "type": ["string", "number"]
67                                }
68                            },
69                            "required": ["HostIndex"],
70                            "type": "object"
71                        },
72                        "Cable": {
73                            "additionalProperties": false,
74                            "properties": {
75                                "Length": {
76                                    "type": "number"
77                                },
78                                "Type": {
79                                    "enum": ["Optical", "Copper", "Unknown"]
80                                }
81                            },
82                            "required": ["Length", "Type"],
83                            "type": "object"
84                        },
85                        "Replaceable": {
86                            "additionalProperties": false,
87                            "properties": {
88                                "FieldReplaceable": {
89                                    "type": "boolean"
90                                },
91                                "HotPluggable": {
92                                    "type": "boolean"
93                                }
94                            },
95                            "required": ["FieldReplaceable", "HotPluggable"],
96                            "type": "object"
97                        },
98                        "Slot": {
99                            "additionalProperties": false,
100                            "properties": {
101                                "SlotNumber": {
102                                    "type": ["string", "number"]
103                                }
104                            },
105                            "required": ["SlotNumber"],
106                            "type": "object"
107                        },
108                        "Revision": {
109                            "additionalProperties": false,
110                            "properties": {
111                                "Version": {
112                                    "type": "string"
113                                }
114                            },
115                            "required": ["Version"],
116                            "type": "object"
117                        }
118                    },
119                    "Item": {
120                        "Board": {
121                            "Motherboard": {
122                                "additionalProperties": false,
123                                "type": "object"
124                            }
125                        },
126                        "Chassis": {
127                            "additionalProperties": false,
128                            "properties": {
129                                "Type": {
130                                    "type": "string"
131                                }
132                            },
133                            "type": "object"
134                        },
135                        "NetworkInterface": {
136                            "additionalProperties": false,
137                            "properties": {
138                                "MACAddress": {
139                                    "type": "string"
140                                }
141                            },
142                            "required": ["MACAddress"],
143                            "type": "object"
144                        },
145                        "Panel": {
146                            "additionalProperties": false,
147                            "type": "object"
148                        },
149                        "System": {
150                            "additionalProperties": false,
151                            "type": "object"
152                        },
153                        "Bmc": {
154                            "additionalProperties": false,
155                            "type": "object"
156                        },
157                        "Storage": {
158                            "additionalProperties": false,
159                            "type": "object"
160                        },
161                        "Accelerator": {
162                            "additionalProperties": false,
163                            "properties": {
164                                "Type": {
165                                    "type": "string"
166                                }
167                            },
168                            "required": ["Type"],
169                            "type": "object"
170                        },
171                        "Dimm": {
172                            "additionalProperties": false,
173                            "type": "object"
174                        }
175                    }
176                },
177                "Common": {
178                    "UUID": {
179                        "additionalProperties": false,
180                        "properties": {
181                            "UUID": {
182                                "type": "string"
183                            }
184                        },
185                        "required": ["UUID"],
186                        "type": "object"
187                    }
188                }
189            }
190        }
191    }
192}
193