Skip to content

Commit

Permalink
feat: add a new type for the kubernetes hostname override mode
Browse files Browse the repository at this point in the history
  • Loading branch information
tzneal committed Jul 16, 2024
1 parent c5dfef4 commit 78c8db2
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions bottlerocket-settings-models/modeled-types/src/kubernetes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1411,3 +1411,32 @@ mod test_kubernetes_memory_manager_policy {
}
}
}

/// KubernetesHostnameOverrideSource represents a string that is a valid hostname override source.
/// This is used to configure different node name modes for Kubernetes nodes.
#[derive(Debug, Clone, Eq, PartialEq, Hash, Serialize, Deserialize, Scalar)]
pub enum KubernetesHostnameOverrideSource {
#[serde(rename = "private-dns-name")]
PrivateDNSName,
#[serde(rename = "instance-id")]
InstanceID,
}

#[cfg(test)]
mod test_hostname_override_source {
use crate::KubernetesHostnameOverrideSource;

#[test]
fn good_override() {
for ok in &["private-dns-name", "instance-id"] {
KubernetesHostnameOverrideSource::try_from(*ok).unwrap();
}
}

#[test]
fn bad_override() {
for err in &["", "invalid", &"a".repeat(64)] {
KubernetesHostnameOverrideSource::try_from(*err).unwrap_err();
}
}
}

0 comments on commit 78c8db2

Please sign in to comment.