1{
2    "$schema": "http://json-schema.org/draft-07/schema#",
3    "title": "Schemas for JSON representations of OpenBMC DBus interfaces",
4    "definitions": {
5        "xyz": {
6            "openbmc_project": {
7                "Inventory": {
8                    "Decorator": {
9                        "Asset": {
10                            "additionalProperties": false,
11                            "properties": {
12                                "SparePartNumber": {
13                                    "type": "string"
14                                },
15                                "Manufacturer": {
16                                    "type": "string"
17                                },
18                                "Model": {
19                                    "type": "string"
20                                },
21                                "PartNumber": {
22                                    "type": "string"
23                                },
24                                "SerialNumber": {
25                                    "type": "string"
26                                }
27                            },
28                            "required": [
29                                "Manufacturer",
30                                "Model",
31                                "PartNumber",
32                                "SerialNumber"
33                            ],
34                            "type": "object"
35                        },
36                        "AssetTag": {
37                            "additionalProperties": false,
38                            "properties": {
39                                "AssetTag": {
40                                    "type": "string"
41                                }
42                            },
43                            "required": ["AssetTag"],
44                            "type": "object"
45                        },
46                        "Compatible": {
47                            "additionalProperties": false,
48                            "properties": {
49                                "Names": {
50                                    "type": "array",
51                                    "items": {
52                                        "type": "string"
53                                    }
54                                }
55                            },
56                            "required": ["Names"],
57                            "type": "object"
58                        },
59                        "Replaceable": {
60                            "additionalProperties": false,
61                            "properties": {
62                                "FieldReplaceable": {
63                                    "type": "boolean"
64                                },
65                                "HotPluggable": {
66                                    "type": "boolean"
67                                }
68                            },
69                            "required": ["FieldReplaceable", "HotPluggable"],
70                            "type": "object"
71                        },
72                        "Slot": {
73                            "additionalProperties": false,
74                            "properties": {
75                                "SlotNumber": {
76                                    "type": ["string", "number"]
77                                }
78                            },
79                            "required": ["SlotNumber"],
80                            "type": "object"
81                        },
82                        "Revision": {
83                            "additionalProperties": false,
84                            "properties": {
85                                "Version": {
86                                    "type": "string"
87                                }
88                            },
89                            "required": ["Version"],
90                            "type": "object"
91                        }
92                    },
93                    "Item": {
94                        "Board": {
95                            "Motherboard": {
96                                "additionalProperties": false,
97                                "properties": {
98                                    "ProductId": {
99                                        "type": "number"
100                                    }
101                                },
102                                "required": ["ProductId"],
103                                "type": "object"
104                            }
105                        },
106                        "Chassis": {
107                            "additionalProperties": false,
108                            "type": "object"
109                        },
110                        "NetworkInterface": {
111                            "additionalProperties": false,
112                            "properties": {
113                                "MACAddress": {
114                                    "type": "string"
115                                }
116                            },
117                            "required": ["MACAddress"],
118                            "type": "object"
119                        },
120                        "Panel": {
121                            "additionalProperties": false,
122                            "type": "object"
123                        },
124                        "System": {
125                            "additionalProperties": false,
126                            "type": "object"
127                        }
128                    }
129                },
130                "Common": {
131                    "UUID": {
132                        "additionalProperties": false,
133                        "properties": {
134                            "UUID": {
135                                "type": "string"
136                            }
137                        },
138                        "required": ["UUID"],
139                        "type": "object"
140                    }
141                }
142            }
143        }
144    }
145}
146