pub struct Builder { /* private fields */ }Expand description
A builder for EffectiveRecommendationPreferences.
Implementations§
source§impl Builder
impl Builder
sourcepub fn cpu_vendor_architectures(self, input: CpuVendorArchitecture) -> Self
pub fn cpu_vendor_architectures(self, input: CpuVendorArchitecture) -> Self
Appends an item to cpu_vendor_architectures.
To override the contents of this collection use set_cpu_vendor_architectures.
Describes the CPU vendor and architecture for an instance or Auto Scaling group recommendations.
For example, when you specify AWS_ARM64 with:
-
A
GetEC2InstanceRecommendationsorGetAutoScalingGroupRecommendationsrequest, Compute Optimizer returns recommendations that consist of Graviton2 instance types only. -
A
GetEC2RecommendationProjectedMetricsrequest, Compute Optimizer returns projected utilization metrics for Graviton2 instance type recommendations only. -
A
ExportEC2InstanceRecommendationsorExportAutoScalingGroupRecommendationsrequest, Compute Optimizer exports recommendations that consist of Graviton2 instance types only.
sourcepub fn set_cpu_vendor_architectures(
self,
input: Option<Vec<CpuVendorArchitecture>>
) -> Self
pub fn set_cpu_vendor_architectures(
self,
input: Option<Vec<CpuVendorArchitecture>>
) -> Self
Describes the CPU vendor and architecture for an instance or Auto Scaling group recommendations.
For example, when you specify AWS_ARM64 with:
-
A
GetEC2InstanceRecommendationsorGetAutoScalingGroupRecommendationsrequest, Compute Optimizer returns recommendations that consist of Graviton2 instance types only. -
A
GetEC2RecommendationProjectedMetricsrequest, Compute Optimizer returns projected utilization metrics for Graviton2 instance type recommendations only. -
A
ExportEC2InstanceRecommendationsorExportAutoScalingGroupRecommendationsrequest, Compute Optimizer exports recommendations that consist of Graviton2 instance types only.
Examples found in repository?
3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289
pub(crate) fn deser_structure_crate_model_effective_recommendation_preferences<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::EffectiveRecommendationPreferences>,
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::effective_recommendation_preferences::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() {
"cpuVendorArchitectures" => {
builder = builder.set_cpu_vendor_architectures(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_cpu_vendor_architectures(tokens)?
);
}
"enhancedInfrastructureMetrics" => {
builder = builder.set_enhanced_infrastructure_metrics(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::EnhancedInfrastructureMetrics::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::InferredWorkloadTypesPreference::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 enhanced_infrastructure_metrics(
self,
input: EnhancedInfrastructureMetrics
) -> Self
pub fn enhanced_infrastructure_metrics(
self,
input: EnhancedInfrastructureMetrics
) -> Self
Describes the activation status of the enhanced infrastructure metrics preference.
A status of Active confirms that the preference is applied in the latest recommendation refresh, and a status of Inactive confirms that it's not yet applied to recommendations.
For more information, see Enhanced infrastructure metrics in the Compute Optimizer User Guide.
sourcepub fn set_enhanced_infrastructure_metrics(
self,
input: Option<EnhancedInfrastructureMetrics>
) -> Self
pub fn set_enhanced_infrastructure_metrics(
self,
input: Option<EnhancedInfrastructureMetrics>
) -> Self
Describes the activation status of the enhanced infrastructure metrics preference.
A status of Active confirms that the preference is applied in the latest recommendation refresh, and a status of Inactive confirms that it's not yet applied to recommendations.
For more information, see Enhanced infrastructure metrics in the Compute Optimizer User Guide.
Examples found in repository?
3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289
pub(crate) fn deser_structure_crate_model_effective_recommendation_preferences<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::EffectiveRecommendationPreferences>,
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::effective_recommendation_preferences::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() {
"cpuVendorArchitectures" => {
builder = builder.set_cpu_vendor_architectures(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_cpu_vendor_architectures(tokens)?
);
}
"enhancedInfrastructureMetrics" => {
builder = builder.set_enhanced_infrastructure_metrics(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::EnhancedInfrastructureMetrics::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::InferredWorkloadTypesPreference::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 inferred_workload_types(
self,
input: InferredWorkloadTypesPreference
) -> Self
pub fn inferred_workload_types(
self,
input: InferredWorkloadTypesPreference
) -> Self
Describes the activation status of the inferred workload types preference.
A status of Active confirms that the preference is applied in the latest recommendation refresh. A status of Inactive confirms that it's not yet applied to recommendations.
sourcepub fn set_inferred_workload_types(
self,
input: Option<InferredWorkloadTypesPreference>
) -> Self
pub fn set_inferred_workload_types(
self,
input: Option<InferredWorkloadTypesPreference>
) -> Self
Describes the activation status of the inferred workload types preference.
A status of Active confirms that the preference is applied in the latest recommendation refresh. A status of Inactive confirms that it's not yet applied to recommendations.
Examples found in repository?
3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289
pub(crate) fn deser_structure_crate_model_effective_recommendation_preferences<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::EffectiveRecommendationPreferences>,
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::effective_recommendation_preferences::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() {
"cpuVendorArchitectures" => {
builder = builder.set_cpu_vendor_architectures(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_cpu_vendor_architectures(tokens)?
);
}
"enhancedInfrastructureMetrics" => {
builder = builder.set_enhanced_infrastructure_metrics(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::EnhancedInfrastructureMetrics::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::InferredWorkloadTypesPreference::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) -> EffectiveRecommendationPreferences
pub fn build(self) -> EffectiveRecommendationPreferences
Consumes the builder and constructs a EffectiveRecommendationPreferences.
Examples found in repository?
3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289
pub(crate) fn deser_structure_crate_model_effective_recommendation_preferences<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::EffectiveRecommendationPreferences>,
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::effective_recommendation_preferences::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() {
"cpuVendorArchitectures" => {
builder = builder.set_cpu_vendor_architectures(
crate::json_deser::deser_list_com_amazonaws_computeoptimizer_cpu_vendor_architectures(tokens)?
);
}
"enhancedInfrastructureMetrics" => {
builder = builder.set_enhanced_infrastructure_metrics(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::EnhancedInfrastructureMetrics::from(
u.as_ref(),
)
})
})
.transpose()?,
);
}
"inferredWorkloadTypes" => {
builder = builder.set_inferred_workload_types(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| {
s.to_unescaped().map(|u| {
crate::model::InferredWorkloadTypesPreference::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",
),
),
}
}