Function kubewarden_policy_sdk::validate_settings [−][src]
pub fn validate_settings<T>(payload: &[u8]) -> CallResult where
T: DeserializeOwned + Validatable,
waPC guest function to register under the name validate_settings
Example
use kubewarden_policy_sdk::{validate_settings, settings::Validatable}; use serde::Deserialize; use wapc_guest::register_function; // This module settings require either `setting_a` or `setting_b` // set. Both cannot be provided at the same time, and one has to be // provided. #[derive(Deserialize)] struct Settings { setting_a: Option<String>, setting_b: Option<String> } impl Validatable for Settings { fn validate(&self) -> Result<(), String> { if self.setting_a.is_none() && self.setting_b.is_none() { Err("either setting A or setting B has to be provided".to_string()) } else if self.setting_a.is_some() && self.setting_b.is_some() { Err("setting A and setting B cannot be set at the same time".to_string()) } else { Ok(()) } } } register_function("validate_settings", validate_settings::<Settings>);