use serde::{Deserialize, Serialize};
#[allow(unused_imports)]
use super::*;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ModuleSpecDetails {
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub stream: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub profile: Option<String>,
}
pub struct ModuleSpecDetailsRequired {
pub name: String,
}
impl ModuleSpecDetails {
pub fn new(required: ModuleSpecDetailsRequired) -> Self {
Self {
name: required.name,
stream: None,
profile: None,
}
}
pub fn set_name(mut self, value: String) -> Self {
self.name = value;
self
}
pub fn set_stream(mut self, value: Option<String>) -> Self {
self.stream = value;
self
}
pub fn set_profile(mut self, value: Option<String>) -> Self {
self.profile = value;
self
}
pub fn with_stream(mut self, value: impl Into<String>) -> Self {
self.stream = Some(value.into());
self
}
pub fn with_profile(mut self, value: impl Into<String>) -> Self {
self.profile = Some(value.into());
self
}
}