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;

/// In Redfish, a manager is a systems management entity that can implement or provide access to a Redfish service.  Examples of managers are BMCs, enclosure managers, management controllers, and other subsystems that are assigned manageability functions.  An implementation can have multiple managers, which might be directly accessible through a Redfish-defined interface.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct Manager {
    #[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(\"#Manager.v1_18_0.Manager\".to_string())"))]
    pub odata_type: models::odata_v4::Type,
    #[serde(rename = "Actions")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub actions: Option<models::manager::v1_18_0::Actions>,
    #[serde(rename = "AdditionalFirmwareVersions")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub additional_firmware_versions: Option<models::software_inventory::AdditionalVersions>,
    /// An indication of whether the manager is configured for automatic Daylight Saving Time (DST) adjustment.
    #[serde(rename = "AutoDSTEnabled")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub auto_dst_enabled: Option<bool>,
    #[serde(rename = "Certificates")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub certificates: Option<models::odata_v4::IdRef>,
    #[serde(rename = "CommandShell")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub command_shell: Option<models::manager::v1_18_0::CommandShell>,
    /// The current date and time with UTC offset of the manager.
    #[serde(rename = "DateTime")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub date_time: Option<String>,
    /// The time offset from UTC that the DateTime property is in `+HH:MM` format.
    #[serde(rename = "DateTimeLocalOffset")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub date_time_local_offset: Option<String>,
    #[serde(rename = "DedicatedNetworkPorts")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub dedicated_network_ports: Option<models::odata_v4::IdRef>,
    #[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>,
    /// The firmware version of this manager.
    #[serde(rename = "FirmwareVersion")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub firmware_version: Option<String>,
    #[serde(rename = "GraphicalConsole")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub graphical_console: Option<models::manager::v1_18_0::GraphicalConsole>,
    #[serde(rename = "HostInterfaces")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub host_interfaces: Option<models::odata_v4::IdRef>,
    #[serde(rename = "Id")]
    #[serde(skip_deserializing)]
    pub id: models::resource::Id,
    /// The date and time when the manager was last reset or rebooted.
    #[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::manager::v1_18_0::Links>,
    #[serde(rename = "Location")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub location: Option<models::resource::Location>,
    /// An indicator allowing an operator to physically locate this resource.
    #[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 = "ManagerDiagnosticData")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manager_diagnostic_data: Option<models::odata_v4::IdRef>,
    #[serde(rename = "ManagerType")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manager_type: Option<models::manager::v1_18_0::ManagerType>,
    /// The manufacturer of this manager.
    #[serde(rename = "Manufacturer")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manufacturer: Option<String>,
    /// An array of DSP0274-defined measurement blocks.
    #[serde(rename = "Measurements")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub measurements: Option<Vec<models::software_inventory::MeasurementBlock>>,
    /// The model information of this manager, as defined by the manufacturer.
    #[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 = "NetworkProtocol")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub network_protocol: Option<models::odata_v4::IdRef>,
    #[serde(rename = "Oem")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub oem: Option<models::resource::Oem>,
    /// The part number of the manager.
    #[serde(rename = "PartNumber")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub part_number: Option<String>,
    #[serde(rename = "PowerState")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub power_state: Option<models::resource::PowerState>,
    /// The redundancy information for the managers of this system.
    #[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 = "RemoteAccountService")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub remote_account_service: Option<models::odata_v4::IdRef>,
    /// The URI of the Redfish service root for the remote manager that this resource represents.
    #[serde(rename = "RemoteRedfishServiceUri")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub remote_redfish_service_uri: Option<String>,
    #[serde(rename = "SecurityPolicy")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub security_policy: Option<models::odata_v4::IdRef>,
    #[serde(rename = "SerialConsole")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub serial_console: Option<models::manager::v1_18_0::SerialConsole>,
    #[serde(rename = "SerialInterfaces")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub serial_interfaces: Option<models::odata_v4::IdRef>,
    /// The serial number of the manager.
    #[serde(rename = "SerialNumber")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub serial_number: Option<String>,
    #[serde(rename = "ServiceEntryPointUUID")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub service_entry_point_uuid: Option<models::resource::UUID>,
    /// A product instance identifier displayed in the Redfish service root.
    #[serde(rename = "ServiceIdentification")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub service_identification: Option<String>,
    #[serde(rename = "SharedNetworkPorts")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub shared_network_ports: Option<models::odata_v4::IdRef>,
    /// The spare part number of the manager.
    #[serde(rename = "SparePartNumber")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub spare_part_number: Option<String>,
    #[serde(rename = "Status")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub status: Option<models::resource::Status>,
    /// The time zone of the manager.
    #[serde(rename = "TimeZoneName")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub time_zone_name: Option<String>,
    #[serde(rename = "USBPorts")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub usb_ports: Option<models::odata_v4::IdRef>,
    #[serde(rename = "UUID")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub uuid: Option<models::resource::UUID>,
    /// The hardware version of this manager.
    #[serde(rename = "Version")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub version: Option<String>,
    #[serde(rename = "VirtualMedia")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub virtual_media: Option<models::odata_v4::IdRef>,
}

impl crate::Metadata<'static> for Manager {
    const JSON_SCHEMA: &'static str = "Manager.v1_18_0.json";
}