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                        "Replaceable": {
63                            "additionalProperties": false,
64                            "properties": {
65                                "FieldReplaceable": {
66                                    "type": "boolean"
67                                },
68                                "HotPluggable": {
69                                    "type": "boolean"
70                                }
71                            },
72                            "required": ["FieldReplaceable", "HotPluggable"],
73                            "type": "object"
74                        },
75                        "Slot": {
76                            "additionalProperties": false,
77                            "properties": {
78                                "SlotNumber": {
79                                    "type": ["string", "number"]
80                                }
81                            },
82                            "required": ["SlotNumber"],
83                            "type": "object"
84                        },
85                        "Revision": {
86                            "additionalProperties": false,
87                            "properties": {
88                                "Version": {
89                                    "type": "string"
90                                }
91                            },
92                            "required": ["Version"],
93                            "type": "object"
94                        }
95                    },
96                    "Item": {
97                        "Board": {
98                            "Motherboard": {
99                                "additionalProperties": false,
100                                "properties": {
101                                    "ProductId": {
102                                        "type": "number"
103                                    }
104                                },
105                                "required": ["ProductId"],
106                                "type": "object"
107                            }
108                        },
109                        "Chassis": {
110                            "additionalProperties": false,
111                            "type": "object"
112                        },
113                        "NetworkInterface": {
114                            "additionalProperties": false,
115                            "properties": {
116                                "MACAddress": {
117                                    "type": "string"
118                                }
119                            },
120                            "required": ["MACAddress"],
121                            "type": "object"
122                        },
123                        "Panel": {
124                            "additionalProperties": false,
125                            "type": "object"
126                        },
127                        "System": {
128                            "additionalProperties": false,
129                            "type": "object"
130                        },
131                        "BMC": {
132                            "additionalProperties": false,
133                            "type": "object"
134                        },
135                        "Storage": {
136                            "additionalProperties": false,
137                            "type": "object"
138                        }
139                    }
140                },
141                "Common": {
142                    "UUID": {
143                        "additionalProperties": false,
144                        "properties": {
145                            "UUID": {
146                                "type": "string"
147                            }
148                        },
149                        "required": ["UUID"],
150                        "type": "object"
151                    }
152                }
153            }
154        }
155    }
156}
157