aws-sdk-computeoptimizer 1.49.0 → 1.51.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.
@@ -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