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 links to other resources that are related to this resource.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct Links {
    #[serde(rename = "ActiveSoftwareImage")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub active_software_image: Option<models::odata_v4::IdRef>,
    /// The array of links to the managers responsible for managing this manager.
    #[serde(rename = "ManagedBy")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub managed_by: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "ManagedBy@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub managed_by_odata_count: Option<models::odata_v4::Count>,
    /// An array of links to the chassis this manager controls.
    #[serde(rename = "ManagerForChassis")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manager_for_chassis: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "ManagerForChassis@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manager_for_chassis_odata_count: Option<models::odata_v4::Count>,
    /// An array of links to the managers that are managed by this manager.
    #[serde(rename = "ManagerForManagers")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manager_for_managers: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "ManagerForManagers@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manager_for_managers_odata_count: Option<models::odata_v4::Count>,
    /// An array of links to the systems that this manager controls.
    #[serde(rename = "ManagerForServers")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manager_for_servers: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "ManagerForServers@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manager_for_servers_odata_count: Option<models::odata_v4::Count>,
    /// An array of links to the switches that this manager controls.
    #[serde(rename = "ManagerForSwitches")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manager_for_switches: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "ManagerForSwitches@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manager_for_switches_odata_count: Option<models::odata_v4::Count>,
    #[serde(rename = "ManagerInChassis")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub manager_in_chassis: Option<models::odata_v4::IdRef>,
    #[serde(rename = "Oem")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub oem: Option<models::resource::Oem>,
    /// The images that are associated with this manager.
    #[serde(rename = "SoftwareImages")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub software_images: Option<Vec<models::odata_v4::IdRef>>,
    #[serde(rename = "SoftwareImages@odata.count")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub software_images_odata_count: Option<models::odata_v4::Count>,
}

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