redfish_codegen/models/switch/v1_9_1/
switch.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The Switch schema contains properties that describe a fabric switch.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct Switch {
10    #[serde(rename = "@odata.context")]
11    #[serde(skip_deserializing)]
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub odata_context: Option<models::odata_v4::Context>,
14    #[serde(rename = "@odata.etag")]
15    #[serde(skip_deserializing)]
16    #[serde(default, skip_serializing_if = "Option::is_none")]
17    pub odata_etag: Option<models::odata_v4::Etag>,
18    #[serde(rename = "@odata.id")]
19    #[serde(skip_deserializing)]
20    pub odata_id: models::odata_v4::Id,
21    #[serde(rename = "@odata.type")]
22    #[serde(skip_deserializing)]
23    #[derivative(Default(value = "models::odata_v4::Type(\"#Switch.v1_9_1.Switch\".to_string())"))]
24    pub odata_type: models::odata_v4::Type,
25    #[serde(rename = "Actions")]
26    #[serde(default, skip_serializing_if = "Option::is_none")]
27    pub actions: Option<models::switch::v1_9_1::Actions>,
28    /// The user-assigned asset tag for this switch.
29    #[serde(rename = "AssetTag")]
30    #[serde(default, skip_serializing_if = "Option::is_none")]
31    pub asset_tag: Option<String>,
32    #[serde(rename = "CXL")]
33    #[serde(default, skip_serializing_if = "Option::is_none")]
34    pub cxl: Option<models::switch::v1_9_1::CXL>,
35    #[serde(rename = "Certificates")]
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    pub certificates: Option<models::odata_v4::IdRef>,
38    /// The current internal bandwidth of this switch.
39    #[serde(rename = "CurrentBandwidthGbps")]
40    #[serde(default, skip_serializing_if = "Option::is_none")]
41    pub current_bandwidth_gbps: Option<f64>,
42    #[serde(rename = "Description")]
43    #[serde(default, skip_serializing_if = "Option::is_none")]
44    pub description: Option<models::resource::Description>,
45    /// The domain ID for this switch.
46    #[serde(rename = "DomainID")]
47    #[serde(default, skip_serializing_if = "Option::is_none")]
48    pub domain_id: Option<i64>,
49    /// An indication of whether this switch is enabled.
50    #[serde(rename = "Enabled")]
51    #[serde(default, skip_serializing_if = "Option::is_none")]
52    pub enabled: Option<bool>,
53    #[serde(rename = "EnvironmentMetrics")]
54    #[serde(default, skip_serializing_if = "Option::is_none")]
55    pub environment_metrics: Option<models::odata_v4::IdRef>,
56    /// The firmware version of this switch.
57    #[serde(rename = "FirmwareVersion")]
58    #[serde(default, skip_serializing_if = "Option::is_none")]
59    pub firmware_version: Option<String>,
60    #[serde(rename = "Id")]
61    #[serde(skip_deserializing)]
62    pub id: models::resource::Id,
63    #[serde(rename = "IndicatorLED")]
64    #[serde(default, skip_serializing_if = "Option::is_none")]
65    pub indicator_led: Option<models::resource::IndicatorLED>,
66    /// An indication of whether the switch is in a managed or unmanaged state.
67    #[serde(rename = "IsManaged")]
68    #[serde(default, skip_serializing_if = "Option::is_none")]
69    pub is_managed: Option<bool>,
70    #[serde(rename = "Links")]
71    #[serde(default, skip_serializing_if = "Option::is_none")]
72    pub links: Option<models::switch::v1_9_1::Links>,
73    #[serde(rename = "Location")]
74    #[serde(default, skip_serializing_if = "Option::is_none")]
75    pub location: Option<models::resource::Location>,
76    /// An indicator allowing an operator to physically locate this resource.
77    #[serde(rename = "LocationIndicatorActive")]
78    #[serde(default, skip_serializing_if = "Option::is_none")]
79    pub location_indicator_active: Option<bool>,
80    #[serde(rename = "LogServices")]
81    #[serde(default, skip_serializing_if = "Option::is_none")]
82    pub log_services: Option<models::odata_v4::IdRef>,
83    /// The manufacturer of this switch.
84    #[serde(rename = "Manufacturer")]
85    #[serde(default, skip_serializing_if = "Option::is_none")]
86    pub manufacturer: Option<String>,
87    /// The maximum internal bandwidth of this switch as currently configured.
88    #[serde(rename = "MaxBandwidthGbps")]
89    #[serde(default, skip_serializing_if = "Option::is_none")]
90    pub max_bandwidth_gbps: Option<f64>,
91    /// An array of DSP0274-defined measurement blocks.
92    #[serde(rename = "Measurements")]
93    #[serde(default, skip_serializing_if = "Option::is_none")]
94    pub measurements: Option<Vec<models::software_inventory::MeasurementBlock>>,
95    #[serde(rename = "Metrics")]
96    #[serde(default, skip_serializing_if = "Option::is_none")]
97    pub metrics: Option<models::odata_v4::IdRef>,
98    /// The product model number of this switch.
99    #[serde(rename = "Model")]
100    #[serde(default, skip_serializing_if = "Option::is_none")]
101    pub model: Option<String>,
102    #[serde(rename = "Name")]
103    #[serde(skip_deserializing)]
104    pub name: models::resource::Name,
105    #[serde(rename = "Oem")]
106    #[serde(default, skip_serializing_if = "Option::is_none")]
107    pub oem: Option<models::resource::Oem>,
108    /// The part number for this switch.
109    #[serde(rename = "PartNumber")]
110    #[serde(default, skip_serializing_if = "Option::is_none")]
111    pub part_number: Option<String>,
112    #[serde(rename = "Ports")]
113    #[serde(default, skip_serializing_if = "Option::is_none")]
114    pub ports: Option<models::odata_v4::IdRef>,
115    #[serde(rename = "PowerState")]
116    #[serde(default, skip_serializing_if = "Option::is_none")]
117    pub power_state: Option<models::resource::PowerState>,
118    /// Redundancy information for the switches.
119    #[serde(rename = "Redundancy")]
120    #[serde(default, skip_serializing_if = "Option::is_none")]
121    pub redundancy: Option<Vec<models::redundancy::Redundancy>>,
122    #[serde(rename = "Redundancy@odata.count")]
123    #[serde(default, skip_serializing_if = "Option::is_none")]
124    pub redundancy_odata_count: Option<models::odata_v4::Count>,
125    /// The SKU for this switch.
126    #[serde(rename = "SKU")]
127    #[serde(default, skip_serializing_if = "Option::is_none")]
128    pub sku: Option<String>,
129    /// The serial number for this switch.
130    #[serde(rename = "SerialNumber")]
131    #[serde(default, skip_serializing_if = "Option::is_none")]
132    pub serial_number: Option<String>,
133    #[serde(rename = "Status")]
134    #[serde(default, skip_serializing_if = "Option::is_none")]
135    pub status: Option<models::resource::Status>,
136    /// The protocols this switch supports.
137    #[serde(rename = "SupportedProtocols")]
138    #[serde(default, skip_serializing_if = "Option::is_none")]
139    pub supported_protocols: Option<Vec<models::protocol::Protocol>>,
140    #[serde(rename = "SwitchType")]
141    #[serde(default, skip_serializing_if = "Option::is_none")]
142    pub switch_type: Option<models::protocol::Protocol>,
143    /// The total number of lanes, phys, or other physical transport links that this switch contains.
144    #[serde(rename = "TotalSwitchWidth")]
145    #[serde(default, skip_serializing_if = "Option::is_none")]
146    pub total_switch_width: Option<i64>,
147    #[serde(rename = "UUID")]
148    #[serde(default, skip_serializing_if = "Option::is_none")]
149    pub uuid: Option<models::resource::UUID>,
150}
151
152impl crate::Metadata<'static> for Switch {
153    const JSON_SCHEMA: &'static str = "Switch.v1_9_1.json";
154}