#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Launch {
pub arn: ::std::option::Option<::std::string::String>,
pub name: ::std::option::Option<::std::string::String>,
pub project: ::std::option::Option<::std::string::String>,
pub status: ::std::option::Option<crate::types::LaunchStatus>,
pub status_reason: ::std::option::Option<::std::string::String>,
pub description: ::std::option::Option<::std::string::String>,
pub created_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub last_updated_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub execution: ::std::option::Option<crate::types::LaunchExecution>,
pub groups: ::std::option::Option<::std::vec::Vec<crate::types::LaunchGroup>>,
pub metric_monitors: ::std::option::Option<::std::vec::Vec<crate::types::MetricMonitor>>,
pub randomization_salt: ::std::option::Option<::std::string::String>,
pub r#type: ::std::option::Option<crate::types::LaunchType>,
pub scheduled_splits_definition: ::std::option::Option<crate::types::ScheduledSplitsLaunchDefinition>,
pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl Launch {
pub fn arn(&self) -> ::std::option::Option<&str> {
self.arn.as_deref()
}
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
pub fn project(&self) -> ::std::option::Option<&str> {
self.project.as_deref()
}
pub fn status(&self) -> ::std::option::Option<&crate::types::LaunchStatus> {
self.status.as_ref()
}
pub fn status_reason(&self) -> ::std::option::Option<&str> {
self.status_reason.as_deref()
}
pub fn description(&self) -> ::std::option::Option<&str> {
self.description.as_deref()
}
pub fn created_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.created_time.as_ref()
}
pub fn last_updated_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.last_updated_time.as_ref()
}
pub fn execution(&self) -> ::std::option::Option<&crate::types::LaunchExecution> {
self.execution.as_ref()
}
pub fn groups(&self) -> ::std::option::Option<&[crate::types::LaunchGroup]> {
self.groups.as_deref()
}
pub fn metric_monitors(&self) -> ::std::option::Option<&[crate::types::MetricMonitor]> {
self.metric_monitors.as_deref()
}
pub fn randomization_salt(&self) -> ::std::option::Option<&str> {
self.randomization_salt.as_deref()
}
pub fn r#type(&self) -> ::std::option::Option<&crate::types::LaunchType> {
self.r#type.as_ref()
}
pub fn scheduled_splits_definition(&self) -> ::std::option::Option<&crate::types::ScheduledSplitsLaunchDefinition> {
self.scheduled_splits_definition.as_ref()
}
pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
self.tags.as_ref()
}
}
impl Launch {
pub fn builder() -> crate::types::builders::LaunchBuilder {
crate::types::builders::LaunchBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct LaunchBuilder {
pub(crate) arn: ::std::option::Option<::std::string::String>,
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) project: ::std::option::Option<::std::string::String>,
pub(crate) status: ::std::option::Option<crate::types::LaunchStatus>,
pub(crate) status_reason: ::std::option::Option<::std::string::String>,
pub(crate) description: ::std::option::Option<::std::string::String>,
pub(crate) created_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) last_updated_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) execution: ::std::option::Option<crate::types::LaunchExecution>,
pub(crate) groups: ::std::option::Option<::std::vec::Vec<crate::types::LaunchGroup>>,
pub(crate) metric_monitors: ::std::option::Option<::std::vec::Vec<crate::types::MetricMonitor>>,
pub(crate) randomization_salt: ::std::option::Option<::std::string::String>,
pub(crate) r#type: ::std::option::Option<crate::types::LaunchType>,
pub(crate) scheduled_splits_definition: ::std::option::Option<crate::types::ScheduledSplitsLaunchDefinition>,
pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
}
impl LaunchBuilder {
pub fn arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.arn = input;
self
}
pub fn get_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.arn
}
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
&self.name
}
pub fn project(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.project = ::std::option::Option::Some(input.into());
self
}
pub fn set_project(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.project = input;
self
}
pub fn get_project(&self) -> &::std::option::Option<::std::string::String> {
&self.project
}
pub fn status(mut self, input: crate::types::LaunchStatus) -> Self {
self.status = ::std::option::Option::Some(input);
self
}
pub fn set_status(mut self, input: ::std::option::Option<crate::types::LaunchStatus>) -> Self {
self.status = input;
self
}
pub fn get_status(&self) -> &::std::option::Option<crate::types::LaunchStatus> {
&self.status
}
pub fn status_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.status_reason = ::std::option::Option::Some(input.into());
self
}
pub fn set_status_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.status_reason = input;
self
}
pub fn get_status_reason(&self) -> &::std::option::Option<::std::string::String> {
&self.status_reason
}
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.description = ::std::option::Option::Some(input.into());
self
}
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.description = input;
self
}
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
&self.description
}
pub fn created_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.created_time = ::std::option::Option::Some(input);
self
}
pub fn set_created_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.created_time = input;
self
}
pub fn get_created_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.created_time
}
pub fn last_updated_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.last_updated_time = ::std::option::Option::Some(input);
self
}
pub fn set_last_updated_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.last_updated_time = input;
self
}
pub fn get_last_updated_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.last_updated_time
}
pub fn execution(mut self, input: crate::types::LaunchExecution) -> Self {
self.execution = ::std::option::Option::Some(input);
self
}
pub fn set_execution(mut self, input: ::std::option::Option<crate::types::LaunchExecution>) -> Self {
self.execution = input;
self
}
pub fn get_execution(&self) -> &::std::option::Option<crate::types::LaunchExecution> {
&self.execution
}
pub fn groups(mut self, input: crate::types::LaunchGroup) -> Self {
let mut v = self.groups.unwrap_or_default();
v.push(input);
self.groups = ::std::option::Option::Some(v);
self
}
pub fn set_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::LaunchGroup>>) -> Self {
self.groups = input;
self
}
pub fn get_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::LaunchGroup>> {
&self.groups
}
pub fn metric_monitors(mut self, input: crate::types::MetricMonitor) -> Self {
let mut v = self.metric_monitors.unwrap_or_default();
v.push(input);
self.metric_monitors = ::std::option::Option::Some(v);
self
}
pub fn set_metric_monitors(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::MetricMonitor>>) -> Self {
self.metric_monitors = input;
self
}
pub fn get_metric_monitors(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::MetricMonitor>> {
&self.metric_monitors
}
pub fn randomization_salt(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.randomization_salt = ::std::option::Option::Some(input.into());
self
}
pub fn set_randomization_salt(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.randomization_salt = input;
self
}
pub fn get_randomization_salt(&self) -> &::std::option::Option<::std::string::String> {
&self.randomization_salt
}
pub fn r#type(mut self, input: crate::types::LaunchType) -> Self {
self.r#type = ::std::option::Option::Some(input);
self
}
pub fn set_type(mut self, input: ::std::option::Option<crate::types::LaunchType>) -> Self {
self.r#type = input;
self
}
pub fn get_type(&self) -> &::std::option::Option<crate::types::LaunchType> {
&self.r#type
}
pub fn scheduled_splits_definition(mut self, input: crate::types::ScheduledSplitsLaunchDefinition) -> Self {
self.scheduled_splits_definition = ::std::option::Option::Some(input);
self
}
pub fn set_scheduled_splits_definition(mut self, input: ::std::option::Option<crate::types::ScheduledSplitsLaunchDefinition>) -> Self {
self.scheduled_splits_definition = input;
self
}
pub fn get_scheduled_splits_definition(&self) -> &::std::option::Option<crate::types::ScheduledSplitsLaunchDefinition> {
&self.scheduled_splits_definition
}
pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = ::std::option::Option::Some(hash_map);
self
}
pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
self.tags = input;
self
}
pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
&self.tags
}
pub fn build(self) -> crate::types::Launch {
crate::types::Launch {
arn: self.arn,
name: self.name,
project: self.project,
status: self.status,
status_reason: self.status_reason,
description: self.description,
created_time: self.created_time,
last_updated_time: self.last_updated_time,
execution: self.execution,
groups: self.groups,
metric_monitors: self.metric_monitors,
randomization_salt: self.randomization_salt,
r#type: self.r#type,
scheduled_splits_definition: self.scheduled_splits_definition,
tags: self.tags,
}
}
}