Struct aws_sdk_computeoptimizer::operation::put_recommendation_preferences::PutRecommendationPreferencesInput
source · #[non_exhaustive]pub struct PutRecommendationPreferencesInput {
pub resource_type: Option<ResourceType>,
pub scope: Option<Scope>,
pub enhanced_infrastructure_metrics: Option<EnhancedInfrastructureMetrics>,
pub inferred_workload_types: Option<InferredWorkloadTypesPreference>,
pub external_metrics_preference: Option<ExternalMetricsPreference>,
pub look_back_period: Option<LookBackPeriodPreference>,
pub utilization_preferences: Option<Vec<UtilizationPreference>>,
pub preferred_resources: Option<Vec<PreferredResource>>,
pub savings_estimation_mode: Option<SavingsEstimationMode>,
}
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.resource_type: Option<ResourceType>
The target resource type of the recommendation preference to create.
The Ec2Instance
option encompasses standalone instances and instances that are part of Auto Scaling groups. The AutoScalingGroup
option encompasses only instances that are part of an Auto Scaling group.
The valid values for this parameter are Ec2Instance
and AutoScalingGroup
.
scope: Option<Scope>
An object that describes the scope of the recommendation preference to create.
You can create recommendation preferences at the organization level (for management accounts of an organization only), account level, and resource level. For more information, see Activating enhanced infrastructure metrics in the Compute Optimizer User Guide.
You cannot create recommendation preferences for Auto Scaling groups at the organization and account levels. You can create recommendation preferences for Auto Scaling groups only at the resource level by specifying a scope name of ResourceArn
and a scope value of the Auto Scaling group Amazon Resource Name (ARN). This will configure the preference for all instances that are part of the specified Auto Scaling group. You also cannot create recommendation preferences at the resource level for instances that are part of an Auto Scaling group. You can create recommendation preferences at the resource level only for standalone instances.
enhanced_infrastructure_metrics: Option<EnhancedInfrastructureMetrics>
The status of the enhanced infrastructure metrics recommendation preference to create or update.
Specify the Active
status to activate the preference, or specify Inactive
to deactivate the preference.
For more information, see Enhanced infrastructure metrics in the Compute Optimizer User Guide.
inferred_workload_types: Option<InferredWorkloadTypesPreference>
The status of the inferred workload types recommendation preference to create or update.
The inferred workload type feature is active by default. To deactivate it, create a recommendation preference.
Specify the Inactive
status to deactivate the feature, or specify Active
to activate it.
For more information, see Inferred workload types in the Compute Optimizer User Guide.
external_metrics_preference: Option<ExternalMetricsPreference>
The provider of the external metrics recommendation preference to create or update.
Specify a valid provider in the source
field to activate the preference. To delete this preference, see the DeleteRecommendationPreferences
action.
This preference can only be set for the Ec2Instance
resource type.
For more information, see External metrics ingestion in the Compute Optimizer User Guide.
look_back_period: Option<LookBackPeriodPreference>
The preference to control the number of days the utilization metrics of the Amazon Web Services resource are analyzed. When this preference isn't specified, we use the default value DAYS_14
.
You can only set this preference for the Amazon EC2 instance and Auto Scaling group resource types.
utilization_preferences: Option<Vec<UtilizationPreference>>
The preference to control the resource’s CPU utilization threshold, CPU utilization headroom, and memory utilization headroom. When this preference isn't specified, we use the following default values.
CPU utilization:
-
P99_5
for threshold -
PERCENT_20
for headroom
Memory utilization:
-
PERCENT_20
for headroom
-
You can only set CPU and memory utilization preferences for the Amazon EC2 instance resource type.
-
The threshold setting isn’t available for memory utilization.
preferred_resources: Option<Vec<PreferredResource>>
The preference to control which resource type values are considered when generating rightsizing recommendations. You can specify this preference as a combination of include and exclude lists. You must specify either an includeList
or excludeList
. If the preference is an empty set of resource type values, an error occurs.
You can only set this preference for the Amazon EC2 instance and Auto Scaling group resource types.
savings_estimation_mode: Option<SavingsEstimationMode>
The status of the savings estimation mode preference to create or update.
Specify the AfterDiscounts
status to activate the preference, or specify BeforeDiscounts
to deactivate the preference.
Only the account manager or delegated administrator of your organization can activate this preference.
For more information, see Savings estimation mode in the Compute Optimizer User Guide.
Implementations§
source§impl PutRecommendationPreferencesInput
impl PutRecommendationPreferencesInput
sourcepub fn resource_type(&self) -> Option<&ResourceType>
pub fn resource_type(&self) -> Option<&ResourceType>
The target resource type of the recommendation preference to create.
The Ec2Instance
option encompasses standalone instances and instances that are part of Auto Scaling groups. The AutoScalingGroup
option encompasses only instances that are part of an Auto Scaling group.
The valid values for this parameter are Ec2Instance
and AutoScalingGroup
.
sourcepub fn scope(&self) -> Option<&Scope>
pub fn scope(&self) -> Option<&Scope>
An object that describes the scope of the recommendation preference to create.
You can create recommendation preferences at the organization level (for management accounts of an organization only), account level, and resource level. For more information, see Activating enhanced infrastructure metrics in the Compute Optimizer User Guide.
You cannot create recommendation preferences for Auto Scaling groups at the organization and account levels. You can create recommendation preferences for Auto Scaling groups only at the resource level by specifying a scope name of ResourceArn
and a scope value of the Auto Scaling group Amazon Resource Name (ARN). This will configure the preference for all instances that are part of the specified Auto Scaling group. You also cannot create recommendation preferences at the resource level for instances that are part of an Auto Scaling group. You can create recommendation preferences at the resource level only for standalone instances.
sourcepub fn enhanced_infrastructure_metrics(
&self
) -> Option<&EnhancedInfrastructureMetrics>
pub fn enhanced_infrastructure_metrics( &self ) -> Option<&EnhancedInfrastructureMetrics>
The status of the enhanced infrastructure metrics recommendation preference to create or update.
Specify the Active
status to activate the preference, or specify Inactive
to deactivate the preference.
For more information, see Enhanced infrastructure metrics in the Compute Optimizer User Guide.
sourcepub fn inferred_workload_types(
&self
) -> Option<&InferredWorkloadTypesPreference>
pub fn inferred_workload_types( &self ) -> Option<&InferredWorkloadTypesPreference>
The status of the inferred workload types recommendation preference to create or update.
The inferred workload type feature is active by default. To deactivate it, create a recommendation preference.
Specify the Inactive
status to deactivate the feature, or specify Active
to activate it.
For more information, see Inferred workload types in the Compute Optimizer User Guide.
sourcepub fn external_metrics_preference(&self) -> Option<&ExternalMetricsPreference>
pub fn external_metrics_preference(&self) -> Option<&ExternalMetricsPreference>
The provider of the external metrics recommendation preference to create or update.
Specify a valid provider in the source
field to activate the preference. To delete this preference, see the DeleteRecommendationPreferences
action.
This preference can only be set for the Ec2Instance
resource type.
For more information, see External metrics ingestion in the Compute Optimizer User Guide.
sourcepub fn look_back_period(&self) -> Option<&LookBackPeriodPreference>
pub fn look_back_period(&self) -> Option<&LookBackPeriodPreference>
The preference to control the number of days the utilization metrics of the Amazon Web Services resource are analyzed. When this preference isn't specified, we use the default value DAYS_14
.
You can only set this preference for the Amazon EC2 instance and Auto Scaling group resource types.
sourcepub fn utilization_preferences(&self) -> &[UtilizationPreference]
pub fn utilization_preferences(&self) -> &[UtilizationPreference]
The preference to control the resource’s CPU utilization threshold, CPU utilization headroom, and memory utilization headroom. When this preference isn't specified, we use the following default values.
CPU utilization:
-
P99_5
for threshold -
PERCENT_20
for headroom
Memory utilization:
-
PERCENT_20
for headroom
-
You can only set CPU and memory utilization preferences for the Amazon EC2 instance resource type.
-
The threshold setting isn’t available for memory utilization.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .utilization_preferences.is_none()
.
sourcepub fn preferred_resources(&self) -> &[PreferredResource]
pub fn preferred_resources(&self) -> &[PreferredResource]
The preference to control which resource type values are considered when generating rightsizing recommendations. You can specify this preference as a combination of include and exclude lists. You must specify either an includeList
or excludeList
. If the preference is an empty set of resource type values, an error occurs.
You can only set this preference for the Amazon EC2 instance and Auto Scaling group resource types.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .preferred_resources.is_none()
.
sourcepub fn savings_estimation_mode(&self) -> Option<&SavingsEstimationMode>
pub fn savings_estimation_mode(&self) -> Option<&SavingsEstimationMode>
The status of the savings estimation mode preference to create or update.
Specify the AfterDiscounts
status to activate the preference, or specify BeforeDiscounts
to deactivate the preference.
Only the account manager or delegated administrator of your organization can activate this preference.
For more information, see Savings estimation mode in the Compute Optimizer User Guide.
source§impl PutRecommendationPreferencesInput
impl PutRecommendationPreferencesInput
sourcepub fn builder() -> PutRecommendationPreferencesInputBuilder
pub fn builder() -> PutRecommendationPreferencesInputBuilder
Creates a new builder-style object to manufacture PutRecommendationPreferencesInput
.
Trait Implementations§
source§impl Clone for PutRecommendationPreferencesInput
impl Clone for PutRecommendationPreferencesInput
source§fn clone(&self) -> PutRecommendationPreferencesInput
fn clone(&self) -> PutRecommendationPreferencesInput
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl PartialEq for PutRecommendationPreferencesInput
impl PartialEq for PutRecommendationPreferencesInput
source§fn eq(&self, other: &PutRecommendationPreferencesInput) -> bool
fn eq(&self, other: &PutRecommendationPreferencesInput) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for PutRecommendationPreferencesInput
Auto Trait Implementations§
impl Freeze for PutRecommendationPreferencesInput
impl RefUnwindSafe for PutRecommendationPreferencesInput
impl Send for PutRecommendationPreferencesInput
impl Sync for PutRecommendationPreferencesInput
impl Unpin for PutRecommendationPreferencesInput
impl UnwindSafe for PutRecommendationPreferencesInput
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more