use serde::{Serialize, Deserialize};
use super::*;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DeviceObj {
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DeviceDiagnosticProfileCollection {
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "DeviceDiagnosticProfile", default, skip_serializing_if = "Vec::is_empty")]
pub device_diagnostic_profile: Vec<DeviceDiagnosticProfile>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DeviceDiagnosticProfile {
#[serde(rename = "@ID", default)]
pub id: String,
#[serde(rename = "@Version", default)]
pub version: String,
#[serde(rename = "@ProfileReferences", default, skip_serializing_if = "Option::is_none")]
pub profile_references: Option<String>,
#[serde(rename = "@MessageReferences", default, skip_serializing_if = "Option::is_none")]
pub message_references: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
#[serde(rename = "ProfileDefinition", default)]
pub profile_definition: Option<DeviceDiagnosticProfileType_ProfileDefinition_Inline>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DeviceDiagnosticProfileType_ProfileDefinition_Inline {
#[serde(rename = "$text", default, skip_serializing_if = "Option::is_none")]
pub text: Option<String>,
#[serde(skip)]
pub children: Vec<AnyElement>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct DeviceLevelRing {
#[serde(rename = "@SupervisorModeEnabled", default, skip_serializing_if = "Option::is_none")]
pub supervisor_mode_enabled: Option<String>,
#[serde(rename = "@SupervisorPrecedence", default, skip_serializing_if = "Option::is_none")]
pub supervisor_precedence: Option<String>,
#[serde(rename = "@BeaconInterval", default, skip_serializing_if = "Option::is_none")]
pub beacon_interval: Option<String>,
#[serde(rename = "@BeaconTimeout", default, skip_serializing_if = "Option::is_none")]
pub beacon_timeout: Option<String>,
#[serde(rename = "@VLANID", default, skip_serializing_if = "Option::is_none")]
pub vlanid: Option<String>,
#[serde(rename = "@Use", default, skip_serializing_if = "Option::is_none")]
pub r#use: Option<String>,
#[serde(rename = "CustomProperties", default, skip_serializing_if = "Option::is_none")]
pub custom_properties: Option<CustomPropertiesCollection>,
}