blob: 267aad306c60e9ebef54c36d58858fcceaa25ed0 [file] [log] [blame]
James Feistaf996fe2018-09-14 16:02:44 -07001<?xml version="1.0" encoding="UTF-8"?>
2<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
3 <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
4 <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData" />
5 </edmx:Reference>
6 <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
7 <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
8 <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
9 </edmx:Reference>
10 <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Manager_v1.xml">
11 <edmx:Include Namespace="Manager"/>
12 <edmx:Include Namespace="Manager.v1_4_0"/>
13 </edmx:Reference>
14 <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
15 <edmx:Include Namespace="Resource"/>
16 <edmx:Include Namespace="Resource.v1_0_0"/>
17 </edmx:Reference>
18 <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Chassis_v1.xml">
19 <edmx:Include Namespace="Chassis"/>
20 </edmx:Reference>
21
22 <edmx:DataServices>
23 <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="OemManager">
24 <ComplexType Name="Oem" BaseType="Resource.OemObject" ContainsTarget="true">
25 <Annotation Term="OData.AdditionalProperties" Bool="true" />
26 <Annotation Term="OData.Description" String="OemManager Oem properties." />
27 <Annotation Term="OData.AutoExpand"/>
28 <NavigationProperty Name="OpenBmc" Type="OemManager.OpenBmc"/>
29 </ComplexType>
30
31 <EntityType Name="OpenBmc" BaseType="Resource.OemObject" ContainsTarget="true">
32 <Annotation Term="OData.AdditionalProperties" Bool="true" />
33 <Annotation Term="OData.Description" String="Oem properties for OpenBmc." />
34 <Annotation Term="OData.AutoExpand"/>
35 <NavigationProperty Name="Fan" Type="OemManager.Fan"/>
36 </EntityType>
37
38 <EntityType Name="Fan" BaseType="Resource.OemObject" ContainsTarget="true">
39 <Annotation Term="OData.AdditionalProperties" Bool="true" />
40 <Annotation Term="OData.Description" String="OpenBmc oem fan properties." />
41 <Annotation Term="OData.AutoExpand"/>
42 <NavigationProperty Name="FanControllers" Type="OemManager.FanControllers"/>
43 <NavigationProperty Name="PidControllers" Type="OemManager.PidControllers"/>
44 <NavigationProperty Name="FanZones" Type="OemManager.FanZones"/>
45 </EntityType>
46
47 <EntityType Name="FanControllers" BaseType="Resource.OemObject" ContainsTarget="true">
48 <Annotation Term="OData.AdditionalProperties" Bool="true" />
49 <Annotation Term="OData.Description" String="OpenBmc FanControllers." />
50 <Annotation Term="OData.LongDescription" String="Container for OpenBmc fan controllers." />
51 <Annotation Term="Redfish.DynamicPropertyPatterns">
52 <Annotation Term="OData.AutoExpand"/>
53 <Collection ContainsTarget="true">
54 <NavigationProperty Type="OemManager.FanController">
55 <Annotation Term="OData.AutoExpand"/>
56 <PropertyValue Property="Pattern" String="[A-Za-z0-9_.:]+" />
57 <PropertyValue Property="Type" String="OemManager.FanController" />
58 </NavigationProperty>
59 </Collection>
60 </Annotation>
61 </EntityType>
62
63 <EntityType Name="PidControllers" BaseType="Resource.OemObject" ContainsTarget="true">
64 <Annotation Term="OData.AdditionalProperties" Bool="true" />
65 <Annotation Term="OData.Description" String="OpenBmc PidControllers." />
66 <Annotation Term="OData.LongDescription" String="Container for OpenBmc pid controllers." />
67 <Annotation Term="Redfish.DynamicPropertyPatterns">
68 <Annotation Term="OData.AutoExpand"/>
69 <Collection ContainsTarget="true">
70 <NavigationProperty>
71 <Annotation Term="OData.AutoExpand"/>
72 <PropertyValue Property="Pattern" String="[A-Za-z0-9_.:]+" />
73 <PropertyValue Property="Type" String="OemManager.PidController" />
74 </NavigationProperty>
75 </Collection>
76 </Annotation>
77 </EntityType>
78
79 <EntityType Name="FanZones" BaseType="Resource.OemObject" ContainsTarget="true">
80 <Annotation Term="OData.AdditionalProperties" Bool="true" />
81 <Annotation Term="OData.Description" String="OpenBmc FanZones." />
82 <Annotation Term="OData.LongDescription" String="Container for OpenBmc fan zones." />
83 <Annotation Term="Redfish.DynamicPropertyPatterns">
84 <Annotation Term="OData.AutoExpand"/>
85 <Collection ContainsTarget="true">
86 <NavigationProperty>
87 <Annotation Term="OData.AutoExpand"/>
88 <PropertyValue Property="Pattern" String="[A-Za-z0-9_.:]+" />
89 <PropertyValue Property="Type" String="OemManager.FanZone" />
90 </NavigationProperty>
91 </Collection>
92 </Annotation>
93 </EntityType>
94
95 <!-- In reality we'd like these all to be entities, but the Pattern Expansion for
96 Navigation Properties doesn't seem to quite work right. As FanZones should always have
97 some FanController / PidController, the navigation properties in those fields sould let
98 the conformance test find them. However FanControllers / PidControllers are only linked to
99 by the pattern expansion, as that's not working they are complex types -->
100
101 <ComplexType Name="FanController" BaseType="Resource.OemObject">
102 <Annotation Term="OData.AdditionalProperties" Bool="false" />
103 <Annotation Term="OData.Description" String="Configuration data for Fan Controllers." />
104 <Property Name="FFGainCoefficient" Type="Edm.Decimal" Nullable="false">
105 <Annotation Term="OData.Description" String="Feed forward gain coefficent for the PID." />
106 <Annotation Term="OData.LongDescription" String="Feed forward gain coefficent for the PID." />
107 </Property>
108 <Property Name="FFOffCoefficient" Type="Edm.Decimal" Nullable="false">
109 <Annotation Term="OData.Description" String="Feed forward offset coefficent for the PID." />
110 <Annotation Term="OData.LongDescription" String="Feed forward offset coefficent for the PID." />
111 </Property>
112 <Property Name="ICoefficient" Type="Edm.Decimal" Nullable="false">
113 <Annotation Term="OData.Description" String="Integral Coefficent for the PID." />
114 <Annotation Term="OData.LongDescription" String="Integral Coefficent for the PID." />
115 </Property>
116 <Property Name="ILimitMax" Type="Edm.Decimal" Nullable="false">
117 <Annotation Term="OData.Description" String="Integral limit maxiumum for the PID." />
118 <Annotation Term="OData.LongDescription" String="Integral limit maxiumum for the PID." />
119 </Property>
120 <Property Name="ILimitMin" Type="Edm.Decimal" Nullable="false">
121 <Annotation Term="OData.Description" String="Integral limit miniumum for the PID." />
122 <Annotation Term="OData.LongDescription" String="Integral limit miniumum for the PID." />
123 </Property>
124 <Property Name="Inputs" Type="Collection(Edm.String)">
125 <Annotation Term="OData.Description" String="Input sensors to the PID controller."/>
126 <Annotation Term="OData.LongDescription" String="Input sensors to the PID controller."/>
127 </Property>
128 <Property Name="OutLimitMax" Type="Edm.Decimal" Nullable="false">
129 <Annotation Term="OData.Description" String="Output limit maxiumum for the pwm." />
130 <Annotation Term="OData.LongDescription" String="Output limit maxiumum for the pwm." />
131 </Property>
132 <Property Name="OutLimitMin" Type="Edm.Decimal" Nullable="false">
133 <Annotation Term="OData.Description" String="Output limit minimum for the pwm." />
134 <Annotation Term="OData.LongDescription" String="Output limit minimum for the pwm." />
135 </Property>
136 <Property Name="Outputs" Type="Collection(Edm.String)">
137 <Annotation Term="OData.Description" String="Output sensors to the PID controller."/>
138 <Annotation Term="OData.LongDescription" String="Output sensors to the PID controller."/>
139 </Property>
140 <Property Name="PCoefficient" Type="Edm.Decimal" Nullable="false">
141 <Annotation Term="OData.Description" String="Polynomial coefficent for the PID." />
142 <Annotation Term="OData.LongDescription" String="Polynomial coefficent for the PID." />
143 </Property>
144 <Property Name="SlewNeg" Type="Edm.Decimal" Nullable="false">
145 <Annotation Term="OData.Description" String="Negative slew rate for the PID." />
146 <Annotation Term="OData.LongDescription" String="Negative slew rate for the PID." />
147 </Property>
148 <Property Name="SlewPos" Type="Edm.Decimal" Nullable="false">
149 <Annotation Term="OData.Description" String="Positive slew rate for the PID." />
150 <Annotation Term="OData.LongDescription" String="Positive slew rate for the PID." />
151 </Property>
152 <NavigationProperty Name="Zones" Type="Collection(OemManager.FanZone)" ContainsTarget="true">
153 <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read" />
154 <Annotation Term="OData.Description" String="Contains the Zones that this PID contributes to." />
155 <Annotation Term="OData.AutoExpandReferences"/>
156 </NavigationProperty>
157 </ComplexType>
158
159 <EntityType Name="FanZone" BaseType="Resource.OemObject">
160 <Annotation Term="OData.AdditionalProperties" Bool="false" />
161 <Annotation Term="OData.Description" String="Configuration data for Fan Controllers." />
162 <Property Name="FailSafePercent" Type="Edm.Decimal" Nullable="false">
163 <Annotation Term="OData.Description" String="If the sensors are in fail-safe mode, this is the percentage to use." />
164 <Annotation Term="OData.LongDescription" String="If the sensors are in fail-safe mode, this is the percentage to use." />
165 </Property>
166 <Property Name="MinThermalRpm" Type="Edm.Decimal" Nullable="false">
167 <Annotation Term="OData.Description" String="Minimum thermal RPM that can be set in this Zone." />
168 <Annotation Term="OData.LongDescription" String="Minimum thermal RPM that can be set in this Zone." />
169 </Property>
170 <NavigationProperty Name="Chassis" Type="Chassis.Chassis" ContainsTarget="true">
171 <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
172 <Annotation Term="OData.Description" String="The Chassis that enables this Zone."/>
173 <Annotation Term="OData.AutoExpandReferences"/>
174 </NavigationProperty>
175 </EntityType>
176
177 <ComplexType Name="PidController" BaseType="Resource.OemObject">
178 <Annotation Term="OData.AdditionalProperties" Bool="false" />
179 <Annotation Term="OData.Description" String="Configuration data for Fan Controllers." />
180 <Property Name="FFGainCoefficient" Type="Edm.Decimal" Nullable="false">
181 <Annotation Term="OData.Description" String="Feed forward gain coefficent for the PID." />
182 <Annotation Term="OData.LongDescription" String="Feed forward gain coefficent for the PID." />
183 </Property>
184 <Property Name="FFOffCoefficient" Type="Edm.Decimal" Nullable="false">
185 <Annotation Term="OData.Description" String="Feed forward offset coefficent for the PID." />
186 <Annotation Term="OData.LongDescription" String="Feed forward offset coefficent for the PID." />
187 </Property>
188 <Property Name="ICoefficient" Type="Edm.Decimal" Nullable="false">
189 <Annotation Term="OData.Description" String="Integral Coefficent for the PID." />
190 <Annotation Term="OData.LongDescription" String="Integral Coefficent for the PID." />
191 </Property>
192 <Property Name="ILimitMax" Type="Edm.Decimal" Nullable="false">
193 <Annotation Term="OData.Description" String="Integral limit maxiumum for the PID." />
194 <Annotation Term="OData.LongDescription" String="Integral limit maxiumum for the PID." />
195 </Property>
196 <Property Name="ILimitMin" Type="Edm.Decimal" Nullable="false">
197 <Annotation Term="OData.Description" String="Integral limit miniumum for the PID." />
198 <Annotation Term="OData.LongDescription" String="Integral limit miniumum for the PID." />
199 </Property>
200 <Property Name="Inputs" Type="Collection(Edm.String)">
201 <Annotation Term="OData.Description" String="Input sensors to the PID controller."/>
202 <Annotation Term="OData.LongDescription" String="Input sensors to the PID controller."/>
203 </Property>
204 <Property Name="OutLimitMax" Type="Edm.Decimal" Nullable="false">
205 <Annotation Term="OData.Description" String="Output limit maxiumum for the pwm." />
206 <Annotation Term="OData.LongDescription" String="Output limit maxiumum for the pwm." />
207 </Property>
208 <Property Name="OutLimitMin" Type="Edm.Decimal" Nullable="false">
209 <Annotation Term="OData.Description" String="Output limit minimum for the pwm." />
210 <Annotation Term="OData.LongDescription" String="Output limit minimum for the pwm." />
211 </Property>
212 <Property Name="PCoefficient" Type="Edm.Decimal" Nullable="false">
213 <Annotation Term="OData.Description" String="Polynomial coefficent for the PID." />
214 <Annotation Term="OData.LongDescription" String="Polynomial coefficent for the PID." />
215 </Property>
216 <Property Name="SlewNeg" Type="Edm.Decimal" Nullable="false">
217 <Annotation Term="OData.Description" String="Negative slew rate for the PID." />
218 <Annotation Term="OData.LongDescription" String="Negative slew rate for the PID." />
219 </Property>
220 <Property Name="SlewPos" Type="Edm.Decimal" Nullable="false">
221 <Annotation Term="OData.Description" String="Positive slew rate for the PID." />
222 <Annotation Term="OData.LongDescription" String="Positive slew rate for the PID." />
223 </Property>
224 <NavigationProperty Name="Zones" Type="Collection(OemManager.FanZone)" ContainsTarget="true">
225 <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read" />
226 <Annotation Term="OData.Description" String="Contains the Zones that this PID contributes to." />
227 <Annotation Term="OData.AutoExpandReferences"/>
228 </NavigationProperty>
229 </ComplexType>
230 </Schema>
231 </edmx:DataServices>
232</edmx:Edmx>