aws-sdk-computeoptimizer 1.26.0 → 1.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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