use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct ComputerSystem {
#[serde(rename = "@odata.context")]
#[serde(skip_deserializing)]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub odata_context: Option<models::odata_v4::Context>,
#[serde(rename = "@odata.etag")]
#[serde(skip_deserializing)]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub odata_etag: Option<models::odata_v4::Etag>,
#[serde(rename = "@odata.id")]
#[serde(skip_deserializing)]
pub odata_id: models::odata_v4::Id,
#[serde(rename = "@odata.type")]
#[serde(skip_deserializing)]
#[derivative(Default(value = "models::odata_v4::Type(\"#ComputerSystem.v1_20_0.ComputerSystem\".to_string())"))]
pub odata_type: models::odata_v4::Type,
#[serde(rename = "Actions")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub actions: Option<models::computer_system::v1_20_0::Actions>,
#[serde(rename = "AssetTag")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub asset_tag: Option<String>,
#[serde(rename = "Bios")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bios: Option<models::odata_v4::IdRef>,
#[serde(rename = "BiosVersion")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub bios_version: Option<String>,
#[serde(rename = "Boot")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub boot: Option<models::computer_system::v1_20_0::Boot>,
#[serde(rename = "BootProgress")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub boot_progress: Option<models::computer_system::v1_20_0::BootProgress>,
#[serde(rename = "Certificates")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificates: Option<models::odata_v4::IdRef>,
#[serde(rename = "Composition")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub composition: Option<models::computer_system::v1_20_0::Composition>,
#[serde(rename = "Description")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub description: Option<models::resource::Description>,
#[serde(rename = "EthernetInterfaces")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub ethernet_interfaces: Option<models::odata_v4::IdRef>,
#[serde(rename = "FabricAdapters")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub fabric_adapters: Option<models::odata_v4::IdRef>,
#[serde(rename = "GraphicalConsole")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub graphical_console: Option<models::computer_system::v1_20_0::HostGraphicalConsole>,
#[serde(rename = "GraphicsControllers")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub graphics_controllers: Option<models::odata_v4::IdRef>,
#[serde(rename = "HostName")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_name: Option<String>,
#[serde(rename = "HostWatchdogTimer")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub host_watchdog_timer: Option<models::computer_system::v1_20_0::WatchdogTimer>,
#[serde(rename = "HostedServices")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosted_services: Option<models::computer_system::v1_20_0::HostedServices>,
#[serde(rename = "HostingRoles")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub hosting_roles: Option<Vec<models::computer_system::v1_20_0::HostingRole>>,
#[serde(rename = "Id")]
#[serde(skip_deserializing)]
pub id: models::resource::Id,
#[serde(rename = "IdlePowerSaver")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub idle_power_saver: Option<models::computer_system::v1_20_0::IdlePowerSaver>,
#[serde(rename = "IndicatorLED")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub indicator_led: Option<models::computer_system::v1_20_0::IndicatorLED>,
#[serde(rename = "KeyManagement")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub key_management: Option<models::computer_system::v1_20_0::KeyManagement>,
#[serde(rename = "LastResetTime")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub last_reset_time: Option<String>,
#[serde(rename = "Links")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub links: Option<models::computer_system::v1_20_0::Links>,
#[serde(rename = "LocationIndicatorActive")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub location_indicator_active: Option<bool>,
#[serde(rename = "LogServices")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub log_services: Option<models::odata_v4::IdRef>,
#[serde(rename = "Manufacturer")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub manufacturer: Option<String>,
#[serde(rename = "ManufacturingMode")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub manufacturing_mode: Option<bool>,
#[serde(rename = "Measurements")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub measurements: Option<Vec<models::software_inventory::MeasurementBlock>>,
#[serde(rename = "Memory")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory: Option<models::odata_v4::IdRef>,
#[serde(rename = "MemoryDomains")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory_domains: Option<models::odata_v4::IdRef>,
#[serde(rename = "MemorySummary")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub memory_summary: Option<models::computer_system::v1_20_0::MemorySummary>,
#[serde(rename = "Model")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub model: Option<String>,
#[serde(rename = "Name")]
#[serde(skip_deserializing)]
pub name: models::resource::Name,
#[serde(rename = "NetworkInterfaces")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub network_interfaces: Option<models::odata_v4::IdRef>,
#[serde(rename = "Oem")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oem: Option<models::resource::Oem>,
#[serde(rename = "PCIeDevices")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pcie_devices: Option<Vec<models::odata_v4::IdRef>>,
#[serde(rename = "PCIeDevices@odata.count")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pcie_devices_odata_count: Option<models::odata_v4::Count>,
#[serde(rename = "PCIeFunctions")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pcie_functions: Option<Vec<models::odata_v4::IdRef>>,
#[serde(rename = "PCIeFunctions@odata.count")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub pcie_functions_odata_count: Option<models::odata_v4::Count>,
#[serde(rename = "PartNumber")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub part_number: Option<String>,
#[serde(rename = "PowerCycleDelaySeconds")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub power_cycle_delay_seconds: Option<f64>,
#[serde(rename = "PowerMode")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub power_mode: Option<models::computer_system::v1_20_0::PowerMode>,
#[serde(rename = "PowerOffDelaySeconds")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub power_off_delay_seconds: Option<f64>,
#[serde(rename = "PowerOnDelaySeconds")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub power_on_delay_seconds: Option<f64>,
#[serde(rename = "PowerRestorePolicy")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub power_restore_policy: Option<models::computer_system::v1_20_0::PowerRestorePolicyTypes>,
#[serde(rename = "PowerState")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub power_state: Option<models::resource::PowerState>,
#[serde(rename = "ProcessorSummary")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub processor_summary: Option<models::computer_system::v1_20_0::ProcessorSummary>,
#[serde(rename = "Processors")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub processors: Option<models::odata_v4::IdRef>,
#[serde(rename = "Redundancy")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redundancy: Option<Vec<models::redundancy::Redundancy>>,
#[serde(rename = "Redundancy@odata.count")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub redundancy_odata_count: Option<models::odata_v4::Count>,
#[serde(rename = "SKU")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sku: Option<String>,
#[serde(rename = "SecureBoot")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub secure_boot: Option<models::odata_v4::IdRef>,
#[serde(rename = "SerialConsole")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub serial_console: Option<models::computer_system::v1_20_0::HostSerialConsole>,
#[serde(rename = "SerialNumber")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub serial_number: Option<String>,
#[serde(rename = "SimpleStorage")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub simple_storage: Option<models::odata_v4::IdRef>,
#[serde(rename = "Status")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub status: Option<models::resource::Status>,
#[serde(rename = "Storage")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub storage: Option<models::odata_v4::IdRef>,
#[serde(rename = "SubModel")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub sub_model: Option<String>,
#[serde(rename = "SystemType")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub system_type: Option<models::computer_system::v1_20_0::SystemType>,
#[serde(rename = "TrustedModules")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trusted_modules: Option<Vec<models::computer_system::v1_20_0::TrustedModules>>,
#[serde(rename = "USBControllers")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub usb_controllers: Option<models::odata_v4::IdRef>,
#[serde(rename = "UUID")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uuid: Option<models::resource::UUID>,
#[serde(rename = "VirtualMedia")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub virtual_media: Option<models::odata_v4::IdRef>,
#[serde(rename = "VirtualMediaConfig")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub virtual_media_config: Option<models::computer_system::v1_20_0::VirtualMediaConfig>,
}
impl crate::Metadata<'static> for ComputerSystem {
const JSON_SCHEMA: &'static str = "ComputerSystem.v1_20_0.json";
}