use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct Boot {
#[serde(rename = "AliasBootOrder")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub alias_boot_order: Option<Vec<models::computer_system::BootSource>>,
#[serde(rename = "AutomaticRetryAttempts")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub automatic_retry_attempts: Option<i64>,
#[serde(rename = "AutomaticRetryConfig")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub automatic_retry_config: Option<models::computer_system::v1_20_0::AutomaticRetryConfig>,
#[serde(rename = "BootNext")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub boot_next: Option<String>,
#[serde(rename = "BootOptions")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub boot_options: Option<models::odata_v4::IdRef>,
#[serde(rename = "BootOrder")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub boot_order: Option<Vec<String>>,
#[serde(rename = "BootOrderPropertySelection")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub boot_order_property_selection: Option<models::computer_system::v1_20_0::BootOrderTypes>,
#[serde(rename = "BootSourceOverrideEnabled")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub boot_source_override_enabled: Option<models::computer_system::v1_20_0::BootSourceOverrideEnabled>,
#[serde(rename = "BootSourceOverrideMode")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub boot_source_override_mode: Option<models::computer_system::v1_20_0::BootSourceOverrideMode>,
#[serde(rename = "BootSourceOverrideTarget")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub boot_source_override_target: Option<models::computer_system::BootSource>,
#[serde(rename = "Certificates")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub certificates: Option<models::odata_v4::IdRef>,
#[serde(rename = "HttpBootUri")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub http_boot_uri: Option<String>,
#[serde(rename = "RemainingAutomaticRetryAttempts")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub remaining_automatic_retry_attempts: Option<i64>,
#[serde(rename = "StopBootOnFault")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub stop_boot_on_fault: Option<models::computer_system::v1_20_0::StopBootOnFault>,
#[serde(rename = "TrustedModuleRequiredToBoot")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub trusted_module_required_to_boot: Option<models::computer_system::v1_20_0::TrustedModuleRequiredToBoot>,
#[serde(rename = "UefiTargetBootSourceOverride")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub uefi_target_boot_source_override: Option<String>,
}
impl crate::Metadata<'static> for Boot {
const JSON_SCHEMA: &'static str = "ComputerSystem.v1_20_0.json";
}