redfish-codegen 0.3.1

An unopinionated translation of the Redfish specification into Rust.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
// Generated by redfish-codegen. Do not modify.

use redfish_macros::IntoRedfishMessage;

/// This registry defines messages for generic fabrics
#[derive(Clone, Debug, IntoRedfishMessage)]
#[message(crate::models::message::v1_1_2::Message)]
pub enum Fabric {
    /// This message shall be used to indicate that a cable has been restored to working condition.
    #[message(message = "The cable in switch '%1' port '%2' has returned to working condition.")]
    #[message(id = "Fabric.1.0.0.CableOK")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    CableOK(
        /// This argument shall contain the value of the `Id` property of the switch with the cable that returned to a functional state.
        String,
        /// This argument shall contain the value of the `Id` property of the port with the cable that returned to a functional state.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `Endpoint` has been modified.
    #[message(message = "Endpoint '%1' in fabric '%2' has been modified.")]
    #[message(id = "Fabric.1.0.0.EndpointModified")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    EndpointModified(
        /// This argument shall contain the value of the `Id` property of the endpoint that was modified.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the endpoint was modified.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `MediaController` has been modified.
    #[message(message = "Media controller '%1' in chassis '%2' has been modified.")]
    #[message(id = "Fabric.1.0.0.MediaControllerModified")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    MediaControllerModified(
        /// This argument shall contain the value of the `Id` property of the media controller that was modified.
        String,
        /// This argument shall contain the value of the `Id` property of the chassis in which the media controller was modified.
        String,
    ),
    /// This message shall be used to indicate that a switch's port has been manually disabled, such as by a network administrator.
    #[message(message = "Switch '%1' port '%2' has been manually disabled.")]
    #[message(id = "Fabric.1.0.0.PortManuallyDisabled")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action needed.")]
    PortManuallyDisabled(
        /// This argument shall contain the value of the `Id` property of the switch with the disabled port.
        String,
        /// This argument shall contain the value of the `Id` property of the port that has been disabled.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `MediaController` has been added.
    #[message(message = "Media controller '%1' has been added to chassis '%2'.")]
    #[message(id = "Fabric.1.0.0.MediaControllerAdded")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    MediaControllerAdded(
        /// This argument shall contain the value of the `Id` property of the media controller that was added.
        String,
        /// This argument shall contain the value of the `Id` property of the chassis in which the media controller was added.
        String,
    ),
    /// This message shall be used to indicate that a cable has been removed from a port on a switch.
    #[message(message = "A cable has been removed from switch '%1' port '%2'.")]
    #[message(id = "Fabric.1.0.0.CableRemoved")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "No action is needed.")]
    CableRemoved(
        /// This argument shall contain the value of the `Id` property of the switch with the port whose cable was removed.
        String,
        /// This argument shall contain the value of the `Id` property of the port whose cable was removed.
        String,
    ),
    /// This message shall be used to indicate that a switch's interswitch connection has gone down.
    #[message(message = "Switch '%1' interswitch link has gone down on port '%2'.")]
    #[message(id = "Fabric.1.0.0.InterswitchLinkDropped")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    InterswitchLinkDropped(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the interswitch port.
        String,
    ),
    /// This message shall be used to indicate that a cable has been detected as failed.  This message shall not be emitted more than once in any 24-hour period of time.
    #[message(message = "The cable in switch '%1' port '%2' has failed.")]
    #[message(id = "Fabric.1.0.0.CableFailed")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    CableFailed(
        /// This argument shall contain the value of the `Id` property of the switch with the failed cable.
        String,
        /// This argument shall contain the value of the `Id` property of the port with the failed cable.
        String,
    ),
    /// This message shall be used to indicate that a switch's interswitch connection has repeatedly been established and dropped.  This message shall not be repeated more than once in any 24-hour period.
    #[message(message = "Switch '%1' interswitch link on port '%2' has been established and dropped %3 times in the last %4 minutes.")]
    #[message(id = "Fabric.1.0.0.InterswitchLinkFlapDetected")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    InterswitchLinkFlapDetected(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the interswitch port that is flapping.
        String,
        /// This argument shall contain the count of uplink establishment/disconnection cycles.
        f64,
        /// This argument shall contain the number of minutes over which link flapping activity has been detected.
        f64,
    ),
    /// This message shall be used to indicate that a resource of type `Connection` has been modified.
    #[message(message = "Connection '%1' in fabric '%2' has been modified.")]
    #[message(id = "Fabric.1.0.0.ConnectionModified")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    ConnectionModified(
        /// This argument shall contain the value of the `Id` property of the connection that was modified.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the connection was modified.
        String,
    ),
    /// This message shall be used to indicate that a port has become inoperative.  This message shall not be issued when a port is manually disabled.
    #[message(message = "Switch '%1' port '%2' has failed and is inoperative.")]
    #[message(id = "Fabric.1.0.0.PortFailed")]
    #[message(severity = "crate::models::resource::Health::Critical")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    PortFailed(
        /// This argument shall contain the value of the `Id` property of the switch with the failed port.
        String,
        /// This argument shall contain the value of the `Id` property of the port that has failed.
        String,
    ),
    /// This message shall be used to indicate that a switch's upstream connection has repeatedly been established and dropped.  This message shall not be repeated more than once in any 24-hour period.
    #[message(message = "Switch '%1' upstream link on port '%2' has been established and dropped %3 times in the last %4 minutes.")]
    #[message(id = "Fabric.1.0.0.UpstreamLinkFlapDetected")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    UpstreamLinkFlapDetected(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the upstream port that is flapping.
        String,
        /// This argument shall contain the count of uplink establishment/disconnection cycles.
        f64,
        /// This argument shall contain the number of minutes over which link flapping activity has been detected.
        f64,
    ),
    /// This message shall be used to indicate that a switch has become inoperative.
    #[message(message = "Switch '%1' has failed and is inoperative.")]
    #[message(id = "Fabric.1.0.0.SwitchFailed")]
    #[message(severity = "crate::models::resource::Health::Critical")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    SwitchFailed(
        /// This argument shall contain the value of the `Id` property of the switch that has failed.
        String,
    ),
    /// This message shall be used to indicate that a cable has been inserted into a port on a switch.
    #[message(message = "A cable has been inserted into switch '%1' port '%2'.")]
    #[message(id = "Fabric.1.0.0.CableInserted")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    CableInserted(
        /// This argument shall contain the value of the `Id` property of the switch with the port whose cable was inserted.
        String,
        /// This argument shall contain the value of the `Id` property of the port whose cable was inserted.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `AddressPool` has been modified.
    #[message(message = "Address pool '%1' in fabric '%2' has been modified.")]
    #[message(id = "Fabric.1.0.0.AddressPoolModified")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    AddressPoolModified(
        /// This argument shall contain the value of the `Id` property of the address pool that was modified.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the address pool was modified.
        String,
    ),
    /// This message shall be used to indicate that a switch's downstream connection has repeatedly been established and dropped.  This message shall not be repeated more than once in any 24-hour period.
    #[message(message = "Switch '%1' downstream link on port '%2' has been established and dropped %3 times in the last %4 minutes.")]
    #[message(id = "Fabric.1.0.0.DownstreamLinkFlapDetected")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    DownstreamLinkFlapDetected(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the downstream port that is flapping.
        String,
        /// This argument shall contain the count of uplink establishment/disconnection cycles.
        f64,
        /// This argument shall contain the number of minutes over which link flapping activity has been detected.
        f64,
    ),
    /// This message shall be used to indicate that a resource of type `MediaController` has been removed.
    #[message(message = "Media controller '%1' has been removed from chassis '%2'.")]
    #[message(id = "Fabric.1.0.0.MediaControllerRemoved")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    MediaControllerRemoved(
        /// This argument shall contain the value of the `Id` property of the media controller that was removed.
        String,
        /// This argument shall contain the value of the `Id` property of the chassis in which the media controller was removed.
        String,
    ),
    /// This message shall be used to indicate that a switch's interswitch connection is established.
    #[message(message = "Switch '%1' interswitch link is established on port '%2'.")]
    #[message(id = "Fabric.1.0.0.InterswitchLinkEstablished")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action needed.")]
    InterswitchLinkEstablished(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the interswitch port.
        String,
    ),
    /// This message shall be used to indicate that a switch's downstream connection is established.
    #[message(message = "Switch '%1' downstream link is established on port '%2'.")]
    #[message(id = "Fabric.1.0.0.DownstreamLinkEstablished")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action needed.")]
    DownstreamLinkEstablished(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the downstream port.
        String,
    ),
    /// This message shall be used to indicate that a switch's upstream connection is established, but that the link state is degraded.
    #[message(message = "Switch '%1' upstream link is established on port '%2', but is running in a degraded state.")]
    #[message(id = "Fabric.1.0.0.DegradedUpstreamLinkEstablished")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    DegradedUpstreamLinkEstablished(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the upstream port.
        String,
    ),
    /// This message shall be used to indicate that a switch's interswitch connection is established, but that the link state is degraded.
    #[message(message = "Switch '%1' interswitch link is established on port '%2', but is running in a degraded state.")]
    #[message(id = "Fabric.1.0.0.DegradedInterswitchLinkEstablished")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    DegradedInterswitchLinkEstablished(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the interswitch port.
        String,
    ),
    /// This message shall be used to indicate that a switch's port has been automatically disabled, such as by the service.
    #[message(message = "Switch '%1' port '%2' has been automatically disabled.")]
    #[message(id = "Fabric.1.0.0.PortAutomaticallyDisabled")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action needed.")]
    PortAutomaticallyDisabled(
        /// This argument shall contain the value of the `Id` property of the switch with the disabled port.
        String,
        /// This argument shall contain the value of the `Id` property of the port that has been disabled.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `Zone` has been modified.
    #[message(message = "Zone '%1' in fabric '%2' has been modified.")]
    #[message(id = "Fabric.1.0.0.ZoneModified")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    ZoneModified(
        /// This argument shall contain the value of the `Id` property of the zone that was modified.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the zone was modified.
        String,
    ),
    /// This message shall be used to indicate that a switch's downstream connection has gone down.
    #[message(message = "Switch '%1' downstream link has gone down on port '%2'.")]
    #[message(id = "Fabric.1.0.0.DownstreamLinkDropped")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    DownstreamLinkDropped(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the downstream port.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `Endpoint` has been created or discovered.
    #[message(message = "Endpoint '%1' has been created in fabric '%2'.")]
    #[message(id = "Fabric.1.0.0.EndpointCreated")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    EndpointCreated(
        /// This argument shall contain the value of the `Id` property of the endpoint that was created.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the endpoint was created.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `Connection` has been removed.
    #[message(message = "Connection '%1' has been removed from fabric '%2'.")]
    #[message(id = "Fabric.1.0.0.ConnectionRemoved")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    ConnectionRemoved(
        /// This argument shall contain the value of the `Id` property of the connection that was removed.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the connection was removed.
        String,
    ),
    /// This message shall be used to indicate that a switch's port has been automatically enabled, such as by the service.
    #[message(message = "Switch '%1' port '%2' has been automatically enabled.")]
    #[message(id = "Fabric.1.0.0.PortAutomaticallyEnabled")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action needed.")]
    PortAutomaticallyEnabled(
        /// This argument shall contain the value of the `Id` property of the switch with the enabled port.
        String,
        /// This argument shall contain the value of the `Id` property of the port that has been enabled.
        String,
    ),
    /// This message shall be used to indicate that packets have been dropped due to the maximum transmission unit (MTU) frame size being exceeded.  This message shall not be emitted more than once in any 24-hour period of time.
    #[message(message = "MTU size on switch '%1' port '%2' is set to %3.  One or more packets with a larger size have been dropped.")]
    #[message(id = "Fabric.1.0.0.MaxFrameSizeExceeded")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Ensure that path MTU discovery is enabled and functioning correctly.")]
    MaxFrameSizeExceeded(
        /// This argument shall contain the value of the `Id` property of the switch in which one or more packets have been dropped.
        String,
        /// This argument shall contain the value of the `Id` property of the port in which one or more oversize packets were received.
        String,
        /// This argument shall contain the MTU size.
        f64,
    ),
    /// This message shall be used to indicate that a port has returned to a functional state.
    #[message(message = "Switch '%1' port '%2' has returned to a functional state.")]
    #[message(id = "Fabric.1.0.0.PortOK")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    PortOK(
        /// This argument shall contain the value of the `Id` property of the switch with the functional port.
        String,
        /// This argument shall contain the value of the `Id` property of the port that has returned to a functional state.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `Connection` has been created.
    #[message(message = "Connection '%1' has been created in fabric '%2'.")]
    #[message(id = "Fabric.1.0.0.ConnectionCreated")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    ConnectionCreated(
        /// This argument shall contain the value of the `Id` property of the connection that was created.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the connection was created.
        String,
    ),
    /// This message shall be used to indicate that a port has entered a degraded state.
    #[message(message = "Switch '%1' port '%2' is in a degraded state.")]
    #[message(id = "Fabric.1.0.0.PortDegraded")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    PortDegraded(
        /// This argument shall contain the value of the `Id` property of the switch with the degraded port.
        String,
        /// This argument shall contain the value of the `Id` property of the port that has entered a degraded state.
        String,
    ),
    /// This message shall be used to indicate that a switch has returned to a functional state.
    #[message(message = "Switch '%1' has returned to a functional state.")]
    #[message(id = "Fabric.1.0.0.SwitchOK")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    SwitchOK(
        /// This argument shall contain the value of the `Id` property of the switch that has returned to a functional state.
        String,
    ),
    /// This message shall be used to indicate that a switch's upstream connection is established.
    #[message(message = "Switch '%1' upstream link is established on port '%2'.")]
    #[message(id = "Fabric.1.0.0.UpstreamLinkEstablished")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action needed.")]
    UpstreamLinkEstablished(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the upstream port.
        String,
    ),
    /// This message shall be used to indicate that a switch's port has been manually enabled, such as by a network administrator.
    #[message(message = "Switch '%1' port '%2' has been manually enabled.")]
    #[message(id = "Fabric.1.0.0.PortManuallyEnabled")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action needed.")]
    PortManuallyEnabled(
        /// This argument shall contain the value of the `Id` property of the switch with the enabled port.
        String,
        /// This argument shall contain the value of the `Id` property of the port that has been enabled.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `AddressPool` has been removed.
    #[message(message = "Address pool '%1' has been removed from fabric '%2'.")]
    #[message(id = "Fabric.1.0.0.AddressPoolRemoved")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    AddressPoolRemoved(
        /// This argument shall contain the value of the `Id` property of the address pool that was removed.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the address pool was removed.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `Endpoint` has been removed.
    #[message(message = "Endpoint '%1' has been removed from fabric '%2'.")]
    #[message(id = "Fabric.1.0.0.EndpointRemoved")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    EndpointRemoved(
        /// This argument shall contain the value of the `Id` property of the endpoint that was removed.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the endpoint was removed.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `Zone` has been created.
    #[message(message = "Zone '%1' has been created in fabric '%2'.")]
    #[message(id = "Fabric.1.0.0.ZoneCreated")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    ZoneCreated(
        /// This argument shall contain the value of the `Id` property of the zone that was created.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the zone was created.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `AddressPool` has been created.
    #[message(message = "Address pool '%1' has been created in fabric '%2'.")]
    #[message(id = "Fabric.1.0.0.AddressPoolCreated")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    AddressPoolCreated(
        /// This argument shall contain the value of the `Id` property of the address pool that was created.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the address pool was created.
        String,
    ),
    /// This message shall be used to indicate that a switch's downstream connection is established, but that the link state is degraded.
    #[message(message = "Switch '%1' downstream link is established on port '%2', but is running in a degraded state.")]
    #[message(id = "Fabric.1.0.0.DegradedDownstreamLinkEstablished")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    DegradedDownstreamLinkEstablished(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the downstream port.
        String,
    ),
    /// This message shall be used to indicate that a switch has entered a degraded state.
    #[message(message = "Switch '%1' is in a degraded state.")]
    #[message(id = "Fabric.1.0.0.SwitchDegraded")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    SwitchDegraded(
        /// This argument shall contain the value of the `Id` property of the switch that has entered a degraded state.
        String,
    ),
    /// This message shall be used to indicate that a switch's upstream connection has gone down.
    #[message(message = "Switch '%1' upstream link has gone down on port '%2'.")]
    #[message(id = "Fabric.1.0.0.UpstreamLinkDropped")]
    #[message(severity = "crate::models::resource::Health::Warning")]
    #[message(resolution = "Contact the network administrator for problem resolution.")]
    UpstreamLinkDropped(
        /// This argument shall contain the value of the `Id` property of the switch.
        String,
        /// This argument shall contain the value of the `Id` property of the upstream port.
        String,
    ),
    /// This message shall be used to indicate that a resource of type `Zone` has been removed.
    #[message(message = "Zone '%1' has been removed from fabric '%2'.")]
    #[message(id = "Fabric.1.0.0.ZoneRemoved")]
    #[message(severity = "crate::models::resource::Health::OK")]
    #[message(resolution = "No action is needed.")]
    ZoneRemoved(
        /// This argument shall contain the value of the `Id` property of the zone that was removed.
        String,
        /// This argument shall contain the value of the `Id` property of the fabric in which the zone was removed.
        String,
    ),
}