aws-sdk-computeoptimizer 1.25.0 → 1.29.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -143,9 +143,21 @@ module Aws::ComputeOptimizer
143
143
  #
144
144
  # @!attribute [rw] last_refresh_timestamp
145
145
  # The timestamp of when the Auto Scaling group recommendation was last
146
- # refreshed.
146
+ # generated.
147
147
  # @return [Time]
148
148
  #
149
+ # @!attribute [rw] current_performance_risk
150
+ # The risk of the current Auto Scaling group not meeting the
151
+ # performance needs of its workloads. The higher the risk, the more
152
+ # likely the current Auto Scaling group configuration has insufficient
153
+ # capacity and cannot meet workload requirements.
154
+ # @return [String]
155
+ #
156
+ # @!attribute [rw] effective_recommendation_preferences
157
+ # An object that describes the effective recommendation preferences
158
+ # for the Auto Scaling group.
159
+ # @return [Types::EffectiveRecommendationPreferences]
160
+ #
149
161
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendation AWS API Documentation
150
162
  #
151
163
  class AutoScalingGroupRecommendation < Struct.new(
@@ -157,7 +169,9 @@ module Aws::ComputeOptimizer
157
169
  :look_back_period_in_days,
158
170
  :current_configuration,
159
171
  :recommendation_options,
160
- :last_refresh_timestamp)
172
+ :last_refresh_timestamp,
173
+ :current_performance_risk,
174
+ :effective_recommendation_preferences)
161
175
  SENSITIVE = []
162
176
  include Aws::Structure
163
177
  end
@@ -212,17 +226,120 @@ module Aws::ComputeOptimizer
212
226
  # The top recommendation option is ranked as `1`.
213
227
  # @return [Integer]
214
228
  #
229
+ # @!attribute [rw] savings_opportunity
230
+ # An object that describes the savings opportunity for the Auto
231
+ # Scaling group recommendation option. Savings opportunity includes
232
+ # the estimated monthly savings amount and percentage.
233
+ # @return [Types::SavingsOpportunity]
234
+ #
215
235
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendationOption AWS API Documentation
216
236
  #
217
237
  class AutoScalingGroupRecommendationOption < Struct.new(
218
238
  :configuration,
219
239
  :projected_utilization_metrics,
220
240
  :performance_risk,
221
- :rank)
241
+ :rank,
242
+ :savings_opportunity)
243
+ SENSITIVE = []
244
+ include Aws::Structure
245
+ end
246
+
247
+ # Describes the performance risk ratings for a given resource type.
248
+ #
249
+ # Resources with a `high` or `medium` rating are at risk of not meeting
250
+ # the performance needs of their workloads, while resources with a `low`
251
+ # rating are performing well in their workloads.
252
+ #
253
+ # @!attribute [rw] high
254
+ # A count of the applicable resource types with a high performance
255
+ # risk rating.
256
+ # @return [Integer]
257
+ #
258
+ # @!attribute [rw] medium
259
+ # A count of the applicable resource types with a medium performance
260
+ # risk rating.
261
+ # @return [Integer]
262
+ #
263
+ # @!attribute [rw] low
264
+ # A count of the applicable resource types with a low performance risk
265
+ # rating.
266
+ # @return [Integer]
267
+ #
268
+ # @!attribute [rw] very_low
269
+ # A count of the applicable resource types with a very low performance
270
+ # risk rating.
271
+ # @return [Integer]
272
+ #
273
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/CurrentPerformanceRiskRatings AWS API Documentation
274
+ #
275
+ class CurrentPerformanceRiskRatings < Struct.new(
276
+ :high,
277
+ :medium,
278
+ :low,
279
+ :very_low)
280
+ SENSITIVE = []
281
+ include Aws::Structure
282
+ end
283
+
284
+ # @note When making an API call, you may pass DeleteRecommendationPreferencesRequest
285
+ # data as a hash:
286
+ #
287
+ # {
288
+ # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction
289
+ # scope: {
290
+ # name: "Organization", # accepts Organization, AccountId, ResourceArn
291
+ # value: "ScopeValue",
292
+ # },
293
+ # recommendation_preference_names: ["EnhancedInfrastructureMetrics"], # required, accepts EnhancedInfrastructureMetrics
294
+ # }
295
+ #
296
+ # @!attribute [rw] resource_type
297
+ # The target resource type of the recommendation preference to delete.
298
+ #
299
+ # The `Ec2Instance` option encompasses standalone instances and
300
+ # instances that are part of Auto Scaling groups. The
301
+ # `AutoScalingGroup` option encompasses only instances that are part
302
+ # of an Auto Scaling group.
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] scope
306
+ # An object that describes the scope of the recommendation preference
307
+ # to delete.
308
+ #
309
+ # You can delete recommendation preferences that are created at the
310
+ # organization level (for management accounts of an organization
311
+ # only), account level, and resource level. For more information, see
312
+ # [Activating enhanced infrastructure metrics][1] in the *Compute
313
+ # Optimizer User Guide*.
314
+ #
315
+ #
316
+ #
317
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
318
+ # @return [Types::Scope]
319
+ #
320
+ # @!attribute [rw] recommendation_preference_names
321
+ # The name of the recommendation preference to delete.
322
+ #
323
+ # Enhanced infrastructure metrics (`EnhancedInfrastructureMetrics`) is
324
+ # the only feature that can be activated through preferences.
325
+ # Therefore, it is also the only recommendation preference that can be
326
+ # deleted.
327
+ # @return [Array<String>]
328
+ #
329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DeleteRecommendationPreferencesRequest AWS API Documentation
330
+ #
331
+ class DeleteRecommendationPreferencesRequest < Struct.new(
332
+ :resource_type,
333
+ :scope,
334
+ :recommendation_preference_names)
222
335
  SENSITIVE = []
223
336
  include Aws::Structure
224
337
  end
225
338
 
339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DeleteRecommendationPreferencesResponse AWS API Documentation
340
+ #
341
+ class DeleteRecommendationPreferencesResponse < Aws::EmptyStructure; end
342
+
226
343
  # @note When making an API call, you may pass DescribeRecommendationExportJobsRequest
227
344
  # data as a hash:
228
345
  #
@@ -404,6 +521,47 @@ module Aws::ComputeOptimizer
404
521
  include Aws::Structure
405
522
  end
406
523
 
524
+ # Describes the effective recommendation preferences for a resource.
525
+ #
526
+ # @!attribute [rw] cpu_vendor_architectures
527
+ # Describes the CPU vendor and architecture for an instance or Auto
528
+ # Scaling group recommendations.
529
+ #
530
+ # For example, when you specify `AWS_ARM64` with:
531
+ #
532
+ # * A GetEC2InstanceRecommendations or
533
+ # GetAutoScalingGroupRecommendations request, Compute Optimizer
534
+ # returns recommendations that consist of Graviton2 instance types
535
+ # only.
536
+ #
537
+ # * A GetEC2RecommendationProjectedMetrics request, Compute Optimizer
538
+ # returns projected utilization metrics for Graviton2 instance type
539
+ # recommendations only.
540
+ #
541
+ # * A ExportEC2InstanceRecommendations or
542
+ # ExportAutoScalingGroupRecommendations request, Compute Optimizer
543
+ # exports recommendations that consist of Graviton2 instance types
544
+ # only.
545
+ # @return [Array<String>]
546
+ #
547
+ # @!attribute [rw] enhanced_infrastructure_metrics
548
+ # Describes the activation status of the enhanced infrastructure
549
+ # metrics preference.
550
+ #
551
+ # A status of `Active` confirms that the preference is applied in the
552
+ # latest recommendation refresh, and a status of `Inactive` confirms
553
+ # that it's not yet applied.
554
+ # @return [String]
555
+ #
556
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EffectiveRecommendationPreferences AWS API Documentation
557
+ #
558
+ class EffectiveRecommendationPreferences < Struct.new(
559
+ :cpu_vendor_architectures,
560
+ :enhanced_infrastructure_metrics)
561
+ SENSITIVE = []
562
+ include Aws::Structure
563
+ end
564
+
407
565
  # Describes a filter that returns a more specific list of account
408
566
  # enrollment statuses. Use this filter with the
409
567
  # GetEnrollmentStatusesForOrganization action.
@@ -438,6 +596,33 @@ module Aws::ComputeOptimizer
438
596
  include Aws::Structure
439
597
  end
440
598
 
599
+ # Describes the estimated monthly savings amount possible for a given
600
+ # resource based on On-Demand instance pricing
601
+ #
602
+ # For more information, see [Estimated monthly savings and savings
603
+ # opportunities][1] in the *Compute Optimizer User Guide*.
604
+ #
605
+ #
606
+ #
607
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/view-ec2-recommendations.html#ec2-savings-calculation
608
+ #
609
+ # @!attribute [rw] currency
610
+ # The currency of the estimated monthly savings.
611
+ # @return [String]
612
+ #
613
+ # @!attribute [rw] value
614
+ # The value of the estimated monthly savings.
615
+ # @return [Float]
616
+ #
617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EstimatedMonthlySavings AWS API Documentation
618
+ #
619
+ class EstimatedMonthlySavings < Struct.new(
620
+ :currency,
621
+ :value)
622
+ SENSITIVE = []
623
+ include Aws::Structure
624
+ end
625
+
441
626
  # @note When making an API call, you may pass ExportAutoScalingGroupRecommendationsRequest
442
627
  # data as a hash:
443
628
  #
@@ -449,7 +634,7 @@ module Aws::ComputeOptimizer
449
634
  # values: ["FilterValue"],
450
635
  # },
451
636
  # ],
452
- # fields_to_export: ["AccountId"], # accepts AccountId, AutoScalingGroupArn, AutoScalingGroupName, Finding, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, LookbackPeriodInDays, CurrentConfigurationInstanceType, CurrentConfigurationDesiredCapacity, CurrentConfigurationMinSize, CurrentConfigurationMaxSize, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsConfigurationInstanceType, RecommendationOptionsConfigurationDesiredCapacity, RecommendationOptionsConfigurationMinSize, RecommendationOptionsConfigurationMaxSize, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPerformanceRisk, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, LastRefreshTimestamp
637
+ # fields_to_export: ["AccountId"], # accepts AccountId, AutoScalingGroupArn, AutoScalingGroupName, Finding, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, LookbackPeriodInDays, CurrentConfigurationInstanceType, CurrentConfigurationDesiredCapacity, CurrentConfigurationMinSize, CurrentConfigurationMaxSize, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsConfigurationInstanceType, RecommendationOptionsConfigurationDesiredCapacity, RecommendationOptionsConfigurationMinSize, RecommendationOptionsConfigurationMaxSize, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPerformanceRisk, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, EffectiveRecommendationPreferencesCpuVendorArchitectures, EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics
453
638
  # s3_destination_config: { # required
454
639
  # bucket: "DestinationBucket",
455
640
  # key_prefix: "DestinationKeyPrefix",
@@ -612,7 +797,7 @@ module Aws::ComputeOptimizer
612
797
  # values: ["FilterValue"],
613
798
  # },
614
799
  # ],
615
- # fields_to_export: ["AccountId"], # accepts AccountId, VolumeArn, Finding, UtilizationMetricsVolumeReadOpsPerSecondMaximum, UtilizationMetricsVolumeWriteOpsPerSecondMaximum, UtilizationMetricsVolumeReadBytesPerSecondMaximum, UtilizationMetricsVolumeWriteBytesPerSecondMaximum, LookbackPeriodInDays, CurrentConfigurationVolumeType, CurrentConfigurationVolumeBaselineIOPS, CurrentConfigurationVolumeBaselineThroughput, CurrentConfigurationVolumeBurstIOPS, CurrentConfigurationVolumeBurstThroughput, CurrentConfigurationVolumeSize, CurrentMonthlyPrice, RecommendationOptionsConfigurationVolumeType, RecommendationOptionsConfigurationVolumeBaselineIOPS, RecommendationOptionsConfigurationVolumeBaselineThroughput, RecommendationOptionsConfigurationVolumeBurstIOPS, RecommendationOptionsConfigurationVolumeBurstThroughput, RecommendationOptionsConfigurationVolumeSize, RecommendationOptionsMonthlyPrice, RecommendationOptionsPerformanceRisk, LastRefreshTimestamp
800
+ # fields_to_export: ["AccountId"], # accepts AccountId, VolumeArn, Finding, UtilizationMetricsVolumeReadOpsPerSecondMaximum, UtilizationMetricsVolumeWriteOpsPerSecondMaximum, UtilizationMetricsVolumeReadBytesPerSecondMaximum, UtilizationMetricsVolumeWriteBytesPerSecondMaximum, LookbackPeriodInDays, CurrentConfigurationVolumeType, CurrentConfigurationVolumeBaselineIOPS, CurrentConfigurationVolumeBaselineThroughput, CurrentConfigurationVolumeBurstIOPS, CurrentConfigurationVolumeBurstThroughput, CurrentConfigurationVolumeSize, CurrentMonthlyPrice, RecommendationOptionsConfigurationVolumeType, RecommendationOptionsConfigurationVolumeBaselineIOPS, RecommendationOptionsConfigurationVolumeBaselineThroughput, RecommendationOptionsConfigurationVolumeBurstIOPS, RecommendationOptionsConfigurationVolumeBurstThroughput, RecommendationOptionsConfigurationVolumeSize, RecommendationOptionsMonthlyPrice, RecommendationOptionsPerformanceRisk, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue
616
801
  # s3_destination_config: { # required
617
802
  # bucket: "DestinationBucket",
618
803
  # key_prefix: "DestinationKeyPrefix",
@@ -750,7 +935,7 @@ module Aws::ComputeOptimizer
750
935
  # values: ["FilterValue"],
751
936
  # },
752
937
  # ],
753
- # fields_to_export: ["AccountId"], # accepts AccountId, InstanceArn, InstanceName, Finding, FindingReasonCodes, LookbackPeriodInDays, CurrentInstanceType, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsInstanceType, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPlatformDifferences, RecommendationOptionsPerformanceRisk, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationsSourcesRecommendationSourceArn, RecommendationsSourcesRecommendationSourceType, LastRefreshTimestamp
938
+ # fields_to_export: ["AccountId"], # accepts AccountId, InstanceArn, InstanceName, Finding, FindingReasonCodes, LookbackPeriodInDays, CurrentInstanceType, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsInstanceType, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPlatformDifferences, RecommendationOptionsPerformanceRisk, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationsSourcesRecommendationSourceArn, RecommendationsSourcesRecommendationSourceType, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, EffectiveRecommendationPreferencesCpuVendorArchitectures, EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics
754
939
  # s3_destination_config: { # required
755
940
  # bucket: "DestinationBucket",
756
941
  # key_prefix: "DestinationKeyPrefix",
@@ -802,10 +987,10 @@ module Aws::ComputeOptimizer
802
987
  # You must create the destination Amazon S3 bucket for your
803
988
  # recommendations export before you create the export job. Compute
804
989
  # Optimizer does not create the S3 bucket for you. After you create
805
- # the S3 bucket, ensure that it has the required permissions policy
806
- # policy to allow Compute Optimizer to write the export file to it. If
807
- # you plan to specify an object prefix when you create the export job,
808
- # you must include the object prefix in the that you add to the S3
990
+ # the S3 bucket, ensure that it has the required permissions policy to
991
+ # allow Compute Optimizer to write the export file to it. If you plan
992
+ # to specify an object prefix when you create the export job, you must
993
+ # include the object prefix in the policy that you add to the S3
809
994
  # bucket. For more information, see [Amazon S3 Bucket Policy for
810
995
  # Compute Optimizer][1] in the *Compute Optimizer User Guide*.
811
996
  #
@@ -893,7 +1078,7 @@ module Aws::ComputeOptimizer
893
1078
  # values: ["FilterValue"],
894
1079
  # },
895
1080
  # ],
896
- # fields_to_export: ["AccountId"], # accepts AccountId, FunctionArn, FunctionVersion, Finding, FindingReasonCodes, NumberOfInvocations, UtilizationMetricsDurationMaximum, UtilizationMetricsDurationAverage, UtilizationMetricsMemoryMaximum, UtilizationMetricsMemoryAverage, LookbackPeriodInDays, CurrentConfigurationMemorySize, CurrentConfigurationTimeout, CurrentCostTotal, CurrentCostAverage, RecommendationOptionsConfigurationMemorySize, RecommendationOptionsCostLow, RecommendationOptionsCostHigh, RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound, RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound, RecommendationOptionsProjectedUtilizationMetricsDurationExpected, LastRefreshTimestamp
1081
+ # fields_to_export: ["AccountId"], # accepts AccountId, FunctionArn, FunctionVersion, Finding, FindingReasonCodes, NumberOfInvocations, UtilizationMetricsDurationMaximum, UtilizationMetricsDurationAverage, UtilizationMetricsMemoryMaximum, UtilizationMetricsMemoryAverage, LookbackPeriodInDays, CurrentConfigurationMemorySize, CurrentConfigurationTimeout, CurrentCostTotal, CurrentCostAverage, RecommendationOptionsConfigurationMemorySize, RecommendationOptionsCostLow, RecommendationOptionsCostHigh, RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound, RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound, RecommendationOptionsProjectedUtilizationMetricsDurationExpected, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue
897
1082
  # s3_destination_config: { # required
898
1083
  # bucket: "DestinationBucket",
899
1084
  # key_prefix: "DestinationKeyPrefix",
@@ -1516,6 +1701,51 @@ module Aws::ComputeOptimizer
1516
1701
  include Aws::Structure
1517
1702
  end
1518
1703
 
1704
+ # @note When making an API call, you may pass GetEffectiveRecommendationPreferencesRequest
1705
+ # data as a hash:
1706
+ #
1707
+ # {
1708
+ # resource_arn: "ResourceArn", # required
1709
+ # }
1710
+ #
1711
+ # @!attribute [rw] resource_arn
1712
+ # The Amazon Resource Name (ARN) of the resource for which to confirm
1713
+ # effective recommendation preferences. Only EC2 instance and Auto
1714
+ # Scaling group ARNs are currently supported.
1715
+ # @return [String]
1716
+ #
1717
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferencesRequest AWS API Documentation
1718
+ #
1719
+ class GetEffectiveRecommendationPreferencesRequest < Struct.new(
1720
+ :resource_arn)
1721
+ SENSITIVE = []
1722
+ include Aws::Structure
1723
+ end
1724
+
1725
+ # @!attribute [rw] enhanced_infrastructure_metrics
1726
+ # The status of the enhanced infrastructure metrics recommendation
1727
+ # preference. Considers all applicable preferences that you might have
1728
+ # set at the resource, account, and organization level.
1729
+ #
1730
+ # A status of `Active` confirms that the preference is applied in the
1731
+ # latest recommendation refresh, and a status of `Inactive` confirms
1732
+ # that it's not yet applied.
1733
+ #
1734
+ # To validate whether the preference is applied to your last generated
1735
+ # set of recommendations, review the
1736
+ # `effectiveRecommendationPreferences` value in the response of the
1737
+ # GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
1738
+ # actions.
1739
+ # @return [String]
1740
+ #
1741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferencesResponse AWS API Documentation
1742
+ #
1743
+ class GetEffectiveRecommendationPreferencesResponse < Struct.new(
1744
+ :enhanced_infrastructure_metrics)
1745
+ SENSITIVE = []
1746
+ include Aws::Structure
1747
+ end
1748
+
1519
1749
  # @api private
1520
1750
  #
1521
1751
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusRequest AWS API Documentation
@@ -1749,6 +1979,88 @@ module Aws::ComputeOptimizer
1749
1979
  include Aws::Structure
1750
1980
  end
1751
1981
 
1982
+ # @note When making an API call, you may pass GetRecommendationPreferencesRequest
1983
+ # data as a hash:
1984
+ #
1985
+ # {
1986
+ # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction
1987
+ # scope: {
1988
+ # name: "Organization", # accepts Organization, AccountId, ResourceArn
1989
+ # value: "ScopeValue",
1990
+ # },
1991
+ # next_token: "NextToken",
1992
+ # max_results: 1,
1993
+ # }
1994
+ #
1995
+ # @!attribute [rw] resource_type
1996
+ # The target resource type of the recommendation preference for which
1997
+ # to return preferences.
1998
+ #
1999
+ # The `Ec2Instance` option encompasses standalone instances and
2000
+ # instances that are part of Auto Scaling groups. The
2001
+ # `AutoScalingGroup` option encompasses only instances that are part
2002
+ # of an Auto Scaling group.
2003
+ # @return [String]
2004
+ #
2005
+ # @!attribute [rw] scope
2006
+ # An object that describes the scope of the recommendation preference
2007
+ # to return.
2008
+ #
2009
+ # You can return recommendation preferences that are created at the
2010
+ # organization level (for management accounts of an organization
2011
+ # only), account level, and resource level. For more information, see
2012
+ # [Activating enhanced infrastructure metrics][1] in the *Compute
2013
+ # Optimizer User Guide*.
2014
+ #
2015
+ #
2016
+ #
2017
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
2018
+ # @return [Types::Scope]
2019
+ #
2020
+ # @!attribute [rw] next_token
2021
+ # The token to advance to the next page of recommendation preferences.
2022
+ # @return [String]
2023
+ #
2024
+ # @!attribute [rw] max_results
2025
+ # The maximum number of recommendation preferences to return with a
2026
+ # single request.
2027
+ #
2028
+ # To retrieve the remaining results, make another request with the
2029
+ # returned `nextToken` value.
2030
+ # @return [Integer]
2031
+ #
2032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationPreferencesRequest AWS API Documentation
2033
+ #
2034
+ class GetRecommendationPreferencesRequest < Struct.new(
2035
+ :resource_type,
2036
+ :scope,
2037
+ :next_token,
2038
+ :max_results)
2039
+ SENSITIVE = []
2040
+ include Aws::Structure
2041
+ end
2042
+
2043
+ # @!attribute [rw] next_token
2044
+ # The token to use to advance to the next page of recommendation
2045
+ # preferences.
2046
+ #
2047
+ # This value is null when there are no more pages of recommendation
2048
+ # preferences to return.
2049
+ # @return [String]
2050
+ #
2051
+ # @!attribute [rw] recommendation_preferences_details
2052
+ # An array of objects that describe recommendation preferences.
2053
+ # @return [Array<Types::RecommendationPreferencesDetail>]
2054
+ #
2055
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationPreferencesResponse AWS API Documentation
2056
+ #
2057
+ class GetRecommendationPreferencesResponse < Struct.new(
2058
+ :next_token,
2059
+ :recommendation_preferences_details)
2060
+ SENSITIVE = []
2061
+ include Aws::Structure
2062
+ end
2063
+
1752
2064
  # @note When making an API call, you may pass GetRecommendationSummariesRequest
1753
2065
  # data as a hash:
1754
2066
  #
@@ -2023,9 +2335,20 @@ module Aws::ComputeOptimizer
2023
2335
  #
2024
2336
  # @!attribute [rw] last_refresh_timestamp
2025
2337
  # The timestamp of when the instance recommendation was last
2026
- # refreshed.
2338
+ # generated.
2027
2339
  # @return [Time]
2028
2340
  #
2341
+ # @!attribute [rw] current_performance_risk
2342
+ # The risk of the current instance not meeting the performance needs
2343
+ # of its workloads. The higher the risk, the more likely the current
2344
+ # Lambda function requires more memory.
2345
+ # @return [String]
2346
+ #
2347
+ # @!attribute [rw] effective_recommendation_preferences
2348
+ # An object that describes the effective recommendation preferences
2349
+ # for the instance.
2350
+ # @return [Types::EffectiveRecommendationPreferences]
2351
+ #
2029
2352
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceRecommendation AWS API Documentation
2030
2353
  #
2031
2354
  class InstanceRecommendation < Struct.new(
@@ -2039,7 +2362,9 @@ module Aws::ComputeOptimizer
2039
2362
  :look_back_period_in_days,
2040
2363
  :recommendation_options,
2041
2364
  :recommendation_sources,
2042
- :last_refresh_timestamp)
2365
+ :last_refresh_timestamp,
2366
+ :current_performance_risk,
2367
+ :effective_recommendation_preferences)
2043
2368
  SENSITIVE = []
2044
2369
  include Aws::Structure
2045
2370
  end
@@ -2191,6 +2516,12 @@ module Aws::ComputeOptimizer
2191
2516
  # The top recommendation option is ranked as `1`.
2192
2517
  # @return [Integer]
2193
2518
  #
2519
+ # @!attribute [rw] savings_opportunity
2520
+ # An object that describes the savings opportunity for the instance
2521
+ # recommendation option. Savings opportunity includes the estimated
2522
+ # monthly savings amount and percentage.
2523
+ # @return [Types::SavingsOpportunity]
2524
+ #
2194
2525
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceRecommendationOption AWS API Documentation
2195
2526
  #
2196
2527
  class InstanceRecommendationOption < Struct.new(
@@ -2198,7 +2529,8 @@ module Aws::ComputeOptimizer
2198
2529
  :projected_utilization_metrics,
2199
2530
  :platform_differences,
2200
2531
  :performance_risk,
2201
- :rank)
2532
+ :rank,
2533
+ :savings_opportunity)
2202
2534
  SENSITIVE = []
2203
2535
  include Aws::Structure
2204
2536
  end
@@ -2324,12 +2656,19 @@ module Aws::ComputeOptimizer
2324
2656
  # of the function recommendation option.
2325
2657
  # @return [Array<Types::LambdaFunctionMemoryProjectedMetric>]
2326
2658
  #
2659
+ # @!attribute [rw] savings_opportunity
2660
+ # An object that describes the savings opportunity for the Lambda
2661
+ # function recommendation option. Savings opportunity includes the
2662
+ # estimated monthly savings amount and percentage.
2663
+ # @return [Types::SavingsOpportunity]
2664
+ #
2327
2665
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaFunctionMemoryRecommendationOption AWS API Documentation
2328
2666
  #
2329
2667
  class LambdaFunctionMemoryRecommendationOption < Struct.new(
2330
2668
  :rank,
2331
2669
  :memory_size,
2332
- :projected_utilization_metrics)
2670
+ :projected_utilization_metrics,
2671
+ :savings_opportunity)
2333
2672
  SENSITIVE = []
2334
2673
  include Aws::Structure
2335
2674
  end
@@ -2370,7 +2709,7 @@ module Aws::ComputeOptimizer
2370
2709
  #
2371
2710
  # @!attribute [rw] last_refresh_timestamp
2372
2711
  # The timestamp of when the function recommendation was last
2373
- # refreshed.
2712
+ # generated.
2374
2713
  # @return [Time]
2375
2714
  #
2376
2715
  # @!attribute [rw] finding
@@ -2452,6 +2791,13 @@ module Aws::ComputeOptimizer
2452
2791
  # recommendation options for the function.
2453
2792
  # @return [Array<Types::LambdaFunctionMemoryRecommendationOption>]
2454
2793
  #
2794
+ # @!attribute [rw] current_performance_risk
2795
+ # The risk of the current Lambda function not meeting the performance
2796
+ # needs of its workloads. The higher the risk, the more likely the
2797
+ # current Lambda function configuration is underperforming in its
2798
+ # workload.
2799
+ # @return [String]
2800
+ #
2455
2801
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaFunctionRecommendation AWS API Documentation
2456
2802
  #
2457
2803
  class LambdaFunctionRecommendation < Struct.new(
@@ -2465,7 +2811,8 @@ module Aws::ComputeOptimizer
2465
2811
  :last_refresh_timestamp,
2466
2812
  :finding,
2467
2813
  :finding_reason_codes,
2468
- :memory_size_recommendation_options)
2814
+ :memory_size_recommendation_options,
2815
+ :current_performance_risk)
2469
2816
  SENSITIVE = []
2470
2817
  include Aws::Structure
2471
2818
  end
@@ -2684,6 +3031,74 @@ module Aws::ComputeOptimizer
2684
3031
  include Aws::Structure
2685
3032
  end
2686
3033
 
3034
+ # @note When making an API call, you may pass PutRecommendationPreferencesRequest
3035
+ # data as a hash:
3036
+ #
3037
+ # {
3038
+ # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction
3039
+ # scope: {
3040
+ # name: "Organization", # accepts Organization, AccountId, ResourceArn
3041
+ # value: "ScopeValue",
3042
+ # },
3043
+ # enhanced_infrastructure_metrics: "Active", # accepts Active, Inactive
3044
+ # }
3045
+ #
3046
+ # @!attribute [rw] resource_type
3047
+ # The target resource type of the recommendation preference to create.
3048
+ #
3049
+ # The `Ec2Instance` option encompasses standalone instances and
3050
+ # instances that are part of Auto Scaling groups. The
3051
+ # `AutoScalingGroup` option encompasses only instances that are part
3052
+ # of an Auto Scaling group.
3053
+ # @return [String]
3054
+ #
3055
+ # @!attribute [rw] scope
3056
+ # An object that describes the scope of the recommendation preference
3057
+ # to create.
3058
+ #
3059
+ # You can create recommendation preferences at the organization level
3060
+ # (for management accounts of an organization only), account level,
3061
+ # and resource level. For more information, see [Activating enhanced
3062
+ # infrastructure metrics][1] in the *Compute Optimizer User Guide*.
3063
+ #
3064
+ # <note markdown="1"> You cannot create recommendation preferences for Auto Scaling groups
3065
+ # at the organization and account levels. You can create
3066
+ # recommendation preferences for Auto Scaling groups only at the
3067
+ # resource level by specifying a scope name of `ResourceArn` and a
3068
+ # scope value of the Auto Scaling group Amazon Resource Name (ARN).
3069
+ # This will configure the preference for all instances that are part
3070
+ # of the specified the Auto Scaling group.
3071
+ #
3072
+ # </note>
3073
+ #
3074
+ #
3075
+ #
3076
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
3077
+ # @return [Types::Scope]
3078
+ #
3079
+ # @!attribute [rw] enhanced_infrastructure_metrics
3080
+ # The status of the enhanced infrastructure metrics recommendation
3081
+ # preference to create or update.
3082
+ #
3083
+ # A status of `Active` confirms that the preference is applied in the
3084
+ # latest recommendation refresh, and a status of `Inactive` confirms
3085
+ # that it's not yet applied.
3086
+ # @return [String]
3087
+ #
3088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferencesRequest AWS API Documentation
3089
+ #
3090
+ class PutRecommendationPreferencesRequest < Struct.new(
3091
+ :resource_type,
3092
+ :scope,
3093
+ :enhanced_infrastructure_metrics)
3094
+ SENSITIVE = []
3095
+ include Aws::Structure
3096
+ end
3097
+
3098
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferencesResponse AWS API Documentation
3099
+ #
3100
+ class PutRecommendationPreferencesResponse < Aws::EmptyStructure; end
3101
+
2687
3102
  # A summary of a finding reason code.
2688
3103
  #
2689
3104
  # @!attribute [rw] name
@@ -2754,7 +3169,9 @@ module Aws::ComputeOptimizer
2754
3169
  include Aws::Structure
2755
3170
  end
2756
3171
 
2757
- # Describes preferences for recommendations.
3172
+ # Describes the recommendation preferences to return in the response of
3173
+ # a GetAutoScalingGroupRecommendations, GetEC2InstanceRecommendations,
3174
+ # and GetEC2RecommendationProjectedMetrics request.
2758
3175
  #
2759
3176
  # @note When making an API call, you may pass RecommendationPreferences
2760
3177
  # data as a hash:
@@ -2792,6 +3209,49 @@ module Aws::ComputeOptimizer
2792
3209
  include Aws::Structure
2793
3210
  end
2794
3211
 
3212
+ # Describes a recommendation preference.
3213
+ #
3214
+ # @!attribute [rw] scope
3215
+ # An object that describes the scope of the recommendation preference.
3216
+ #
3217
+ # Recommendation preferences can be created at the organization level
3218
+ # (for management accounts of an organization only), account level,
3219
+ # and resource level. For more information, see [Activating enhanced
3220
+ # infrastructure metrics][1] in the *Compute Optimizer User Guide*.
3221
+ #
3222
+ #
3223
+ #
3224
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
3225
+ # @return [Types::Scope]
3226
+ #
3227
+ # @!attribute [rw] resource_type
3228
+ # The target resource type of the recommendation preference to create.
3229
+ #
3230
+ # The `Ec2Instance` option encompasses standalone instances and
3231
+ # instances that are part of Auto Scaling groups. The
3232
+ # `AutoScalingGroup` option encompasses only instances that are part
3233
+ # of an Auto Scaling group.
3234
+ # @return [String]
3235
+ #
3236
+ # @!attribute [rw] enhanced_infrastructure_metrics
3237
+ # The status of the enhanced infrastructure metrics recommendation
3238
+ # preference.
3239
+ #
3240
+ # A status of `Active` confirms that the preference is applied in the
3241
+ # latest recommendation refresh, and a status of `Inactive` confirms
3242
+ # that it's not yet applied.
3243
+ # @return [String]
3244
+ #
3245
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationPreferencesDetail AWS API Documentation
3246
+ #
3247
+ class RecommendationPreferencesDetail < Struct.new(
3248
+ :scope,
3249
+ :resource_type,
3250
+ :enhanced_infrastructure_metrics)
3251
+ SENSITIVE = []
3252
+ include Aws::Structure
3253
+ end
3254
+
2795
3255
  # Describes the source of a recommendation, such as an Amazon EC2
2796
3256
  # instance or Auto Scaling group.
2797
3257
  #
@@ -2819,19 +3279,32 @@ module Aws::ComputeOptimizer
2819
3279
  # @return [Array<Types::Summary>]
2820
3280
  #
2821
3281
  # @!attribute [rw] recommendation_resource_type
2822
- # The resource type of the recommendation.
3282
+ # The resource type that the recommendation summary applies to.
2823
3283
  # @return [String]
2824
3284
  #
2825
3285
  # @!attribute [rw] account_id
2826
3286
  # The Amazon Web Services account ID of the recommendation summary.
2827
3287
  # @return [String]
2828
3288
  #
3289
+ # @!attribute [rw] savings_opportunity
3290
+ # An object that describes the savings opportunity for a given
3291
+ # resource type. Savings opportunity includes the estimated monthly
3292
+ # savings amount and percentage.
3293
+ # @return [Types::SavingsOpportunity]
3294
+ #
3295
+ # @!attribute [rw] current_performance_risk_ratings
3296
+ # An object that describes the performance risk ratings for a given
3297
+ # resource type.
3298
+ # @return [Types::CurrentPerformanceRiskRatings]
3299
+ #
2829
3300
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationSummary AWS API Documentation
2830
3301
  #
2831
3302
  class RecommendationSummary < Struct.new(
2832
3303
  :summaries,
2833
3304
  :recommendation_resource_type,
2834
- :account_id)
3305
+ :account_id,
3306
+ :savings_opportunity,
3307
+ :current_performance_risk_ratings)
2835
3308
  SENSITIVE = []
2836
3309
  include Aws::Structure
2837
3310
  end
@@ -2969,6 +3442,121 @@ module Aws::ComputeOptimizer
2969
3442
  include Aws::Structure
2970
3443
  end
2971
3444
 
3445
+ # Describes the savings opportunity for recommendations of a given
3446
+ # resource type or for the recommendation option of an individual
3447
+ # resource.
3448
+ #
3449
+ # Savings opportunity represents the estimated monthly savings you can
3450
+ # achieve by implementing a given Compute Optimizer recommendation.
3451
+ #
3452
+ # Savings opportunity data requires that you opt in to Cost Explorer, as
3453
+ # well as activate **Receive Amazon EC2 resource recommendations** in
3454
+ # the Cost Explorer preferences page. That creates a connection between
3455
+ # Cost Explorer and Compute Optimizer. With this connection, Cost
3456
+ # Explorer generates savings estimates considering the price of existing
3457
+ # resources, the price of recommended resources, and historical usage
3458
+ # data. Estimated monthly savings reflects the projected dollar savings
3459
+ # associated with each of the recommendations generated. For more
3460
+ # information, see [Enabling Cost Explorer][1] and [Optimizing your cost
3461
+ # with Rightsizing Recommendations][2] in the *Cost Management User
3462
+ # Guide*.
3463
+ #
3464
+ #
3465
+ #
3466
+ # [1]: https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html
3467
+ # [2]: https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html
3468
+ #
3469
+ # @!attribute [rw] savings_opportunity_percentage
3470
+ # The estimated monthly savings possible as a percentage of monthly
3471
+ # cost.
3472
+ # @return [Float]
3473
+ #
3474
+ # @!attribute [rw] estimated_monthly_savings
3475
+ # An object that describes the estimated monthly savings amount
3476
+ # possible based on On-Demand instance pricing.
3477
+ # @return [Types::EstimatedMonthlySavings]
3478
+ #
3479
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/SavingsOpportunity AWS API Documentation
3480
+ #
3481
+ class SavingsOpportunity < Struct.new(
3482
+ :savings_opportunity_percentage,
3483
+ :estimated_monthly_savings)
3484
+ SENSITIVE = []
3485
+ include Aws::Structure
3486
+ end
3487
+
3488
+ # Describes the scope of a recommendation preference.
3489
+ #
3490
+ # Recommendation preferences can be created at the organization level
3491
+ # (for management accounts of an organization only), account level, and
3492
+ # resource level. For more information, see [Activating enhanced
3493
+ # infrastructure metrics][1] in the *Compute Optimizer User Guide*.
3494
+ #
3495
+ # <note markdown="1"> You cannot create recommendation preferences for Auto Scaling groups
3496
+ # at the organization and account levels. You can create recommendation
3497
+ # preferences for Auto Scaling groups only at the resource level by
3498
+ # specifying a scope name of `ResourceArn` and a scope value of the Auto
3499
+ # Scaling group Amazon Resource Name (ARN). This will configure the
3500
+ # preference for all instances that are part of the specified the Auto
3501
+ # Scaling group.
3502
+ #
3503
+ # </note>
3504
+ #
3505
+ #
3506
+ #
3507
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
3508
+ #
3509
+ # @note When making an API call, you may pass Scope
3510
+ # data as a hash:
3511
+ #
3512
+ # {
3513
+ # name: "Organization", # accepts Organization, AccountId, ResourceArn
3514
+ # value: "ScopeValue",
3515
+ # }
3516
+ #
3517
+ # @!attribute [rw] name
3518
+ # The name of the scope.
3519
+ #
3520
+ # The following scopes are possible:
3521
+ #
3522
+ # * `Organization` - Specifies that the recommendation preference
3523
+ # applies at the organization level, for all member accounts of an
3524
+ # organization.
3525
+ #
3526
+ # * `AccountId` - Specifies that the recommendation preference applies
3527
+ # at the account level, for all resources of a given resource type
3528
+ # in an account.
3529
+ #
3530
+ # * `ResourceArn` - Specifies that the recommendation preference
3531
+ # applies at the individual resource level.
3532
+ # @return [String]
3533
+ #
3534
+ # @!attribute [rw] value
3535
+ # The value of the scope.
3536
+ #
3537
+ # If you specified the `name` of the scope as:
3538
+ #
3539
+ # * `Organization` - The `value` must be `ALL_ACCOUNTS`.
3540
+ #
3541
+ # * `AccountId` - The `value` must be a 12-digit Amazon Web Services
3542
+ # account ID.
3543
+ #
3544
+ # * `ResourceArn` - The `value` must be the Amazon Resource Name (ARN)
3545
+ # of an EC2 instance or an Auto Scaling group.
3546
+ #
3547
+ # Only EC2 instance and Auto Scaling group ARNs are currently
3548
+ # supported.
3549
+ # @return [String]
3550
+ #
3551
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/Scope AWS API Documentation
3552
+ #
3553
+ class Scope < Struct.new(
3554
+ :name,
3555
+ :value)
3556
+ SENSITIVE = []
3557
+ include Aws::Structure
3558
+ end
3559
+
2972
3560
  # The request has failed due to a temporary failure of the server.
2973
3561
  #
2974
3562
  # @!attribute [rw] message
@@ -3324,9 +3912,15 @@ module Aws::ComputeOptimizer
3324
3912
  # @return [Array<Types::VolumeRecommendationOption>]
3325
3913
  #
3326
3914
  # @!attribute [rw] last_refresh_timestamp
3327
- # The timestamp of when the volume recommendation was last refreshed.
3915
+ # The timestamp of when the volume recommendation was last generated.
3328
3916
  # @return [Time]
3329
3917
  #
3918
+ # @!attribute [rw] current_performance_risk
3919
+ # The risk of the current EBS volume not meeting the performance needs
3920
+ # of its workloads. The higher the risk, the more likely the current
3921
+ # EBS volume doesn't have sufficient capacity.
3922
+ # @return [String]
3923
+ #
3330
3924
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/VolumeRecommendation AWS API Documentation
3331
3925
  #
3332
3926
  class VolumeRecommendation < Struct.new(
@@ -3337,7 +3931,8 @@ module Aws::ComputeOptimizer
3337
3931
  :utilization_metrics,
3338
3932
  :look_back_period_in_days,
3339
3933
  :volume_recommendation_options,
3340
- :last_refresh_timestamp)
3934
+ :last_refresh_timestamp,
3935
+ :current_performance_risk)
3341
3936
  SENSITIVE = []
3342
3937
  include Aws::Structure
3343
3938
  end
@@ -3368,12 +3963,19 @@ module Aws::ComputeOptimizer
3368
3963
  # The top recommendation option is ranked as `1`.
3369
3964
  # @return [Integer]
3370
3965
  #
3966
+ # @!attribute [rw] savings_opportunity
3967
+ # An object that describes the savings opportunity for the EBS volume
3968
+ # recommendation option. Savings opportunity includes the estimated
3969
+ # monthly savings amount and percentage.
3970
+ # @return [Types::SavingsOpportunity]
3971
+ #
3371
3972
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/VolumeRecommendationOption AWS API Documentation
3372
3973
  #
3373
3974
  class VolumeRecommendationOption < Struct.new(
3374
3975
  :configuration,
3375
3976
  :performance_risk,
3376
- :rank)
3977
+ :rank,
3978
+ :savings_opportunity)
3377
3979
  SENSITIVE = []
3378
3980
  include Aws::Structure
3379
3981
  end