#[derive(Clone, Debug, PartialEq, Default, Serialize, Deserialize)]
pub struct IkeProposalAuthenticationAlgorithm {
#[serde(rename = "value", skip_serializing_if = "Option::is_none")]
pub value: Option<Value>,
#[serde(rename = "label", skip_serializing_if = "Option::is_none")]
pub label: Option<Label>,
}
impl IkeProposalAuthenticationAlgorithm {
pub fn new() -> IkeProposalAuthenticationAlgorithm {
IkeProposalAuthenticationAlgorithm {
value: None,
label: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Value {
#[serde(rename = "hmac-sha1")]
Sha1,
#[serde(rename = "hmac-sha256")]
Sha256,
#[serde(rename = "hmac-sha384")]
Sha384,
#[serde(rename = "hmac-sha512")]
Sha512,
#[serde(rename = "hmac-md5")]
Md5,
}
impl Default for Value {
fn default() -> Value {
Self::Sha1
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Label {
#[serde(rename = "SHA-1 HMAC")]
Sha1Hmac,
#[serde(rename = "SHA-256 HMAC")]
Sha256Hmac,
#[serde(rename = "SHA-384 HMAC")]
Sha384Hmac,
#[serde(rename = "SHA-512 HMAC")]
Sha512Hmac,
#[serde(rename = "MD5 HMAC")]
Md5Hmac,
}
impl Default for Label {
fn default() -> Label {
Self::Sha1Hmac
}
}