use serde::{Serialize, Deserialize};
use super::*;
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct PortCollection {
#[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 = "Port", default, skip_serializing_if = "Vec::is_empty")]
pub port: Vec<Port>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct Port {
#[serde(rename = "@Id", default)]
pub id: String,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
#[serde(rename = "@Address", default, skip_serializing_if = "Option::is_none")]
pub address: Option<String>,
#[serde(rename = "@AddressB", default, skip_serializing_if = "Option::is_none")]
pub address_b: Option<String>,
#[serde(rename = "@RcpGatewayAddress1", default, skip_serializing_if = "Option::is_none")]
pub rcp_gateway_address1: Option<String>,
#[serde(rename = "@RcpGatewayAddress2", default, skip_serializing_if = "Option::is_none")]
pub rcp_gateway_address2: Option<String>,
#[serde(rename = "@Type", default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(rename = "@Upstream", default, skip_serializing_if = "Option::is_none")]
pub upstream: Option<String>,
#[serde(rename = "@ConnectorOffset", default, skip_serializing_if = "Option::is_none")]
pub connector_offset: Option<String>,
#[serde(rename = "@Width", default, skip_serializing_if = "Option::is_none")]
pub width: Option<String>,
#[serde(rename = "@NATActualAddress", default, skip_serializing_if = "Option::is_none")]
pub natactual_address: Option<String>,
#[serde(rename = "@Validation", default, skip_serializing_if = "Option::is_none")]
pub validation: Option<String>,
#[serde(rename = "@SafetyNetwork", default, skip_serializing_if = "Option::is_none")]
pub safety_network: 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 = "Bus", default, skip_serializing_if = "Option::is_none")]
pub bus: Option<ABus>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MapConnectionCollection {
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: 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 = "Connection", default, skip_serializing_if = "Vec::is_empty")]
pub connection: Vec<MapConnection>,
#[serde(rename = "RackConnection", default, skip_serializing_if = "Option::is_none")]
pub rack_connection: Option<RackConnection>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct MapConnection {
#[serde(rename = "@Name", default)]
pub name: String,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: Option<String>,
#[serde(rename = "@RPI", default)]
pub rpi: String,
#[serde(rename = "@Type", default, skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(rename = "@InputTagUId", default, skip_serializing_if = "Option::is_none")]
pub input_tag_uid: Option<String>,
#[serde(rename = "@OutputTagUId", default, skip_serializing_if = "Option::is_none")]
pub output_tag_uid: Option<String>,
#[serde(rename = "@InputCxnPoint", default, skip_serializing_if = "Option::is_none")]
pub input_cxn_point: Option<String>,
#[serde(rename = "@OutputCxnPoint", default, skip_serializing_if = "Option::is_none")]
pub output_cxn_point: Option<String>,
#[serde(rename = "@InputSize", default, skip_serializing_if = "Option::is_none")]
pub input_size: Option<String>,
#[serde(rename = "@OutputSize", default, skip_serializing_if = "Option::is_none")]
pub output_size: Option<String>,
#[serde(rename = "@EventID", default, skip_serializing_if = "Option::is_none")]
pub event_id: Option<String>,
#[serde(rename = "@ProgrammaticallySendEventTrigger", default, skip_serializing_if = "Option::is_none")]
pub programmatically_send_event_trigger: Option<String>,
#[serde(rename = "@TimeoutMultiplier", default, skip_serializing_if = "Option::is_none")]
pub timeout_multiplier: Option<String>,
#[serde(rename = "@NetworkDelayMultiplier", default, skip_serializing_if = "Option::is_none")]
pub network_delay_multiplier: Option<String>,
#[serde(rename = "@ReactionTimeLimit", default, skip_serializing_if = "Option::is_none")]
pub reaction_time_limit: Option<String>,
#[serde(rename = "@MaxObservedNetworkDelay", default, skip_serializing_if = "Option::is_none")]
pub max_observed_network_delay: Option<String>,
#[serde(rename = "@ControlNetScheduled", default, skip_serializing_if = "Option::is_none")]
pub control_net_scheduled: Option<String>,
#[serde(rename = "@Unicast", default, skip_serializing_if = "Option::is_none")]
pub unicast: Option<String>,
#[serde(rename = "@OpenOrder", default, skip_serializing_if = "Option::is_none")]
pub open_order: Option<String>,
#[serde(rename = "@InputRealTimeFormat", default, skip_serializing_if = "Option::is_none")]
pub input_real_time_format: Option<String>,
#[serde(rename = "@OutputRealTimeFormat", default, skip_serializing_if = "Option::is_none")]
pub output_real_time_format: Option<String>,
#[serde(rename = "@ConnMultiplier", default, skip_serializing_if = "Option::is_none")]
pub conn_multiplier: Option<String>,
#[serde(rename = "@OutputSizeVariable", default, skip_serializing_if = "Option::is_none")]
pub output_size_variable: Option<String>,
#[serde(rename = "@InputSizeVariable", default, skip_serializing_if = "Option::is_none")]
pub input_size_variable: Option<String>,
#[serde(rename = "@OutputPriority", default, skip_serializing_if = "Option::is_none")]
pub output_priority: Option<String>,
#[serde(rename = "@Priority", default, skip_serializing_if = "Option::is_none")]
pub priority: Option<String>,
#[serde(rename = "@OutputConnectionType", default, skip_serializing_if = "Option::is_none")]
pub output_connection_type: Option<String>,
#[serde(rename = "@InputConnectionType", default, skip_serializing_if = "Option::is_none")]
pub input_connection_type: Option<String>,
#[serde(rename = "@OutputRedundantOwner", default, skip_serializing_if = "Option::is_none")]
pub output_redundant_owner: Option<String>,
#[serde(rename = "@OutputRPI", default, skip_serializing_if = "Option::is_none")]
pub output_rpi: Option<String>,
#[serde(rename = "@TransportClass", default, skip_serializing_if = "Option::is_none")]
pub transport_class: Option<String>,
#[serde(rename = "@InputProductionTrigger", default, skip_serializing_if = "Option::is_none")]
pub input_production_trigger: Option<String>,
#[serde(rename = "@Direction", default, skip_serializing_if = "Option::is_none")]
pub direction: Option<String>,
#[serde(rename = "@ConnectionPath", default, skip_serializing_if = "Option::is_none")]
pub connection_path: Option<String>,
#[serde(rename = "@IncludeDataSegment", default, skip_serializing_if = "Option::is_none")]
pub include_data_segment: Option<String>,
#[serde(rename = "@GenerateFaultMember", default, skip_serializing_if = "Option::is_none")]
pub generate_fault_member: Option<String>,
#[serde(rename = "@InputTagSuffix", default, skip_serializing_if = "Option::is_none")]
pub input_tag_suffix: Option<String>,
#[serde(rename = "@OutputTagSuffix", default, skip_serializing_if = "Option::is_none")]
pub output_tag_suffix: Option<String>,
#[serde(rename = "@DisplayName", default, skip_serializing_if = "Option::is_none")]
pub display_name: Option<String>,
#[serde(rename = "@MaxConsumerNumber", default, skip_serializing_if = "Option::is_none")]
pub max_consumer_number: Option<String>,
#[serde(rename = "@ExcludeFromAggregation", default, skip_serializing_if = "Option::is_none")]
pub exclude_from_aggregation: Option<String>,
#[serde(rename = "@IsConcurrent", default, skip_serializing_if = "Option::is_none")]
pub is_concurrent: 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 = "InputTag", default, skip_serializing_if = "Option::is_none")]
pub input_tag: Option<InputTag>,
#[serde(rename = "InputData", default, skip_serializing_if = "Option::is_none")]
pub input_data: Option<InputData>,
#[serde(rename = "OutputTag", default, skip_serializing_if = "Option::is_none")]
pub output_tag: Option<OutputTag>,
#[serde(rename = "OutputData", default, skip_serializing_if = "Option::is_none")]
pub output_data: Option<OutputData>,
#[serde(rename = "InputImageInit", default, skip_serializing_if = "Option::is_none")]
pub input_image_init: Option<InputImageInit>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct RackConnection {
#[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 = "InAliasTag", default, skip_serializing_if = "Option::is_none")]
pub in_alias_tag: Option<InAliasTag>,
#[serde(rename = "OutAliasTag", default, skip_serializing_if = "Option::is_none")]
pub out_alias_tag: Option<OutAliasTag>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ParameterConnectionCollection {
#[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 = "ParameterConnection", default, skip_serializing_if = "Vec::is_empty")]
pub parameter_connection: Vec<ParameterConnection>,
}
#[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize)]
pub struct ParameterConnection {
#[serde(rename = "@EndPoint1", default)]
pub end_point1: String,
#[serde(rename = "@EndPoint2", default)]
pub end_point2: String,
#[serde(rename = "@UId", default, skip_serializing_if = "Option::is_none")]
pub uid: 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>,
}