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;

/// NVMe-oF specific properties.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct NVMeoF {
    /// The cipher suites that this key policy allows.
    #[serde(rename = "CipherSuiteAllowList")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub cipher_suite_allow_list: Option<Vec<models::key_policy::v1_0_0::NVMeoFCipherSuiteType>>,
    /// The Diffie-Hellman (DH) groups that this key policy allows.
    #[serde(rename = "DHGroupAllowList")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub dh_group_allow_list: Option<Vec<models::key_policy::v1_0_0::NVMeoFDHGroupType>>,
    /// The OEM security protocols that this key policy allows.
    #[serde(rename = "OEMSecurityProtocolAllowList")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub oem_security_protocol_allow_list: Option<Vec<String>>,
    /// The secure hash algorithms that this key policy allows.
    #[serde(rename = "SecureHashAllowList")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub secure_hash_allow_list: Option<Vec<models::key_policy::v1_0_0::NVMeoFSecureHashType>>,
    /// The security protocols that this key policy allows.
    #[serde(rename = "SecurityProtocolAllowList")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub security_protocol_allow_list: Option<Vec<models::key_policy::v1_0_0::NVMeoFSecurityProtocolType>>,
    /// The security transports that this key policy allows.
    #[serde(rename = "SecurityTransportAllowList")]
    #[serde(default, skip_serializing_if = "Option::is_none")]
    pub security_transport_allow_list: Option<Vec<models::key_policy::v1_0_0::NVMeoFSecurityTransportType>>,
}

impl crate::Metadata<'static> for NVMeoF {
    const JSON_SCHEMA: &'static str = "KeyPolicy.v1_0_0.json";
}