# frozen_string_literal: true # WARNING ABOUT GENERATED CODE # # This file is generated. See the contributing guide for more information: # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md # # WARNING ABOUT GENERATED CODE module Aws::ComputeOptimizer module Types # You do not have sufficient access to perform this action. # # @!attribute [rw] message # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AccessDeniedException AWS API Documentation # class AccessDeniedException < Struct.new( :message) SENSITIVE = [] include Aws::Structure end # Describes the enrollment status of an organization's member accounts # in Compute Optimizer. # # @!attribute [rw] account_id # The Amazon Web Services account ID. # @return [String] # # @!attribute [rw] status # The account enrollment status. # @return [String] # # @!attribute [rw] status_reason # The reason for the account enrollment status. # # For example, an account might show a status of `Pending` because # member accounts of an organization require more time to be enrolled # in the service. # @return [String] # # @!attribute [rw] last_updated_timestamp # The Unix epoch timestamp, in seconds, of when the account enrollment # status was last updated. # @return [Time] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AccountEnrollmentStatus AWS API Documentation # class AccountEnrollmentStatus < Struct.new( :account_id, :status, :status_reason, :last_updated_timestamp) SENSITIVE = [] include Aws::Structure end # Describes the configuration of an Auto Scaling group. # # @!attribute [rw] desired_capacity # The desired capacity, or number of instances, for the Auto Scaling # group. # @return [Integer] # # @!attribute [rw] min_size # The minimum size, or minimum number of instances, for the Auto # Scaling group. # @return [Integer] # # @!attribute [rw] max_size # The maximum size, or maximum number of instances, for the Auto # Scaling group. # @return [Integer] # # @!attribute [rw] instance_type # The instance type for the Auto Scaling group. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupConfiguration AWS API Documentation # class AutoScalingGroupConfiguration < Struct.new( :desired_capacity, :min_size, :max_size, :instance_type) SENSITIVE = [] include Aws::Structure end # An object that describes the estimated monthly savings possible by # adopting Compute Optimizer’s Auto Scaling group recommendations. This # is based on the Savings Plans and Reserved Instances discounts. # # @!attribute [rw] currency # The currency of the estimated monthly savings. # @return [String] # # @!attribute [rw] value # The value of the estimated monthly savings. # @return [Float] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupEstimatedMonthlySavings AWS API Documentation # class AutoScalingGroupEstimatedMonthlySavings < Struct.new( :currency, :value) SENSITIVE = [] include Aws::Structure end # Describes an Auto Scaling group recommendation. # # @!attribute [rw] account_id # The Amazon Web Services account ID of the Auto Scaling group. # @return [String] # # @!attribute [rw] auto_scaling_group_arn # The Amazon Resource Name (ARN) of the Auto Scaling group. # @return [String] # # @!attribute [rw] auto_scaling_group_name # The name of the Auto Scaling group. # @return [String] # # @!attribute [rw] finding # The finding classification of the Auto Scaling group. # # Findings for Auto Scaling groups include: # # * NotOptimized —An Auto Scaling group is # considered not optimized when Compute Optimizer identifies a # recommendation that can provide better performance for your # workload. # # * Optimized —An Auto Scaling group is # considered optimized when Compute Optimizer determines that the # group is correctly provisioned to run your workload based on the # chosen instance type. For optimized resources, Compute Optimizer # might recommend a new generation instance type. # @return [String] # # @!attribute [rw] utilization_metrics # An array of objects that describe the utilization metrics of the # Auto Scaling group. # @return [Array] # # @!attribute [rw] look_back_period_in_days # The number of days for which utilization metrics were analyzed for # the Auto Scaling group. # @return [Float] # # @!attribute [rw] current_configuration # An array of objects that describe the current configuration of the # Auto Scaling group. # @return [Types::AutoScalingGroupConfiguration] # # @!attribute [rw] recommendation_options # An array of objects that describe the recommendation options for the # Auto Scaling group. # @return [Array] # # @!attribute [rw] last_refresh_timestamp # The timestamp of when the Auto Scaling group recommendation was last # generated. # @return [Time] # # @!attribute [rw] current_performance_risk # The risk of the current Auto Scaling group not meeting the # performance needs of its workloads. The higher the risk, the more # likely the current Auto Scaling group configuration has insufficient # capacity and cannot meet workload requirements. # @return [String] # # @!attribute [rw] effective_recommendation_preferences # An object that describes the effective recommendation preferences # for the Auto Scaling group. # @return [Types::EffectiveRecommendationPreferences] # # @!attribute [rw] inferred_workload_types # The applications that might be running on the instances in the Auto # Scaling group as inferred by Compute Optimizer. # # Compute Optimizer can infer if one of the following applications # might be running on the instances: # # * `AmazonEmr` - Infers that Amazon EMR might be running on the # instances. # # * `ApacheCassandra` - Infers that Apache Cassandra might be running # on the instances. # # * `ApacheHadoop` - Infers that Apache Hadoop might be running on the # instances. # # * `Memcached` - Infers that Memcached might be running on the # instances. # # * `NGINX` - Infers that NGINX might be running on the instances. # # * `PostgreSql` - Infers that PostgreSQL might be running on the # instances. # # * `Redis` - Infers that Redis might be running on the instances. # # * `Kafka` - Infers that Kafka might be running on the instance. # # * `SQLServer` - Infers that SQLServer might be running on the # instance. # @return [Array] # # @!attribute [rw] current_instance_gpu_info # Describes the GPU accelerator settings for the current instance type # of the Auto Scaling group. # @return [Types::GpuInfo] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendation AWS API Documentation # class AutoScalingGroupRecommendation < Struct.new( :account_id, :auto_scaling_group_arn, :auto_scaling_group_name, :finding, :utilization_metrics, :look_back_period_in_days, :current_configuration, :recommendation_options, :last_refresh_timestamp, :current_performance_risk, :effective_recommendation_preferences, :inferred_workload_types, :current_instance_gpu_info) SENSITIVE = [] include Aws::Structure end # Describes a recommendation option for an Auto Scaling group. # # @!attribute [rw] configuration # An array of objects that describe an Auto Scaling group # configuration. # @return [Types::AutoScalingGroupConfiguration] # # @!attribute [rw] projected_utilization_metrics # 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][1]. # # # # # # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent # @return [Array] # # @!attribute [rw] performance_risk # 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. # @return [Float] # # @!attribute [rw] rank # The rank of the Auto Scaling group recommendation option. # # The top recommendation option is ranked as `1`. # @return [Integer] # # @!attribute [rw] savings_opportunity # An object that describes the savings opportunity for the Auto # Scaling group recommendation option. Savings opportunity includes # the estimated monthly savings amount and percentage. # @return [Types::SavingsOpportunity] # # @!attribute [rw] migration_effort # 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. # @return [String] # # @!attribute [rw] instance_gpu_info # Describes the GPU accelerator settings for the recommended instance # type of the Auto Scaling group. # @return [Types::GpuInfo] # # @!attribute [rw] savings_opportunity_after_discounts # 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. # @return [Types::AutoScalingGroupSavingsOpportunityAfterDiscounts] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendationOption AWS API Documentation # class AutoScalingGroupRecommendationOption < Struct.new( :configuration, :projected_utilization_metrics, :performance_risk, :rank, :savings_opportunity, :migration_effort, :instance_gpu_info, :savings_opportunity_after_discounts) SENSITIVE = [] include Aws::Structure end # Describes the savings opportunity for Auto Scaling group # recommendations after applying the Savings Plans and Reserved # Instances discounts. # # Savings opportunity represents the estimated monthly savings you can # achieve by implementing Compute Optimizer recommendations. # # @!attribute [rw] savings_opportunity_percentage # The estimated monthly savings possible as a percentage of monthly # cost after applying the Savings Plans and Reserved Instances # discounts. This saving can be achieved by adopting Compute # Optimizer’s Auto Scaling group recommendations. # @return [Float] # # @!attribute [rw] estimated_monthly_savings # An object that describes the estimated monthly savings possible by # adopting Compute Optimizer’s Auto Scaling group recommendations. # This is based on the Savings Plans and Reserved Instances pricing # discounts. # @return [Types::AutoScalingGroupEstimatedMonthlySavings] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupSavingsOpportunityAfterDiscounts AWS API Documentation # class AutoScalingGroupSavingsOpportunityAfterDiscounts < Struct.new( :savings_opportunity_percentage, :estimated_monthly_savings) SENSITIVE = [] include Aws::Structure end # Describes the container configurations within the tasks of your Amazon # ECS service. # # @!attribute [rw] container_name # The name of the container. # @return [String] # # @!attribute [rw] memory_size_configuration # The memory size configurations for the container. # @return [Types::MemorySizeConfiguration] # # @!attribute [rw] cpu # The number of CPU units reserved for the container. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ContainerConfiguration AWS API Documentation # class ContainerConfiguration < Struct.new( :container_name, :memory_size_configuration, :cpu) SENSITIVE = [] include Aws::Structure end # The CPU and memory recommendations for a container within the tasks of # your Amazon ECS service. # # @!attribute [rw] container_name # The name of the container. # @return [String] # # @!attribute [rw] memory_size_configuration # The recommended memory size configurations for the container. # @return [Types::MemorySizeConfiguration] # # @!attribute [rw] cpu # The recommended number of CPU units reserved for the container. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ContainerRecommendation AWS API Documentation # class ContainerRecommendation < Struct.new( :container_name, :memory_size_configuration, :cpu) SENSITIVE = [] include Aws::Structure end # Describes the performance risk ratings for a given resource type. # # Resources with a `high` or `medium` rating are at risk of not meeting # the performance needs of their workloads, while resources with a `low` # rating are performing well in their workloads. # # @!attribute [rw] high # A count of the applicable resource types with a high performance # risk rating. # @return [Integer] # # @!attribute [rw] medium # A count of the applicable resource types with a medium performance # risk rating. # @return [Integer] # # @!attribute [rw] low # A count of the applicable resource types with a low performance risk # rating. # @return [Integer] # # @!attribute [rw] very_low # A count of the applicable resource types with a very low performance # risk rating. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/CurrentPerformanceRiskRatings AWS API Documentation # class CurrentPerformanceRiskRatings < Struct.new( :high, :medium, :low, :very_low) SENSITIVE = [] include Aws::Structure end # Defines the various metric parameters that can be customized, such as # threshold and headroom. # # @!attribute [rw] threshold # The threshold value used for the specified metric parameter. # @return [String] # # @!attribute [rw] headroom # The headroom threshold value in percentage used for the specified # metric parameter. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/CustomizableMetricParameters AWS API Documentation # class CustomizableMetricParameters < Struct.new( :threshold, :headroom) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] resource_type # The target resource type of the recommendation preference to delete. # # 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`. # # # @return [String] # # @!attribute [rw] scope # An object that describes the scope of the recommendation preference # to delete. # # You can delete recommendation preferences that are created at the # organization level (for management accounts of an organization # only), account level, and resource level. For more information, see # [Activating enhanced infrastructure metrics][1] in the *Compute # Optimizer User Guide*. # # # # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html # @return [Types::Scope] # # @!attribute [rw] recommendation_preference_names # The name of the recommendation preference to delete. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DeleteRecommendationPreferencesRequest AWS API Documentation # class DeleteRecommendationPreferencesRequest < Struct.new( :resource_type, :scope, :recommendation_preference_names) SENSITIVE = [] include Aws::Structure end # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DeleteRecommendationPreferencesResponse AWS API Documentation # class DeleteRecommendationPreferencesResponse < Aws::EmptyStructure; end # @!attribute [rw] job_ids # The identification numbers of the export jobs to return. # # An export job ID is returned when you create an export using the # ExportAutoScalingGroupRecommendations or # ExportEC2InstanceRecommendations actions. # # All export jobs created in the last seven days are returned if this # parameter is omitted. # @return [Array] # # @!attribute [rw] filters # An array of objects to specify a filter that returns a more specific # list of export jobs. # @return [Array] # # @!attribute [rw] next_token # The token to advance to the next page of export jobs. # @return [String] # # @!attribute [rw] max_results # The maximum number of export jobs to return with a single request. # # To retrieve the remaining results, make another request with the # returned `nextToken` value. # @return [Integer] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DescribeRecommendationExportJobsRequest AWS API Documentation # class DescribeRecommendationExportJobsRequest < Struct.new( :job_ids, :filters, :next_token, :max_results) SENSITIVE = [] include Aws::Structure end # @!attribute [rw] recommendation_export_jobs # An array of objects that describe recommendation export jobs. # @return [Array] # # @!attribute [rw] next_token # The token to use to advance to the next page of export jobs. # # This value is null when there are no more pages of export jobs to # return. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DescribeRecommendationExportJobsResponse AWS API Documentation # class DescribeRecommendationExportJobsResponse < Struct.new( :recommendation_export_jobs, :next_token) SENSITIVE = [] include Aws::Structure end # Describes the effective recommendation preferences for Amazon EBS # volumes. # # @!attribute [rw] savings_estimation_mode # Describes the savings estimation mode preference applied for # calculating savings opportunity for Amazon EBS volumes. # @return [Types::EBSSavingsEstimationMode] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSEffectiveRecommendationPreferences AWS API Documentation # class EBSEffectiveRecommendationPreferences < Struct.new( :savings_estimation_mode) SENSITIVE = [] include Aws::Structure end # An object that describes the estimated monthly savings possible by # adopting Compute Optimizer’s Amazon EBS volume recommendations. This # includes any applicable discounts. # # @!attribute [rw] currency # The currency of the estimated monthly savings. # @return [String] # # @!attribute [rw] value # The value of the estimated monthly savings. # @return [Float] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSEstimatedMonthlySavings AWS API Documentation # class EBSEstimatedMonthlySavings < Struct.new( :currency, :value) SENSITIVE = [] include Aws::Structure end # Describes a filter that returns a more specific list of Amazon Elastic # Block Store (Amazon EBS) volume recommendations. Use this filter with # the GetEBSVolumeRecommendations action. # # You can use `LambdaFunctionRecommendationFilter` with the # GetLambdaFunctionRecommendations action, `JobFilter` with the # DescribeRecommendationExportJobs action, and `Filter` with the # GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations # actions. # # @!attribute [rw] name # The name of the filter. # # Specify `Finding` to return recommendations with a specific finding # classification (for example, `NotOptimized`). # # You can filter your Amazon EBS volume recommendations by `tag:key` # and `tag-key` tags. # # A `tag:key` is a key and value combination of a tag assigned to your # Amazon EBS volume recommendations. Use the tag key in the filter # name and the tag value as the filter value. For example, to find all # Amazon EBS volume recommendations that have a tag with the key of # `Owner` and the value of `TeamA`, specify `tag:Owner` for the filter # name and `TeamA` for the filter value. # # A `tag-key` is the key of a tag assigned to your Amazon EBS volume # recommendations. Use this filter to find all of your Amazon EBS # volume recommendations that have a tag with a specific key. This # doesn’t consider the tag value. For example, you can find your # Amazon EBS volume recommendations with a tag key value of `Owner` or # without any tag keys assigned. # @return [String] # # @!attribute [rw] values # The value of the filter. # # The valid values are `Optimized`, or `NotOptimized`. # @return [Array] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSFilter AWS API Documentation # class EBSFilter < Struct.new( :name, :values) SENSITIVE = [] include Aws::Structure end # Describes the savings estimation mode used for calculating savings # opportunity for Amazon EBS volumes. # # @!attribute [rw] source # Describes the source for calculating the savings opportunity for # Amazon EBS volumes. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSSavingsEstimationMode AWS API Documentation # class EBSSavingsEstimationMode < Struct.new( :source) SENSITIVE = [] include Aws::Structure end # Describes the savings opportunity for Amazon EBS volume # recommendations after applying specific discounts. # # @!attribute [rw] savings_opportunity_percentage # The estimated monthly savings possible as a percentage of monthly # cost after applying the specific discounts. This saving can be # achieved by adopting Compute Optimizer’s Amazon EBS volume # recommendations. # @return [Float] # # @!attribute [rw] estimated_monthly_savings # The estimated monthly savings possible as a percentage of monthly # cost by adopting Compute Optimizer’s Amazon EBS volume # recommendations. This saving includes any applicable discounts. # @return [Types::EBSEstimatedMonthlySavings] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSSavingsOpportunityAfterDiscounts AWS API Documentation # class EBSSavingsOpportunityAfterDiscounts < Struct.new( :savings_opportunity_percentage, :estimated_monthly_savings) SENSITIVE = [] include Aws::Structure end # Describes a utilization metric of an Amazon Elastic Block Store # (Amazon EBS) volume. # # Compare the utilization metric data of your resource against its # projected utilization metric data to determine the performance # difference between your current resource and the recommended option. # # @!attribute [rw] name # The name of the utilization metric. # # The following utilization metrics are available: # # * `VolumeReadOpsPerSecond` - The completed read operations per # second from the volume in a specified period of time. # # Unit: Count # # * `VolumeWriteOpsPerSecond` - The completed write operations per # second to the volume in a specified period of time. # # Unit: Count # # * `VolumeReadBytesPerSecond` - The bytes read per second from the # volume in a specified period of time. # # Unit: Bytes # # * `VolumeWriteBytesPerSecond` - The bytes written to the volume in a # specified period of time. # # Unit: Bytes # @return [String] # # @!attribute [rw] statistic # The statistic of the utilization metric. # # The Compute Optimizer API, Command Line Interface (CLI), and SDKs # return utilization metrics using only the `Maximum` statistic, which # is the highest value observed during the specified period. # # The Compute Optimizer console displays graphs for some utilization # metrics using the `Average` statistic, which is the value of `Sum` / # `SampleCount` during the specified period. For more information, see # [Viewing resource recommendations][1] in the *Compute Optimizer User # Guide*. You can also get averaged utilization metric data for your # resources using Amazon CloudWatch. For more information, see the # [Amazon CloudWatch User Guide][2]. # # # # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html # @return [String] # # @!attribute [rw] value # The value of the utilization metric. # @return [Float] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSUtilizationMetric AWS API Documentation # class EBSUtilizationMetric < Struct.new( :name, :statistic, :value) SENSITIVE = [] include Aws::Structure end # Describes the effective recommendation preferences for Amazon ECS # services. # # @!attribute [rw] savings_estimation_mode # Describes the savings estimation mode preference applied for # calculating savings opportunity for Amazon ECS services. # @return [Types::ECSSavingsEstimationMode] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSEffectiveRecommendationPreferences AWS API Documentation # class ECSEffectiveRecommendationPreferences < Struct.new( :savings_estimation_mode) SENSITIVE = [] include Aws::Structure end # Describes the estimated monthly savings possible for Amazon ECS # services by adopting Compute Optimizer recommendations. This is based # on Amazon ECS service pricing after applying Savings Plans discounts. # # @!attribute [rw] currency # The currency of the estimated monthly savings. # @return [String] # # @!attribute [rw] value # The value of the estimated monthly savings for Amazon ECS services. # @return [Float] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSEstimatedMonthlySavings AWS API Documentation # class ECSEstimatedMonthlySavings < Struct.new( :currency, :value) SENSITIVE = [] include Aws::Structure end # Describes the savings estimation mode used for calculating savings # opportunity for Amazon ECS services. # # @!attribute [rw] source # Describes the source for calculating the savings opportunity for # Amazon ECS services. # @return [String] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSSavingsEstimationMode AWS API Documentation # class ECSSavingsEstimationMode < Struct.new( :source) SENSITIVE = [] include Aws::Structure end # Describes the savings opportunity for Amazon ECS service # recommendations after applying Savings Plans discounts. # # Savings opportunity represents the estimated monthly savings after # applying Savings Plans discounts. You can achieve this by implementing # a given Compute Optimizer recommendation. # # @!attribute [rw] savings_opportunity_percentage # The estimated monthly savings possible as a percentage of monthly # cost by adopting Compute Optimizer’s Amazon ECS service # recommendations. This includes any applicable Savings Plans # discounts. # @return [Float] # # @!attribute [rw] estimated_monthly_savings # The estimated monthly savings possible by adopting Compute # Optimizer’s Amazon ECS service recommendations. This includes any # applicable Savings Plans discounts. # @return [Types::ECSEstimatedMonthlySavings] # # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSSavingsOpportunityAfterDiscounts AWS API Documentation # class ECSSavingsOpportunityAfterDiscounts < Struct.new( :savings_opportunity_percentage, :estimated_monthly_savings) SENSITIVE = [] include Aws::Structure end # Describes the projected metrics of an Amazon ECS service # recommendation option. # # To determine the performance difference between your current Amazon # ECS service and the recommended option, compare the metric data of # your service against its projected metric data. # # @!attribute [rw] name # The name of the projected metric. # # The following metrics are available: # # * `Cpu` — The percentage of allocated compute units that are # currently in use on the service tasks. # # * `Memory` — The percentage of memory that's currently in use on # the service tasks. # @return [String] # # @!attribute [rw] timestamps # The timestamps of the projected metric. # @return [Array