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