redfish_codegen/models/volume/v1_9_0/
namespace_features.rs

1// Generated by redfish-codegen. Do not modify.
2
3
4#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
5#[derive(derivative::Derivative)]
6#[derivative(Default)]
7pub struct NamespaceFeatures {
8    /// Indicates that the NVM fields for Namespace preferred write granularity (NPWG), write alignment (NPWA), deallocate granularity (NPDG), deallocate alignment (NPDA) and optimal write size (NOWS)  are defined for this namespace and should be used by the host for I/O optimization.
9    #[serde(rename = "SupportsAtomicTransactionSize")]
10    #[serde(default, skip_serializing_if = "Option::is_none")]
11    pub supports_atomic_transaction_size: Option<bool>,
12    /// This property indicates that the controller supports deallocated or unwritten logical block error for this namespace.
13    #[serde(rename = "SupportsDeallocatedOrUnwrittenLBError")]
14    #[serde(default, skip_serializing_if = "Option::is_none")]
15    pub supports_deallocated_or_unwritten_lb_error: Option<bool>,
16    /// Indicates that the Namespace Atomic Write Unit Normal (NAWUN), Namespace Atomic Write Unit Power Fail (NAWUPF), and Namespace Atomic Compare and Write Unit (NACWU) fields are defined for this namespace and should be used by the host for this namespace instead of the controller-level properties AWUN, AWUPF, and ACWU.
17    #[serde(rename = "SupportsIOPerformanceHints")]
18    #[serde(default, skip_serializing_if = "Option::is_none")]
19    pub supports_io_performance_hints: Option<bool>,
20    /// This property indicates that the namespace supports the use of an NGUID (namespace globally unique identifier) value.
21    #[serde(rename = "SupportsNGUIDReuse")]
22    #[serde(default, skip_serializing_if = "Option::is_none")]
23    pub supports_nguid_reuse: Option<bool>,
24    /// This property indicates whether or not the NVMe Namespace supports thin provisioning.
25    #[serde(rename = "SupportsThinProvisioning")]
26    #[serde(default, skip_serializing_if = "Option::is_none")]
27    pub supports_thin_provisioning: Option<bool>,
28}
29
30impl crate::Metadata<'static> for NamespaceFeatures {
31    const JSON_SCHEMA: &'static str = "Volume.v1_9_0.json";
32}