redfish-codegen 0.3.1

An unopinionated translation of the Redfish specification into Rust.
Documentation
// Generated by redfish-codegen. Do not modify.

use crate::models;

/// The boot information for this resource.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct Boot {
    /// Ordered array of boot source aliases representing the persistent boot order associated with this computer system.
    #[serde(rename = "AliasBootOrder")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub alias_boot_order: Option<Vec<models::computer_system::BootSource>>,
    /// The number of attempts the system will automatically retry booting.
    #[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_1::AutomaticRetryConfig>,
    /// The BootOptionReference of the Boot Option to perform a one-time boot from when BootSourceOverrideTarget is `UefiBootNext`.
    #[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>,
    /// An array of BootOptionReference strings that represent the persistent boot order for with this computer system.  Changes to the boot order typically require a system reset before they take effect.  It is likely that a client finds the `@Redfish.Settings` term in this resource, and if it is found, the client makes requests to change boot order settings by modifying the resource identified by the `@Redfish.Settings` term.
    #[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_1::BootOrderTypes>,
    #[serde(rename = "BootSourceOverrideEnabled")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub boot_source_override_enabled: Option<models::computer_system::v1_20_1::BootSourceOverrideEnabled>,
    #[serde(rename = "BootSourceOverrideMode")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub boot_source_override_mode: Option<models::computer_system::v1_20_1::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>,
    /// The URI to boot from when BootSourceOverrideTarget is set to `UefiHttp`.
    #[serde(rename = "HttpBootUri")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub http_boot_uri: Option<String>,
    /// The number of remaining automatic retry boots.
    #[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_1::StopBootOnFault>,
    #[serde(rename = "TrustedModuleRequiredToBoot")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub trusted_module_required_to_boot: Option<models::computer_system::v1_20_1::TrustedModuleRequiredToBoot>,
    /// The UEFI device path of the device from which to boot when BootSourceOverrideTarget is `UefiTarget`.
    #[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_1.json";
}