pub struct Builder { /* private fields */ }
Expand description
A builder for InstanceRecommendation
.
Implementations§
source§impl Builder
impl Builder
sourcepub fn instance_arn(self, input: impl Into<String>) -> Self
pub fn instance_arn(self, input: impl Into<String>) -> Self
The Amazon Resource Name (ARN) of the current instance.
sourcepub fn set_instance_arn(self, input: Option<String>) -> Self
pub fn set_instance_arn(self, input: Option<String>) -> Self
The Amazon Resource Name (ARN) of the current instance.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 account_id(self, input: impl Into<String>) -> Self
pub fn account_id(self, input: impl Into<String>) -> Self
The Amazon Web Services account ID of the instance.
sourcepub fn set_account_id(self, input: Option<String>) -> Self
pub fn set_account_id(self, input: Option<String>) -> Self
The Amazon Web Services account ID of the instance.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 instance_name(self, input: impl Into<String>) -> Self
pub fn instance_name(self, input: impl Into<String>) -> Self
The name of the current instance.
sourcepub fn set_instance_name(self, input: Option<String>) -> Self
pub fn set_instance_name(self, input: Option<String>) -> Self
The name of the current instance.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 current_instance_type(self, input: impl Into<String>) -> Self
pub fn current_instance_type(self, input: impl Into<String>) -> Self
The instance type of the current instance.
sourcepub fn set_current_instance_type(self, input: Option<String>) -> Self
pub fn set_current_instance_type(self, input: Option<String>) -> Self
The instance type of the current instance.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 finding(self, input: Finding) -> Self
pub fn finding(self, input: Finding) -> Self
The finding classification of the instance.
Findings for instances include:
-
Underprovisioned
—An instance is considered under-provisioned when at least one specification of your instance, such as CPU, memory, or network, does not meet the performance requirements of your workload. Under-provisioned instances may lead to poor application performance. -
Overprovisioned
—An instance is considered over-provisioned when at least one specification of your instance, such as CPU, memory, or network, can be sized down while still meeting the performance requirements of your workload, and no specification is under-provisioned. Over-provisioned instances may lead to unnecessary infrastructure cost. -
Optimized
—An instance is considered optimized when all specifications of your instance, such as CPU, memory, and network, meet the performance requirements of your workload and is not over provisioned. For optimized resources, Compute Optimizer might recommend a new generation instance type.
sourcepub fn set_finding(self, input: Option<Finding>) -> Self
pub fn set_finding(self, input: Option<Finding>) -> Self
The finding classification of the instance.
Findings for instances include:
-
Underprovisioned
—An instance is considered under-provisioned when at least one specification of your instance, such as CPU, memory, or network, does not meet the performance requirements of your workload. Under-provisioned instances may lead to poor application performance. -
Overprovisioned
—An instance is considered over-provisioned when at least one specification of your instance, such as CPU, memory, or network, can be sized down while still meeting the performance requirements of your workload, and no specification is under-provisioned. Over-provisioned instances may lead to unnecessary infrastructure cost. -
Optimized
—An instance is considered optimized when all specifications of your instance, such as CPU, memory, and network, meet the performance requirements of your workload and is not over provisioned. For optimized resources, Compute Optimizer might recommend a new generation instance type.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 finding_reason_codes(
self,
input: InstanceRecommendationFindingReasonCode
) -> Self
pub fn finding_reason_codes(
self,
input: InstanceRecommendationFindingReasonCode
) -> Self
Appends an item to finding_reason_codes
.
To override the contents of this collection use set_finding_reason_codes
.
The reason for the finding classification of the instance.
Finding reason codes for instances include:
-
CPUOverprovisioned
— The instance’s CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theCPUUtilization
metric of the current instance during the look-back period. -
CPUUnderprovisioned
— The instance’s CPU configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better CPU performance. This is identified by analyzing theCPUUtilization
metric of the current instance during the look-back period. -
MemoryOverprovisioned
— The instance’s memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the memory utilization metric of the current instance during the look-back period. -
MemoryUnderprovisioned
— The instance’s memory configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better memory performance. This is identified by analyzing the memory utilization metric of the current instance during the look-back period.Memory utilization is analyzed only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling memory utilization with the Amazon CloudWatch Agent in the Compute Optimizer User Guide. On Linux instances, Compute Optimizer analyses the
mem_used_percent
metric in theCWAgent
namespace, or the legacyMemoryUtilization
metric in theSystem/Linux
namespace. On Windows instances, Compute Optimizer analyses theMemory % Committed Bytes In Use
metric in theCWAgent
namespace. -
EBSThroughputOverprovisioned
— The instance’s EBS throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadOps
andVolumeWriteOps
metrics of EBS volumes attached to the current instance during the look-back period. -
EBSThroughputUnderprovisioned
— The instance’s EBS throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS throughput performance. This is identified by analyzing theVolumeReadOps
andVolumeWriteOps
metrics of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSOverprovisioned
— The instance’s EBS IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadBytes
andVolumeWriteBytes
metric of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSUnderprovisioned
— The instance’s EBS IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS IOPS performance. This is identified by analyzing theVolumeReadBytes
andVolumeWriteBytes
metric of EBS volumes attached to the current instance during the look-back period. -
NetworkBandwidthOverprovisioned
— The instance’s network bandwidth configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkIn
andNetworkOut
metrics of the current instance during the look-back period. -
NetworkBandwidthUnderprovisioned
— The instance’s network bandwidth configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network bandwidth performance. This is identified by analyzing theNetworkIn
andNetworkOut
metrics of the current instance during the look-back period. This finding reason happens when theNetworkIn
orNetworkOut
performance of an instance is impacted. -
NetworkPPSOverprovisioned
— The instance’s network PPS (packets per second) configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkPacketsIn
andNetworkPacketsIn
metrics of the current instance during the look-back period. -
NetworkPPSUnderprovisioned
— The instance’s network PPS (packets per second) configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network PPS performance. This is identified by analyzing theNetworkPacketsIn
andNetworkPacketsIn
metrics of the current instance during the look-back period. -
DiskIOPSOverprovisioned
— The instance’s disk IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadOps
andDiskWriteOps
metrics of the current instance during the look-back period. -
DiskIOPSUnderprovisioned
— The instance’s disk IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk IOPS performance. This is identified by analyzing theDiskReadOps
andDiskWriteOps
metrics of the current instance during the look-back period. -
DiskThroughputOverprovisioned
— The instance’s disk throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadBytes
andDiskWriteBytes
metrics of the current instance during the look-back period. -
DiskThroughputUnderprovisioned
— The instance’s disk throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk throughput performance. This is identified by analyzing theDiskReadBytes
andDiskWriteBytes
metrics of the current instance during the look-back period.
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
sourcepub fn set_finding_reason_codes(
self,
input: Option<Vec<InstanceRecommendationFindingReasonCode>>
) -> Self
pub fn set_finding_reason_codes(
self,
input: Option<Vec<InstanceRecommendationFindingReasonCode>>
) -> Self
The reason for the finding classification of the instance.
Finding reason codes for instances include:
-
CPUOverprovisioned
— The instance’s CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theCPUUtilization
metric of the current instance during the look-back period. -
CPUUnderprovisioned
— The instance’s CPU configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better CPU performance. This is identified by analyzing theCPUUtilization
metric of the current instance during the look-back period. -
MemoryOverprovisioned
— The instance’s memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the memory utilization metric of the current instance during the look-back period. -
MemoryUnderprovisioned
— The instance’s memory configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better memory performance. This is identified by analyzing the memory utilization metric of the current instance during the look-back period.Memory utilization is analyzed only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling memory utilization with the Amazon CloudWatch Agent in the Compute Optimizer User Guide. On Linux instances, Compute Optimizer analyses the
mem_used_percent
metric in theCWAgent
namespace, or the legacyMemoryUtilization
metric in theSystem/Linux
namespace. On Windows instances, Compute Optimizer analyses theMemory % Committed Bytes In Use
metric in theCWAgent
namespace. -
EBSThroughputOverprovisioned
— The instance’s EBS throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadOps
andVolumeWriteOps
metrics of EBS volumes attached to the current instance during the look-back period. -
EBSThroughputUnderprovisioned
— The instance’s EBS throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS throughput performance. This is identified by analyzing theVolumeReadOps
andVolumeWriteOps
metrics of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSOverprovisioned
— The instance’s EBS IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadBytes
andVolumeWriteBytes
metric of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSUnderprovisioned
— The instance’s EBS IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS IOPS performance. This is identified by analyzing theVolumeReadBytes
andVolumeWriteBytes
metric of EBS volumes attached to the current instance during the look-back period. -
NetworkBandwidthOverprovisioned
— The instance’s network bandwidth configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkIn
andNetworkOut
metrics of the current instance during the look-back period. -
NetworkBandwidthUnderprovisioned
— The instance’s network bandwidth configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network bandwidth performance. This is identified by analyzing theNetworkIn
andNetworkOut
metrics of the current instance during the look-back period. This finding reason happens when theNetworkIn
orNetworkOut
performance of an instance is impacted. -
NetworkPPSOverprovisioned
— The instance’s network PPS (packets per second) configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkPacketsIn
andNetworkPacketsIn
metrics of the current instance during the look-back period. -
NetworkPPSUnderprovisioned
— The instance’s network PPS (packets per second) configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network PPS performance. This is identified by analyzing theNetworkPacketsIn
andNetworkPacketsIn
metrics of the current instance during the look-back period. -
DiskIOPSOverprovisioned
— The instance’s disk IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadOps
andDiskWriteOps
metrics of the current instance during the look-back period. -
DiskIOPSUnderprovisioned
— The instance’s disk IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk IOPS performance. This is identified by analyzing theDiskReadOps
andDiskWriteOps
metrics of the current instance during the look-back period. -
DiskThroughputOverprovisioned
— The instance’s disk throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadBytes
andDiskWriteBytes
metrics of the current instance during the look-back period. -
DiskThroughputUnderprovisioned
— The instance’s disk throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk throughput performance. This is identified by analyzing theDiskReadBytes
andDiskWriteBytes
metrics of the current instance during the look-back period.
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 utilization_metrics(self, input: UtilizationMetric) -> Self
pub fn utilization_metrics(self, input: UtilizationMetric) -> Self
Appends an item to utilization_metrics
.
To override the contents of this collection use set_utilization_metrics
.
An array of objects that describe the utilization metrics of the instance.
sourcepub fn set_utilization_metrics(
self,
input: Option<Vec<UtilizationMetric>>
) -> Self
pub fn set_utilization_metrics(
self,
input: Option<Vec<UtilizationMetric>>
) -> Self
An array of objects that describe the utilization metrics of the instance.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 look_back_period_in_days(self, input: f64) -> Self
pub fn look_back_period_in_days(self, input: f64) -> Self
The number of days for which utilization metrics were analyzed for the instance.
sourcepub fn set_look_back_period_in_days(self, input: Option<f64>) -> Self
pub fn set_look_back_period_in_days(self, input: Option<f64>) -> Self
The number of days for which utilization metrics were analyzed for the instance.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 recommendation_options(self, input: InstanceRecommendationOption) -> Self
pub fn recommendation_options(self, input: InstanceRecommendationOption) -> Self
Appends an item to recommendation_options
.
To override the contents of this collection use set_recommendation_options
.
An array of objects that describe the recommendation options for the instance.
sourcepub fn set_recommendation_options(
self,
input: Option<Vec<InstanceRecommendationOption>>
) -> Self
pub fn set_recommendation_options(
self,
input: Option<Vec<InstanceRecommendationOption>>
) -> Self
An array of objects that describe the recommendation options for the instance.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 recommendation_sources(self, input: RecommendationSource) -> Self
pub fn recommendation_sources(self, input: RecommendationSource) -> Self
Appends an item to recommendation_sources
.
To override the contents of this collection use set_recommendation_sources
.
An array of objects that describe the source resource of the recommendation.
sourcepub fn set_recommendation_sources(
self,
input: Option<Vec<RecommendationSource>>
) -> Self
pub fn set_recommendation_sources(
self,
input: Option<Vec<RecommendationSource>>
) -> Self
An array of objects that describe the source resource of the recommendation.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 last_refresh_timestamp(self, input: DateTime) -> Self
pub fn last_refresh_timestamp(self, input: DateTime) -> Self
The timestamp of when the instance recommendation was last generated.
sourcepub fn set_last_refresh_timestamp(self, input: Option<DateTime>) -> Self
pub fn set_last_refresh_timestamp(self, input: Option<DateTime>) -> Self
The timestamp of when the instance recommendation was last generated.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 current_performance_risk(self, input: CurrentPerformanceRisk) -> Self
pub fn current_performance_risk(self, input: CurrentPerformanceRisk) -> Self
The risk of the current instance not meeting the performance needs of its workloads. The higher the risk, the more likely the current instance cannot meet the performance requirements of its workload.
sourcepub fn set_current_performance_risk(
self,
input: Option<CurrentPerformanceRisk>
) -> Self
pub fn set_current_performance_risk(
self,
input: Option<CurrentPerformanceRisk>
) -> Self
The risk of the current instance not meeting the performance needs of its workloads. The higher the risk, the more likely the current instance cannot meet the performance requirements of its workload.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 effective_recommendation_preferences(
self,
input: EffectiveRecommendationPreferences
) -> Self
pub fn effective_recommendation_preferences(
self,
input: EffectiveRecommendationPreferences
) -> Self
An object that describes the effective recommendation preferences for the instance.
sourcepub fn set_effective_recommendation_preferences(
self,
input: Option<EffectiveRecommendationPreferences>
) -> Self
pub fn set_effective_recommendation_preferences(
self,
input: Option<EffectiveRecommendationPreferences>
) -> Self
An object that describes the effective recommendation preferences for the instance.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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 inferred_workload_types(self, input: InferredWorkloadType) -> Self
pub fn inferred_workload_types(self, input: InferredWorkloadType) -> Self
Appends an item to inferred_workload_types
.
To override the contents of this collection use set_inferred_workload_types
.
The applications that might be running on the instance as inferred by Compute Optimizer.
Compute Optimizer can infer if one of the following applications might be running on the instance:
-
AmazonEmr
- Infers that Amazon EMR might be running on the instance. -
ApacheCassandra
- Infers that Apache Cassandra might be running on the instance. -
ApacheHadoop
- Infers that Apache Hadoop might be running on the instance. -
Memcached
- Infers that Memcached might be running on the instance. -
NGINX
- Infers that NGINX might be running on the instance. -
PostgreSql
- Infers that PostgreSQL might be running on the instance. -
Redis
- Infers that Redis might be running on the instance.
sourcepub fn set_inferred_workload_types(
self,
input: Option<Vec<InferredWorkloadType>>
) -> Self
pub fn set_inferred_workload_types(
self,
input: Option<Vec<InferredWorkloadType>>
) -> Self
The applications that might be running on the instance as inferred by Compute Optimizer.
Compute Optimizer can infer if one of the following applications might be running on the instance:
-
AmazonEmr
- Infers that Amazon EMR might be running on the instance. -
ApacheCassandra
- Infers that Apache Cassandra might be running on the instance. -
ApacheHadoop
- Infers that Apache Hadoop might be running on the instance. -
Memcached
- Infers that Memcached might be running on the instance. -
NGINX
- Infers that NGINX might be running on the instance. -
PostgreSql
- Infers that PostgreSQL might be running on the instance. -
Redis
- Infers that Redis might be running on the instance.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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) -> InstanceRecommendation
pub fn build(self) -> InstanceRecommendation
Consumes the builder and constructs a InstanceRecommendation
.
Examples found in repository?
2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491
pub(crate) fn deser_structure_crate_model_instance_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::InstanceRecommendation>,
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::instance_recommendation::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() {
"instanceArn" => {
builder = builder.set_instance_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"accountId" => {
builder = builder.set_account_id(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"instanceName" => {
builder = builder.set_instance_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"currentInstanceType" => {
builder = builder.set_current_instance_type(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"finding" => {
builder = builder.set_finding(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped()
.map(|u| crate::model::Finding::from(u.as_ref()))
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_instance_recommendation_finding_reason_codes(tokens)?
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_utilization_metrics(tokens)?
);
}
"lookBackPeriodInDays" => {
builder = builder.set_look_back_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"recommendationOptions" => {
builder = builder.set_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_options(tokens)?
);
}
"recommendationSources" => {
builder = builder.set_recommendation_sources(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_recommendation_sources(tokens)?
);
}
"lastRefreshTimestamp" => {
builder = builder.set_last_refresh_timestamp(
aws_smithy_json::deserialize::token::expect_timestamp_or_null(
tokens.next(),
aws_smithy_types::date_time::Format::EpochSeconds,
)?,
);
}
"currentPerformanceRisk" => {
builder = builder.set_current_performance_risk(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::CurrentPerformanceRisk::from(u.as_ref())
})
})
.transpose()?,
);
}
"effectiveRecommendationPreferences" => {
builder = builder.set_effective_recommendation_preferences(
crate::json_deser::deser_structure_crate_model_effective_recommendation_preferences(tokens)?
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_inferred_workload_types(tokens)?
);
}
_ => 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",
),
),
}
}