use serde::{Deserialize, Serialize};
#[allow(unused_imports)]
use super::*;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct LifecycleProfile {
pub lifecycle_stage: LifecycleStageDetails,
pub profile_type: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub lifecycle_environment: Option<LifecycleEnvironmentDetails>,
}
pub struct LifecycleProfileRequired {
pub lifecycle_stage: LifecycleStageDetails,
pub profile_type: String,
}
impl LifecycleProfile {
pub fn new(required: LifecycleProfileRequired) -> Self {
Self {
lifecycle_stage: required.lifecycle_stage,
profile_type: required.profile_type,
lifecycle_environment: None,
}
}
pub fn set_lifecycle_environment(mut self, value: Option<LifecycleEnvironmentDetails>) -> Self {
self.lifecycle_environment = value;
self
}
pub fn set_lifecycle_stage(mut self, value: LifecycleStageDetails) -> Self {
self.lifecycle_stage = value;
self
}
pub fn set_profile_type(mut self, value: String) -> Self {
self.profile_type = value;
self
}
pub fn with_lifecycle_environment(mut self, value: LifecycleEnvironmentDetails) -> Self {
self.lifecycle_environment = Some(value);
self
}
}