use serde::{Deserialize, Serialize};
#[allow(unused_imports)]
use super::*;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct ManagedInstanceGroupAvailablePackageSummary {
pub display_name: String,
pub name: String,
#[serde(rename = "type")]
pub r#type: String,
pub version: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub architecture: Option<ArchType>,
#[serde(skip_serializing_if = "Option::is_none")]
pub software_sources: Option<Vec<SoftwareSourceDetails>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub is_latest: Option<bool>,
}
pub struct ManagedInstanceGroupAvailablePackageSummaryRequired {
pub display_name: String,
pub name: String,
pub r#type: String,
pub version: String,
}
impl ManagedInstanceGroupAvailablePackageSummary {
pub fn new(required: ManagedInstanceGroupAvailablePackageSummaryRequired) -> Self {
Self {
display_name: required.display_name,
name: required.name,
r#type: required.r#type,
version: required.version,
architecture: None,
software_sources: None,
is_latest: None,
}
}
pub fn set_display_name(mut self, value: String) -> Self {
self.display_name = value;
self
}
pub fn set_name(mut self, value: String) -> Self {
self.name = value;
self
}
pub fn set_type(mut self, value: String) -> Self {
self.r#type = value;
self
}
pub fn set_version(mut self, value: String) -> Self {
self.version = value;
self
}
pub fn set_architecture(mut self, value: Option<ArchType>) -> Self {
self.architecture = value;
self
}
pub fn set_software_sources(mut self, value: Option<Vec<SoftwareSourceDetails>>) -> Self {
self.software_sources = value;
self
}
pub fn set_is_latest(mut self, value: Option<bool>) -> Self {
self.is_latest = value;
self
}
pub fn with_architecture(mut self, value: ArchType) -> Self {
self.architecture = Some(value);
self
}
pub fn with_software_sources(mut self, value: Vec<SoftwareSourceDetails>) -> Self {
self.software_sources = Some(value);
self
}
pub fn with_is_latest(mut self, value: bool) -> Self {
self.is_latest = Some(value);
self
}
}