use crate::models;
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
#[derive(derivative::Derivative)]
#[derivative(Default)]
pub struct NVMeoF {
#[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>>,
#[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>>,
#[serde(rename = "OEMSecurityProtocolAllowList")]
#[serde(default, skip_serializing_if = "Option::is_none")]
pub oem_security_protocol_allow_list: Option<Vec<String>>,
#[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>>,
#[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>>,
#[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";
}