pub struct PutRecommendationPreferencesFluentBuilder { /* private fields */ }
Expand description

Fluent builder constructing a request to PutRecommendationPreferences.

Creates a new recommendation preference or updates an existing recommendation preference, such as enhanced infrastructure metrics.

For more information, see Activating enhanced infrastructure metrics in the Compute Optimizer User Guide.

Implementations§

source§

impl PutRecommendationPreferencesFluentBuilder

source

pub fn as_input(&self) -> &PutRecommendationPreferencesInputBuilder

Access the PutRecommendationPreferences as a reference.

source

pub async fn send( self ) -> Result<PutRecommendationPreferencesOutput, SdkError<PutRecommendationPreferencesError, HttpResponse>>

Sends the request and returns the response.

If an error occurs, an SdkError will be returned with additional details that can be matched against.

By default, any retryable failures will be retried twice. Retry behavior is configurable with the RetryConfig, which can be set when configuring the client.

source

pub fn customize( self ) -> CustomizableOperation<PutRecommendationPreferencesOutput, PutRecommendationPreferencesError, Self>

Consumes this builder, creating a customizable operation that can be modified before being sent.

source

pub fn resource_type(self, input: ResourceType) -> Self

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.

source

pub fn set_resource_type(self, input: Option<ResourceType>) -> Self

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.

source

pub fn get_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.

source

pub fn scope(self, input: Scope) -> Self

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.

source

pub fn set_scope(self, input: Option<Scope>) -> Self

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.

source

pub fn get_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.

source

pub fn enhanced_infrastructure_metrics( self, input: EnhancedInfrastructureMetrics ) -> Self

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.

source

pub fn set_enhanced_infrastructure_metrics( self, input: Option<EnhancedInfrastructureMetrics> ) -> Self

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.

source

pub fn get_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.

source

pub fn inferred_workload_types( self, input: InferredWorkloadTypesPreference ) -> Self

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.

source

pub fn set_inferred_workload_types( self, input: Option<InferredWorkloadTypesPreference> ) -> Self

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.

source

pub fn get_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.

source

pub fn external_metrics_preference( self, input: ExternalMetricsPreference ) -> Self

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.

source

pub fn set_external_metrics_preference( self, input: Option<ExternalMetricsPreference> ) -> Self

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.

source

pub fn get_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.

source

pub fn look_back_period(self, input: LookBackPeriodPreference) -> Self

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.

source

pub fn set_look_back_period( self, input: Option<LookBackPeriodPreference> ) -> Self

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.

source

pub fn get_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.

source

pub fn utilization_preferences(self, input: UtilizationPreference) -> Self

Appends an item to utilizationPreferences.

To override the contents of this collection use set_utilization_preferences.

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.

source

pub fn set_utilization_preferences( self, input: Option<Vec<UtilizationPreference>> ) -> Self

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.

source

pub fn get_utilization_preferences(&self) -> &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.

source

pub fn preferred_resources(self, input: PreferredResource) -> Self

Appends an item to preferredResources.

To override the contents of this collection use set_preferred_resources.

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.

source

pub fn set_preferred_resources( self, input: Option<Vec<PreferredResource>> ) -> Self

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.

source

pub fn get_preferred_resources(&self) -> &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.

source

pub fn savings_estimation_mode(self, input: SavingsEstimationMode) -> Self

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

pub fn set_savings_estimation_mode( self, input: Option<SavingsEstimationMode> ) -> Self

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

pub fn get_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.

Trait Implementations§

source§

impl Clone for PutRecommendationPreferencesFluentBuilder

source§

fn clone(&self) -> PutRecommendationPreferencesFluentBuilder

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 PutRecommendationPreferencesFluentBuilder

source§

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

Formats the value using the given formatter. Read more

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<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
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