#[non_exhaustive]
pub struct EcsServiceRecommendation {
Show 13 fields pub service_arn: Option<String>, pub account_id: Option<String>, pub current_service_configuration: Option<ServiceConfiguration>, pub utilization_metrics: Option<Vec<EcsServiceUtilizationMetric>>, pub lookback_period_in_days: f64, pub launch_type: Option<EcsServiceLaunchType>, pub last_refresh_timestamp: Option<DateTime>, pub finding: Option<EcsServiceRecommendationFinding>, pub finding_reason_codes: Option<Vec<EcsServiceRecommendationFindingReasonCode>>, pub service_recommendation_options: Option<Vec<EcsServiceRecommendationOption>>, pub current_performance_risk: Option<CurrentPerformanceRisk>, pub tags: Option<Vec<Tag>>, pub effective_recommendation_preferences: Option<EcsEffectiveRecommendationPreferences>,
}
Expand description

Describes an Amazon ECS service recommendation.

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.
§service_arn: Option<String>

The Amazon Resource Name (ARN) of the current Amazon ECS service.

The following is the format of the ARN:

arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

§account_id: Option<String>

The Amazon Web Services account ID of the Amazon ECS service.

§current_service_configuration: Option<ServiceConfiguration>

The configuration of the current Amazon ECS service.

§utilization_metrics: Option<Vec<EcsServiceUtilizationMetric>>

An array of objects that describe the utilization metrics of the Amazon ECS service.

§lookback_period_in_days: f64

The number of days the Amazon ECS service utilization metrics were analyzed.

§launch_type: Option<EcsServiceLaunchType>

The launch type the Amazon ECS service is using.

Compute Optimizer only supports the Fargate launch type.

§last_refresh_timestamp: Option<DateTime>

The timestamp of when the Amazon ECS service recommendation was last generated.

§finding: Option<EcsServiceRecommendationFinding>

The finding classification of an Amazon ECS service.

Findings for Amazon ECS services include:

  • Underprovisioned — When Compute Optimizer detects that there’s not enough memory or CPU, an Amazon ECS service is considered under-provisioned. An under-provisioned service might result in poor application performance.

  • Overprovisioned — When Compute Optimizer detects that there’s excessive memory or CPU, an Amazon ECS service is considered over-provisioned. An over-provisioned service might result in additional infrastructure costs.

  • Optimized — When both the CPU and memory of your Amazon ECS service meet the performance requirements of your workload, the service is considered optimized.

§finding_reason_codes: Option<Vec<EcsServiceRecommendationFindingReasonCode>>

The reason for the finding classification of an Amazon ECS service.

Finding reason codes for Amazon ECS services include:

  • CPUUnderprovisioned — The service CPU configuration can be sized up to enhance the performance of your workload. This is identified by analyzing the CPUUtilization metric of the current service during the look-back period.

  • CPUOverprovisioned — The service CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the CPUUtilization metric of the current service during the look-back period.

  • MemoryUnderprovisioned — The service memory configuration can be sized up to enhance the performance of your workload. This is identified by analyzing the MemoryUtilization metric of the current service during the look-back period.

  • MemoryOverprovisioned — The service memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the MemoryUtilization metric of the current service during the look-back period.

§service_recommendation_options: Option<Vec<EcsServiceRecommendationOption>>

An array of objects that describe the recommendation options for the Amazon ECS service.

§current_performance_risk: Option<CurrentPerformanceRisk>

The risk of the current Amazon ECS service not meeting the performance needs of its workloads. The higher the risk, the more likely the current service can't meet the performance requirements of its workload.

§tags: Option<Vec<Tag>>

A list of tags assigned to your Amazon ECS service recommendations.

§effective_recommendation_preferences: Option<EcsEffectiveRecommendationPreferences>

Describes the effective recommendation preferences for Amazon ECS services.

Implementations§

source§

impl EcsServiceRecommendation

source

pub fn service_arn(&self) -> Option<&str>

The Amazon Resource Name (ARN) of the current Amazon ECS service.

The following is the format of the ARN:

arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name

source

pub fn account_id(&self) -> Option<&str>

The Amazon Web Services account ID of the Amazon ECS service.

source

pub fn current_service_configuration(&self) -> Option<&ServiceConfiguration>

The configuration of the current Amazon ECS service.

source

pub fn utilization_metrics(&self) -> &[EcsServiceUtilizationMetric]

An array of objects that describe the utilization metrics of the Amazon ECS service.

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

source

pub fn lookback_period_in_days(&self) -> f64

The number of days the Amazon ECS service utilization metrics were analyzed.

source

pub fn launch_type(&self) -> Option<&EcsServiceLaunchType>

The launch type the Amazon ECS service is using.

Compute Optimizer only supports the Fargate launch type.

source

pub fn last_refresh_timestamp(&self) -> Option<&DateTime>

The timestamp of when the Amazon ECS service recommendation was last generated.

source

pub fn finding(&self) -> Option<&EcsServiceRecommendationFinding>

The finding classification of an Amazon ECS service.

Findings for Amazon ECS services include:

  • Underprovisioned — When Compute Optimizer detects that there’s not enough memory or CPU, an Amazon ECS service is considered under-provisioned. An under-provisioned service might result in poor application performance.

  • Overprovisioned — When Compute Optimizer detects that there’s excessive memory or CPU, an Amazon ECS service is considered over-provisioned. An over-provisioned service might result in additional infrastructure costs.

  • Optimized — When both the CPU and memory of your Amazon ECS service meet the performance requirements of your workload, the service is considered optimized.

source

pub fn finding_reason_codes( &self ) -> &[EcsServiceRecommendationFindingReasonCode]

The reason for the finding classification of an Amazon ECS service.

Finding reason codes for Amazon ECS services include:

  • CPUUnderprovisioned — The service CPU configuration can be sized up to enhance the performance of your workload. This is identified by analyzing the CPUUtilization metric of the current service during the look-back period.

  • CPUOverprovisioned — The service CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the CPUUtilization metric of the current service during the look-back period.

  • MemoryUnderprovisioned — The service memory configuration can be sized up to enhance the performance of your workload. This is identified by analyzing the MemoryUtilization metric of the current service during the look-back period.

  • MemoryOverprovisioned — The service memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the MemoryUtilization metric of the current service during the look-back period.

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

source

pub fn service_recommendation_options( &self ) -> &[EcsServiceRecommendationOption]

An array of objects that describe the recommendation options for the Amazon ECS service.

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

source

pub fn current_performance_risk(&self) -> Option<&CurrentPerformanceRisk>

The risk of the current Amazon ECS service not meeting the performance needs of its workloads. The higher the risk, the more likely the current service can't meet the performance requirements of its workload.

source

pub fn tags(&self) -> &[Tag]

A list of tags assigned to your Amazon ECS service 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 .tags.is_none().

source

pub fn effective_recommendation_preferences( &self ) -> Option<&EcsEffectiveRecommendationPreferences>

Describes the effective recommendation preferences for Amazon ECS services.

source§

impl EcsServiceRecommendation

source

pub fn builder() -> EcsServiceRecommendationBuilder

Creates a new builder-style object to manufacture EcsServiceRecommendation.

Trait Implementations§

source§

impl Clone for EcsServiceRecommendation

source§

fn clone(&self) -> EcsServiceRecommendation

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 EcsServiceRecommendation

source§

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

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

impl PartialEq for EcsServiceRecommendation

source§

fn eq(&self, other: &EcsServiceRecommendation) -> 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 EcsServiceRecommendation

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