pub struct Builder { /* private fields */ }Expand description
A builder for AutoScalingGroupRecommendationOption.
Implementations§
source§impl Builder
impl Builder
sourcepub fn configuration(self, input: AutoScalingGroupConfiguration) -> Self
pub fn configuration(self, input: AutoScalingGroupConfiguration) -> Self
An array of objects that describe an Auto Scaling group configuration.
sourcepub fn set_configuration(
self,
input: Option<AutoScalingGroupConfiguration>
) -> Self
pub fn set_configuration(
self,
input: Option<AutoScalingGroupConfiguration>
) -> Self
An array of objects that describe an Auto Scaling group configuration.
Examples found in repository?
4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297
pub(crate) fn deser_structure_crate_model_auto_scaling_group_recommendation_option<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::AutoScalingGroupRecommendationOption>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder =
crate::model::auto_scaling_group_recommendation_option::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"configuration" => {
builder = builder.set_configuration(
crate::json_deser::deser_structure_crate_model_auto_scaling_group_configuration(tokens)?
);
}
"projectedUtilizationMetrics" => {
builder = builder.set_projected_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_projected_utilization_metrics(tokens)?
);
}
"performanceRisk" => {
builder = builder.set_performance_risk(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"rank" => {
builder = builder.set_rank(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"savingsOpportunity" => {
builder = builder.set_savings_opportunity(
crate::json_deser::deser_structure_crate_model_savings_opportunity(tokens)?
);
}
"migrationEffort" => {
builder = builder.set_migration_effort(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::MigrationEffort::from(u.as_ref())
})
})
.transpose()?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}sourcepub fn projected_utilization_metrics(self, input: UtilizationMetric) -> Self
pub fn projected_utilization_metrics(self, input: UtilizationMetric) -> Self
Appends an item to projected_utilization_metrics.
To override the contents of this collection use set_projected_utilization_metrics.
An array of objects that describe the projected utilization metrics of the Auto Scaling group recommendation option.
The Cpu and Memory metrics are the only projected utilization metrics returned. Additionally, the Memory metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.
sourcepub fn set_projected_utilization_metrics(
self,
input: Option<Vec<UtilizationMetric>>
) -> Self
pub fn set_projected_utilization_metrics(
self,
input: Option<Vec<UtilizationMetric>>
) -> Self
An array of objects that describe the projected utilization metrics of the Auto Scaling group recommendation option.
The Cpu and Memory metrics are the only projected utilization metrics returned. Additionally, the Memory metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.
Examples found in repository?
4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297
pub(crate) fn deser_structure_crate_model_auto_scaling_group_recommendation_option<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::AutoScalingGroupRecommendationOption>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder =
crate::model::auto_scaling_group_recommendation_option::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"configuration" => {
builder = builder.set_configuration(
crate::json_deser::deser_structure_crate_model_auto_scaling_group_configuration(tokens)?
);
}
"projectedUtilizationMetrics" => {
builder = builder.set_projected_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_projected_utilization_metrics(tokens)?
);
}
"performanceRisk" => {
builder = builder.set_performance_risk(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"rank" => {
builder = builder.set_rank(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"savingsOpportunity" => {
builder = builder.set_savings_opportunity(
crate::json_deser::deser_structure_crate_model_savings_opportunity(tokens)?
);
}
"migrationEffort" => {
builder = builder.set_migration_effort(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::MigrationEffort::from(u.as_ref())
})
})
.transpose()?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}sourcepub fn performance_risk(self, input: f64) -> Self
pub fn performance_risk(self, input: f64) -> Self
The performance risk of the Auto Scaling group configuration recommendation.
Performance risk indicates the likelihood of the recommended instance type not meeting the resource needs of your workload. Compute Optimizer calculates an individual performance risk score for each specification of the recommended instance, including CPU, memory, EBS throughput, EBS IOPS, disk throughput, disk IOPS, network throughput, and network PPS. The performance risk of the recommended instance is calculated as the maximum performance risk score across the analyzed resource specifications.
The value ranges from 0 - 4, with 0 meaning that the recommended resource is predicted to always provide enough hardware capability. The higher the performance risk is, the more likely you should validate whether the recommendation will meet the performance requirements of your workload before migrating your resource.
sourcepub fn set_performance_risk(self, input: Option<f64>) -> Self
pub fn set_performance_risk(self, input: Option<f64>) -> Self
The performance risk of the Auto Scaling group configuration recommendation.
Performance risk indicates the likelihood of the recommended instance type not meeting the resource needs of your workload. Compute Optimizer calculates an individual performance risk score for each specification of the recommended instance, including CPU, memory, EBS throughput, EBS IOPS, disk throughput, disk IOPS, network throughput, and network PPS. The performance risk of the recommended instance is calculated as the maximum performance risk score across the analyzed resource specifications.
The value ranges from 0 - 4, with 0 meaning that the recommended resource is predicted to always provide enough hardware capability. The higher the performance risk is, the more likely you should validate whether the recommendation will meet the performance requirements of your workload before migrating your resource.
Examples found in repository?
4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297
pub(crate) fn deser_structure_crate_model_auto_scaling_group_recommendation_option<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::AutoScalingGroupRecommendationOption>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder =
crate::model::auto_scaling_group_recommendation_option::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"configuration" => {
builder = builder.set_configuration(
crate::json_deser::deser_structure_crate_model_auto_scaling_group_configuration(tokens)?
);
}
"projectedUtilizationMetrics" => {
builder = builder.set_projected_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_projected_utilization_metrics(tokens)?
);
}
"performanceRisk" => {
builder = builder.set_performance_risk(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"rank" => {
builder = builder.set_rank(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"savingsOpportunity" => {
builder = builder.set_savings_opportunity(
crate::json_deser::deser_structure_crate_model_savings_opportunity(tokens)?
);
}
"migrationEffort" => {
builder = builder.set_migration_effort(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::MigrationEffort::from(u.as_ref())
})
})
.transpose()?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}sourcepub fn rank(self, input: i32) -> Self
pub fn rank(self, input: i32) -> Self
The rank of the Auto Scaling group recommendation option.
The top recommendation option is ranked as 1.
sourcepub fn set_rank(self, input: Option<i32>) -> Self
pub fn set_rank(self, input: Option<i32>) -> Self
The rank of the Auto Scaling group recommendation option.
The top recommendation option is ranked as 1.
Examples found in repository?
4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297
pub(crate) fn deser_structure_crate_model_auto_scaling_group_recommendation_option<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::AutoScalingGroupRecommendationOption>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder =
crate::model::auto_scaling_group_recommendation_option::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"configuration" => {
builder = builder.set_configuration(
crate::json_deser::deser_structure_crate_model_auto_scaling_group_configuration(tokens)?
);
}
"projectedUtilizationMetrics" => {
builder = builder.set_projected_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_projected_utilization_metrics(tokens)?
);
}
"performanceRisk" => {
builder = builder.set_performance_risk(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"rank" => {
builder = builder.set_rank(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"savingsOpportunity" => {
builder = builder.set_savings_opportunity(
crate::json_deser::deser_structure_crate_model_savings_opportunity(tokens)?
);
}
"migrationEffort" => {
builder = builder.set_migration_effort(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::MigrationEffort::from(u.as_ref())
})
})
.transpose()?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}sourcepub fn savings_opportunity(self, input: SavingsOpportunity) -> Self
pub fn savings_opportunity(self, input: SavingsOpportunity) -> Self
An object that describes the savings opportunity for the Auto Scaling group recommendation option. Savings opportunity includes the estimated monthly savings amount and percentage.
sourcepub fn set_savings_opportunity(self, input: Option<SavingsOpportunity>) -> Self
pub fn set_savings_opportunity(self, input: Option<SavingsOpportunity>) -> Self
An object that describes the savings opportunity for the Auto Scaling group recommendation option. Savings opportunity includes the estimated monthly savings amount and percentage.
Examples found in repository?
4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297
pub(crate) fn deser_structure_crate_model_auto_scaling_group_recommendation_option<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::AutoScalingGroupRecommendationOption>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder =
crate::model::auto_scaling_group_recommendation_option::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"configuration" => {
builder = builder.set_configuration(
crate::json_deser::deser_structure_crate_model_auto_scaling_group_configuration(tokens)?
);
}
"projectedUtilizationMetrics" => {
builder = builder.set_projected_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_projected_utilization_metrics(tokens)?
);
}
"performanceRisk" => {
builder = builder.set_performance_risk(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"rank" => {
builder = builder.set_rank(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"savingsOpportunity" => {
builder = builder.set_savings_opportunity(
crate::json_deser::deser_structure_crate_model_savings_opportunity(tokens)?
);
}
"migrationEffort" => {
builder = builder.set_migration_effort(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::MigrationEffort::from(u.as_ref())
})
})
.transpose()?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}sourcepub fn migration_effort(self, input: MigrationEffort) -> Self
pub fn migration_effort(self, input: MigrationEffort) -> Self
The level of effort required to migrate from the current instance type to the recommended instance type.
For example, the migration effort is Low if Amazon EMR is the inferred workload type and an Amazon Web Services Graviton instance type is recommended. The migration effort is Medium if a workload type couldn't be inferred but an Amazon Web Services Graviton instance type is recommended. The migration effort is VeryLow if both the current and recommended instance types are of the same CPU architecture.
sourcepub fn set_migration_effort(self, input: Option<MigrationEffort>) -> Self
pub fn set_migration_effort(self, input: Option<MigrationEffort>) -> Self
The level of effort required to migrate from the current instance type to the recommended instance type.
For example, the migration effort is Low if Amazon EMR is the inferred workload type and an Amazon Web Services Graviton instance type is recommended. The migration effort is Medium if a workload type couldn't be inferred but an Amazon Web Services Graviton instance type is recommended. The migration effort is VeryLow if both the current and recommended instance types are of the same CPU architecture.
Examples found in repository?
4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297
pub(crate) fn deser_structure_crate_model_auto_scaling_group_recommendation_option<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::AutoScalingGroupRecommendationOption>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder =
crate::model::auto_scaling_group_recommendation_option::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"configuration" => {
builder = builder.set_configuration(
crate::json_deser::deser_structure_crate_model_auto_scaling_group_configuration(tokens)?
);
}
"projectedUtilizationMetrics" => {
builder = builder.set_projected_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_projected_utilization_metrics(tokens)?
);
}
"performanceRisk" => {
builder = builder.set_performance_risk(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"rank" => {
builder = builder.set_rank(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"savingsOpportunity" => {
builder = builder.set_savings_opportunity(
crate::json_deser::deser_structure_crate_model_savings_opportunity(tokens)?
);
}
"migrationEffort" => {
builder = builder.set_migration_effort(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::MigrationEffort::from(u.as_ref())
})
})
.transpose()?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}sourcepub fn build(self) -> AutoScalingGroupRecommendationOption
pub fn build(self) -> AutoScalingGroupRecommendationOption
Consumes the builder and constructs a AutoScalingGroupRecommendationOption.
Examples found in repository?
4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297
pub(crate) fn deser_structure_crate_model_auto_scaling_group_recommendation_option<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::AutoScalingGroupRecommendationOption>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder =
crate::model::auto_scaling_group_recommendation_option::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"configuration" => {
builder = builder.set_configuration(
crate::json_deser::deser_structure_crate_model_auto_scaling_group_configuration(tokens)?
);
}
"projectedUtilizationMetrics" => {
builder = builder.set_projected_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_projected_utilization_metrics(tokens)?
);
}
"performanceRisk" => {
builder = builder.set_performance_risk(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"rank" => {
builder = builder.set_rank(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"savingsOpportunity" => {
builder = builder.set_savings_opportunity(
crate::json_deser::deser_structure_crate_model_savings_opportunity(tokens)?
);
}
"migrationEffort" => {
builder = builder.set_migration_effort(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::MigrationEffort::from(u.as_ref())
})
})
.transpose()?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}