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                                "Manufacturer": {
13                                    "type": "string"
14                                },
15                                "Model": {
16                                    "type": "string"
17                                },
18                                "PartNumber": {
19                                    "type": "string"
20                                },
21                                "SerialNumber": {
22                                    "type": "string"
23                                }
24                            },
25                            "required": [
26                                "Manufacturer",
27                                "Model",
28                                "PartNumber",
29                                "SerialNumber"
30                            ],
31                            "type": "object"
32                        },
33                        "AssetTag": {
34                            "additionalProperties": false,
35                            "properties": {
36                                "AssetTag": {
37                                    "type": "string"
38                                }
39                            },
40                            "required": ["AssetTag"],
41                            "type": "object"
42                        },
43                        "Compatible": {
44                            "additionalProperties": false,
45                            "properties": {
46                                "Names": {
47                                    "type": "array",
48                                    "items": {
49                                        "type": "string"
50                                    }
51                                }
52                            },
53                            "required": ["Names"],
54                            "type": "object"
55                        },
56                        "Replaceable": {
57                            "additionalProperties": false,
58                            "properties": {
59                                "FieldReplaceable": {
60                                    "type": "boolean"
61                                },
62                                "HotPluggable": {
63                                    "type": "boolean"
64                                }
65                            },
66                            "required": ["FieldReplaceable", "HotPluggable"],
67                            "type": "object"
68                        }
69                    },
70                    "Item": {
71                        "Board": {
72                            "Motherboard": {
73                                "additionalProperties": false,
74                                "properties": {
75                                    "ProductId": {
76                                        "type": "number"
77                                    }
78                                },
79                                "required": ["ProductId"],
80                                "type": "object"
81                            }
82                        },
83                        "Chassis": {
84                            "additionalProperties": false,
85                            "type": "object"
86                        },
87                        "Panel": {
88                            "additionalProperties": false,
89                            "type": "object"
90                        },
91                        "System": {
92                            "additionalProperties": false,
93                            "type": "object"
94                        }
95                    }
96                }
97            }
98        }
99    }
100}
101