use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct ControlRangeExcerpt {
#[serde(rename = "AllowableMax")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowable_max: Option<f64>,
#[serde(rename = "AllowableMin")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowable_min: Option<f64>,
#[serde(rename = "AllowableNumericValues")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub allowable_numeric_values: Option<Vec<f64>>,
#[serde(rename = "ControlMode")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub control_mode: Option<models::control::v1_3_0::ControlMode>,
#[serde(rename = "DataSourceUri")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub data_source_uri: Option<String>,
#[serde(rename = "Reading")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reading: Option<f64>,
#[serde(rename = "ReadingUnits")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub reading_units: Option<String>,
#[serde(rename = "SettingMax")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub setting_max: Option<f64>,
#[serde(rename = "SettingMin")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub setting_min: Option<f64>,
}
impl crate::Metadata<'static> for ControlRangeExcerpt {
const JSON_SCHEMA: &'static str = "Control.v1_3_0.json";
}