aws-sdk-computeoptimizer 1.50.0 → 1.51.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -90,6 +90,27 @@ module Aws::ComputeOptimizer
90
90
  include Aws::Structure
91
91
  end
92
92
 
93
+ # An object that describes the estimated monthly savings possible by
94
+ # adopting Compute Optimizer’s Auto Scaling group recommendations. This
95
+ # is based on the Savings Plans and Reserved Instances discounts.
96
+ #
97
+ # @!attribute [rw] currency
98
+ # The currency of the estimated monthly savings.
99
+ # @return [String]
100
+ #
101
+ # @!attribute [rw] value
102
+ # The value of the estimated monthly savings.
103
+ # @return [Float]
104
+ #
105
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupEstimatedMonthlySavings AWS API Documentation
106
+ #
107
+ class AutoScalingGroupEstimatedMonthlySavings < Struct.new(
108
+ :currency,
109
+ :value)
110
+ SENSITIVE = []
111
+ include Aws::Structure
112
+ end
113
+
93
114
  # Describes an Auto Scaling group recommendation.
94
115
  #
95
116
  # @!attribute [rw] account_id
@@ -289,6 +310,13 @@ module Aws::ComputeOptimizer
289
310
  # type of the Auto Scaling group.
290
311
  # @return [Types::GpuInfo]
291
312
  #
313
+ # @!attribute [rw] savings_opportunity_after_discounts
314
+ # An object that describes the savings opportunity for the Auto
315
+ # Scaling group recommendation option that includes Savings Plans and
316
+ # Reserved Instances discounts. Savings opportunity includes the
317
+ # estimated monthly savings and percentage.
318
+ # @return [Types::AutoScalingGroupSavingsOpportunityAfterDiscounts]
319
+ #
292
320
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendationOption AWS API Documentation
293
321
  #
294
322
  class AutoScalingGroupRecommendationOption < Struct.new(
@@ -298,7 +326,38 @@ module Aws::ComputeOptimizer
298
326
  :rank,
299
327
  :savings_opportunity,
300
328
  :migration_effort,
301
- :instance_gpu_info)
329
+ :instance_gpu_info,
330
+ :savings_opportunity_after_discounts)
331
+ SENSITIVE = []
332
+ include Aws::Structure
333
+ end
334
+
335
+ # Describes the savings opportunity for Auto Scaling group
336
+ # recommendations after applying the Savings Plans and Reserved
337
+ # Instances discounts.
338
+ #
339
+ # Savings opportunity represents the estimated monthly savings you can
340
+ # achieve by implementing Compute Optimizer recommendations.
341
+ #
342
+ # @!attribute [rw] savings_opportunity_percentage
343
+ # The estimated monthly savings possible as a percentage of monthly
344
+ # cost after applying the Savings Plans and Reserved Instances
345
+ # discounts. This saving can be achieved by adopting Compute
346
+ # Optimizer’s Auto Scaling group recommendations.
347
+ # @return [Float]
348
+ #
349
+ # @!attribute [rw] estimated_monthly_savings
350
+ # An object that describes the estimated monthly savings possible by
351
+ # adopting Compute Optimizer’s Auto Scaling group recommendations.
352
+ # This is based on the Savings Plans and Reserved Instances pricing
353
+ # discounts.
354
+ # @return [Types::AutoScalingGroupEstimatedMonthlySavings]
355
+ #
356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupSavingsOpportunityAfterDiscounts AWS API Documentation
357
+ #
358
+ class AutoScalingGroupSavingsOpportunityAfterDiscounts < Struct.new(
359
+ :savings_opportunity_percentage,
360
+ :estimated_monthly_savings)
302
361
  SENSITIVE = []
303
362
  include Aws::Structure
304
363
  end
@@ -390,6 +449,27 @@ module Aws::ComputeOptimizer
390
449
  include Aws::Structure
391
450
  end
392
451
 
452
+ # Defines the various metric parameters that can be customized, such as
453
+ # threshold and headroom.
454
+ #
455
+ # @!attribute [rw] threshold
456
+ # The threshold value used for the specified metric parameter.
457
+ # @return [String]
458
+ #
459
+ # @!attribute [rw] headroom
460
+ # The headroom threshold value in percentage used for the specified
461
+ # metric parameter.
462
+ # @return [String]
463
+ #
464
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/CustomizableMetricParameters AWS API Documentation
465
+ #
466
+ class CustomizableMetricParameters < Struct.new(
467
+ :threshold,
468
+ :headroom)
469
+ SENSITIVE = []
470
+ include Aws::Structure
471
+ end
472
+
393
473
  # @!attribute [rw] resource_type
394
474
  # The target resource type of the recommendation preference to delete.
395
475
  #
@@ -495,6 +575,43 @@ module Aws::ComputeOptimizer
495
575
  include Aws::Structure
496
576
  end
497
577
 
578
+ # Describes the effective recommendation preferences for Amazon EBS
579
+ # volumes.
580
+ #
581
+ # @!attribute [rw] savings_estimation_mode
582
+ # Describes the savings estimation mode preference applied for
583
+ # calculating savings opportunity for Amazon EBS volumes.
584
+ # @return [Types::EBSSavingsEstimationMode]
585
+ #
586
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSEffectiveRecommendationPreferences AWS API Documentation
587
+ #
588
+ class EBSEffectiveRecommendationPreferences < Struct.new(
589
+ :savings_estimation_mode)
590
+ SENSITIVE = []
591
+ include Aws::Structure
592
+ end
593
+
594
+ # An object that describes the estimated monthly savings possible by
595
+ # adopting Compute Optimizer’s Amazon EBS volume recommendations. This
596
+ # includes any applicable discounts.
597
+ #
598
+ # @!attribute [rw] currency
599
+ # The currency of the estimated monthly savings.
600
+ # @return [String]
601
+ #
602
+ # @!attribute [rw] value
603
+ # The value of the estimated monthly savings.
604
+ # @return [Float]
605
+ #
606
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSEstimatedMonthlySavings AWS API Documentation
607
+ #
608
+ class EBSEstimatedMonthlySavings < Struct.new(
609
+ :currency,
610
+ :value)
611
+ SENSITIVE = []
612
+ include Aws::Structure
613
+ end
614
+
498
615
  # Describes a filter that returns a more specific list of Amazon Elastic
499
616
  # Block Store (Amazon EBS) volume recommendations. Use this filter with
500
617
  # the GetEBSVolumeRecommendations action.
@@ -544,6 +661,47 @@ module Aws::ComputeOptimizer
544
661
  include Aws::Structure
545
662
  end
546
663
 
664
+ # Describes the savings estimation mode used for calculating savings
665
+ # opportunity for Amazon EBS volumes.
666
+ #
667
+ # @!attribute [rw] source
668
+ # Describes the source for calculating the savings opportunity for
669
+ # Amazon EBS volumes.
670
+ # @return [String]
671
+ #
672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSSavingsEstimationMode AWS API Documentation
673
+ #
674
+ class EBSSavingsEstimationMode < Struct.new(
675
+ :source)
676
+ SENSITIVE = []
677
+ include Aws::Structure
678
+ end
679
+
680
+ # Describes the savings opportunity for Amazon EBS volume
681
+ # recommendations after applying specific discounts.
682
+ #
683
+ # @!attribute [rw] savings_opportunity_percentage
684
+ # The estimated monthly savings possible as a percentage of monthly
685
+ # cost after applying the specific discounts. This saving can be
686
+ # achieved by adopting Compute Optimizer’s Amazon EBS volume
687
+ # recommendations.
688
+ # @return [Float]
689
+ #
690
+ # @!attribute [rw] estimated_monthly_savings
691
+ # The estimated monthly savings possible as a percentage of monthly
692
+ # cost by adopting Compute Optimizer’s Amazon EBS volume
693
+ # recommendations. This saving includes any applicable discounts.
694
+ # @return [Types::EBSEstimatedMonthlySavings]
695
+ #
696
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSSavingsOpportunityAfterDiscounts AWS API Documentation
697
+ #
698
+ class EBSSavingsOpportunityAfterDiscounts < Struct.new(
699
+ :savings_opportunity_percentage,
700
+ :estimated_monthly_savings)
701
+ SENSITIVE = []
702
+ include Aws::Structure
703
+ end
704
+
547
705
  # Describes a utilization metric of an Amazon Elastic Block Store
548
706
  # (Amazon EBS) volume.
549
707
  #
@@ -612,6 +770,88 @@ module Aws::ComputeOptimizer
612
770
  include Aws::Structure
613
771
  end
614
772
 
773
+ # Describes the effective recommendation preferences for Amazon ECS
774
+ # services.
775
+ #
776
+ # @!attribute [rw] savings_estimation_mode
777
+ # Describes the savings estimation mode preference applied for
778
+ # calculating savings opportunity for Amazon ECS services.
779
+ # @return [Types::ECSSavingsEstimationMode]
780
+ #
781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSEffectiveRecommendationPreferences AWS API Documentation
782
+ #
783
+ class ECSEffectiveRecommendationPreferences < Struct.new(
784
+ :savings_estimation_mode)
785
+ SENSITIVE = []
786
+ include Aws::Structure
787
+ end
788
+
789
+ # Describes the estimated monthly savings possible for Amazon ECS
790
+ # services by adopting Compute Optimizer recommendations. This is based
791
+ # on Amazon ECS service pricing after applying Savings Plans discounts.
792
+ #
793
+ # @!attribute [rw] currency
794
+ # The currency of the estimated monthly savings.
795
+ # @return [String]
796
+ #
797
+ # @!attribute [rw] value
798
+ # The value of the estimated monthly savings for Amazon ECS services.
799
+ # @return [Float]
800
+ #
801
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSEstimatedMonthlySavings AWS API Documentation
802
+ #
803
+ class ECSEstimatedMonthlySavings < Struct.new(
804
+ :currency,
805
+ :value)
806
+ SENSITIVE = []
807
+ include Aws::Structure
808
+ end
809
+
810
+ # Describes the savings estimation mode used for calculating savings
811
+ # opportunity for Amazon ECS services.
812
+ #
813
+ # @!attribute [rw] source
814
+ # Describes the source for calculating the savings opportunity for
815
+ # Amazon ECS services.
816
+ # @return [String]
817
+ #
818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSSavingsEstimationMode AWS API Documentation
819
+ #
820
+ class ECSSavingsEstimationMode < Struct.new(
821
+ :source)
822
+ SENSITIVE = []
823
+ include Aws::Structure
824
+ end
825
+
826
+ # Describes the savings opportunity for Amazon ECS service
827
+ # recommendations after applying Savings Plans discounts.
828
+ #
829
+ # Savings opportunity represents the estimated monthly savings after
830
+ # applying Savings Plans discounts. You can achieve this by implementing
831
+ # a given Compute Optimizer recommendation.
832
+ #
833
+ # @!attribute [rw] savings_opportunity_percentage
834
+ # The estimated monthly savings possible as a percentage of monthly
835
+ # cost by adopting Compute Optimizer’s Amazon ECS service
836
+ # recommendations. This includes any applicable Savings Plans
837
+ # discounts.
838
+ # @return [Float]
839
+ #
840
+ # @!attribute [rw] estimated_monthly_savings
841
+ # The estimated monthly savings possible by adopting Compute
842
+ # Optimizer’s Amazon ECS service recommendations. This includes any
843
+ # applicable Savings Plans discounts.
844
+ # @return [Types::ECSEstimatedMonthlySavings]
845
+ #
846
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSSavingsOpportunityAfterDiscounts AWS API Documentation
847
+ #
848
+ class ECSSavingsOpportunityAfterDiscounts < Struct.new(
849
+ :savings_opportunity_percentage,
850
+ :estimated_monthly_savings)
851
+ SENSITIVE = []
852
+ include Aws::Structure
853
+ end
854
+
615
855
  # Describes the projected metrics of an Amazon ECS service
616
856
  # recommendation option.
617
857
  #
@@ -818,6 +1058,11 @@ module Aws::ComputeOptimizer
818
1058
  # A list of tags assigned to your Amazon ECS service recommendations.
819
1059
  # @return [Array<Types::Tag>]
820
1060
  #
1061
+ # @!attribute [rw] effective_recommendation_preferences
1062
+ # Describes the effective recommendation preferences for Amazon ECS
1063
+ # services.
1064
+ # @return [Types::ECSEffectiveRecommendationPreferences]
1065
+ #
821
1066
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSServiceRecommendation AWS API Documentation
822
1067
  #
823
1068
  class ECSServiceRecommendation < Struct.new(
@@ -832,7 +1077,8 @@ module Aws::ComputeOptimizer
832
1077
  :finding_reason_codes,
833
1078
  :service_recommendation_options,
834
1079
  :current_performance_risk,
835
- :tags)
1080
+ :tags,
1081
+ :effective_recommendation_preferences)
836
1082
  SENSITIVE = []
837
1083
  include Aws::Structure
838
1084
  end
@@ -936,6 +1182,15 @@ module Aws::ComputeOptimizer
936
1182
  # the task of your Amazon ECS service.
937
1183
  # @return [Array<Types::ContainerRecommendation>]
938
1184
  #
1185
+ # @!attribute [rw] savings_opportunity_after_discounts
1186
+ # Describes the savings opportunity for Amazon ECS service
1187
+ # recommendations or for the recommendation option.
1188
+ #
1189
+ # Savings opportunity represents the estimated monthly savings after
1190
+ # applying Savings Plans discounts. You can achieve this by
1191
+ # implementing a given Compute Optimizer recommendation.
1192
+ # @return [Types::ECSSavingsOpportunityAfterDiscounts]
1193
+ #
939
1194
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSServiceRecommendationOption AWS API Documentation
940
1195
  #
941
1196
  class ECSServiceRecommendationOption < Struct.new(
@@ -943,7 +1198,8 @@ module Aws::ComputeOptimizer
943
1198
  :cpu,
944
1199
  :savings_opportunity,
945
1200
  :projected_utilization_metrics,
946
- :container_recommendations)
1201
+ :container_recommendations,
1202
+ :savings_opportunity_after_discounts)
947
1203
  SENSITIVE = []
948
1204
  include Aws::Structure
949
1205
  end
@@ -1028,6 +1284,42 @@ module Aws::ComputeOptimizer
1028
1284
  include Aws::Structure
1029
1285
  end
1030
1286
 
1287
+ # Describes the effective preferred resources that Compute Optimizer
1288
+ # considers as rightsizing recommendation candidates.
1289
+ #
1290
+ # <note markdown="1"> Compute Optimizer only supports Amazon EC2 instance types.
1291
+ #
1292
+ # </note>
1293
+ #
1294
+ # @!attribute [rw] name
1295
+ # The name of the preferred resource list.
1296
+ # @return [String]
1297
+ #
1298
+ # @!attribute [rw] include_list
1299
+ # The list of preferred resource values that you want considered as
1300
+ # rightsizing recommendation candidates.
1301
+ # @return [Array<String>]
1302
+ #
1303
+ # @!attribute [rw] effective_include_list
1304
+ # The expanded version of your preferred resource's include list.
1305
+ # @return [Array<String>]
1306
+ #
1307
+ # @!attribute [rw] exclude_list
1308
+ # The list of preferred resources values that you want excluded from
1309
+ # rightsizing recommendation candidates.
1310
+ # @return [Array<String>]
1311
+ #
1312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EffectivePreferredResource AWS API Documentation
1313
+ #
1314
+ class EffectivePreferredResource < Struct.new(
1315
+ :name,
1316
+ :include_list,
1317
+ :effective_include_list,
1318
+ :exclude_list)
1319
+ SENSITIVE = []
1320
+ include Aws::Structure
1321
+ end
1322
+
1031
1323
  # Describes the effective recommendation preferences for a resource.
1032
1324
  #
1033
1325
  # @!attribute [rw] cpu_vendor_architectures
@@ -1086,13 +1378,43 @@ module Aws::ComputeOptimizer
1086
1378
  # this object doesn't appear in the response.
1087
1379
  # @return [Types::ExternalMetricsPreference]
1088
1380
  #
1381
+ # @!attribute [rw] look_back_period
1382
+ # The number of days the utilization metrics of the Amazon Web
1383
+ # Services resource are analyzed.
1384
+ # @return [String]
1385
+ #
1386
+ # @!attribute [rw] utilization_preferences
1387
+ # The resource’s CPU utilization threshold preferences, such as
1388
+ # threshold and headroom, that are used to generate rightsizing
1389
+ # recommendations.
1390
+ #
1391
+ # <note markdown="1"> This preference is only available for the Amazon EC2 instance
1392
+ # resource type.
1393
+ #
1394
+ # </note>
1395
+ # @return [Array<Types::UtilizationPreference>]
1396
+ #
1397
+ # @!attribute [rw] preferred_resources
1398
+ # The resource type values that are considered as candidates when
1399
+ # generating rightsizing recommendations.
1400
+ # @return [Array<Types::EffectivePreferredResource>]
1401
+ #
1402
+ # @!attribute [rw] savings_estimation_mode
1403
+ # Describes the savings estimation mode applied for calculating
1404
+ # savings opportunity for a resource.
1405
+ # @return [Types::InstanceSavingsEstimationMode]
1406
+ #
1089
1407
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EffectiveRecommendationPreferences AWS API Documentation
1090
1408
  #
1091
1409
  class EffectiveRecommendationPreferences < Struct.new(
1092
1410
  :cpu_vendor_architectures,
1093
1411
  :enhanced_infrastructure_metrics,
1094
1412
  :inferred_workload_types,
1095
- :external_metrics_preference)
1413
+ :external_metrics_preference,
1414
+ :look_back_period,
1415
+ :utilization_preferences,
1416
+ :preferred_resources,
1417
+ :savings_estimation_mode)
1096
1418
  SENSITIVE = []
1097
1419
  include Aws::Structure
1098
1420
  end
@@ -2534,11 +2856,52 @@ module Aws::ComputeOptimizer
2534
2856
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/external-metrics-ingestion.html
2535
2857
  # @return [Types::ExternalMetricsPreference]
2536
2858
  #
2859
+ # @!attribute [rw] look_back_period
2860
+ # The number of days the utilization metrics of the Amazon Web
2861
+ # Services resource are analyzed.
2862
+ #
2863
+ # To validate that the preference is applied to your last generated
2864
+ # set of recommendations, review the
2865
+ # `effectiveRecommendationPreferences` value in the response of the
2866
+ # GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations
2867
+ # actions.
2868
+ # @return [String]
2869
+ #
2870
+ # @!attribute [rw] utilization_preferences
2871
+ # The resource’s CPU utilization threshold preferences, such as
2872
+ # threshold and headroom, that were used to generate rightsizing
2873
+ # recommendations. It considers all applicable preferences that you
2874
+ # set at the resource, account, and organization level.
2875
+ #
2876
+ # To validate that the preference is applied to your last generated
2877
+ # set of recommendations, review the
2878
+ # `effectiveRecommendationPreferences` value in the response of the
2879
+ # GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations
2880
+ # actions.
2881
+ # @return [Array<Types::UtilizationPreference>]
2882
+ #
2883
+ # @!attribute [rw] preferred_resources
2884
+ # The resource type values that are considered as candidates when
2885
+ # generating rightsizing recommendations. This object resolves any
2886
+ # wildcard expressions and returns the effective list of candidate
2887
+ # resource type values. It also considers all applicable preferences
2888
+ # that you set at the resource, account, and organization level.
2889
+ #
2890
+ # To validate that the preference is applied to your last generated
2891
+ # set of recommendations, review the
2892
+ # `effectiveRecommendationPreferences` value in the response of the
2893
+ # GetAutoScalingGroupRecommendations or GetEC2InstanceRecommendations
2894
+ # actions.
2895
+ # @return [Array<Types::EffectivePreferredResource>]
2896
+ #
2537
2897
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferencesResponse AWS API Documentation
2538
2898
  #
2539
2899
  class GetEffectiveRecommendationPreferencesResponse < Struct.new(
2540
2900
  :enhanced_infrastructure_metrics,
2541
- :external_metrics_preference)
2901
+ :external_metrics_preference,
2902
+ :look_back_period,
2903
+ :utilization_preferences,
2904
+ :preferred_resources)
2542
2905
  SENSITIVE = []
2543
2906
  include Aws::Structure
2544
2907
  end
@@ -3033,6 +3396,28 @@ module Aws::ComputeOptimizer
3033
3396
  include Aws::Structure
3034
3397
  end
3035
3398
 
3399
+ # An object that describes the estimated monthly savings possible by
3400
+ # adopting Compute Optimizer’s Amazon EC2 instance recommendations. This
3401
+ # is based on the Savings Plans and Reserved Instances pricing
3402
+ # discounts.
3403
+ #
3404
+ # @!attribute [rw] currency
3405
+ # The currency of the estimated monthly savings.
3406
+ # @return [String]
3407
+ #
3408
+ # @!attribute [rw] value
3409
+ # The value of the estimated monthly savings.
3410
+ # @return [Float]
3411
+ #
3412
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceEstimatedMonthlySavings AWS API Documentation
3413
+ #
3414
+ class InstanceEstimatedMonthlySavings < Struct.new(
3415
+ :currency,
3416
+ :value)
3417
+ SENSITIVE = []
3418
+ include Aws::Structure
3419
+ end
3420
+
3036
3421
  # Describes an Amazon EC2 instance recommendation.
3037
3422
  #
3038
3423
  # @!attribute [rw] instance_arn
@@ -3509,6 +3894,13 @@ module Aws::ComputeOptimizer
3509
3894
  # type.
3510
3895
  # @return [Types::GpuInfo]
3511
3896
  #
3897
+ # @!attribute [rw] savings_opportunity_after_discounts
3898
+ # An object that describes the savings opportunity for the instance
3899
+ # recommendation option that includes Savings Plans and Reserved
3900
+ # Instances discounts. Savings opportunity includes the estimated
3901
+ # monthly savings and percentage.
3902
+ # @return [Types::InstanceSavingsOpportunityAfterDiscounts]
3903
+ #
3512
3904
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceRecommendationOption AWS API Documentation
3513
3905
  #
3514
3906
  class InstanceRecommendationOption < Struct.new(
@@ -3519,7 +3911,54 @@ module Aws::ComputeOptimizer
3519
3911
  :rank,
3520
3912
  :savings_opportunity,
3521
3913
  :migration_effort,
3522
- :instance_gpu_info)
3914
+ :instance_gpu_info,
3915
+ :savings_opportunity_after_discounts)
3916
+ SENSITIVE = []
3917
+ include Aws::Structure
3918
+ end
3919
+
3920
+ # Describes the savings estimation mode used for calculating savings
3921
+ # opportunity for Amazon EC2 instances.
3922
+ #
3923
+ # @!attribute [rw] source
3924
+ # Describes the source for calculating the savings opportunity for
3925
+ # Amazon EC2 instances.
3926
+ # @return [String]
3927
+ #
3928
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceSavingsEstimationMode AWS API Documentation
3929
+ #
3930
+ class InstanceSavingsEstimationMode < Struct.new(
3931
+ :source)
3932
+ SENSITIVE = []
3933
+ include Aws::Structure
3934
+ end
3935
+
3936
+ # Describes the savings opportunity for instance recommendations after
3937
+ # applying the Savings Plans and Reserved Instances discounts.
3938
+ #
3939
+ # Savings opportunity after discounts represents the estimated monthly
3940
+ # savings you can achieve by implementing Compute Optimizer
3941
+ # recommendations.
3942
+ #
3943
+ # @!attribute [rw] savings_opportunity_percentage
3944
+ # The estimated monthly savings possible as a percentage of monthly
3945
+ # cost after applying the Savings Plans and Reserved Instances
3946
+ # discounts. This saving can be achieved by adopting Compute
3947
+ # Optimizer’s EC2 instance recommendations.
3948
+ # @return [Float]
3949
+ #
3950
+ # @!attribute [rw] estimated_monthly_savings
3951
+ # An object that describes the estimated monthly savings possible by
3952
+ # adopting Compute Optimizer’s Amazon EC2 instance recommendations.
3953
+ # This is based on pricing after applying the Savings Plans and
3954
+ # Reserved Instances discounts.
3955
+ # @return [Types::InstanceEstimatedMonthlySavings]
3956
+ #
3957
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceSavingsOpportunityAfterDiscounts AWS API Documentation
3958
+ #
3959
+ class InstanceSavingsOpportunityAfterDiscounts < Struct.new(
3960
+ :savings_opportunity_percentage,
3961
+ :estimated_monthly_savings)
3523
3962
  SENSITIVE = []
3524
3963
  include Aws::Structure
3525
3964
  end
@@ -3595,6 +4034,43 @@ module Aws::ComputeOptimizer
3595
4034
  include Aws::Structure
3596
4035
  end
3597
4036
 
4037
+ # Describes the effective recommendation preferences for Lambda
4038
+ # functions.
4039
+ #
4040
+ # @!attribute [rw] savings_estimation_mode
4041
+ # Describes the savings estimation mode applied for calculating
4042
+ # savings opportunity for Lambda functions.
4043
+ # @return [Types::LambdaSavingsEstimationMode]
4044
+ #
4045
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaEffectiveRecommendationPreferences AWS API Documentation
4046
+ #
4047
+ class LambdaEffectiveRecommendationPreferences < Struct.new(
4048
+ :savings_estimation_mode)
4049
+ SENSITIVE = []
4050
+ include Aws::Structure
4051
+ end
4052
+
4053
+ # Describes the estimated monthly savings possible for Lambda functions
4054
+ # by adopting Compute Optimizer recommendations. This is based on Lambda
4055
+ # functions pricing after applying Savings Plans discounts.
4056
+ #
4057
+ # @!attribute [rw] currency
4058
+ # The currency of the estimated monthly savings.
4059
+ # @return [String]
4060
+ #
4061
+ # @!attribute [rw] value
4062
+ # The value of the estimated monthly savings.
4063
+ # @return [Float]
4064
+ #
4065
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaEstimatedMonthlySavings AWS API Documentation
4066
+ #
4067
+ class LambdaEstimatedMonthlySavings < Struct.new(
4068
+ :currency,
4069
+ :value)
4070
+ SENSITIVE = []
4071
+ include Aws::Structure
4072
+ end
4073
+
3598
4074
  # Describes a projected utilization metric of an Lambda function
3599
4075
  # recommendation option.
3600
4076
  #
@@ -3643,13 +4119,20 @@ module Aws::ComputeOptimizer
3643
4119
  # estimated monthly savings amount and percentage.
3644
4120
  # @return [Types::SavingsOpportunity]
3645
4121
  #
4122
+ # @!attribute [rw] savings_opportunity_after_discounts
4123
+ # An object that describes the savings opportunity for the Lambda
4124
+ # recommendation option which includes Saving Plans discounts. Savings
4125
+ # opportunity includes the estimated monthly savings and percentage.
4126
+ # @return [Types::LambdaSavingsOpportunityAfterDiscounts]
4127
+ #
3646
4128
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaFunctionMemoryRecommendationOption AWS API Documentation
3647
4129
  #
3648
4130
  class LambdaFunctionMemoryRecommendationOption < Struct.new(
3649
4131
  :rank,
3650
4132
  :memory_size,
3651
4133
  :projected_utilization_metrics,
3652
- :savings_opportunity)
4134
+ :savings_opportunity,
4135
+ :savings_opportunity_after_discounts)
3653
4136
  SENSITIVE = []
3654
4137
  include Aws::Structure
3655
4138
  end
@@ -3782,6 +4265,11 @@ module Aws::ComputeOptimizer
3782
4265
  # A list of tags assigned to your Lambda function recommendations.
3783
4266
  # @return [Array<Types::Tag>]
3784
4267
  #
4268
+ # @!attribute [rw] effective_recommendation_preferences
4269
+ # Describes the effective recommendation preferences for Lambda
4270
+ # functions.
4271
+ # @return [Types::LambdaEffectiveRecommendationPreferences]
4272
+ #
3785
4273
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaFunctionRecommendation AWS API Documentation
3786
4274
  #
3787
4275
  class LambdaFunctionRecommendation < Struct.new(
@@ -3797,7 +4285,8 @@ module Aws::ComputeOptimizer
3797
4285
  :finding_reason_codes,
3798
4286
  :memory_size_recommendation_options,
3799
4287
  :current_performance_risk,
3800
- :tags)
4288
+ :tags,
4289
+ :effective_recommendation_preferences)
3801
4290
  SENSITIVE = []
3802
4291
  include Aws::Structure
3803
4292
  end
@@ -3910,6 +4399,51 @@ module Aws::ComputeOptimizer
3910
4399
  include Aws::Structure
3911
4400
  end
3912
4401
 
4402
+ # Describes the savings estimation used for calculating savings
4403
+ # opportunity for Lambda functions.
4404
+ #
4405
+ # @!attribute [rw] source
4406
+ # Describes the source for calculation of savings opportunity for
4407
+ # Lambda functions.
4408
+ # @return [String]
4409
+ #
4410
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaSavingsEstimationMode AWS API Documentation
4411
+ #
4412
+ class LambdaSavingsEstimationMode < Struct.new(
4413
+ :source)
4414
+ SENSITIVE = []
4415
+ include Aws::Structure
4416
+ end
4417
+
4418
+ # Describes the savings opportunity for Lambda functions recommendations
4419
+ # after applying Savings Plans discounts.
4420
+ #
4421
+ # Savings opportunity represents the estimated monthly savings after
4422
+ # applying Savings Plans discounts. You can achieve this by implementing
4423
+ # a given Compute Optimizer recommendation.
4424
+ #
4425
+ # @!attribute [rw] savings_opportunity_percentage
4426
+ # The estimated monthly savings possible as a percentage of monthly
4427
+ # cost by adopting Compute Optimizer’s Lambda function
4428
+ # recommendations. This includes any applicable Savings Plans
4429
+ # discounts.
4430
+ # @return [Float]
4431
+ #
4432
+ # @!attribute [rw] estimated_monthly_savings
4433
+ # The estimated monthly savings possible by adopting Compute
4434
+ # Optimizer’s Lambda function recommendations. This includes any
4435
+ # applicable Savings Plans discounts.
4436
+ # @return [Types::LambdaEstimatedMonthlySavings]
4437
+ #
4438
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaSavingsOpportunityAfterDiscounts AWS API Documentation
4439
+ #
4440
+ class LambdaSavingsOpportunityAfterDiscounts < Struct.new(
4441
+ :savings_opportunity_percentage,
4442
+ :estimated_monthly_savings)
4443
+ SENSITIVE = []
4444
+ include Aws::Structure
4445
+ end
4446
+
3913
4447
  # Describes the configuration of a license for an Amazon EC2 instance.
3914
4448
  #
3915
4449
  # @!attribute [rw] number_of_cores
@@ -4243,6 +4777,60 @@ module Aws::ComputeOptimizer
4243
4777
  include Aws::Structure
4244
4778
  end
4245
4779
 
4780
+ # The preference to control which resource type values are considered
4781
+ # when generating rightsizing recommendations. You can specify this
4782
+ # preference as a combination of include and exclude lists. You must
4783
+ # specify either an `includeList` or `excludeList`. If the preference is
4784
+ # an empty set of resource type values, an error occurs. For more
4785
+ # information, see [ Rightsizing recommendation preferences][1] in the
4786
+ # *Compute Optimizer User Guide*.
4787
+ #
4788
+ # <note markdown="1"> * This preference is only available for the Amazon EC2 instance and
4789
+ # Auto Scaling group resource types.
4790
+ #
4791
+ # * Compute Optimizer only supports the customization of
4792
+ # `Ec2InstanceTypes`.
4793
+ #
4794
+ # </note>
4795
+ #
4796
+ #
4797
+ #
4798
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/rightsizing-preferences.html
4799
+ #
4800
+ # @!attribute [rw] name
4801
+ # The type of preferred resource to customize.
4802
+ #
4803
+ # <note markdown="1"> Compute Optimizer only supports the customization of
4804
+ # `Ec2InstanceTypes`.
4805
+ #
4806
+ # </note>
4807
+ # @return [String]
4808
+ #
4809
+ # @!attribute [rw] include_list
4810
+ # The preferred resource type values to include in the recommendation
4811
+ # candidates. You can specify the exact resource type value, such as
4812
+ # m5.large, or use wild card expressions, such as m5. If this isn’t
4813
+ # specified, all supported resources are included by default. You can
4814
+ # specify up to 1000 values in this list.
4815
+ # @return [Array<String>]
4816
+ #
4817
+ # @!attribute [rw] exclude_list
4818
+ # The preferred resource type values to exclude from the
4819
+ # recommendation candidates. If this isn’t specified, all supported
4820
+ # resources are included by default. You can specify up to 1000 values
4821
+ # in this list.
4822
+ # @return [Array<String>]
4823
+ #
4824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PreferredResource AWS API Documentation
4825
+ #
4826
+ class PreferredResource < Struct.new(
4827
+ :name,
4828
+ :include_list,
4829
+ :exclude_list)
4830
+ SENSITIVE = []
4831
+ include Aws::Structure
4832
+ end
4833
+
4246
4834
  # Describes a projected utilization metric of a recommendation option,
4247
4835
  # such as an Amazon EC2 instance. This represents the projected
4248
4836
  # utilization of a recommendation option had you used that resource
@@ -4427,6 +5015,63 @@ module Aws::ComputeOptimizer
4427
5015
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/external-metrics-ingestion.html
4428
5016
  # @return [Types::ExternalMetricsPreference]
4429
5017
  #
5018
+ # @!attribute [rw] look_back_period
5019
+ # The preference to control the number of days the utilization metrics
5020
+ # of the Amazon Web Services resource are analyzed. When this
5021
+ # preference isn't specified, we use the default value `DAYS_14`.
5022
+ #
5023
+ # <note markdown="1"> You can only set this preference for the Amazon EC2 instance and
5024
+ # Auto Scaling group resource types.
5025
+ #
5026
+ # </note>
5027
+ # @return [String]
5028
+ #
5029
+ # @!attribute [rw] utilization_preferences
5030
+ # The preference to control the resource’s CPU utilization thresholds
5031
+ # - threshold and headroom. When this preference isn't specified, we
5032
+ # use the following default values:
5033
+ #
5034
+ # * `P99_5` for threshold
5035
+ #
5036
+ # * `PERCENT_17` for headroom
5037
+ #
5038
+ # <note markdown="1"> You can only set this preference for the Amazon EC2 instance
5039
+ # resource type.
5040
+ #
5041
+ # </note>
5042
+ # @return [Array<Types::UtilizationPreference>]
5043
+ #
5044
+ # @!attribute [rw] preferred_resources
5045
+ # The preference to control which resource type values are considered
5046
+ # when generating rightsizing recommendations. You can specify this
5047
+ # preference as a combination of include and exclude lists. You must
5048
+ # specify either an `includeList` or `excludeList`. If the preference
5049
+ # is an empty set of resource type values, an error occurs.
5050
+ #
5051
+ # <note markdown="1"> You can only set this preference for the Amazon EC2 instance and
5052
+ # Auto Scaling group resource types.
5053
+ #
5054
+ # </note>
5055
+ # @return [Array<Types::PreferredResource>]
5056
+ #
5057
+ # @!attribute [rw] savings_estimation_mode
5058
+ # The status of the savings estimation mode preference to create or
5059
+ # update.
5060
+ #
5061
+ # Specify the `AfterDiscounts` status to activate the preference, or
5062
+ # specify `BeforeDiscounts` to deactivate the preference.
5063
+ #
5064
+ # Only the account manager or delegated administrator of your
5065
+ # organization can activate this preference.
5066
+ #
5067
+ # For more information, see [ Savings estimation mode][1] in the
5068
+ # *Compute Optimizer User Guide*.
5069
+ #
5070
+ #
5071
+ #
5072
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/savings-estimation-mode.html
5073
+ # @return [String]
5074
+ #
4430
5075
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferencesRequest AWS API Documentation
4431
5076
  #
4432
5077
  class PutRecommendationPreferencesRequest < Struct.new(
@@ -4434,7 +5079,11 @@ module Aws::ComputeOptimizer
4434
5079
  :scope,
4435
5080
  :enhanced_infrastructure_metrics,
4436
5081
  :inferred_workload_types,
4437
- :external_metrics_preference)
5082
+ :external_metrics_preference,
5083
+ :look_back_period,
5084
+ :utilization_preferences,
5085
+ :preferred_resources,
5086
+ :savings_estimation_mode)
4438
5087
  SENSITIVE = []
4439
5088
  include Aws::Structure
4440
5089
  end
@@ -4606,6 +5255,39 @@ module Aws::ComputeOptimizer
4606
5255
  # this object doesn't appear in the response.
4607
5256
  # @return [Types::ExternalMetricsPreference]
4608
5257
  #
5258
+ # @!attribute [rw] look_back_period
5259
+ # The preference to control the number of days the utilization metrics
5260
+ # of the Amazon Web Services resource are analyzed. If the preference
5261
+ # isn’t set, this object is null.
5262
+ # @return [String]
5263
+ #
5264
+ # @!attribute [rw] utilization_preferences
5265
+ # The preference to control the resource’s CPU utilization thresholds
5266
+ # - threshold and headroom. If the preference isn’t set, this object
5267
+ # is null.
5268
+ #
5269
+ # <note markdown="1"> This preference is only available for the Amazon EC2 instance
5270
+ # resource type.
5271
+ #
5272
+ # </note>
5273
+ # @return [Array<Types::UtilizationPreference>]
5274
+ #
5275
+ # @!attribute [rw] preferred_resources
5276
+ # The preference to control which resource type values are considered
5277
+ # when generating rightsizing recommendations. This object resolves
5278
+ # any wildcard expressions and returns the effective list of candidate
5279
+ # resource type values. If the preference isn’t set, this object is
5280
+ # null.
5281
+ # @return [Array<Types::EffectivePreferredResource>]
5282
+ #
5283
+ # @!attribute [rw] savings_estimation_mode
5284
+ # Describes the savings estimation mode used for calculating savings
5285
+ # opportunity.
5286
+ #
5287
+ # Only the account manager or delegated administrator of your
5288
+ # organization can activate this preference.
5289
+ # @return [String]
5290
+ #
4609
5291
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationPreferencesDetail AWS API Documentation
4610
5292
  #
4611
5293
  class RecommendationPreferencesDetail < Struct.new(
@@ -4613,7 +5295,11 @@ module Aws::ComputeOptimizer
4613
5295
  :resource_type,
4614
5296
  :enhanced_infrastructure_metrics,
4615
5297
  :inferred_workload_types,
4616
- :external_metrics_preference)
5298
+ :external_metrics_preference,
5299
+ :look_back_period,
5300
+ :utilization_preferences,
5301
+ :preferred_resources,
5302
+ :savings_estimation_mode)
4617
5303
  SENSITIVE = []
4618
5304
  include Aws::Structure
4619
5305
  end
@@ -5268,6 +5954,36 @@ module Aws::ComputeOptimizer
5268
5954
  include Aws::Structure
5269
5955
  end
5270
5956
 
5957
+ # The preference to control the resource’s CPU utilization thresholds -
5958
+ # threshold and headroom.
5959
+ #
5960
+ # <note markdown="1"> This preference is only available for the Amazon EC2 instance resource
5961
+ # type.
5962
+ #
5963
+ # </note>
5964
+ #
5965
+ # @!attribute [rw] metric_name
5966
+ # The name of the resource utilization metric name to customize.
5967
+ #
5968
+ # <note markdown="1"> Compute Optimizer only supports `CpuUtilization`.
5969
+ #
5970
+ # </note>
5971
+ # @return [String]
5972
+ #
5973
+ # @!attribute [rw] metric_parameters
5974
+ # The parameters to set when customizing the resource utilization
5975
+ # thresholds.
5976
+ # @return [Types::CustomizableMetricParameters]
5977
+ #
5978
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UtilizationPreference AWS API Documentation
5979
+ #
5980
+ class UtilizationPreference < Struct.new(
5981
+ :metric_name,
5982
+ :metric_parameters)
5983
+ SENSITIVE = []
5984
+ include Aws::Structure
5985
+ end
5986
+
5271
5987
  # Describes the configuration of an Amazon Elastic Block Store (Amazon
5272
5988
  # EBS) volume.
5273
5989
  #
@@ -5378,6 +6094,11 @@ module Aws::ComputeOptimizer
5378
6094
  # A list of tags assigned to your Amazon EBS volume recommendations.
5379
6095
  # @return [Array<Types::Tag>]
5380
6096
  #
6097
+ # @!attribute [rw] effective_recommendation_preferences
6098
+ # Describes the effective recommendation preferences for Amazon EBS
6099
+ # volume.
6100
+ # @return [Types::EBSEffectiveRecommendationPreferences]
6101
+ #
5381
6102
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/VolumeRecommendation AWS API Documentation
5382
6103
  #
5383
6104
  class VolumeRecommendation < Struct.new(
@@ -5390,7 +6111,8 @@ module Aws::ComputeOptimizer
5390
6111
  :volume_recommendation_options,
5391
6112
  :last_refresh_timestamp,
5392
6113
  :current_performance_risk,
5393
- :tags)
6114
+ :tags,
6115
+ :effective_recommendation_preferences)
5394
6116
  SENSITIVE = []
5395
6117
  include Aws::Structure
5396
6118
  end
@@ -5427,13 +6149,20 @@ module Aws::ComputeOptimizer
5427
6149
  # monthly savings amount and percentage.
5428
6150
  # @return [Types::SavingsOpportunity]
5429
6151
  #
6152
+ # @!attribute [rw] savings_opportunity_after_discounts
6153
+ # An object that describes the savings opportunity for the Amazon EBS
6154
+ # volume recommendation option with specific discounts. Savings
6155
+ # opportunity includes the estimated monthly savings and percentage.
6156
+ # @return [Types::EBSSavingsOpportunityAfterDiscounts]
6157
+ #
5430
6158
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/VolumeRecommendationOption AWS API Documentation
5431
6159
  #
5432
6160
  class VolumeRecommendationOption < Struct.new(
5433
6161
  :configuration,
5434
6162
  :performance_risk,
5435
6163
  :rank,
5436
- :savings_opportunity)
6164
+ :savings_opportunity,
6165
+ :savings_opportunity_after_discounts)
5437
6166
  SENSITIVE = []
5438
6167
  include Aws::Structure
5439
6168
  end