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;

/// A network controller ASIC that makes up part of a network adapter.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct Controllers {
    #[serde(rename = "ControllerCapabilities")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub controller_capabilities: Option<models::network_adapter::v1_9_0::ControllerCapabilities>,
    /// The version of the user-facing firmware package.
    #[serde(rename = "FirmwarePackageVersion")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub firmware_package_version: Option<String>,
    /// The durable names for the network adapter controller.
    #[serde(rename = "Identifiers")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub identifiers: Option<Vec<models::resource::Identifier>>,
    #[serde(rename = "Links")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub links: Option<models::network_adapter::v1_9_0::ControllerLinks>,
    #[serde(rename = "Location")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub location: Option<models::resource::Location>,
    #[serde(rename = "PCIeInterface")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub pcie_interface: Option<models::pcie_device::PCIeInterface>,
}

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