redfish_codegen/models/processor/v1_18_0/
fpga.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// The properties of the FPGA device.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct FPGA {
10    /// An array of the FPGA external interfaces.
11    #[serde(rename = "ExternalInterfaces")]
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub external_interfaces: Option<Vec<models::processor::v1_18_0::ProcessorInterface>>,
14    /// The FPGA firmware identifier.
15    #[serde(rename = "FirmwareId")]
16    #[serde(default, skip_serializing_if = "Option::is_none")]
17    pub firmware_id: Option<String>,
18    /// The FPGA firmware manufacturer.
19    #[serde(rename = "FirmwareManufacturer")]
20    #[serde(default, skip_serializing_if = "Option::is_none")]
21    pub firmware_manufacturer: Option<String>,
22    /// The FPGA firmware version.
23    #[serde(rename = "FirmwareVersion")]
24    #[serde(default, skip_serializing_if = "Option::is_none")]
25    pub firmware_version: Option<String>,
26    #[serde(rename = "FpgaType")]
27    #[serde(default, skip_serializing_if = "Option::is_none")]
28    pub fpga_type: Option<models::processor::v1_18_0::FpgaType>,
29    #[serde(rename = "HostInterface")]
30    #[serde(default, skip_serializing_if = "Option::is_none")]
31    pub host_interface: Option<models::processor::v1_18_0::ProcessorInterface>,
32    /// The FPGA model.
33    #[serde(rename = "Model")]
34    #[serde(default, skip_serializing_if = "Option::is_none")]
35    pub model: Option<String>,
36    #[serde(rename = "Oem")]
37    #[serde(default, skip_serializing_if = "Option::is_none")]
38    pub oem: Option<models::resource::Oem>,
39    /// The number of the PCIe Virtual Functions.
40    #[serde(rename = "PCIeVirtualFunctions")]
41    #[serde(default, skip_serializing_if = "Option::is_none")]
42    pub pcie_virtual_functions: Option<i64>,
43    /// An indication of whether the FPGA firmware can be reprogrammed from the host by using system software.
44    #[serde(rename = "ProgrammableFromHost")]
45    #[serde(default, skip_serializing_if = "Option::is_none")]
46    pub programmable_from_host: Option<bool>,
47    /// An array of the FPGA reconfiguration slots.  An FPGA uses a reconfiguration slot to contain an acceleration function that can change as the FPGA is provisioned.
48    #[serde(rename = "ReconfigurationSlots")]
49    #[serde(default, skip_serializing_if = "Option::is_none")]
50    pub reconfiguration_slots: Option<Vec<models::processor::v1_18_0::FpgaReconfigurationSlot>>,
51}
52
53impl crate::Metadata<'static> for FPGA {
54    const JSON_SCHEMA: &'static str = "Processor.v1_18_0.json";
55}