redfish_codegen/models/storage_controller/v1_7_0/
nvme_controller_properties.rs

1// Generated by redfish-codegen. Do not modify.
2
3use crate::models;
4
5/// NVMe related properties for a storage controller.
6#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
7#[derive(derivative::Derivative)]
8#[derivative(Default)]
9pub struct NVMeControllerProperties {
10    /// The ANA characteristics and volume information.
11    #[serde(rename = "ANACharacteristics")]
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub ana_characteristics: Option<Vec<models::storage_controller::v1_7_0::ANACharacteristics>>,
14    /// The number of I/O completion queues allocated to this NVMe I/O controller.
15    #[serde(rename = "AllocatedCompletionQueues")]
16    #[serde(default, skip_serializing_if = "Option::is_none")]
17    pub allocated_completion_queues: Option<i64>,
18    /// The number of I/O submission queues allocated to this NVMe I/O controller.
19    #[serde(rename = "AllocatedSubmissionQueues")]
20    #[serde(default, skip_serializing_if = "Option::is_none")]
21    pub allocated_submission_queues: Option<i64>,
22    #[serde(rename = "ControllerType")]
23    #[serde(default, skip_serializing_if = "Option::is_none")]
24    pub controller_type: Option<models::storage_controller::v1_7_0::NVMeControllerType>,
25    /// The maximum individual queue size that an NVMe IO controller supports.
26    #[serde(rename = "MaxQueueSize")]
27    #[serde(default, skip_serializing_if = "Option::is_none")]
28    pub max_queue_size: Option<i64>,
29    #[serde(rename = "NVMeControllerAttributes")]
30    #[serde(default, skip_serializing_if = "Option::is_none")]
31    pub nvme_controller_attributes: Option<models::storage_controller::v1_7_0::NVMeControllerAttributes>,
32    #[serde(rename = "NVMeSMARTCriticalWarnings")]
33    #[serde(default, skip_serializing_if = "Option::is_none")]
34    pub nvme_smart_critical_warnings: Option<models::storage_controller::v1_7_0::NVMeSMARTCriticalWarnings>,
35    /// The version of the NVMe Base Specification supported.
36    #[serde(rename = "NVMeVersion")]
37    #[serde(default, skip_serializing_if = "Option::is_none")]
38    pub nvme_version: Option<String>,
39}
40
41impl crate::Metadata<'static> for NVMeControllerProperties {
42    const JSON_SCHEMA: &'static str = "StorageController.v1_7_0.json";
43}