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;

#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct AssemblyData {
    #[serde(rename = "@odata.id")]
    #[serde(skip_deserializing)]
    pub odata_id: models::odata_v4::Id,
    #[serde(rename = "Actions")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub actions: Option<models::assembly::v1_4_0::AssemblyDataActions>,
    /// The URI at which to access an image of the assembly information.
    #[serde(rename = "BinaryDataURI")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub binary_data_uri: Option<String>,
    /// The description of the assembly.
    #[serde(rename = "Description")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    /// The engineering change level of the assembly.
    #[serde(rename = "EngineeringChangeLevel")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub engineering_change_level: Option<String>,
    #[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>,
    /// The unique identifier for the member within an array.
    #[serde(rename = "MemberId")]
    pub member_id: String,
    /// The model number of the assembly.
    #[serde(rename = "Model")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub model: Option<String>,
    /// The name of the assembly.
    #[serde(rename = "Name")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub name: Option<String>,
    #[serde(rename = "Oem")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub oem: Option<models::resource::Oem>,
    /// The part number of the assembly.
    #[serde(rename = "PartNumber")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub part_number: Option<String>,
    #[serde(rename = "PhysicalContext")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub physical_context: Option<models::physical_context::PhysicalContext>,
    /// The producer or manufacturer of the assembly.
    #[serde(rename = "Producer")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub producer: Option<String>,
    /// The production date of the assembly.
    #[serde(rename = "ProductionDate")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub production_date: Option<String>,
    /// An indication of whether the component associated this assembly can be independently replaced as allowed by the vendor's replacement policy.
    #[serde(rename = "Replaceable")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub replaceable: Option<bool>,
    /// The SKU of the assembly.
    #[serde(rename = "SKU")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub sku: Option<String>,
    /// The serial number of the assembly.
    #[serde(rename = "SerialNumber")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub serial_number: Option<String>,
    /// The spare part number of the assembly.
    #[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 vendor of the assembly.
    #[serde(rename = "Vendor")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub vendor: Option<String>,
    /// The hardware version of the assembly.
    #[serde(rename = "Version")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub version: Option<String>,
}

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