use serde::{Deserialize, Serialize};
#[allow(unused_imports)]
use super::*;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ModuleStreamProfileDetails {
pub module_name: String,
pub stream_name: String,
pub profile_name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub software_source_id: Option<String>,
}
pub struct ModuleStreamProfileDetailsRequired {
pub module_name: String,
pub stream_name: String,
pub profile_name: String,
}
impl ModuleStreamProfileDetails {
pub fn new(required: ModuleStreamProfileDetailsRequired) -> Self {
Self {
module_name: required.module_name,
stream_name: required.stream_name,
profile_name: required.profile_name,
software_source_id: None,
}
}
pub fn set_module_name(mut self, value: String) -> Self {
self.module_name = value;
self
}
pub fn set_stream_name(mut self, value: String) -> Self {
self.stream_name = value;
self
}
pub fn set_profile_name(mut self, value: String) -> Self {
self.profile_name = value;
self
}
pub fn set_software_source_id(mut self, value: Option<String>) -> Self {
self.software_source_id = value;
self
}
pub fn with_software_source_id(mut self, value: impl Into<String>) -> Self {
self.software_source_id = Some(value.into());
self
}
}