From 802d91e554991460785e7d458192e67fe7119953 Mon Sep 17 00:00:00 2001 From: Wenjie Ma <55629401+euclidgame@users.noreply.github.com> Date: Sun, 22 Oct 2023 21:25:56 -0500 Subject: [PATCH] Add several fields to `PodSpec` (#370) Signed-off-by: Wenjie Ma --- src/kubernetes_api_objects/pod.rs | 68 +++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/src/kubernetes_api_objects/pod.rs b/src/kubernetes_api_objects/pod.rs index 2d6734bf9..f2eb84993 100644 --- a/src/kubernetes_api_objects/pod.rs +++ b/src/kubernetes_api_objects/pod.rs @@ -233,6 +233,38 @@ impl PodSpec { self.inner.node_selector = Some(node_selector.into_rust_map()) } + #[verifier(external_body)] + pub fn set_runtime_class_name(&mut self, runtime_class_name: String) + ensures + self@ == old(self)@.set_runtime_class_name(runtime_class_name@), + { + self.inner.runtime_class_name = Some(runtime_class_name.into_rust_string()) + } + + #[verifier(external_body)] + pub fn set_dns_policy(&mut self, dns_policy: String) + ensures + self@ == old(self)@.set_dns_policy(dns_policy@), + { + self.inner.dns_policy = Some(dns_policy.into_rust_string()) + } + + #[verifier(external_body)] + pub fn set_scheduler_name(&mut self, scheduler_name: String) + ensures + self@ == old(self)@.set_scheduler_name(scheduler_name@), + { + self.inner.scheduler_name = Some(scheduler_name.into_rust_string()) + } + + #[verifier(external_body)] + pub fn set_priority_class_name(&mut self, priority_class_name: String) + ensures + self@ == old(self)@.set_priority_class_name(priority_class_name@), + { + self.inner.priority_class_name = Some(priority_class_name.into_rust_string()) + } + #[verifier(external)] pub fn from_kube(inner: deps_hack::k8s_openapi::api::core::v1::PodSpec) -> PodSpec { PodSpec { inner: inner } @@ -376,6 +408,10 @@ pub struct PodSpecView { pub service_account_name: Option, pub tolerations: Option>, pub node_selector: Option>, + pub runtime_class_name: Option, + pub dns_policy: Option, + pub priority_class_name: Option, + pub scheduler_name: Option, } impl PodSpecView { @@ -388,6 +424,10 @@ impl PodSpecView { service_account_name: None, tolerations: None, node_selector: None, + runtime_class_name: None, + dns_policy: None, + priority_class_name: None, + scheduler_name: None, } } @@ -453,6 +493,34 @@ impl PodSpecView { ..self } } + + pub open spec fn set_runtime_class_name(self, runtime_class_name: StringView) -> PodSpecView { + PodSpecView { + runtime_class_name: Some(runtime_class_name), + ..self + } + } + + pub open spec fn set_dns_policy(self, dns_policy: StringView) -> PodSpecView { + PodSpecView { + dns_policy: Some(dns_policy), + ..self + } + } + + pub open spec fn set_scheduler_name(self, scheduler_name: StringView) -> PodSpecView { + PodSpecView { + scheduler_name: Some(scheduler_name), + ..self + } + } + + pub open spec fn set_priority_class_name(self, priority_class_name: StringView) -> PodSpecView { + PodSpecView { + priority_class_name: Some(priority_class_name), + ..self + } + } } impl Marshalable for PodSpecView {