#[non_exhaustive]
pub struct EffectiveRecommendationPreferences { pub cpu_vendor_architectures: Option<Vec<CpuVendorArchitecture>>, 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<EffectivePreferredResource>>, pub savings_estimation_mode: Option<InstanceSavingsEstimationMode>, }
Expand description

Describes the effective recommendation preferences for a resource.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§cpu_vendor_architectures: Option<Vec<CpuVendorArchitecture>>

Describes the CPU vendor and architecture for an instance or Auto Scaling group recommendations.

For example, when you specify AWS_ARM64 with:

  • A GetEC2InstanceRecommendations or GetAutoScalingGroupRecommendations request, Compute Optimizer returns recommendations that consist of Graviton2 instance types only.

  • A GetEC2RecommendationProjectedMetrics request, Compute Optimizer returns projected utilization metrics for Graviton2 instance type recommendations only.

  • A ExportEC2InstanceRecommendations or ExportAutoScalingGroupRecommendations request, Compute Optimizer exports recommendations that consist of Graviton2 instance types only.

§enhanced_infrastructure_metrics: Option<EnhancedInfrastructureMetrics>

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.

§inferred_workload_types: Option<InferredWorkloadTypesPreference>

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.

§external_metrics_preference: Option<ExternalMetricsPreference>

An object that describes the external metrics recommendation preference.

If the preference is applied in the latest recommendation refresh, an object with a valid source value appears in the response. If the preference isn't applied to the recommendations already, then this object doesn't appear in the response.

§look_back_period: Option<LookBackPeriodPreference>

The number of days the utilization metrics of the Amazon Web Services resource are analyzed.

§utilization_preferences: Option<Vec<UtilizationPreference>>

The resource’s CPU utilization threshold preferences, such as threshold and headroom, that are used to generate rightsizing recommendations.

This preference is only available for the Amazon EC2 instance resource type.

§preferred_resources: Option<Vec<EffectivePreferredResource>>

The resource type values that are considered as candidates when generating rightsizing recommendations.

§savings_estimation_mode: Option<InstanceSavingsEstimationMode>

Describes the savings estimation mode applied for calculating savings opportunity for a resource.

Implementations§

source§

impl EffectiveRecommendationPreferences

source

pub fn cpu_vendor_architectures(&self) -> &[CpuVendorArchitecture]

Describes the CPU vendor and architecture for an instance or Auto Scaling group recommendations.

For example, when you specify AWS_ARM64 with:

  • A GetEC2InstanceRecommendations or GetAutoScalingGroupRecommendations request, Compute Optimizer returns recommendations that consist of Graviton2 instance types only.

  • A GetEC2RecommendationProjectedMetrics request, Compute Optimizer returns projected utilization metrics for Graviton2 instance type recommendations only.

  • A ExportEC2InstanceRecommendations or ExportAutoScalingGroupRecommendations request, Compute Optimizer exports recommendations that consist of Graviton2 instance types only.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .cpu_vendor_architectures.is_none().

source

pub fn enhanced_infrastructure_metrics( &self ) -> Option<&EnhancedInfrastructureMetrics>

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.

source

pub fn inferred_workload_types( &self ) -> Option<&InferredWorkloadTypesPreference>

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.

source

pub fn external_metrics_preference(&self) -> Option<&ExternalMetricsPreference>

An object that describes the external metrics recommendation preference.

If the preference is applied in the latest recommendation refresh, an object with a valid source value appears in the response. If the preference isn't applied to the recommendations already, then this object doesn't appear in the response.

source

pub fn look_back_period(&self) -> Option<&LookBackPeriodPreference>

The number of days the utilization metrics of the Amazon Web Services resource are analyzed.

source

pub fn utilization_preferences(&self) -> &[UtilizationPreference]

The resource’s CPU utilization threshold preferences, such as threshold and headroom, that are used to generate rightsizing recommendations.

This preference is only available for the Amazon EC2 instance resource type.

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().

source

pub fn preferred_resources(&self) -> &[EffectivePreferredResource]

The resource type values that are considered as candidates when generating rightsizing recommendations.

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().

source

pub fn savings_estimation_mode(&self) -> Option<&InstanceSavingsEstimationMode>

Describes the savings estimation mode applied for calculating savings opportunity for a resource.

source§

impl EffectiveRecommendationPreferences

source

pub fn builder() -> EffectiveRecommendationPreferencesBuilder

Creates a new builder-style object to manufacture EffectiveRecommendationPreferences.

Trait Implementations§

source§

impl Clone for EffectiveRecommendationPreferences

source§

fn clone(&self) -> EffectiveRecommendationPreferences

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for EffectiveRecommendationPreferences

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for EffectiveRecommendationPreferences

source§

fn eq(&self, other: &EffectiveRecommendationPreferences) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for EffectiveRecommendationPreferences

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more