use serde::{Deserialize, Serialize};
#[allow(unused_imports)]
use super::*;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct CreateStationProfileDetails {
pub profile_type: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub vendor_name: Option<VendorName>,
#[serde(skip_serializing_if = "Option::is_none")]
pub os_family: Option<OsFamily>,
#[serde(skip_serializing_if = "Option::is_none")]
pub arch_type: Option<ArchType>,
}
pub struct CreateStationProfileDetailsRequired {
pub profile_type: String,
}
impl CreateStationProfileDetails {
pub fn new(required: CreateStationProfileDetailsRequired) -> Self {
Self {
profile_type: required.profile_type,
vendor_name: None,
os_family: None,
arch_type: None,
}
}
pub fn set_vendor_name(mut self, value: Option<VendorName>) -> Self {
self.vendor_name = value;
self
}
pub fn set_os_family(mut self, value: Option<OsFamily>) -> Self {
self.os_family = value;
self
}
pub fn set_arch_type(mut self, value: Option<ArchType>) -> Self {
self.arch_type = value;
self
}
pub fn set_profile_type(mut self, value: String) -> Self {
self.profile_type = value;
self
}
pub fn with_vendor_name(mut self, value: VendorName) -> Self {
self.vendor_name = Some(value);
self
}
pub fn with_os_family(mut self, value: OsFamily) -> Self {
self.os_family = Some(value);
self
}
pub fn with_arch_type(mut self, value: ArchType) -> Self {
self.arch_type = Some(value);
self
}
}