blob: 39aad44c466de794ae44f2c9530651f2cb49fd01 [file] [log] [blame]
Alexander Hansend646b252025-04-11 14:13:40 +02001{
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "$defs": {
Alexander Hansen1faa6282025-04-11 14:26:04 +02004 "ConfigSchema": {
5 "oneOf": [
6 {
7 "$ref": "ibm.json#/$defs/PowerModeProperties"
8 },
9 {
10 "$ref": "ibm.json#/$defs/IBMCompatibleSystem"
11 },
12 {
13 "$ref": "ibm.json#/$defs/IBMCFFPSConnector"
14 },
15 {
16 "$ref": "intel.json#/$defs/IntelFanConnector"
17 },
18 {
19 "$ref": "mctp.json#/$defs/MCTPI2CTarget"
20 },
21 {
22 "$ref": "mctp.json#/$defs/MCTPI3CTarget"
23 },
24 {
25 "$ref": "pid.json#/$defs/Pid"
26 },
27 {
28 "$ref": "pid_zone.json#/$defs/PidZone"
29 },
30 {
31 "$ref": "satellite_controller.json#/$defs/SatelliteController"
32 },
33 {
34 "$ref": "stepwise.json#/$defs/Stepwise"
35 },
36 {
37 "$ref": "legacy.json#/$defs/ExitAirTempSensor"
38 },
39 {
40 "$ref": "legacy.json#/$defs/CFMSensor"
41 },
42 {
43 "$ref": "legacy.json#/$defs/FanRedundancy"
44 },
45 {
46 "$ref": "legacy.json#/$defs/PURedundancy"
47 },
48 {
49 "$ref": "legacy.json#/$defs/ChassisIntrusionSensor"
50 },
51 {
52 "$ref": "legacy.json#/$defs/AspeedFan"
53 },
54 {
55 "$ref": "legacy.json#/$defs/I2CFan"
56 },
57 {
58 "$ref": "legacy.json#/$defs/NuvotonFan"
59 },
60 {
61 "$ref": "legacy.json#/$defs/XeonCPU"
62 },
63 {
64 "$ref": "legacy.json#/$defs/IpmbSensor"
65 },
66 {
67 "$ref": "legacy.json#/$defs/I2CMux"
68 },
69 {
70 "$ref": "legacy.json#/$defs/Gpio"
71 },
72 {
73 "$ref": "legacy.json#/$defs/MultiNodeID"
74 },
75 {
76 "$ref": "legacy.json#/$defs/MultiNodePresence"
77 },
78 {
79 "$ref": "legacy.json#/$defs/HostCpuUtilization"
80 },
81 {
82 "$ref": "legacy.json#/$defs/ExternalSensor"
83 },
84 {
85 "$ref": "legacy.json#/$defs/Port"
86 },
87 {
88 "$ref": "legacy.json#/$defs/DownstreamPort"
89 },
90 {
91 "$ref": "legacy.json#/$defs/PSUPresence"
92 },
93 {
94 "$ref": "legacy.json#/$defs/EmmcDevice"
95 },
96 {
97 "$ref": "legacy.json#/$defs/IpmbDevice"
98 },
99 {
100 "$ref": "legacy.json#/$defs/IpmbPowerMonitor"
101 },
102 {
103 "$ref": "legacy.json#/$defs/ADC"
104 },
105 {
106 "$ref": "legacy.json#/$defs/TempSensor"
107 },
108 {
109 "$ref": "legacy.json#/$defs/NVME1000"
110 },
111 {
112 "$ref": "legacy.json#/$defs/EEPROM"
113 },
114 {
115 "$ref": "legacy.json#/$defs/PSUSensor"
116 },
117 {
118 "$ref": "legacy.json#/$defs/NMSensor"
119 },
120 {
121 "$ref": "legacy.json#/$defs/IntelHsbpFruDevice"
122 },
123 {
124 "$ref": "legacy.json#/$defs/IntelHsbpTempSensor"
125 },
126 {
127 "$ref": "legacy.json#/$defs/IntelHsbpCPLD"
128 },
129 {
130 "$ref": "legacy.json#/$defs/GenericSMBusMux"
131 },
132 {
133 "$ref": "legacy.json#/$defs/BMC"
134 },
135 {
136 "$ref": "legacy.json#/$defs/UCD90XXX"
137 },
138 {
139 "$ref": "virtual_sensor.json#/$defs/VirtualSensor"
140 },
141 {
142 "$ref": "leak_detector.json#/$defs/GPIOLeakDetector"
143 },
144 {
145 "$ref": "firmware.json#/$defs/XDPE1X2XXFirmware"
146 }
147 ]
148 },
Alexander Hansend646b252025-04-11 14:13:40 +0200149 "EMExposesElement": {
150 "description": "The exposes property element schema. An element of the exposes property is always an array where elements are of type exposes entry.",
151 "allOf": [
152 {
Alexander Hansen1faa6282025-04-11 14:26:04 +0200153 "$ref": "#/$defs/ConfigSchema"
Alexander Hansend646b252025-04-11 14:13:40 +0200154 },
155 {
156 "title": "Missing 'Name'",
157 "description": "Ensure the schema does not validate when an element does not define a Name",
158 "required": ["Name"]
159 },
160 {
161 "title": "Missing 'Type'",
162 "description": "Ensure the schema does not validate when an element does not define a Type",
163 "required": ["Type"]
164 }
165 ],
166 "title": "Exposes Property Element"
167 }
168 },
169 "title": "Entity Manager Exposes Record",
170 "description": "The schema for an entity manager exposes record."
171}