pub struct Builder { /* private fields */ }
Expand description
A builder for LambdaFunctionRecommendation
.
Implementations§
source§impl Builder
impl Builder
sourcepub fn function_arn(self, input: impl Into<String>) -> Self
pub fn function_arn(self, input: impl Into<String>) -> Self
The Amazon Resource Name (ARN) of the current function.
sourcepub fn set_function_arn(self, input: Option<String>) -> Self
pub fn set_function_arn(self, input: Option<String>) -> Self
The Amazon Resource Name (ARN) of the current function.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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 function_version(self, input: impl Into<String>) -> Self
pub fn function_version(self, input: impl Into<String>) -> Self
The version number of the current function.
sourcepub fn set_function_version(self, input: Option<String>) -> Self
pub fn set_function_version(self, input: Option<String>) -> Self
The version number of the current function.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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 function.
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 function.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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_memory_size(self, input: i32) -> Self
pub fn current_memory_size(self, input: i32) -> Self
The amount of memory, in MB, that's allocated to the current function.
sourcepub fn set_current_memory_size(self, input: Option<i32>) -> Self
pub fn set_current_memory_size(self, input: Option<i32>) -> Self
The amount of memory, in MB, that's allocated to the current function.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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 number_of_invocations(self, input: i64) -> Self
pub fn number_of_invocations(self, input: i64) -> Self
The number of times your function code was applied during the look-back period.
sourcepub fn set_number_of_invocations(self, input: Option<i64>) -> Self
pub fn set_number_of_invocations(self, input: Option<i64>) -> Self
The number of times your function code was applied during the look-back period.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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: LambdaFunctionUtilizationMetric) -> Self
pub fn utilization_metrics(self, input: LambdaFunctionUtilizationMetric) -> 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 function.
sourcepub fn set_utilization_metrics(
self,
input: Option<Vec<LambdaFunctionUtilizationMetric>>
) -> Self
pub fn set_utilization_metrics(
self,
input: Option<Vec<LambdaFunctionUtilizationMetric>>
) -> Self
An array of objects that describe the utilization metrics of the function.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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 lookback_period_in_days(self, input: f64) -> Self
pub fn lookback_period_in_days(self, input: f64) -> Self
The number of days for which utilization metrics were analyzed for the function.
sourcepub fn set_lookback_period_in_days(self, input: Option<f64>) -> Self
pub fn set_lookback_period_in_days(self, input: Option<f64>) -> Self
The number of days for which utilization metrics were analyzed for the function.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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 function 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 function recommendation was last generated.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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: LambdaFunctionRecommendationFinding) -> Self
pub fn finding(self, input: LambdaFunctionRecommendationFinding) -> Self
The finding classification of the function.
Findings for functions include:
-
Optimized
— The function is correctly provisioned to run your workload based on its current configuration and its utilization history. This finding classification does not include finding reason codes. -
NotOptimized
— The function is performing at a higher level (over-provisioned) or at a lower level (under-provisioned) than required for your workload because its current configuration is not optimal. Over-provisioned resources might lead to unnecessary infrastructure cost, and under-provisioned resources might lead to poor application performance. This finding classification can include theMemoryUnderprovisioned
andMemoryUnderprovisioned
finding reason codes. -
Unavailable
— Compute Optimizer was unable to generate a recommendation for the function. This could be because the function has not accumulated sufficient metric data, or the function does not qualify for a recommendation. This finding classification can include theInsufficientData
andInconclusive
finding reason codes.Functions with a finding of unavailable are not returned unless you specify the
filter
parameter with a value ofUnavailable
in yourGetLambdaFunctionRecommendations
request.
sourcepub fn set_finding(
self,
input: Option<LambdaFunctionRecommendationFinding>
) -> Self
pub fn set_finding(
self,
input: Option<LambdaFunctionRecommendationFinding>
) -> Self
The finding classification of the function.
Findings for functions include:
-
Optimized
— The function is correctly provisioned to run your workload based on its current configuration and its utilization history. This finding classification does not include finding reason codes. -
NotOptimized
— The function is performing at a higher level (over-provisioned) or at a lower level (under-provisioned) than required for your workload because its current configuration is not optimal. Over-provisioned resources might lead to unnecessary infrastructure cost, and under-provisioned resources might lead to poor application performance. This finding classification can include theMemoryUnderprovisioned
andMemoryUnderprovisioned
finding reason codes. -
Unavailable
— Compute Optimizer was unable to generate a recommendation for the function. This could be because the function has not accumulated sufficient metric data, or the function does not qualify for a recommendation. This finding classification can include theInsufficientData
andInconclusive
finding reason codes.Functions with a finding of unavailable are not returned unless you specify the
filter
parameter with a value ofUnavailable
in yourGetLambdaFunctionRecommendations
request.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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: LambdaFunctionRecommendationFindingReasonCode
) -> Self
pub fn finding_reason_codes(
self,
input: LambdaFunctionRecommendationFindingReasonCode
) -> 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 function.
Functions that have a finding classification of Optimized
don't have a finding reason code.
Finding reason codes for functions include:
-
MemoryOverprovisioned
— The function is over-provisioned when its memory configuration can be sized down while still meeting the performance requirements of your workload. An over-provisioned function might lead to unnecessary infrastructure cost. This finding reason code is part of theNotOptimized
finding classification. -
MemoryUnderprovisioned
— The function is under-provisioned when its memory configuration doesn't meet the performance requirements of the workload. An under-provisioned function might lead to poor application performance. This finding reason code is part of theNotOptimized
finding classification. -
InsufficientData
— The function does not have sufficient metric data for Compute Optimizer to generate a recommendation. For more information, see the Supported resources and requirements in the Compute Optimizer User Guide. This finding reason code is part of theUnavailable
finding classification. -
Inconclusive
— The function does not qualify for a recommendation because Compute Optimizer cannot generate a recommendation with a high degree of confidence. This finding reason code is part of theUnavailable
finding classification.
sourcepub fn set_finding_reason_codes(
self,
input: Option<Vec<LambdaFunctionRecommendationFindingReasonCode>>
) -> Self
pub fn set_finding_reason_codes(
self,
input: Option<Vec<LambdaFunctionRecommendationFindingReasonCode>>
) -> Self
The reason for the finding classification of the function.
Functions that have a finding classification of Optimized
don't have a finding reason code.
Finding reason codes for functions include:
-
MemoryOverprovisioned
— The function is over-provisioned when its memory configuration can be sized down while still meeting the performance requirements of your workload. An over-provisioned function might lead to unnecessary infrastructure cost. This finding reason code is part of theNotOptimized
finding classification. -
MemoryUnderprovisioned
— The function is under-provisioned when its memory configuration doesn't meet the performance requirements of the workload. An under-provisioned function might lead to poor application performance. This finding reason code is part of theNotOptimized
finding classification. -
InsufficientData
— The function does not have sufficient metric data for Compute Optimizer to generate a recommendation. For more information, see the Supported resources and requirements in the Compute Optimizer User Guide. This finding reason code is part of theUnavailable
finding classification. -
Inconclusive
— The function does not qualify for a recommendation because Compute Optimizer cannot generate a recommendation with a high degree of confidence. This finding reason code is part of theUnavailable
finding classification.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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 memory_size_recommendation_options(
self,
input: LambdaFunctionMemoryRecommendationOption
) -> Self
pub fn memory_size_recommendation_options(
self,
input: LambdaFunctionMemoryRecommendationOption
) -> Self
Appends an item to memory_size_recommendation_options
.
To override the contents of this collection use set_memory_size_recommendation_options
.
An array of objects that describe the memory configuration recommendation options for the function.
sourcepub fn set_memory_size_recommendation_options(
self,
input: Option<Vec<LambdaFunctionMemoryRecommendationOption>>
) -> Self
pub fn set_memory_size_recommendation_options(
self,
input: Option<Vec<LambdaFunctionMemoryRecommendationOption>>
) -> Self
An array of objects that describe the memory configuration recommendation options for the function.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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 Lambda function not meeting the performance needs of its workloads. The higher the risk, the more likely the current Lambda function requires more memory.
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 Lambda function not meeting the performance needs of its workloads. The higher the risk, the more likely the current Lambda function requires more memory.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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) -> LambdaFunctionRecommendation
pub fn build(self) -> LambdaFunctionRecommendation
Consumes the builder and constructs a LambdaFunctionRecommendation
.
Examples found in repository?
2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797
pub(crate) fn deser_structure_crate_model_lambda_function_recommendation<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::LambdaFunctionRecommendation>,
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::lambda_function_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() {
"functionArn" => {
builder = builder.set_function_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"functionVersion" => {
builder = builder.set_function_version(
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()?,
);
}
"currentMemorySize" => {
builder = builder.set_current_memory_size(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i32::try_from)
.transpose()?,
);
}
"numberOfInvocations" => {
builder = builder.set_number_of_invocations(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(i64::try_from)
.transpose()?,
);
}
"utilizationMetrics" => {
builder = builder.set_utilization_metrics(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_utilization_metrics(tokens)?
);
}
"lookbackPeriodInDays" => {
builder = builder.set_lookback_period_in_days(
aws_smithy_json::deserialize::token::expect_number_or_null(
tokens.next(),
)?
.map(|v| v.to_f64_lossy()),
);
}
"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,
)?,
);
}
"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::LambdaFunctionRecommendationFinding::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"findingReasonCodes" => {
builder = builder.set_finding_reason_codes(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_recommendation_finding_reason_codes(tokens)?
);
}
"memorySizeRecommendationOptions" => {
builder = builder.set_memory_size_recommendation_options(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_lambda_function_memory_recommendation_options(tokens)?
);
}
"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()?,
);
}
_ => 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",
),
),
}
}