#[non_exhaustive]pub struct AutoScalingGroupRecommendationOption {
pub configuration: Option<AutoScalingGroupConfiguration>,
pub instance_gpu_info: Option<GpuInfo>,
pub projected_utilization_metrics: Option<Vec<UtilizationMetric>>,
pub performance_risk: f64,
pub rank: i32,
pub savings_opportunity: Option<SavingsOpportunity>,
pub savings_opportunity_after_discounts: Option<AutoScalingGroupSavingsOpportunityAfterDiscounts>,
pub migration_effort: Option<MigrationEffort>,
}
Expand description
Describes a recommendation option for an Auto Scaling group.
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.configuration: Option<AutoScalingGroupConfiguration>
An array of objects that describe an Auto Scaling group configuration.
instance_gpu_info: Option<GpuInfo>
Describes the GPU accelerator settings for the recommended instance type of the Auto Scaling group.
projected_utilization_metrics: Option<Vec<UtilizationMetric>>
An array of objects that describe the projected utilization metrics of the Auto Scaling group recommendation option.
The Cpu
and Memory
metrics are the only projected utilization metrics returned. Additionally, the Memory
metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.
performance_risk: f64
The performance risk of the Auto Scaling group configuration recommendation.
Performance risk indicates the likelihood of the recommended instance type not meeting the resource needs of your workload. Compute Optimizer calculates an individual performance risk score for each specification of the recommended instance, including CPU, memory, EBS throughput, EBS IOPS, disk throughput, disk IOPS, network throughput, and network PPS. The performance risk of the recommended instance is calculated as the maximum performance risk score across the analyzed resource specifications.
The value ranges from 0
- 4
, with 0
meaning that the recommended resource is predicted to always provide enough hardware capability. The higher the performance risk is, the more likely you should validate whether the recommendation will meet the performance requirements of your workload before migrating your resource.
rank: i32
The rank of the Auto Scaling group recommendation option.
The top recommendation option is ranked as 1
.
savings_opportunity: Option<SavingsOpportunity>
An object that describes the savings opportunity for the Auto Scaling group recommendation option. Savings opportunity includes the estimated monthly savings amount and percentage.
savings_opportunity_after_discounts: Option<AutoScalingGroupSavingsOpportunityAfterDiscounts>
An object that describes the savings opportunity for the Auto Scaling group recommendation option that includes Savings Plans and Reserved Instances discounts. Savings opportunity includes the estimated monthly savings and percentage.
migration_effort: Option<MigrationEffort>
The level of effort required to migrate from the current instance type to the recommended instance type.
For example, the migration effort is Low
if Amazon EMR is the inferred workload type and an Amazon Web Services Graviton instance type is recommended. The migration effort is Medium
if a workload type couldn't be inferred but an Amazon Web Services Graviton instance type is recommended. The migration effort is VeryLow
if both the current and recommended instance types are of the same CPU architecture.
Implementations§
Source§impl AutoScalingGroupRecommendationOption
impl AutoScalingGroupRecommendationOption
Sourcepub fn configuration(&self) -> Option<&AutoScalingGroupConfiguration>
pub fn configuration(&self) -> Option<&AutoScalingGroupConfiguration>
An array of objects that describe an Auto Scaling group configuration.
Sourcepub fn instance_gpu_info(&self) -> Option<&GpuInfo>
pub fn instance_gpu_info(&self) -> Option<&GpuInfo>
Describes the GPU accelerator settings for the recommended instance type of the Auto Scaling group.
Sourcepub fn projected_utilization_metrics(&self) -> &[UtilizationMetric]
pub fn projected_utilization_metrics(&self) -> &[UtilizationMetric]
An array of objects that describe the projected utilization metrics of the Auto Scaling group recommendation option.
The Cpu
and Memory
metrics are the only projected utilization metrics returned. Additionally, the Memory
metric is returned only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling Memory Utilization with the CloudWatch Agent.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .projected_utilization_metrics.is_none()
.
Sourcepub fn performance_risk(&self) -> f64
pub fn performance_risk(&self) -> f64
The performance risk of the Auto Scaling group configuration recommendation.
Performance risk indicates the likelihood of the recommended instance type not meeting the resource needs of your workload. Compute Optimizer calculates an individual performance risk score for each specification of the recommended instance, including CPU, memory, EBS throughput, EBS IOPS, disk throughput, disk IOPS, network throughput, and network PPS. The performance risk of the recommended instance is calculated as the maximum performance risk score across the analyzed resource specifications.
The value ranges from 0
- 4
, with 0
meaning that the recommended resource is predicted to always provide enough hardware capability. The higher the performance risk is, the more likely you should validate whether the recommendation will meet the performance requirements of your workload before migrating your resource.
Sourcepub fn rank(&self) -> i32
pub fn rank(&self) -> i32
The rank of the Auto Scaling group recommendation option.
The top recommendation option is ranked as 1
.
Sourcepub fn savings_opportunity(&self) -> Option<&SavingsOpportunity>
pub fn savings_opportunity(&self) -> Option<&SavingsOpportunity>
An object that describes the savings opportunity for the Auto Scaling group recommendation option. Savings opportunity includes the estimated monthly savings amount and percentage.
Sourcepub fn savings_opportunity_after_discounts(
&self,
) -> Option<&AutoScalingGroupSavingsOpportunityAfterDiscounts>
pub fn savings_opportunity_after_discounts( &self, ) -> Option<&AutoScalingGroupSavingsOpportunityAfterDiscounts>
An object that describes the savings opportunity for the Auto Scaling group recommendation option that includes Savings Plans and Reserved Instances discounts. Savings opportunity includes the estimated monthly savings and percentage.
Sourcepub fn migration_effort(&self) -> Option<&MigrationEffort>
pub fn migration_effort(&self) -> Option<&MigrationEffort>
The level of effort required to migrate from the current instance type to the recommended instance type.
For example, the migration effort is Low
if Amazon EMR is the inferred workload type and an Amazon Web Services Graviton instance type is recommended. The migration effort is Medium
if a workload type couldn't be inferred but an Amazon Web Services Graviton instance type is recommended. The migration effort is VeryLow
if both the current and recommended instance types are of the same CPU architecture.
Source§impl AutoScalingGroupRecommendationOption
impl AutoScalingGroupRecommendationOption
Sourcepub fn builder() -> AutoScalingGroupRecommendationOptionBuilder
pub fn builder() -> AutoScalingGroupRecommendationOptionBuilder
Creates a new builder-style object to manufacture AutoScalingGroupRecommendationOption
.
Trait Implementations§
Source§impl Clone for AutoScalingGroupRecommendationOption
impl Clone for AutoScalingGroupRecommendationOption
Source§fn clone(&self) -> AutoScalingGroupRecommendationOption
fn clone(&self) -> AutoScalingGroupRecommendationOption
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl PartialEq for AutoScalingGroupRecommendationOption
impl PartialEq for AutoScalingGroupRecommendationOption
Source§fn eq(&self, other: &AutoScalingGroupRecommendationOption) -> bool
fn eq(&self, other: &AutoScalingGroupRecommendationOption) -> bool
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for AutoScalingGroupRecommendationOption
Auto Trait Implementations§
impl Freeze for AutoScalingGroupRecommendationOption
impl RefUnwindSafe for AutoScalingGroupRecommendationOption
impl Send for AutoScalingGroupRecommendationOption
impl Sync for AutoScalingGroupRecommendationOption
impl Unpin for AutoScalingGroupRecommendationOption
impl UnwindSafe for AutoScalingGroupRecommendationOption
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);