2424#
2525###############################################################################
2626
27- from typing import ClassVar , Dict , List , Optional , Union
27+ from typing import ClassVar , Dict , List , Optional
2828
2929from pydantic import BaseModel , ConfigDict
3030from pydantic .alias_generators import to_camel
@@ -98,8 +98,8 @@ class FanConfiguration(BaseModel):
9898 speed_hw_override : Optional [bool ] = None
9999 speed_stable : Optional [bool ] = None
100100
101- error_fields : ClassVar [dict [str , str ]] = {
102- "status" : "ok" ,
101+ error_fields : ClassVar [dict [str , List [ str ] ]] = {
102+ "status" : [ "ok" ] ,
103103 }
104104
105105
@@ -124,9 +124,9 @@ class AristaSystemEnv(BaseModel):
124124 power_supply_slots : Optional [List [FanConfiguration ]] = None
125125 fan_tray_slots : Optional [List [FanConfiguration ]] = None
126126
127- error_fields : ClassVar [dict [str , Union [str , bool ]]] = {
128- "system_status" : "coolingOk" ,
129- "fans_status" : "fanAlarmOk" ,
127+ error_fields : ClassVar [dict [str , List [str ]]] = {
128+ "system_status" : [ "coolingOk" ] ,
129+ "fans_status" : [ "fanAlarmOk" ] ,
130130 }
131131
132132
@@ -139,9 +139,9 @@ class VlanInformation(BaseModel):
139139 interface_mode : Optional [str ] = None
140140 interface_forwarding_model : Optional [str ] = None
141141
142- error_fields : ClassVar [dict [str , str ]] = {
143- "interface_mode" : "routed" ,
144- "interface_forwarding_model" : "routed" ,
142+ error_fields : ClassVar [dict [str , List [ str ] ]] = {
143+ "interface_mode" : [ "routed" ] ,
144+ "interface_forwarding_model" : [ "routed" ] ,
145145 }
146146
147147
@@ -160,10 +160,10 @@ class AristaPortStatus(BaseModel):
160160 line_protocol_status : Optional [str ] = None
161161 interface_damped : Optional [bool ] = None
162162
163- error_fields : ClassVar [dict [str , str ]] = {
164- "link_status" : "connected" ,
165- "duplex" : "duplexFull" ,
166- "line_protocol_status" : "up" ,
163+ error_fields : ClassVar [dict [str , List [ str ] ]] = {
164+ "link_status" : [ "connected" ] ,
165+ "duplex" : [ "duplexFull" ] ,
166+ "line_protocol_status" : [ "up" ] ,
167167 }
168168
169169
@@ -180,14 +180,14 @@ class AristaCountersErrors(BaseModel):
180180 alignment_errors : Optional [int ] = None
181181 symbol_errors : Optional [int ] = None
182182
183- error_fields : ClassVar [dict [str , str ]] = {
184- "in_errors" : "0" ,
185- "frame_too_longs" : "0" ,
186- "out_errors" : "0" ,
187- "frame_too_shorts" : "0" ,
188- "fcs_errors" : "0" ,
189- "alignment_errors" : "0" ,
190- "symbol_errors" : "0" ,
183+ error_fields : ClassVar [dict [str , List [ str ] ]] = {
184+ "in_errors" : [ "0" ] ,
185+ "frame_too_longs" : [ "0" ] ,
186+ "out_errors" : [ "0" ] ,
187+ "frame_too_shorts" : [ "0" ] ,
188+ "fcs_errors" : [ "0" ] ,
189+ "alignment_errors" : [ "0" ] ,
190+ "symbol_errors" : [ "0" ] ,
191191 }
192192
193193
@@ -259,10 +259,10 @@ class AristaDroppedPacketCounters(BaseModel):
259259 out_uc_dropped_pkts : Optional [int ] = None
260260 out_mc_dropped_pkts : Optional [int ] = None
261261
262- warning_fields : ClassVar [dict [str , str ]] = {
263- "in_dropped_pkts" : "0" ,
264- "out_uc_dropped_pkts" : "0" ,
265- "out_mc_dropped_pkts" : "0" ,
262+ warning_fields : ClassVar [dict [str , List [ str ] ]] = {
263+ "in_dropped_pkts" : [ "0" ] ,
264+ "out_uc_dropped_pkts" : [ "0" ] ,
265+ "out_mc_dropped_pkts" : [ "0" ] ,
266266 }
267267
268268
@@ -275,10 +275,10 @@ class AristaDropPrecedenceCounters(BaseModel):
275275 dp1_dropped_pkts : Optional [int ] = None
276276 dp2_dropped_pkts : Optional [int ] = None
277277
278- error_fields : ClassVar [dict [str , str ]] = {
279- "dp0_dropped_pkts" : "0" ,
280- "dp1_dropped_pkts" : "0" ,
281- "dp2_dropped_pkts" : "0" ,
278+ error_fields : ClassVar [dict [str , List [ str ] ]] = {
279+ "dp0_dropped_pkts" : [ "0" ] ,
280+ "dp1_dropped_pkts" : [ "0" ] ,
281+ "dp2_dropped_pkts" : [ "0" ] ,
282282 }
283283
284284
@@ -293,9 +293,9 @@ class AristaPerQueueCounters(BaseModel):
293293 pkts_drop : Optional [int ] = None
294294 bytes_drop : Optional [int ] = None
295295
296- warning_fields : ClassVar [dict [str , str ]] = {
297- "pkts_drop" : "0" ,
298- "bytes_drop" : "0" ,
296+ warning_fields : ClassVar [dict [str , List [ str ] ]] = {
297+ "pkts_drop" : [ "0" ] ,
298+ "bytes_drop" : [ "0" ] ,
299299 }
300300
301301
@@ -311,9 +311,9 @@ class AristaPauseFrameCounters(BaseModel):
311311 tx_pause : Optional [int ] = None
312312 rx_pause : Optional [int ] = None
313313
314- error_fields : ClassVar [dict [str , str ]] = {
315- "tx_pause" : "0" ,
316- "rx_pause" : "0" ,
314+ error_fields : ClassVar [dict [str , List [ str ] ]] = {
315+ "tx_pause" : [ "0" ] ,
316+ "rx_pause" : [ "0" ] ,
317317 }
318318
319319
@@ -325,8 +325,8 @@ class AristaEcnCounters(BaseModel):
325325 txq : Optional [str ] = None
326326 marked_packets : Optional [str ] = None
327327
328- warning_fields : ClassVar [dict [str , str ]] = {
329- "marked_packets" : "0" ,
328+ warning_fields : ClassVar [dict [str , List [ str ] ]] = {
329+ "marked_packets" : [ "0" , "-" ] ,
330330 }
331331
332332
@@ -338,9 +338,9 @@ class AristaPfcCounters(BaseModel):
338338 rx_frames : Optional [int ] = None
339339 tx_frames : Optional [int ] = None
340340
341- warning_fields : ClassVar [dict [str , str ]] = {
342- "rx_frames" : "0" ,
343- "tx_frames" : "0" ,
341+ warning_fields : ClassVar [dict [str , List [ str ] ]] = {
342+ "rx_frames" : [ "0" ] ,
343+ "tx_frames" : [ "0" ] ,
344344 }
345345
346346
0 commit comments