redfish_codegen/models/circuit/v1_7_0/
circuit.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// This is the schema definition for an electrical circuit.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct Circuit {
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(\"#Circuit.v1_7_0.Circuit\".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::circuit::v1_7_0::Actions>,
28    #[serde(rename = "BreakerState")]
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub breaker_state: Option<models::circuit::BreakerStates>,
31    #[serde(rename = "CircuitType")]
32    #[serde(default, skip_serializing_if = "Option::is_none")]
33    pub circuit_type: Option<models::circuit::v1_7_0::CircuitType>,
34    /// Indicates whether the configuration is locked.
35    #[serde(rename = "ConfigurationLocked")]
36    #[serde(default, skip_serializing_if = "Option::is_none")]
37    pub configuration_locked: Option<bool>,
38    /// Designates if this is a critical circuit.
39    #[serde(rename = "CriticalCircuit")]
40    #[serde(default, skip_serializing_if = "Option::is_none")]
41    pub critical_circuit: Option<bool>,
42    #[serde(rename = "CurrentAmps")]
43    #[serde(default, skip_serializing_if = "Option::is_none")]
44    pub current_amps: Option<models::sensor::SensorCurrentExcerpt>,
45    #[serde(rename = "Description")]
46    #[serde(default, skip_serializing_if = "Option::is_none")]
47    pub description: Option<models::resource::Description>,
48    /// An array of names of downstream devices that are powered by this circuit.
49    #[serde(rename = "ElectricalConsumerNames")]
50    #[serde(default, skip_serializing_if = "Option::is_none")]
51    pub electrical_consumer_names: Option<Vec<String>>,
52    #[serde(rename = "ElectricalContext")]
53    #[serde(default, skip_serializing_if = "Option::is_none")]
54    pub electrical_context: Option<models::sensor::ElectricalContext>,
55    /// The URI of the management interface for the upstream electrical source connection for this circuit.
56    #[serde(rename = "ElectricalSourceManagerURI")]
57    #[serde(default, skip_serializing_if = "Option::is_none")]
58    pub electrical_source_manager_uri: Option<String>,
59    /// The name of the upstream electrical source, such as a circuit or outlet, connected to this circuit.
60    #[serde(rename = "ElectricalSourceName")]
61    #[serde(default, skip_serializing_if = "Option::is_none")]
62    pub electrical_source_name: Option<String>,
63    #[serde(rename = "EnergykWh")]
64    #[serde(default, skip_serializing_if = "Option::is_none")]
65    pub energy_kwh: Option<models::sensor::SensorEnergykWhExcerpt>,
66    #[serde(rename = "FrequencyHz")]
67    #[serde(default, skip_serializing_if = "Option::is_none")]
68    pub frequency_hz: Option<models::sensor::SensorExcerpt>,
69    #[serde(rename = "Id")]
70    #[serde(skip_deserializing)]
71    pub id: models::resource::Id,
72    #[serde(rename = "IndicatorLED")]
73    #[serde(default, skip_serializing_if = "Option::is_none")]
74    pub indicator_led: Option<models::resource::IndicatorLED>,
75    #[serde(rename = "Links")]
76    #[serde(default, skip_serializing_if = "Option::is_none")]
77    pub links: Option<models::circuit::v1_7_0::Links>,
78    /// An indicator allowing an operator to physically locate this resource.
79    #[serde(rename = "LocationIndicatorActive")]
80    #[serde(default, skip_serializing_if = "Option::is_none")]
81    pub location_indicator_active: Option<bool>,
82    #[serde(rename = "Name")]
83    #[serde(skip_deserializing)]
84    pub name: models::resource::Name,
85    #[serde(rename = "NominalVoltage")]
86    #[serde(default, skip_serializing_if = "Option::is_none")]
87    pub nominal_voltage: Option<models::circuit::NominalVoltageType>,
88    #[serde(rename = "Oem")]
89    #[serde(default, skip_serializing_if = "Option::is_none")]
90    pub oem: Option<models::resource::Oem>,
91    #[serde(rename = "PhaseWiringType")]
92    #[serde(default, skip_serializing_if = "Option::is_none")]
93    pub phase_wiring_type: Option<models::circuit::PhaseWiringType>,
94    #[serde(rename = "PlugType")]
95    #[serde(default, skip_serializing_if = "Option::is_none")]
96    pub plug_type: Option<models::circuit::PlugType>,
97    #[serde(rename = "PolyPhaseCurrentAmps")]
98    #[serde(default, skip_serializing_if = "Option::is_none")]
99    pub poly_phase_current_amps: Option<models::circuit::v1_7_0::CurrentSensors>,
100    #[serde(rename = "PolyPhaseEnergykWh")]
101    #[serde(default, skip_serializing_if = "Option::is_none")]
102    pub poly_phase_energy_kwh: Option<models::circuit::v1_7_0::EnergySensors>,
103    #[serde(rename = "PolyPhasePowerWatts")]
104    #[serde(default, skip_serializing_if = "Option::is_none")]
105    pub poly_phase_power_watts: Option<models::circuit::v1_7_0::PowerSensors>,
106    #[serde(rename = "PolyPhaseVoltage")]
107    #[serde(default, skip_serializing_if = "Option::is_none")]
108    pub poly_phase_voltage: Option<models::circuit::v1_7_0::VoltageSensors>,
109    /// Indicates whether power control requests are locked.
110    #[serde(rename = "PowerControlLocked")]
111    #[serde(default, skip_serializing_if = "Option::is_none")]
112    pub power_control_locked: Option<bool>,
113    /// The number of seconds to delay power on after a PowerControl action to cycle power.  Zero seconds indicates no delay.
114    #[serde(rename = "PowerCycleDelaySeconds")]
115    #[serde(default, skip_serializing_if = "Option::is_none")]
116    pub power_cycle_delay_seconds: Option<f64>,
117    /// Indicates if the circuit can be powered.
118    #[serde(rename = "PowerEnabled")]
119    #[serde(default, skip_serializing_if = "Option::is_none")]
120    pub power_enabled: Option<bool>,
121    #[serde(rename = "PowerLoadPercent")]
122    #[serde(default, skip_serializing_if = "Option::is_none")]
123    pub power_load_percent: Option<models::sensor::SensorExcerpt>,
124    /// The number of seconds to delay power off after a PowerControl action.  Zero seconds indicates no delay to power off.
125    #[serde(rename = "PowerOffDelaySeconds")]
126    #[serde(default, skip_serializing_if = "Option::is_none")]
127    pub power_off_delay_seconds: Option<f64>,
128    /// The number of seconds to delay power up after a power cycle or a PowerControl action.  Zero seconds indicates no delay to power up.
129    #[serde(rename = "PowerOnDelaySeconds")]
130    #[serde(default, skip_serializing_if = "Option::is_none")]
131    pub power_on_delay_seconds: Option<f64>,
132    /// The number of seconds to delay power on after power has been restored.  Zero seconds indicates no delay.
133    #[serde(rename = "PowerRestoreDelaySeconds")]
134    #[serde(default, skip_serializing_if = "Option::is_none")]
135    pub power_restore_delay_seconds: Option<f64>,
136    #[serde(rename = "PowerRestorePolicy")]
137    #[serde(default, skip_serializing_if = "Option::is_none")]
138    pub power_restore_policy: Option<models::circuit::PowerRestorePolicyTypes>,
139    #[serde(rename = "PowerState")]
140    #[serde(default, skip_serializing_if = "Option::is_none")]
141    pub power_state: Option<models::resource::PowerState>,
142    /// Indicates whether the power state is undergoing a delayed transition.
143    #[serde(rename = "PowerStateInTransition")]
144    #[serde(default, skip_serializing_if = "Option::is_none")]
145    pub power_state_in_transition: Option<bool>,
146    #[serde(rename = "PowerWatts")]
147    #[serde(default, skip_serializing_if = "Option::is_none")]
148    pub power_watts: Option<models::sensor::SensorPowerExcerpt>,
149    /// The rated maximum current allowed for this circuit.
150    #[serde(rename = "RatedCurrentAmps")]
151    #[serde(default, skip_serializing_if = "Option::is_none")]
152    pub rated_current_amps: Option<f64>,
153    #[serde(rename = "Status")]
154    #[serde(default, skip_serializing_if = "Option::is_none")]
155    pub status: Option<models::resource::Status>,
156    #[serde(rename = "UnbalancedCurrentPercent")]
157    #[serde(default, skip_serializing_if = "Option::is_none")]
158    pub unbalanced_current_percent: Option<models::sensor::SensorExcerpt>,
159    #[serde(rename = "UnbalancedVoltagePercent")]
160    #[serde(default, skip_serializing_if = "Option::is_none")]
161    pub unbalanced_voltage_percent: Option<models::sensor::SensorExcerpt>,
162    /// A user-assigned label.
163    #[serde(rename = "UserLabel")]
164    #[serde(default, skip_serializing_if = "Option::is_none")]
165    pub user_label: Option<String>,
166    #[serde(rename = "Voltage")]
167    #[serde(default, skip_serializing_if = "Option::is_none")]
168    pub voltage: Option<models::sensor::SensorVoltageExcerpt>,
169    #[serde(rename = "VoltageType")]
170    #[serde(default, skip_serializing_if = "Option::is_none")]
171    pub voltage_type: Option<models::circuit::v1_7_0::VoltageType>,
172}
173
174impl crate::Metadata<'static> for Circuit {
175    const JSON_SCHEMA: &'static str = "Circuit.v1_7_0.json";
176}