#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplate {
#[doc(hidden)]
pub id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub targets: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ExperimentTemplateTarget>,
>,
#[doc(hidden)]
pub actions: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ExperimentTemplateAction>,
>,
#[doc(hidden)]
pub stop_conditions:
std::option::Option<std::vec::Vec<crate::model::ExperimentTemplateStopCondition>>,
#[doc(hidden)]
pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub last_update_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub role_arn: std::option::Option<std::string::String>,
#[doc(hidden)]
pub tags:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub log_configuration: std::option::Option<crate::model::ExperimentTemplateLogConfiguration>,
}
impl ExperimentTemplate {
pub fn id(&self) -> std::option::Option<&str> {
self.id.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn targets(
&self,
) -> std::option::Option<
&std::collections::HashMap<std::string::String, crate::model::ExperimentTemplateTarget>,
> {
self.targets.as_ref()
}
pub fn actions(
&self,
) -> std::option::Option<
&std::collections::HashMap<std::string::String, crate::model::ExperimentTemplateAction>,
> {
self.actions.as_ref()
}
pub fn stop_conditions(
&self,
) -> std::option::Option<&[crate::model::ExperimentTemplateStopCondition]> {
self.stop_conditions.as_deref()
}
pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.creation_time.as_ref()
}
pub fn last_update_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.last_update_time.as_ref()
}
pub fn role_arn(&self) -> std::option::Option<&str> {
self.role_arn.as_deref()
}
pub fn tags(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.tags.as_ref()
}
pub fn log_configuration(
&self,
) -> std::option::Option<&crate::model::ExperimentTemplateLogConfiguration> {
self.log_configuration.as_ref()
}
}
pub mod experiment_template {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) id: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) targets: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ExperimentTemplateTarget>,
>,
pub(crate) actions: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ExperimentTemplateAction>,
>,
pub(crate) stop_conditions:
std::option::Option<std::vec::Vec<crate::model::ExperimentTemplateStopCondition>>,
pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) last_update_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) role_arn: std::option::Option<std::string::String>,
pub(crate) tags: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) log_configuration:
std::option::Option<crate::model::ExperimentTemplateLogConfiguration>,
}
impl Builder {
pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
self.id = Some(input.into());
self
}
pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.id = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn targets(
mut self,
k: impl Into<std::string::String>,
v: crate::model::ExperimentTemplateTarget,
) -> Self {
let mut hash_map = self.targets.unwrap_or_default();
hash_map.insert(k.into(), v);
self.targets = Some(hash_map);
self
}
pub fn set_targets(
mut self,
input: std::option::Option<
std::collections::HashMap<
std::string::String,
crate::model::ExperimentTemplateTarget,
>,
>,
) -> Self {
self.targets = input;
self
}
pub fn actions(
mut self,
k: impl Into<std::string::String>,
v: crate::model::ExperimentTemplateAction,
) -> Self {
let mut hash_map = self.actions.unwrap_or_default();
hash_map.insert(k.into(), v);
self.actions = Some(hash_map);
self
}
pub fn set_actions(
mut self,
input: std::option::Option<
std::collections::HashMap<
std::string::String,
crate::model::ExperimentTemplateAction,
>,
>,
) -> Self {
self.actions = input;
self
}
pub fn stop_conditions(
mut self,
input: crate::model::ExperimentTemplateStopCondition,
) -> Self {
let mut v = self.stop_conditions.unwrap_or_default();
v.push(input);
self.stop_conditions = Some(v);
self
}
pub fn set_stop_conditions(
mut self,
input: std::option::Option<
std::vec::Vec<crate::model::ExperimentTemplateStopCondition>,
>,
) -> Self {
self.stop_conditions = input;
self
}
pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.creation_time = Some(input);
self
}
pub fn set_creation_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.creation_time = input;
self
}
pub fn last_update_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.last_update_time = Some(input);
self
}
pub fn set_last_update_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.last_update_time = input;
self
}
pub fn role_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.role_arn = Some(input.into());
self
}
pub fn set_role_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.role_arn = input;
self
}
pub fn tags(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = 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 log_configuration(
mut self,
input: crate::model::ExperimentTemplateLogConfiguration,
) -> Self {
self.log_configuration = Some(input);
self
}
pub fn set_log_configuration(
mut self,
input: std::option::Option<crate::model::ExperimentTemplateLogConfiguration>,
) -> Self {
self.log_configuration = input;
self
}
pub fn build(self) -> crate::model::ExperimentTemplate {
crate::model::ExperimentTemplate {
id: self.id,
description: self.description,
targets: self.targets,
actions: self.actions,
stop_conditions: self.stop_conditions,
creation_time: self.creation_time,
last_update_time: self.last_update_time,
role_arn: self.role_arn,
tags: self.tags,
log_configuration: self.log_configuration,
}
}
}
}
impl ExperimentTemplate {
pub fn builder() -> crate::model::experiment_template::Builder {
crate::model::experiment_template::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplateLogConfiguration {
#[doc(hidden)]
pub cloud_watch_logs_configuration:
std::option::Option<crate::model::ExperimentTemplateCloudWatchLogsLogConfiguration>,
#[doc(hidden)]
pub s3_configuration: std::option::Option<crate::model::ExperimentTemplateS3LogConfiguration>,
#[doc(hidden)]
pub log_schema_version: std::option::Option<i32>,
}
impl ExperimentTemplateLogConfiguration {
pub fn cloud_watch_logs_configuration(
&self,
) -> std::option::Option<&crate::model::ExperimentTemplateCloudWatchLogsLogConfiguration> {
self.cloud_watch_logs_configuration.as_ref()
}
pub fn s3_configuration(
&self,
) -> std::option::Option<&crate::model::ExperimentTemplateS3LogConfiguration> {
self.s3_configuration.as_ref()
}
pub fn log_schema_version(&self) -> std::option::Option<i32> {
self.log_schema_version
}
}
pub mod experiment_template_log_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) cloud_watch_logs_configuration:
std::option::Option<crate::model::ExperimentTemplateCloudWatchLogsLogConfiguration>,
pub(crate) s3_configuration:
std::option::Option<crate::model::ExperimentTemplateS3LogConfiguration>,
pub(crate) log_schema_version: std::option::Option<i32>,
}
impl Builder {
pub fn cloud_watch_logs_configuration(
mut self,
input: crate::model::ExperimentTemplateCloudWatchLogsLogConfiguration,
) -> Self {
self.cloud_watch_logs_configuration = Some(input);
self
}
pub fn set_cloud_watch_logs_configuration(
mut self,
input: std::option::Option<
crate::model::ExperimentTemplateCloudWatchLogsLogConfiguration,
>,
) -> Self {
self.cloud_watch_logs_configuration = input;
self
}
pub fn s3_configuration(
mut self,
input: crate::model::ExperimentTemplateS3LogConfiguration,
) -> Self {
self.s3_configuration = Some(input);
self
}
pub fn set_s3_configuration(
mut self,
input: std::option::Option<crate::model::ExperimentTemplateS3LogConfiguration>,
) -> Self {
self.s3_configuration = input;
self
}
pub fn log_schema_version(mut self, input: i32) -> Self {
self.log_schema_version = Some(input);
self
}
pub fn set_log_schema_version(mut self, input: std::option::Option<i32>) -> Self {
self.log_schema_version = input;
self
}
pub fn build(self) -> crate::model::ExperimentTemplateLogConfiguration {
crate::model::ExperimentTemplateLogConfiguration {
cloud_watch_logs_configuration: self.cloud_watch_logs_configuration,
s3_configuration: self.s3_configuration,
log_schema_version: self.log_schema_version,
}
}
}
}
impl ExperimentTemplateLogConfiguration {
pub fn builder() -> crate::model::experiment_template_log_configuration::Builder {
crate::model::experiment_template_log_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplateS3LogConfiguration {
#[doc(hidden)]
pub bucket_name: std::option::Option<std::string::String>,
#[doc(hidden)]
pub prefix: std::option::Option<std::string::String>,
}
impl ExperimentTemplateS3LogConfiguration {
pub fn bucket_name(&self) -> std::option::Option<&str> {
self.bucket_name.as_deref()
}
pub fn prefix(&self) -> std::option::Option<&str> {
self.prefix.as_deref()
}
}
pub mod experiment_template_s3_log_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) bucket_name: std::option::Option<std::string::String>,
pub(crate) prefix: std::option::Option<std::string::String>,
}
impl Builder {
pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket_name = Some(input.into());
self
}
pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket_name = input;
self
}
pub fn prefix(mut self, input: impl Into<std::string::String>) -> Self {
self.prefix = Some(input.into());
self
}
pub fn set_prefix(mut self, input: std::option::Option<std::string::String>) -> Self {
self.prefix = input;
self
}
pub fn build(self) -> crate::model::ExperimentTemplateS3LogConfiguration {
crate::model::ExperimentTemplateS3LogConfiguration {
bucket_name: self.bucket_name,
prefix: self.prefix,
}
}
}
}
impl ExperimentTemplateS3LogConfiguration {
pub fn builder() -> crate::model::experiment_template_s3_log_configuration::Builder {
crate::model::experiment_template_s3_log_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplateCloudWatchLogsLogConfiguration {
#[doc(hidden)]
pub log_group_arn: std::option::Option<std::string::String>,
}
impl ExperimentTemplateCloudWatchLogsLogConfiguration {
pub fn log_group_arn(&self) -> std::option::Option<&str> {
self.log_group_arn.as_deref()
}
}
pub mod experiment_template_cloud_watch_logs_log_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) log_group_arn: std::option::Option<std::string::String>,
}
impl Builder {
pub fn log_group_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.log_group_arn = Some(input.into());
self
}
pub fn set_log_group_arn(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.log_group_arn = input;
self
}
pub fn build(self) -> crate::model::ExperimentTemplateCloudWatchLogsLogConfiguration {
crate::model::ExperimentTemplateCloudWatchLogsLogConfiguration {
log_group_arn: self.log_group_arn,
}
}
}
}
impl ExperimentTemplateCloudWatchLogsLogConfiguration {
pub fn builder() -> crate::model::experiment_template_cloud_watch_logs_log_configuration::Builder
{
crate::model::experiment_template_cloud_watch_logs_log_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplateStopCondition {
#[doc(hidden)]
pub source: std::option::Option<std::string::String>,
#[doc(hidden)]
pub value: std::option::Option<std::string::String>,
}
impl ExperimentTemplateStopCondition {
pub fn source(&self) -> std::option::Option<&str> {
self.source.as_deref()
}
pub fn value(&self) -> std::option::Option<&str> {
self.value.as_deref()
}
}
pub mod experiment_template_stop_condition {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) source: std::option::Option<std::string::String>,
pub(crate) value: std::option::Option<std::string::String>,
}
impl Builder {
pub fn source(mut self, input: impl Into<std::string::String>) -> Self {
self.source = Some(input.into());
self
}
pub fn set_source(mut self, input: std::option::Option<std::string::String>) -> Self {
self.source = input;
self
}
pub fn value(mut self, input: impl Into<std::string::String>) -> Self {
self.value = Some(input.into());
self
}
pub fn set_value(mut self, input: std::option::Option<std::string::String>) -> Self {
self.value = input;
self
}
pub fn build(self) -> crate::model::ExperimentTemplateStopCondition {
crate::model::ExperimentTemplateStopCondition {
source: self.source,
value: self.value,
}
}
}
}
impl ExperimentTemplateStopCondition {
pub fn builder() -> crate::model::experiment_template_stop_condition::Builder {
crate::model::experiment_template_stop_condition::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplateAction {
#[doc(hidden)]
pub action_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub parameters:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub targets:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub start_after: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl ExperimentTemplateAction {
pub fn action_id(&self) -> std::option::Option<&str> {
self.action_id.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn parameters(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.parameters.as_ref()
}
pub fn targets(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.targets.as_ref()
}
pub fn start_after(&self) -> std::option::Option<&[std::string::String]> {
self.start_after.as_deref()
}
}
pub mod experiment_template_action {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) action_id: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) parameters: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) targets: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) start_after: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Builder {
pub fn action_id(mut self, input: impl Into<std::string::String>) -> Self {
self.action_id = Some(input.into());
self
}
pub fn set_action_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.action_id = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn parameters(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.parameters.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.parameters = Some(hash_map);
self
}
pub fn set_parameters(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.parameters = input;
self
}
pub fn targets(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.targets.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.targets = Some(hash_map);
self
}
pub fn set_targets(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.targets = input;
self
}
pub fn start_after(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.start_after.unwrap_or_default();
v.push(input.into());
self.start_after = Some(v);
self
}
pub fn set_start_after(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.start_after = input;
self
}
pub fn build(self) -> crate::model::ExperimentTemplateAction {
crate::model::ExperimentTemplateAction {
action_id: self.action_id,
description: self.description,
parameters: self.parameters,
targets: self.targets,
start_after: self.start_after,
}
}
}
}
impl ExperimentTemplateAction {
pub fn builder() -> crate::model::experiment_template_action::Builder {
crate::model::experiment_template_action::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplateTarget {
#[doc(hidden)]
pub resource_type: std::option::Option<std::string::String>,
#[doc(hidden)]
pub resource_arns: std::option::Option<std::vec::Vec<std::string::String>>,
#[doc(hidden)]
pub resource_tags:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub filters: std::option::Option<std::vec::Vec<crate::model::ExperimentTemplateTargetFilter>>,
#[doc(hidden)]
pub selection_mode: std::option::Option<std::string::String>,
#[doc(hidden)]
pub parameters:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl ExperimentTemplateTarget {
pub fn resource_type(&self) -> std::option::Option<&str> {
self.resource_type.as_deref()
}
pub fn resource_arns(&self) -> std::option::Option<&[std::string::String]> {
self.resource_arns.as_deref()
}
pub fn resource_tags(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.resource_tags.as_ref()
}
pub fn filters(&self) -> std::option::Option<&[crate::model::ExperimentTemplateTargetFilter]> {
self.filters.as_deref()
}
pub fn selection_mode(&self) -> std::option::Option<&str> {
self.selection_mode.as_deref()
}
pub fn parameters(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.parameters.as_ref()
}
}
pub mod experiment_template_target {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) resource_type: std::option::Option<std::string::String>,
pub(crate) resource_arns: std::option::Option<std::vec::Vec<std::string::String>>,
pub(crate) resource_tags: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) filters:
std::option::Option<std::vec::Vec<crate::model::ExperimentTemplateTargetFilter>>,
pub(crate) selection_mode: std::option::Option<std::string::String>,
pub(crate) parameters: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
}
impl Builder {
pub fn resource_type(mut self, input: impl Into<std::string::String>) -> Self {
self.resource_type = Some(input.into());
self
}
pub fn set_resource_type(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.resource_type = input;
self
}
pub fn resource_arns(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.resource_arns.unwrap_or_default();
v.push(input.into());
self.resource_arns = Some(v);
self
}
pub fn set_resource_arns(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.resource_arns = input;
self
}
pub fn resource_tags(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.resource_tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.resource_tags = Some(hash_map);
self
}
pub fn set_resource_tags(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.resource_tags = input;
self
}
pub fn filters(mut self, input: crate::model::ExperimentTemplateTargetFilter) -> Self {
let mut v = self.filters.unwrap_or_default();
v.push(input);
self.filters = Some(v);
self
}
pub fn set_filters(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ExperimentTemplateTargetFilter>>,
) -> Self {
self.filters = input;
self
}
pub fn selection_mode(mut self, input: impl Into<std::string::String>) -> Self {
self.selection_mode = Some(input.into());
self
}
pub fn set_selection_mode(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.selection_mode = input;
self
}
pub fn parameters(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.parameters.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.parameters = Some(hash_map);
self
}
pub fn set_parameters(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.parameters = input;
self
}
pub fn build(self) -> crate::model::ExperimentTemplateTarget {
crate::model::ExperimentTemplateTarget {
resource_type: self.resource_type,
resource_arns: self.resource_arns,
resource_tags: self.resource_tags,
filters: self.filters,
selection_mode: self.selection_mode,
parameters: self.parameters,
}
}
}
}
impl ExperimentTemplateTarget {
pub fn builder() -> crate::model::experiment_template_target::Builder {
crate::model::experiment_template_target::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplateTargetFilter {
#[doc(hidden)]
pub path: std::option::Option<std::string::String>,
#[doc(hidden)]
pub values: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl ExperimentTemplateTargetFilter {
pub fn path(&self) -> std::option::Option<&str> {
self.path.as_deref()
}
pub fn values(&self) -> std::option::Option<&[std::string::String]> {
self.values.as_deref()
}
}
pub mod experiment_template_target_filter {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) path: std::option::Option<std::string::String>,
pub(crate) values: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Builder {
pub fn path(mut self, input: impl Into<std::string::String>) -> Self {
self.path = Some(input.into());
self
}
pub fn set_path(mut self, input: std::option::Option<std::string::String>) -> Self {
self.path = input;
self
}
pub fn values(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.values.unwrap_or_default();
v.push(input.into());
self.values = Some(v);
self
}
pub fn set_values(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.values = input;
self
}
pub fn build(self) -> crate::model::ExperimentTemplateTargetFilter {
crate::model::ExperimentTemplateTargetFilter {
path: self.path,
values: self.values,
}
}
}
}
impl ExperimentTemplateTargetFilter {
pub fn builder() -> crate::model::experiment_template_target_filter::Builder {
crate::model::experiment_template_target_filter::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateExperimentTemplateLogConfigurationInput {
#[doc(hidden)]
pub cloud_watch_logs_configuration:
std::option::Option<crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput>,
#[doc(hidden)]
pub s3_configuration:
std::option::Option<crate::model::ExperimentTemplateS3LogConfigurationInput>,
#[doc(hidden)]
pub log_schema_version: std::option::Option<i32>,
}
impl UpdateExperimentTemplateLogConfigurationInput {
pub fn cloud_watch_logs_configuration(
&self,
) -> std::option::Option<&crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput>
{
self.cloud_watch_logs_configuration.as_ref()
}
pub fn s3_configuration(
&self,
) -> std::option::Option<&crate::model::ExperimentTemplateS3LogConfigurationInput> {
self.s3_configuration.as_ref()
}
pub fn log_schema_version(&self) -> std::option::Option<i32> {
self.log_schema_version
}
}
pub mod update_experiment_template_log_configuration_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) cloud_watch_logs_configuration: std::option::Option<
crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput,
>,
pub(crate) s3_configuration:
std::option::Option<crate::model::ExperimentTemplateS3LogConfigurationInput>,
pub(crate) log_schema_version: std::option::Option<i32>,
}
impl Builder {
pub fn cloud_watch_logs_configuration(
mut self,
input: crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput,
) -> Self {
self.cloud_watch_logs_configuration = Some(input);
self
}
pub fn set_cloud_watch_logs_configuration(
mut self,
input: std::option::Option<
crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput,
>,
) -> Self {
self.cloud_watch_logs_configuration = input;
self
}
pub fn s3_configuration(
mut self,
input: crate::model::ExperimentTemplateS3LogConfigurationInput,
) -> Self {
self.s3_configuration = Some(input);
self
}
pub fn set_s3_configuration(
mut self,
input: std::option::Option<crate::model::ExperimentTemplateS3LogConfigurationInput>,
) -> Self {
self.s3_configuration = input;
self
}
pub fn log_schema_version(mut self, input: i32) -> Self {
self.log_schema_version = Some(input);
self
}
pub fn set_log_schema_version(mut self, input: std::option::Option<i32>) -> Self {
self.log_schema_version = input;
self
}
pub fn build(self) -> crate::model::UpdateExperimentTemplateLogConfigurationInput {
crate::model::UpdateExperimentTemplateLogConfigurationInput {
cloud_watch_logs_configuration: self.cloud_watch_logs_configuration,
s3_configuration: self.s3_configuration,
log_schema_version: self.log_schema_version,
}
}
}
}
impl UpdateExperimentTemplateLogConfigurationInput {
pub fn builder() -> crate::model::update_experiment_template_log_configuration_input::Builder {
crate::model::update_experiment_template_log_configuration_input::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplateS3LogConfigurationInput {
#[doc(hidden)]
pub bucket_name: std::option::Option<std::string::String>,
#[doc(hidden)]
pub prefix: std::option::Option<std::string::String>,
}
impl ExperimentTemplateS3LogConfigurationInput {
pub fn bucket_name(&self) -> std::option::Option<&str> {
self.bucket_name.as_deref()
}
pub fn prefix(&self) -> std::option::Option<&str> {
self.prefix.as_deref()
}
}
pub mod experiment_template_s3_log_configuration_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) bucket_name: std::option::Option<std::string::String>,
pub(crate) prefix: std::option::Option<std::string::String>,
}
impl Builder {
pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket_name = Some(input.into());
self
}
pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket_name = input;
self
}
pub fn prefix(mut self, input: impl Into<std::string::String>) -> Self {
self.prefix = Some(input.into());
self
}
pub fn set_prefix(mut self, input: std::option::Option<std::string::String>) -> Self {
self.prefix = input;
self
}
pub fn build(self) -> crate::model::ExperimentTemplateS3LogConfigurationInput {
crate::model::ExperimentTemplateS3LogConfigurationInput {
bucket_name: self.bucket_name,
prefix: self.prefix,
}
}
}
}
impl ExperimentTemplateS3LogConfigurationInput {
pub fn builder() -> crate::model::experiment_template_s3_log_configuration_input::Builder {
crate::model::experiment_template_s3_log_configuration_input::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplateCloudWatchLogsLogConfigurationInput {
#[doc(hidden)]
pub log_group_arn: std::option::Option<std::string::String>,
}
impl ExperimentTemplateCloudWatchLogsLogConfigurationInput {
pub fn log_group_arn(&self) -> std::option::Option<&str> {
self.log_group_arn.as_deref()
}
}
pub mod experiment_template_cloud_watch_logs_log_configuration_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) log_group_arn: std::option::Option<std::string::String>,
}
impl Builder {
pub fn log_group_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.log_group_arn = Some(input.into());
self
}
pub fn set_log_group_arn(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.log_group_arn = input;
self
}
pub fn build(self) -> crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput {
crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput {
log_group_arn: self.log_group_arn,
}
}
}
}
impl ExperimentTemplateCloudWatchLogsLogConfigurationInput {
pub fn builder(
) -> crate::model::experiment_template_cloud_watch_logs_log_configuration_input::Builder {
crate::model::experiment_template_cloud_watch_logs_log_configuration_input::Builder::default(
)
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateExperimentTemplateActionInputItem {
#[doc(hidden)]
pub action_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub parameters:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub targets:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub start_after: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl UpdateExperimentTemplateActionInputItem {
pub fn action_id(&self) -> std::option::Option<&str> {
self.action_id.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn parameters(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.parameters.as_ref()
}
pub fn targets(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.targets.as_ref()
}
pub fn start_after(&self) -> std::option::Option<&[std::string::String]> {
self.start_after.as_deref()
}
}
pub mod update_experiment_template_action_input_item {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) action_id: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) parameters: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) targets: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) start_after: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Builder {
pub fn action_id(mut self, input: impl Into<std::string::String>) -> Self {
self.action_id = Some(input.into());
self
}
pub fn set_action_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.action_id = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn parameters(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.parameters.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.parameters = Some(hash_map);
self
}
pub fn set_parameters(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.parameters = input;
self
}
pub fn targets(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.targets.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.targets = Some(hash_map);
self
}
pub fn set_targets(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.targets = input;
self
}
pub fn start_after(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.start_after.unwrap_or_default();
v.push(input.into());
self.start_after = Some(v);
self
}
pub fn set_start_after(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.start_after = input;
self
}
pub fn build(self) -> crate::model::UpdateExperimentTemplateActionInputItem {
crate::model::UpdateExperimentTemplateActionInputItem {
action_id: self.action_id,
description: self.description,
parameters: self.parameters,
targets: self.targets,
start_after: self.start_after,
}
}
}
}
impl UpdateExperimentTemplateActionInputItem {
pub fn builder() -> crate::model::update_experiment_template_action_input_item::Builder {
crate::model::update_experiment_template_action_input_item::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateExperimentTemplateTargetInput {
#[doc(hidden)]
pub resource_type: std::option::Option<std::string::String>,
#[doc(hidden)]
pub resource_arns: std::option::Option<std::vec::Vec<std::string::String>>,
#[doc(hidden)]
pub resource_tags:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub filters:
std::option::Option<std::vec::Vec<crate::model::ExperimentTemplateTargetInputFilter>>,
#[doc(hidden)]
pub selection_mode: std::option::Option<std::string::String>,
#[doc(hidden)]
pub parameters:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl UpdateExperimentTemplateTargetInput {
pub fn resource_type(&self) -> std::option::Option<&str> {
self.resource_type.as_deref()
}
pub fn resource_arns(&self) -> std::option::Option<&[std::string::String]> {
self.resource_arns.as_deref()
}
pub fn resource_tags(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.resource_tags.as_ref()
}
pub fn filters(
&self,
) -> std::option::Option<&[crate::model::ExperimentTemplateTargetInputFilter]> {
self.filters.as_deref()
}
pub fn selection_mode(&self) -> std::option::Option<&str> {
self.selection_mode.as_deref()
}
pub fn parameters(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.parameters.as_ref()
}
}
pub mod update_experiment_template_target_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) resource_type: std::option::Option<std::string::String>,
pub(crate) resource_arns: std::option::Option<std::vec::Vec<std::string::String>>,
pub(crate) resource_tags: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) filters:
std::option::Option<std::vec::Vec<crate::model::ExperimentTemplateTargetInputFilter>>,
pub(crate) selection_mode: std::option::Option<std::string::String>,
pub(crate) parameters: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
}
impl Builder {
pub fn resource_type(mut self, input: impl Into<std::string::String>) -> Self {
self.resource_type = Some(input.into());
self
}
pub fn set_resource_type(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.resource_type = input;
self
}
pub fn resource_arns(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.resource_arns.unwrap_or_default();
v.push(input.into());
self.resource_arns = Some(v);
self
}
pub fn set_resource_arns(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.resource_arns = input;
self
}
pub fn resource_tags(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.resource_tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.resource_tags = Some(hash_map);
self
}
pub fn set_resource_tags(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.resource_tags = input;
self
}
pub fn filters(mut self, input: crate::model::ExperimentTemplateTargetInputFilter) -> Self {
let mut v = self.filters.unwrap_or_default();
v.push(input);
self.filters = Some(v);
self
}
pub fn set_filters(
mut self,
input: std::option::Option<
std::vec::Vec<crate::model::ExperimentTemplateTargetInputFilter>,
>,
) -> Self {
self.filters = input;
self
}
pub fn selection_mode(mut self, input: impl Into<std::string::String>) -> Self {
self.selection_mode = Some(input.into());
self
}
pub fn set_selection_mode(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.selection_mode = input;
self
}
pub fn parameters(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.parameters.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.parameters = Some(hash_map);
self
}
pub fn set_parameters(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.parameters = input;
self
}
pub fn build(self) -> crate::model::UpdateExperimentTemplateTargetInput {
crate::model::UpdateExperimentTemplateTargetInput {
resource_type: self.resource_type,
resource_arns: self.resource_arns,
resource_tags: self.resource_tags,
filters: self.filters,
selection_mode: self.selection_mode,
parameters: self.parameters,
}
}
}
}
impl UpdateExperimentTemplateTargetInput {
pub fn builder() -> crate::model::update_experiment_template_target_input::Builder {
crate::model::update_experiment_template_target_input::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplateTargetInputFilter {
#[doc(hidden)]
pub path: std::option::Option<std::string::String>,
#[doc(hidden)]
pub values: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl ExperimentTemplateTargetInputFilter {
pub fn path(&self) -> std::option::Option<&str> {
self.path.as_deref()
}
pub fn values(&self) -> std::option::Option<&[std::string::String]> {
self.values.as_deref()
}
}
pub mod experiment_template_target_input_filter {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) path: std::option::Option<std::string::String>,
pub(crate) values: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Builder {
pub fn path(mut self, input: impl Into<std::string::String>) -> Self {
self.path = Some(input.into());
self
}
pub fn set_path(mut self, input: std::option::Option<std::string::String>) -> Self {
self.path = input;
self
}
pub fn values(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.values.unwrap_or_default();
v.push(input.into());
self.values = Some(v);
self
}
pub fn set_values(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.values = input;
self
}
pub fn build(self) -> crate::model::ExperimentTemplateTargetInputFilter {
crate::model::ExperimentTemplateTargetInputFilter {
path: self.path,
values: self.values,
}
}
}
}
impl ExperimentTemplateTargetInputFilter {
pub fn builder() -> crate::model::experiment_template_target_input_filter::Builder {
crate::model::experiment_template_target_input_filter::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct UpdateExperimentTemplateStopConditionInput {
#[doc(hidden)]
pub source: std::option::Option<std::string::String>,
#[doc(hidden)]
pub value: std::option::Option<std::string::String>,
}
impl UpdateExperimentTemplateStopConditionInput {
pub fn source(&self) -> std::option::Option<&str> {
self.source.as_deref()
}
pub fn value(&self) -> std::option::Option<&str> {
self.value.as_deref()
}
}
pub mod update_experiment_template_stop_condition_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) source: std::option::Option<std::string::String>,
pub(crate) value: std::option::Option<std::string::String>,
}
impl Builder {
pub fn source(mut self, input: impl Into<std::string::String>) -> Self {
self.source = Some(input.into());
self
}
pub fn set_source(mut self, input: std::option::Option<std::string::String>) -> Self {
self.source = input;
self
}
pub fn value(mut self, input: impl Into<std::string::String>) -> Self {
self.value = Some(input.into());
self
}
pub fn set_value(mut self, input: std::option::Option<std::string::String>) -> Self {
self.value = input;
self
}
pub fn build(self) -> crate::model::UpdateExperimentTemplateStopConditionInput {
crate::model::UpdateExperimentTemplateStopConditionInput {
source: self.source,
value: self.value,
}
}
}
}
impl UpdateExperimentTemplateStopConditionInput {
pub fn builder() -> crate::model::update_experiment_template_stop_condition_input::Builder {
crate::model::update_experiment_template_stop_condition_input::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Experiment {
#[doc(hidden)]
pub id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub experiment_template_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub role_arn: std::option::Option<std::string::String>,
#[doc(hidden)]
pub state: std::option::Option<crate::model::ExperimentState>,
#[doc(hidden)]
pub targets: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ExperimentTarget>,
>,
#[doc(hidden)]
pub actions: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ExperimentAction>,
>,
#[doc(hidden)]
pub stop_conditions: std::option::Option<std::vec::Vec<crate::model::ExperimentStopCondition>>,
#[doc(hidden)]
pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub start_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub end_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub tags:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub log_configuration: std::option::Option<crate::model::ExperimentLogConfiguration>,
}
impl Experiment {
pub fn id(&self) -> std::option::Option<&str> {
self.id.as_deref()
}
pub fn experiment_template_id(&self) -> std::option::Option<&str> {
self.experiment_template_id.as_deref()
}
pub fn role_arn(&self) -> std::option::Option<&str> {
self.role_arn.as_deref()
}
pub fn state(&self) -> std::option::Option<&crate::model::ExperimentState> {
self.state.as_ref()
}
pub fn targets(
&self,
) -> std::option::Option<
&std::collections::HashMap<std::string::String, crate::model::ExperimentTarget>,
> {
self.targets.as_ref()
}
pub fn actions(
&self,
) -> std::option::Option<
&std::collections::HashMap<std::string::String, crate::model::ExperimentAction>,
> {
self.actions.as_ref()
}
pub fn stop_conditions(&self) -> std::option::Option<&[crate::model::ExperimentStopCondition]> {
self.stop_conditions.as_deref()
}
pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.creation_time.as_ref()
}
pub fn start_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.start_time.as_ref()
}
pub fn end_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.end_time.as_ref()
}
pub fn tags(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.tags.as_ref()
}
pub fn log_configuration(
&self,
) -> std::option::Option<&crate::model::ExperimentLogConfiguration> {
self.log_configuration.as_ref()
}
}
pub mod experiment {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) id: std::option::Option<std::string::String>,
pub(crate) experiment_template_id: std::option::Option<std::string::String>,
pub(crate) role_arn: std::option::Option<std::string::String>,
pub(crate) state: std::option::Option<crate::model::ExperimentState>,
pub(crate) targets: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ExperimentTarget>,
>,
pub(crate) actions: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ExperimentAction>,
>,
pub(crate) stop_conditions:
std::option::Option<std::vec::Vec<crate::model::ExperimentStopCondition>>,
pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) start_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) end_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) tags: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) log_configuration: std::option::Option<crate::model::ExperimentLogConfiguration>,
}
impl Builder {
pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
self.id = Some(input.into());
self
}
pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.id = input;
self
}
pub fn experiment_template_id(mut self, input: impl Into<std::string::String>) -> Self {
self.experiment_template_id = Some(input.into());
self
}
pub fn set_experiment_template_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.experiment_template_id = input;
self
}
pub fn role_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.role_arn = Some(input.into());
self
}
pub fn set_role_arn(mut self, input: std::option::Option<std::string::String>) -> Self {
self.role_arn = input;
self
}
pub fn state(mut self, input: crate::model::ExperimentState) -> Self {
self.state = Some(input);
self
}
pub fn set_state(
mut self,
input: std::option::Option<crate::model::ExperimentState>,
) -> Self {
self.state = input;
self
}
pub fn targets(
mut self,
k: impl Into<std::string::String>,
v: crate::model::ExperimentTarget,
) -> Self {
let mut hash_map = self.targets.unwrap_or_default();
hash_map.insert(k.into(), v);
self.targets = Some(hash_map);
self
}
pub fn set_targets(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ExperimentTarget>,
>,
) -> Self {
self.targets = input;
self
}
pub fn actions(
mut self,
k: impl Into<std::string::String>,
v: crate::model::ExperimentAction,
) -> Self {
let mut hash_map = self.actions.unwrap_or_default();
hash_map.insert(k.into(), v);
self.actions = Some(hash_map);
self
}
pub fn set_actions(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ExperimentAction>,
>,
) -> Self {
self.actions = input;
self
}
pub fn stop_conditions(mut self, input: crate::model::ExperimentStopCondition) -> Self {
let mut v = self.stop_conditions.unwrap_or_default();
v.push(input);
self.stop_conditions = Some(v);
self
}
pub fn set_stop_conditions(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ExperimentStopCondition>>,
) -> Self {
self.stop_conditions = input;
self
}
pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.creation_time = Some(input);
self
}
pub fn set_creation_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.creation_time = input;
self
}
pub fn start_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.start_time = Some(input);
self
}
pub fn set_start_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.start_time = input;
self
}
pub fn end_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.end_time = Some(input);
self
}
pub fn set_end_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.end_time = input;
self
}
pub fn tags(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = 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 log_configuration(
mut self,
input: crate::model::ExperimentLogConfiguration,
) -> Self {
self.log_configuration = Some(input);
self
}
pub fn set_log_configuration(
mut self,
input: std::option::Option<crate::model::ExperimentLogConfiguration>,
) -> Self {
self.log_configuration = input;
self
}
pub fn build(self) -> crate::model::Experiment {
crate::model::Experiment {
id: self.id,
experiment_template_id: self.experiment_template_id,
role_arn: self.role_arn,
state: self.state,
targets: self.targets,
actions: self.actions,
stop_conditions: self.stop_conditions,
creation_time: self.creation_time,
start_time: self.start_time,
end_time: self.end_time,
tags: self.tags,
log_configuration: self.log_configuration,
}
}
}
}
impl Experiment {
pub fn builder() -> crate::model::experiment::Builder {
crate::model::experiment::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentLogConfiguration {
#[doc(hidden)]
pub cloud_watch_logs_configuration:
std::option::Option<crate::model::ExperimentCloudWatchLogsLogConfiguration>,
#[doc(hidden)]
pub s3_configuration: std::option::Option<crate::model::ExperimentS3LogConfiguration>,
#[doc(hidden)]
pub log_schema_version: std::option::Option<i32>,
}
impl ExperimentLogConfiguration {
pub fn cloud_watch_logs_configuration(
&self,
) -> std::option::Option<&crate::model::ExperimentCloudWatchLogsLogConfiguration> {
self.cloud_watch_logs_configuration.as_ref()
}
pub fn s3_configuration(
&self,
) -> std::option::Option<&crate::model::ExperimentS3LogConfiguration> {
self.s3_configuration.as_ref()
}
pub fn log_schema_version(&self) -> std::option::Option<i32> {
self.log_schema_version
}
}
pub mod experiment_log_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) cloud_watch_logs_configuration:
std::option::Option<crate::model::ExperimentCloudWatchLogsLogConfiguration>,
pub(crate) s3_configuration:
std::option::Option<crate::model::ExperimentS3LogConfiguration>,
pub(crate) log_schema_version: std::option::Option<i32>,
}
impl Builder {
pub fn cloud_watch_logs_configuration(
mut self,
input: crate::model::ExperimentCloudWatchLogsLogConfiguration,
) -> Self {
self.cloud_watch_logs_configuration = Some(input);
self
}
pub fn set_cloud_watch_logs_configuration(
mut self,
input: std::option::Option<crate::model::ExperimentCloudWatchLogsLogConfiguration>,
) -> Self {
self.cloud_watch_logs_configuration = input;
self
}
pub fn s3_configuration(
mut self,
input: crate::model::ExperimentS3LogConfiguration,
) -> Self {
self.s3_configuration = Some(input);
self
}
pub fn set_s3_configuration(
mut self,
input: std::option::Option<crate::model::ExperimentS3LogConfiguration>,
) -> Self {
self.s3_configuration = input;
self
}
pub fn log_schema_version(mut self, input: i32) -> Self {
self.log_schema_version = Some(input);
self
}
pub fn set_log_schema_version(mut self, input: std::option::Option<i32>) -> Self {
self.log_schema_version = input;
self
}
pub fn build(self) -> crate::model::ExperimentLogConfiguration {
crate::model::ExperimentLogConfiguration {
cloud_watch_logs_configuration: self.cloud_watch_logs_configuration,
s3_configuration: self.s3_configuration,
log_schema_version: self.log_schema_version,
}
}
}
}
impl ExperimentLogConfiguration {
pub fn builder() -> crate::model::experiment_log_configuration::Builder {
crate::model::experiment_log_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentS3LogConfiguration {
#[doc(hidden)]
pub bucket_name: std::option::Option<std::string::String>,
#[doc(hidden)]
pub prefix: std::option::Option<std::string::String>,
}
impl ExperimentS3LogConfiguration {
pub fn bucket_name(&self) -> std::option::Option<&str> {
self.bucket_name.as_deref()
}
pub fn prefix(&self) -> std::option::Option<&str> {
self.prefix.as_deref()
}
}
pub mod experiment_s3_log_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) bucket_name: std::option::Option<std::string::String>,
pub(crate) prefix: std::option::Option<std::string::String>,
}
impl Builder {
pub fn bucket_name(mut self, input: impl Into<std::string::String>) -> Self {
self.bucket_name = Some(input.into());
self
}
pub fn set_bucket_name(mut self, input: std::option::Option<std::string::String>) -> Self {
self.bucket_name = input;
self
}
pub fn prefix(mut self, input: impl Into<std::string::String>) -> Self {
self.prefix = Some(input.into());
self
}
pub fn set_prefix(mut self, input: std::option::Option<std::string::String>) -> Self {
self.prefix = input;
self
}
pub fn build(self) -> crate::model::ExperimentS3LogConfiguration {
crate::model::ExperimentS3LogConfiguration {
bucket_name: self.bucket_name,
prefix: self.prefix,
}
}
}
}
impl ExperimentS3LogConfiguration {
pub fn builder() -> crate::model::experiment_s3_log_configuration::Builder {
crate::model::experiment_s3_log_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentCloudWatchLogsLogConfiguration {
#[doc(hidden)]
pub log_group_arn: std::option::Option<std::string::String>,
}
impl ExperimentCloudWatchLogsLogConfiguration {
pub fn log_group_arn(&self) -> std::option::Option<&str> {
self.log_group_arn.as_deref()
}
}
pub mod experiment_cloud_watch_logs_log_configuration {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) log_group_arn: std::option::Option<std::string::String>,
}
impl Builder {
pub fn log_group_arn(mut self, input: impl Into<std::string::String>) -> Self {
self.log_group_arn = Some(input.into());
self
}
pub fn set_log_group_arn(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.log_group_arn = input;
self
}
pub fn build(self) -> crate::model::ExperimentCloudWatchLogsLogConfiguration {
crate::model::ExperimentCloudWatchLogsLogConfiguration {
log_group_arn: self.log_group_arn,
}
}
}
}
impl ExperimentCloudWatchLogsLogConfiguration {
pub fn builder() -> crate::model::experiment_cloud_watch_logs_log_configuration::Builder {
crate::model::experiment_cloud_watch_logs_log_configuration::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentStopCondition {
#[doc(hidden)]
pub source: std::option::Option<std::string::String>,
#[doc(hidden)]
pub value: std::option::Option<std::string::String>,
}
impl ExperimentStopCondition {
pub fn source(&self) -> std::option::Option<&str> {
self.source.as_deref()
}
pub fn value(&self) -> std::option::Option<&str> {
self.value.as_deref()
}
}
pub mod experiment_stop_condition {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) source: std::option::Option<std::string::String>,
pub(crate) value: std::option::Option<std::string::String>,
}
impl Builder {
pub fn source(mut self, input: impl Into<std::string::String>) -> Self {
self.source = Some(input.into());
self
}
pub fn set_source(mut self, input: std::option::Option<std::string::String>) -> Self {
self.source = input;
self
}
pub fn value(mut self, input: impl Into<std::string::String>) -> Self {
self.value = Some(input.into());
self
}
pub fn set_value(mut self, input: std::option::Option<std::string::String>) -> Self {
self.value = input;
self
}
pub fn build(self) -> crate::model::ExperimentStopCondition {
crate::model::ExperimentStopCondition {
source: self.source,
value: self.value,
}
}
}
}
impl ExperimentStopCondition {
pub fn builder() -> crate::model::experiment_stop_condition::Builder {
crate::model::experiment_stop_condition::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentAction {
#[doc(hidden)]
pub action_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub parameters:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub targets:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub start_after: std::option::Option<std::vec::Vec<std::string::String>>,
#[doc(hidden)]
pub state: std::option::Option<crate::model::ExperimentActionState>,
#[doc(hidden)]
pub start_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub end_time: std::option::Option<aws_smithy_types::DateTime>,
}
impl ExperimentAction {
pub fn action_id(&self) -> std::option::Option<&str> {
self.action_id.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn parameters(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.parameters.as_ref()
}
pub fn targets(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.targets.as_ref()
}
pub fn start_after(&self) -> std::option::Option<&[std::string::String]> {
self.start_after.as_deref()
}
pub fn state(&self) -> std::option::Option<&crate::model::ExperimentActionState> {
self.state.as_ref()
}
pub fn start_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.start_time.as_ref()
}
pub fn end_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.end_time.as_ref()
}
}
pub mod experiment_action {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) action_id: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) parameters: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) targets: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) start_after: std::option::Option<std::vec::Vec<std::string::String>>,
pub(crate) state: std::option::Option<crate::model::ExperimentActionState>,
pub(crate) start_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) end_time: std::option::Option<aws_smithy_types::DateTime>,
}
impl Builder {
pub fn action_id(mut self, input: impl Into<std::string::String>) -> Self {
self.action_id = Some(input.into());
self
}
pub fn set_action_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.action_id = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn parameters(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.parameters.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.parameters = Some(hash_map);
self
}
pub fn set_parameters(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.parameters = input;
self
}
pub fn targets(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.targets.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.targets = Some(hash_map);
self
}
pub fn set_targets(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.targets = input;
self
}
pub fn start_after(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.start_after.unwrap_or_default();
v.push(input.into());
self.start_after = Some(v);
self
}
pub fn set_start_after(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.start_after = input;
self
}
pub fn state(mut self, input: crate::model::ExperimentActionState) -> Self {
self.state = Some(input);
self
}
pub fn set_state(
mut self,
input: std::option::Option<crate::model::ExperimentActionState>,
) -> Self {
self.state = input;
self
}
pub fn start_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.start_time = Some(input);
self
}
pub fn set_start_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.start_time = input;
self
}
pub fn end_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.end_time = Some(input);
self
}
pub fn set_end_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.end_time = input;
self
}
pub fn build(self) -> crate::model::ExperimentAction {
crate::model::ExperimentAction {
action_id: self.action_id,
description: self.description,
parameters: self.parameters,
targets: self.targets,
start_after: self.start_after,
state: self.state,
start_time: self.start_time,
end_time: self.end_time,
}
}
}
}
impl ExperimentAction {
pub fn builder() -> crate::model::experiment_action::Builder {
crate::model::experiment_action::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentActionState {
#[doc(hidden)]
pub status: std::option::Option<crate::model::ExperimentActionStatus>,
#[doc(hidden)]
pub reason: std::option::Option<std::string::String>,
}
impl ExperimentActionState {
pub fn status(&self) -> std::option::Option<&crate::model::ExperimentActionStatus> {
self.status.as_ref()
}
pub fn reason(&self) -> std::option::Option<&str> {
self.reason.as_deref()
}
}
pub mod experiment_action_state {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) status: std::option::Option<crate::model::ExperimentActionStatus>,
pub(crate) reason: std::option::Option<std::string::String>,
}
impl Builder {
pub fn status(mut self, input: crate::model::ExperimentActionStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(
mut self,
input: std::option::Option<crate::model::ExperimentActionStatus>,
) -> Self {
self.status = input;
self
}
pub fn reason(mut self, input: impl Into<std::string::String>) -> Self {
self.reason = Some(input.into());
self
}
pub fn set_reason(mut self, input: std::option::Option<std::string::String>) -> Self {
self.reason = input;
self
}
pub fn build(self) -> crate::model::ExperimentActionState {
crate::model::ExperimentActionState {
status: self.status,
reason: self.reason,
}
}
}
}
impl ExperimentActionState {
pub fn builder() -> crate::model::experiment_action_state::Builder {
crate::model::experiment_action_state::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum ExperimentActionStatus {
#[allow(missing_docs)] Cancelled,
#[allow(missing_docs)] Completed,
#[allow(missing_docs)] Failed,
#[allow(missing_docs)] Initiating,
#[allow(missing_docs)] Pending,
#[allow(missing_docs)] Running,
#[allow(missing_docs)] Stopped,
#[allow(missing_docs)] Stopping,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for ExperimentActionStatus {
fn from(s: &str) -> Self {
match s {
"cancelled" => ExperimentActionStatus::Cancelled,
"completed" => ExperimentActionStatus::Completed,
"failed" => ExperimentActionStatus::Failed,
"initiating" => ExperimentActionStatus::Initiating,
"pending" => ExperimentActionStatus::Pending,
"running" => ExperimentActionStatus::Running,
"stopped" => ExperimentActionStatus::Stopped,
"stopping" => ExperimentActionStatus::Stopping,
other => {
ExperimentActionStatus::Unknown(crate::types::UnknownVariantValue(other.to_owned()))
}
}
}
}
impl std::str::FromStr for ExperimentActionStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ExperimentActionStatus::from(s))
}
}
impl ExperimentActionStatus {
pub fn as_str(&self) -> &str {
match self {
ExperimentActionStatus::Cancelled => "cancelled",
ExperimentActionStatus::Completed => "completed",
ExperimentActionStatus::Failed => "failed",
ExperimentActionStatus::Initiating => "initiating",
ExperimentActionStatus::Pending => "pending",
ExperimentActionStatus::Running => "running",
ExperimentActionStatus::Stopped => "stopped",
ExperimentActionStatus::Stopping => "stopping",
ExperimentActionStatus::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"cancelled",
"completed",
"failed",
"initiating",
"pending",
"running",
"stopped",
"stopping",
]
}
}
impl AsRef<str> for ExperimentActionStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTarget {
#[doc(hidden)]
pub resource_type: std::option::Option<std::string::String>,
#[doc(hidden)]
pub resource_arns: std::option::Option<std::vec::Vec<std::string::String>>,
#[doc(hidden)]
pub resource_tags:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub filters: std::option::Option<std::vec::Vec<crate::model::ExperimentTargetFilter>>,
#[doc(hidden)]
pub selection_mode: std::option::Option<std::string::String>,
#[doc(hidden)]
pub parameters:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl ExperimentTarget {
pub fn resource_type(&self) -> std::option::Option<&str> {
self.resource_type.as_deref()
}
pub fn resource_arns(&self) -> std::option::Option<&[std::string::String]> {
self.resource_arns.as_deref()
}
pub fn resource_tags(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.resource_tags.as_ref()
}
pub fn filters(&self) -> std::option::Option<&[crate::model::ExperimentTargetFilter]> {
self.filters.as_deref()
}
pub fn selection_mode(&self) -> std::option::Option<&str> {
self.selection_mode.as_deref()
}
pub fn parameters(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.parameters.as_ref()
}
}
pub mod experiment_target {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) resource_type: std::option::Option<std::string::String>,
pub(crate) resource_arns: std::option::Option<std::vec::Vec<std::string::String>>,
pub(crate) resource_tags: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) filters:
std::option::Option<std::vec::Vec<crate::model::ExperimentTargetFilter>>,
pub(crate) selection_mode: std::option::Option<std::string::String>,
pub(crate) parameters: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
}
impl Builder {
pub fn resource_type(mut self, input: impl Into<std::string::String>) -> Self {
self.resource_type = Some(input.into());
self
}
pub fn set_resource_type(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.resource_type = input;
self
}
pub fn resource_arns(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.resource_arns.unwrap_or_default();
v.push(input.into());
self.resource_arns = Some(v);
self
}
pub fn set_resource_arns(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.resource_arns = input;
self
}
pub fn resource_tags(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.resource_tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.resource_tags = Some(hash_map);
self
}
pub fn set_resource_tags(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.resource_tags = input;
self
}
pub fn filters(mut self, input: crate::model::ExperimentTargetFilter) -> Self {
let mut v = self.filters.unwrap_or_default();
v.push(input);
self.filters = Some(v);
self
}
pub fn set_filters(
mut self,
input: std::option::Option<std::vec::Vec<crate::model::ExperimentTargetFilter>>,
) -> Self {
self.filters = input;
self
}
pub fn selection_mode(mut self, input: impl Into<std::string::String>) -> Self {
self.selection_mode = Some(input.into());
self
}
pub fn set_selection_mode(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.selection_mode = input;
self
}
pub fn parameters(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.parameters.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.parameters = Some(hash_map);
self
}
pub fn set_parameters(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.parameters = input;
self
}
pub fn build(self) -> crate::model::ExperimentTarget {
crate::model::ExperimentTarget {
resource_type: self.resource_type,
resource_arns: self.resource_arns,
resource_tags: self.resource_tags,
filters: self.filters,
selection_mode: self.selection_mode,
parameters: self.parameters,
}
}
}
}
impl ExperimentTarget {
pub fn builder() -> crate::model::experiment_target::Builder {
crate::model::experiment_target::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTargetFilter {
#[doc(hidden)]
pub path: std::option::Option<std::string::String>,
#[doc(hidden)]
pub values: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl ExperimentTargetFilter {
pub fn path(&self) -> std::option::Option<&str> {
self.path.as_deref()
}
pub fn values(&self) -> std::option::Option<&[std::string::String]> {
self.values.as_deref()
}
}
pub mod experiment_target_filter {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) path: std::option::Option<std::string::String>,
pub(crate) values: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Builder {
pub fn path(mut self, input: impl Into<std::string::String>) -> Self {
self.path = Some(input.into());
self
}
pub fn set_path(mut self, input: std::option::Option<std::string::String>) -> Self {
self.path = input;
self
}
pub fn values(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.values.unwrap_or_default();
v.push(input.into());
self.values = Some(v);
self
}
pub fn set_values(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.values = input;
self
}
pub fn build(self) -> crate::model::ExperimentTargetFilter {
crate::model::ExperimentTargetFilter {
path: self.path,
values: self.values,
}
}
}
}
impl ExperimentTargetFilter {
pub fn builder() -> crate::model::experiment_target_filter::Builder {
crate::model::experiment_target_filter::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentState {
#[doc(hidden)]
pub status: std::option::Option<crate::model::ExperimentStatus>,
#[doc(hidden)]
pub reason: std::option::Option<std::string::String>,
}
impl ExperimentState {
pub fn status(&self) -> std::option::Option<&crate::model::ExperimentStatus> {
self.status.as_ref()
}
pub fn reason(&self) -> std::option::Option<&str> {
self.reason.as_deref()
}
}
pub mod experiment_state {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) status: std::option::Option<crate::model::ExperimentStatus>,
pub(crate) reason: std::option::Option<std::string::String>,
}
impl Builder {
pub fn status(mut self, input: crate::model::ExperimentStatus) -> Self {
self.status = Some(input);
self
}
pub fn set_status(
mut self,
input: std::option::Option<crate::model::ExperimentStatus>,
) -> Self {
self.status = input;
self
}
pub fn reason(mut self, input: impl Into<std::string::String>) -> Self {
self.reason = Some(input.into());
self
}
pub fn set_reason(mut self, input: std::option::Option<std::string::String>) -> Self {
self.reason = input;
self
}
pub fn build(self) -> crate::model::ExperimentState {
crate::model::ExperimentState {
status: self.status,
reason: self.reason,
}
}
}
}
impl ExperimentState {
pub fn builder() -> crate::model::experiment_state::Builder {
crate::model::experiment_state::Builder::default()
}
}
#[allow(missing_docs)] #[non_exhaustive]
#[derive(
std::clone::Clone,
std::cmp::Eq,
std::cmp::Ord,
std::cmp::PartialEq,
std::cmp::PartialOrd,
std::fmt::Debug,
std::hash::Hash,
)]
pub enum ExperimentStatus {
#[allow(missing_docs)] Completed,
#[allow(missing_docs)] Failed,
#[allow(missing_docs)] Initiating,
#[allow(missing_docs)] Pending,
#[allow(missing_docs)] Running,
#[allow(missing_docs)] Stopped,
#[allow(missing_docs)] Stopping,
Unknown(crate::types::UnknownVariantValue),
}
impl std::convert::From<&str> for ExperimentStatus {
fn from(s: &str) -> Self {
match s {
"completed" => ExperimentStatus::Completed,
"failed" => ExperimentStatus::Failed,
"initiating" => ExperimentStatus::Initiating,
"pending" => ExperimentStatus::Pending,
"running" => ExperimentStatus::Running,
"stopped" => ExperimentStatus::Stopped,
"stopping" => ExperimentStatus::Stopping,
other => ExperimentStatus::Unknown(crate::types::UnknownVariantValue(other.to_owned())),
}
}
}
impl std::str::FromStr for ExperimentStatus {
type Err = std::convert::Infallible;
fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
Ok(ExperimentStatus::from(s))
}
}
impl ExperimentStatus {
pub fn as_str(&self) -> &str {
match self {
ExperimentStatus::Completed => "completed",
ExperimentStatus::Failed => "failed",
ExperimentStatus::Initiating => "initiating",
ExperimentStatus::Pending => "pending",
ExperimentStatus::Running => "running",
ExperimentStatus::Stopped => "stopped",
ExperimentStatus::Stopping => "stopping",
ExperimentStatus::Unknown(value) => value.as_str(),
}
}
pub const fn values() -> &'static [&'static str] {
&[
"completed",
"failed",
"initiating",
"pending",
"running",
"stopped",
"stopping",
]
}
}
impl AsRef<str> for ExperimentStatus {
fn as_ref(&self) -> &str {
self.as_str()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct TargetResourceTypeSummary {
#[doc(hidden)]
pub resource_type: std::option::Option<std::string::String>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
}
impl TargetResourceTypeSummary {
pub fn resource_type(&self) -> std::option::Option<&str> {
self.resource_type.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
}
pub mod target_resource_type_summary {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) resource_type: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
}
impl Builder {
pub fn resource_type(mut self, input: impl Into<std::string::String>) -> Self {
self.resource_type = Some(input.into());
self
}
pub fn set_resource_type(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.resource_type = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn build(self) -> crate::model::TargetResourceTypeSummary {
crate::model::TargetResourceTypeSummary {
resource_type: self.resource_type,
description: self.description,
}
}
}
}
impl TargetResourceTypeSummary {
pub fn builder() -> crate::model::target_resource_type_summary::Builder {
crate::model::target_resource_type_summary::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentTemplateSummary {
#[doc(hidden)]
pub id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub last_update_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub tags:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl ExperimentTemplateSummary {
pub fn id(&self) -> std::option::Option<&str> {
self.id.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.creation_time.as_ref()
}
pub fn last_update_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.last_update_time.as_ref()
}
pub fn tags(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.tags.as_ref()
}
}
pub mod experiment_template_summary {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) id: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) last_update_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) tags: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
}
impl Builder {
pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
self.id = Some(input.into());
self
}
pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.id = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.creation_time = Some(input);
self
}
pub fn set_creation_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.creation_time = input;
self
}
pub fn last_update_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.last_update_time = Some(input);
self
}
pub fn set_last_update_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.last_update_time = input;
self
}
pub fn tags(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = 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 build(self) -> crate::model::ExperimentTemplateSummary {
crate::model::ExperimentTemplateSummary {
id: self.id,
description: self.description,
creation_time: self.creation_time,
last_update_time: self.last_update_time,
tags: self.tags,
}
}
}
}
impl ExperimentTemplateSummary {
pub fn builder() -> crate::model::experiment_template_summary::Builder {
crate::model::experiment_template_summary::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ExperimentSummary {
#[doc(hidden)]
pub id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub experiment_template_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub state: std::option::Option<crate::model::ExperimentState>,
#[doc(hidden)]
pub creation_time: std::option::Option<aws_smithy_types::DateTime>,
#[doc(hidden)]
pub tags:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl ExperimentSummary {
pub fn id(&self) -> std::option::Option<&str> {
self.id.as_deref()
}
pub fn experiment_template_id(&self) -> std::option::Option<&str> {
self.experiment_template_id.as_deref()
}
pub fn state(&self) -> std::option::Option<&crate::model::ExperimentState> {
self.state.as_ref()
}
pub fn creation_time(&self) -> std::option::Option<&aws_smithy_types::DateTime> {
self.creation_time.as_ref()
}
pub fn tags(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.tags.as_ref()
}
}
pub mod experiment_summary {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) id: std::option::Option<std::string::String>,
pub(crate) experiment_template_id: std::option::Option<std::string::String>,
pub(crate) state: std::option::Option<crate::model::ExperimentState>,
pub(crate) creation_time: std::option::Option<aws_smithy_types::DateTime>,
pub(crate) tags: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
}
impl Builder {
pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
self.id = Some(input.into());
self
}
pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.id = input;
self
}
pub fn experiment_template_id(mut self, input: impl Into<std::string::String>) -> Self {
self.experiment_template_id = Some(input.into());
self
}
pub fn set_experiment_template_id(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.experiment_template_id = input;
self
}
pub fn state(mut self, input: crate::model::ExperimentState) -> Self {
self.state = Some(input);
self
}
pub fn set_state(
mut self,
input: std::option::Option<crate::model::ExperimentState>,
) -> Self {
self.state = input;
self
}
pub fn creation_time(mut self, input: aws_smithy_types::DateTime) -> Self {
self.creation_time = Some(input);
self
}
pub fn set_creation_time(
mut self,
input: std::option::Option<aws_smithy_types::DateTime>,
) -> Self {
self.creation_time = input;
self
}
pub fn tags(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = 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 build(self) -> crate::model::ExperimentSummary {
crate::model::ExperimentSummary {
id: self.id,
experiment_template_id: self.experiment_template_id,
state: self.state,
creation_time: self.creation_time,
tags: self.tags,
}
}
}
}
impl ExperimentSummary {
pub fn builder() -> crate::model::experiment_summary::Builder {
crate::model::experiment_summary::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ActionSummary {
#[doc(hidden)]
pub id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub targets: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ActionTarget>,
>,
#[doc(hidden)]
pub tags:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl ActionSummary {
pub fn id(&self) -> std::option::Option<&str> {
self.id.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn targets(
&self,
) -> std::option::Option<
&std::collections::HashMap<std::string::String, crate::model::ActionTarget>,
> {
self.targets.as_ref()
}
pub fn tags(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.tags.as_ref()
}
}
pub mod action_summary {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) id: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) targets: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ActionTarget>,
>,
pub(crate) tags: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
}
impl Builder {
pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
self.id = Some(input.into());
self
}
pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.id = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn targets(
mut self,
k: impl Into<std::string::String>,
v: crate::model::ActionTarget,
) -> Self {
let mut hash_map = self.targets.unwrap_or_default();
hash_map.insert(k.into(), v);
self.targets = Some(hash_map);
self
}
pub fn set_targets(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ActionTarget>,
>,
) -> Self {
self.targets = input;
self
}
pub fn tags(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = 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 build(self) -> crate::model::ActionSummary {
crate::model::ActionSummary {
id: self.id,
description: self.description,
targets: self.targets,
tags: self.tags,
}
}
}
}
impl ActionSummary {
pub fn builder() -> crate::model::action_summary::Builder {
crate::model::action_summary::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ActionTarget {
#[doc(hidden)]
pub resource_type: std::option::Option<std::string::String>,
}
impl ActionTarget {
pub fn resource_type(&self) -> std::option::Option<&str> {
self.resource_type.as_deref()
}
}
pub mod action_target {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) resource_type: std::option::Option<std::string::String>,
}
impl Builder {
pub fn resource_type(mut self, input: impl Into<std::string::String>) -> Self {
self.resource_type = Some(input.into());
self
}
pub fn set_resource_type(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.resource_type = input;
self
}
pub fn build(self) -> crate::model::ActionTarget {
crate::model::ActionTarget {
resource_type: self.resource_type,
}
}
}
}
impl ActionTarget {
pub fn builder() -> crate::model::action_target::Builder {
crate::model::action_target::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct TargetResourceType {
#[doc(hidden)]
pub resource_type: std::option::Option<std::string::String>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub parameters: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::TargetResourceTypeParameter>,
>,
}
impl TargetResourceType {
pub fn resource_type(&self) -> std::option::Option<&str> {
self.resource_type.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn parameters(
&self,
) -> std::option::Option<
&std::collections::HashMap<std::string::String, crate::model::TargetResourceTypeParameter>,
> {
self.parameters.as_ref()
}
}
pub mod target_resource_type {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) resource_type: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) parameters: std::option::Option<
std::collections::HashMap<
std::string::String,
crate::model::TargetResourceTypeParameter,
>,
>,
}
impl Builder {
pub fn resource_type(mut self, input: impl Into<std::string::String>) -> Self {
self.resource_type = Some(input.into());
self
}
pub fn set_resource_type(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.resource_type = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn parameters(
mut self,
k: impl Into<std::string::String>,
v: crate::model::TargetResourceTypeParameter,
) -> Self {
let mut hash_map = self.parameters.unwrap_or_default();
hash_map.insert(k.into(), v);
self.parameters = Some(hash_map);
self
}
pub fn set_parameters(
mut self,
input: std::option::Option<
std::collections::HashMap<
std::string::String,
crate::model::TargetResourceTypeParameter,
>,
>,
) -> Self {
self.parameters = input;
self
}
pub fn build(self) -> crate::model::TargetResourceType {
crate::model::TargetResourceType {
resource_type: self.resource_type,
description: self.description,
parameters: self.parameters,
}
}
}
}
impl TargetResourceType {
pub fn builder() -> crate::model::target_resource_type::Builder {
crate::model::target_resource_type::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct TargetResourceTypeParameter {
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub required: std::option::Option<bool>,
}
impl TargetResourceTypeParameter {
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn required(&self) -> std::option::Option<bool> {
self.required
}
}
pub mod target_resource_type_parameter {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) required: std::option::Option<bool>,
}
impl Builder {
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn required(mut self, input: bool) -> Self {
self.required = Some(input);
self
}
pub fn set_required(mut self, input: std::option::Option<bool>) -> Self {
self.required = input;
self
}
pub fn build(self) -> crate::model::TargetResourceTypeParameter {
crate::model::TargetResourceTypeParameter {
description: self.description,
required: self.required,
}
}
}
}
impl TargetResourceTypeParameter {
pub fn builder() -> crate::model::target_resource_type_parameter::Builder {
crate::model::target_resource_type_parameter::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct Action {
#[doc(hidden)]
pub id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub parameters: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ActionParameter>,
>,
#[doc(hidden)]
pub targets: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ActionTarget>,
>,
#[doc(hidden)]
pub tags:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl Action {
pub fn id(&self) -> std::option::Option<&str> {
self.id.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn parameters(
&self,
) -> std::option::Option<
&std::collections::HashMap<std::string::String, crate::model::ActionParameter>,
> {
self.parameters.as_ref()
}
pub fn targets(
&self,
) -> std::option::Option<
&std::collections::HashMap<std::string::String, crate::model::ActionTarget>,
> {
self.targets.as_ref()
}
pub fn tags(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.tags.as_ref()
}
}
pub mod action {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) id: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) parameters: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ActionParameter>,
>,
pub(crate) targets: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ActionTarget>,
>,
pub(crate) tags: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
}
impl Builder {
pub fn id(mut self, input: impl Into<std::string::String>) -> Self {
self.id = Some(input.into());
self
}
pub fn set_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.id = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn parameters(
mut self,
k: impl Into<std::string::String>,
v: crate::model::ActionParameter,
) -> Self {
let mut hash_map = self.parameters.unwrap_or_default();
hash_map.insert(k.into(), v);
self.parameters = Some(hash_map);
self
}
pub fn set_parameters(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ActionParameter>,
>,
) -> Self {
self.parameters = input;
self
}
pub fn targets(
mut self,
k: impl Into<std::string::String>,
v: crate::model::ActionTarget,
) -> Self {
let mut hash_map = self.targets.unwrap_or_default();
hash_map.insert(k.into(), v);
self.targets = Some(hash_map);
self
}
pub fn set_targets(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, crate::model::ActionTarget>,
>,
) -> Self {
self.targets = input;
self
}
pub fn tags(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.tags = 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 build(self) -> crate::model::Action {
crate::model::Action {
id: self.id,
description: self.description,
parameters: self.parameters,
targets: self.targets,
tags: self.tags,
}
}
}
}
impl Action {
pub fn builder() -> crate::model::action::Builder {
crate::model::action::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct ActionParameter {
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub required: std::option::Option<bool>,
}
impl ActionParameter {
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn required(&self) -> std::option::Option<bool> {
self.required
}
}
pub mod action_parameter {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) required: std::option::Option<bool>,
}
impl Builder {
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn required(mut self, input: bool) -> Self {
self.required = Some(input);
self
}
pub fn set_required(mut self, input: std::option::Option<bool>) -> Self {
self.required = input;
self
}
pub fn build(self) -> crate::model::ActionParameter {
crate::model::ActionParameter {
description: self.description,
required: self.required,
}
}
}
}
impl ActionParameter {
pub fn builder() -> crate::model::action_parameter::Builder {
crate::model::action_parameter::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateExperimentTemplateLogConfigurationInput {
#[doc(hidden)]
pub cloud_watch_logs_configuration:
std::option::Option<crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput>,
#[doc(hidden)]
pub s3_configuration:
std::option::Option<crate::model::ExperimentTemplateS3LogConfigurationInput>,
#[doc(hidden)]
pub log_schema_version: std::option::Option<i32>,
}
impl CreateExperimentTemplateLogConfigurationInput {
pub fn cloud_watch_logs_configuration(
&self,
) -> std::option::Option<&crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput>
{
self.cloud_watch_logs_configuration.as_ref()
}
pub fn s3_configuration(
&self,
) -> std::option::Option<&crate::model::ExperimentTemplateS3LogConfigurationInput> {
self.s3_configuration.as_ref()
}
pub fn log_schema_version(&self) -> std::option::Option<i32> {
self.log_schema_version
}
}
pub mod create_experiment_template_log_configuration_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) cloud_watch_logs_configuration: std::option::Option<
crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput,
>,
pub(crate) s3_configuration:
std::option::Option<crate::model::ExperimentTemplateS3LogConfigurationInput>,
pub(crate) log_schema_version: std::option::Option<i32>,
}
impl Builder {
pub fn cloud_watch_logs_configuration(
mut self,
input: crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput,
) -> Self {
self.cloud_watch_logs_configuration = Some(input);
self
}
pub fn set_cloud_watch_logs_configuration(
mut self,
input: std::option::Option<
crate::model::ExperimentTemplateCloudWatchLogsLogConfigurationInput,
>,
) -> Self {
self.cloud_watch_logs_configuration = input;
self
}
pub fn s3_configuration(
mut self,
input: crate::model::ExperimentTemplateS3LogConfigurationInput,
) -> Self {
self.s3_configuration = Some(input);
self
}
pub fn set_s3_configuration(
mut self,
input: std::option::Option<crate::model::ExperimentTemplateS3LogConfigurationInput>,
) -> Self {
self.s3_configuration = input;
self
}
pub fn log_schema_version(mut self, input: i32) -> Self {
self.log_schema_version = Some(input);
self
}
pub fn set_log_schema_version(mut self, input: std::option::Option<i32>) -> Self {
self.log_schema_version = input;
self
}
pub fn build(self) -> crate::model::CreateExperimentTemplateLogConfigurationInput {
crate::model::CreateExperimentTemplateLogConfigurationInput {
cloud_watch_logs_configuration: self.cloud_watch_logs_configuration,
s3_configuration: self.s3_configuration,
log_schema_version: self.log_schema_version,
}
}
}
}
impl CreateExperimentTemplateLogConfigurationInput {
pub fn builder() -> crate::model::create_experiment_template_log_configuration_input::Builder {
crate::model::create_experiment_template_log_configuration_input::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateExperimentTemplateActionInput {
#[doc(hidden)]
pub action_id: std::option::Option<std::string::String>,
#[doc(hidden)]
pub description: std::option::Option<std::string::String>,
#[doc(hidden)]
pub parameters:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub targets:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub start_after: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl CreateExperimentTemplateActionInput {
pub fn action_id(&self) -> std::option::Option<&str> {
self.action_id.as_deref()
}
pub fn description(&self) -> std::option::Option<&str> {
self.description.as_deref()
}
pub fn parameters(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.parameters.as_ref()
}
pub fn targets(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.targets.as_ref()
}
pub fn start_after(&self) -> std::option::Option<&[std::string::String]> {
self.start_after.as_deref()
}
}
pub mod create_experiment_template_action_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) action_id: std::option::Option<std::string::String>,
pub(crate) description: std::option::Option<std::string::String>,
pub(crate) parameters: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) targets: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) start_after: std::option::Option<std::vec::Vec<std::string::String>>,
}
impl Builder {
pub fn action_id(mut self, input: impl Into<std::string::String>) -> Self {
self.action_id = Some(input.into());
self
}
pub fn set_action_id(mut self, input: std::option::Option<std::string::String>) -> Self {
self.action_id = input;
self
}
pub fn description(mut self, input: impl Into<std::string::String>) -> Self {
self.description = Some(input.into());
self
}
pub fn set_description(mut self, input: std::option::Option<std::string::String>) -> Self {
self.description = input;
self
}
pub fn parameters(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.parameters.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.parameters = Some(hash_map);
self
}
pub fn set_parameters(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.parameters = input;
self
}
pub fn targets(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.targets.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.targets = Some(hash_map);
self
}
pub fn set_targets(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.targets = input;
self
}
pub fn start_after(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.start_after.unwrap_or_default();
v.push(input.into());
self.start_after = Some(v);
self
}
pub fn set_start_after(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.start_after = input;
self
}
pub fn build(self) -> crate::model::CreateExperimentTemplateActionInput {
crate::model::CreateExperimentTemplateActionInput {
action_id: self.action_id,
description: self.description,
parameters: self.parameters,
targets: self.targets,
start_after: self.start_after,
}
}
}
}
impl CreateExperimentTemplateActionInput {
pub fn builder() -> crate::model::create_experiment_template_action_input::Builder {
crate::model::create_experiment_template_action_input::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateExperimentTemplateTargetInput {
#[doc(hidden)]
pub resource_type: std::option::Option<std::string::String>,
#[doc(hidden)]
pub resource_arns: std::option::Option<std::vec::Vec<std::string::String>>,
#[doc(hidden)]
pub resource_tags:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
#[doc(hidden)]
pub filters:
std::option::Option<std::vec::Vec<crate::model::ExperimentTemplateTargetInputFilter>>,
#[doc(hidden)]
pub selection_mode: std::option::Option<std::string::String>,
#[doc(hidden)]
pub parameters:
std::option::Option<std::collections::HashMap<std::string::String, std::string::String>>,
}
impl CreateExperimentTemplateTargetInput {
pub fn resource_type(&self) -> std::option::Option<&str> {
self.resource_type.as_deref()
}
pub fn resource_arns(&self) -> std::option::Option<&[std::string::String]> {
self.resource_arns.as_deref()
}
pub fn resource_tags(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.resource_tags.as_ref()
}
pub fn filters(
&self,
) -> std::option::Option<&[crate::model::ExperimentTemplateTargetInputFilter]> {
self.filters.as_deref()
}
pub fn selection_mode(&self) -> std::option::Option<&str> {
self.selection_mode.as_deref()
}
pub fn parameters(
&self,
) -> std::option::Option<&std::collections::HashMap<std::string::String, std::string::String>>
{
self.parameters.as_ref()
}
}
pub mod create_experiment_template_target_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) resource_type: std::option::Option<std::string::String>,
pub(crate) resource_arns: std::option::Option<std::vec::Vec<std::string::String>>,
pub(crate) resource_tags: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
pub(crate) filters:
std::option::Option<std::vec::Vec<crate::model::ExperimentTemplateTargetInputFilter>>,
pub(crate) selection_mode: std::option::Option<std::string::String>,
pub(crate) parameters: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
}
impl Builder {
pub fn resource_type(mut self, input: impl Into<std::string::String>) -> Self {
self.resource_type = Some(input.into());
self
}
pub fn set_resource_type(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.resource_type = input;
self
}
pub fn resource_arns(mut self, input: impl Into<std::string::String>) -> Self {
let mut v = self.resource_arns.unwrap_or_default();
v.push(input.into());
self.resource_arns = Some(v);
self
}
pub fn set_resource_arns(
mut self,
input: std::option::Option<std::vec::Vec<std::string::String>>,
) -> Self {
self.resource_arns = input;
self
}
pub fn resource_tags(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.resource_tags.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.resource_tags = Some(hash_map);
self
}
pub fn set_resource_tags(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.resource_tags = input;
self
}
pub fn filters(mut self, input: crate::model::ExperimentTemplateTargetInputFilter) -> Self {
let mut v = self.filters.unwrap_or_default();
v.push(input);
self.filters = Some(v);
self
}
pub fn set_filters(
mut self,
input: std::option::Option<
std::vec::Vec<crate::model::ExperimentTemplateTargetInputFilter>,
>,
) -> Self {
self.filters = input;
self
}
pub fn selection_mode(mut self, input: impl Into<std::string::String>) -> Self {
self.selection_mode = Some(input.into());
self
}
pub fn set_selection_mode(
mut self,
input: std::option::Option<std::string::String>,
) -> Self {
self.selection_mode = input;
self
}
pub fn parameters(
mut self,
k: impl Into<std::string::String>,
v: impl Into<std::string::String>,
) -> Self {
let mut hash_map = self.parameters.unwrap_or_default();
hash_map.insert(k.into(), v.into());
self.parameters = Some(hash_map);
self
}
pub fn set_parameters(
mut self,
input: std::option::Option<
std::collections::HashMap<std::string::String, std::string::String>,
>,
) -> Self {
self.parameters = input;
self
}
pub fn build(self) -> crate::model::CreateExperimentTemplateTargetInput {
crate::model::CreateExperimentTemplateTargetInput {
resource_type: self.resource_type,
resource_arns: self.resource_arns,
resource_tags: self.resource_tags,
filters: self.filters,
selection_mode: self.selection_mode,
parameters: self.parameters,
}
}
}
}
impl CreateExperimentTemplateTargetInput {
pub fn builder() -> crate::model::create_experiment_template_target_input::Builder {
crate::model::create_experiment_template_target_input::Builder::default()
}
}
#[non_exhaustive]
#[derive(std::clone::Clone, std::cmp::PartialEq, std::fmt::Debug)]
pub struct CreateExperimentTemplateStopConditionInput {
#[doc(hidden)]
pub source: std::option::Option<std::string::String>,
#[doc(hidden)]
pub value: std::option::Option<std::string::String>,
}
impl CreateExperimentTemplateStopConditionInput {
pub fn source(&self) -> std::option::Option<&str> {
self.source.as_deref()
}
pub fn value(&self) -> std::option::Option<&str> {
self.value.as_deref()
}
}
pub mod create_experiment_template_stop_condition_input {
#[derive(std::clone::Clone, std::cmp::PartialEq, std::default::Default, std::fmt::Debug)]
pub struct Builder {
pub(crate) source: std::option::Option<std::string::String>,
pub(crate) value: std::option::Option<std::string::String>,
}
impl Builder {
pub fn source(mut self, input: impl Into<std::string::String>) -> Self {
self.source = Some(input.into());
self
}
pub fn set_source(mut self, input: std::option::Option<std::string::String>) -> Self {
self.source = input;
self
}
pub fn value(mut self, input: impl Into<std::string::String>) -> Self {
self.value = Some(input.into());
self
}
pub fn set_value(mut self, input: std::option::Option<std::string::String>) -> Self {
self.value = input;
self
}
pub fn build(self) -> crate::model::CreateExperimentTemplateStopConditionInput {
crate::model::CreateExperimentTemplateStopConditionInput {
source: self.source,
value: self.value,
}
}
}
}
impl CreateExperimentTemplateStopConditionInput {
pub fn builder() -> crate::model::create_experiment_template_stop_condition_input::Builder {
crate::model::create_experiment_template_stop_condition_input::Builder::default()
}
}