redfish_codegen/models/software_inventory/v1_9_0/
software_inventory.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The SoftwareInventory schema contains an inventory of software components.  This can include software components such as BIOS, BMC firmware, firmware for other devices, system drivers, or provider software.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct SoftwareInventory {
10    #[serde(rename = "@odata.context")]
11    #[serde(skip_deserializing)]
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub odata_context: Option<models::odata_v4::Context>,
14    #[serde(rename = "@odata.etag")]
15    #[serde(skip_deserializing)]
16    #[serde(default, skip_serializing_if = "Option::is_none")]
17    pub odata_etag: Option<models::odata_v4::Etag>,
18    #[serde(rename = "@odata.id")]
19    #[serde(skip_deserializing)]
20    pub odata_id: models::odata_v4::Id,
21    #[serde(rename = "@odata.type")]
22    #[serde(skip_deserializing)]
23    #[derivative(Default(value = "models::odata_v4::Type(\"#SoftwareInventory.v1_9_0.SoftwareInventory\".to_string())"))]
24    pub odata_type: models::odata_v4::Type,
25    #[serde(rename = "Actions")]
26    #[serde(default, skip_serializing_if = "Option::is_none")]
27    pub actions: Option<models::software_inventory::v1_9_0::Actions>,
28    #[serde(rename = "AdditionalVersions")]
29    #[serde(default, skip_serializing_if = "Option::is_none")]
30    pub additional_versions: Option<models::software_inventory::v1_9_0::AdditionalVersions>,
31    #[serde(rename = "Description")]
32    #[serde(default, skip_serializing_if = "Option::is_none")]
33    pub description: Option<models::resource::Description>,
34    #[serde(rename = "Id")]
35    #[serde(skip_deserializing)]
36    pub id: models::resource::Id,
37    /// The lowest supported version of this software.
38    #[serde(rename = "LowestSupportedVersion")]
39    #[serde(default, skip_serializing_if = "Option::is_none")]
40    pub lowest_supported_version: Option<String>,
41    /// The manufacturer or producer of this software.
42    #[serde(rename = "Manufacturer")]
43    #[serde(default, skip_serializing_if = "Option::is_none")]
44    pub manufacturer: Option<String>,
45    #[serde(rename = "Measurement")]
46    #[serde(default, skip_serializing_if = "Option::is_none")]
47    pub measurement: Option<models::software_inventory::MeasurementBlock>,
48    #[serde(rename = "Name")]
49    #[serde(skip_deserializing)]
50    pub name: models::resource::Name,
51    #[serde(rename = "Oem")]
52    #[serde(default, skip_serializing_if = "Option::is_none")]
53    pub oem: Option<models::resource::Oem>,
54    /// The IDs of the Resources associated with this software inventory item.
55    #[serde(rename = "RelatedItem")]
56    #[serde(default, skip_serializing_if = "Option::is_none")]
57    pub related_item: Option<Vec<models::odata_v4::IdRef>>,
58    #[serde(rename = "RelatedItem@odata.count")]
59    #[serde(default, skip_serializing_if = "Option::is_none")]
60    pub related_item_odata_count: Option<models::odata_v4::Count>,
61    /// The release date of this software.
62    #[serde(rename = "ReleaseDate")]
63    #[serde(default, skip_serializing_if = "Option::is_none")]
64    pub release_date: Option<String>,
65    /// The implementation-specific label that identifies this software.
66    #[serde(rename = "SoftwareId")]
67    #[serde(default, skip_serializing_if = "Option::is_none")]
68    pub software_id: Option<String>,
69    #[serde(rename = "Status")]
70    #[serde(default, skip_serializing_if = "Option::is_none")]
71    pub status: Option<models::resource::Status>,
72    /// The list of UEFI device paths of the components associated with this software inventory item.
73    #[serde(rename = "UefiDevicePaths")]
74    #[serde(default, skip_serializing_if = "Option::is_none")]
75    pub uefi_device_paths: Option<Vec<String>>,
76    /// An indication of whether the Update Service can update this software.
77    #[serde(rename = "Updateable")]
78    #[serde(default, skip_serializing_if = "Option::is_none")]
79    pub updateable: Option<bool>,
80    /// The version of this software.
81    #[serde(rename = "Version")]
82    #[serde(default, skip_serializing_if = "Option::is_none")]
83    pub version: Option<String>,
84    #[serde(rename = "VersionScheme")]
85    #[serde(default, skip_serializing_if = "Option::is_none")]
86    pub version_scheme: Option<models::software_inventory::v1_9_0::VersionScheme>,
87    /// Indicates if the software is write-protected.
88    #[serde(rename = "WriteProtected")]
89    #[serde(default, skip_serializing_if = "Option::is_none")]
90    pub write_protected: Option<bool>,
91}
92
93impl crate::Metadata<'static> for SoftwareInventory {
94    const JSON_SCHEMA: &'static str = "SoftwareInventory.v1_9_0.json";
95}