aws-sdk-computeoptimizer 1.46.0 → 1.48.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -190,6 +190,11 @@ module Aws::ComputeOptimizer
190
190
  # instance.
191
191
  # @return [Array<String>]
192
192
  #
193
+ # @!attribute [rw] current_instance_gpu_info
194
+ # Describes the GPU accelerator settings for the current instance type
195
+ # of the Auto Scaling group.
196
+ # @return [Types::GpuInfo]
197
+ #
193
198
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendation AWS API Documentation
194
199
  #
195
200
  class AutoScalingGroupRecommendation < Struct.new(
@@ -204,7 +209,8 @@ module Aws::ComputeOptimizer
204
209
  :last_refresh_timestamp,
205
210
  :current_performance_risk,
206
211
  :effective_recommendation_preferences,
207
- :inferred_workload_types)
212
+ :inferred_workload_types,
213
+ :current_instance_gpu_info)
208
214
  SENSITIVE = []
209
215
  include Aws::Structure
210
216
  end
@@ -278,6 +284,11 @@ module Aws::ComputeOptimizer
278
284
  # architecture.
279
285
  # @return [String]
280
286
  #
287
+ # @!attribute [rw] instance_gpu_info
288
+ # Describes the GPU accelerator settings for the recommended instance
289
+ # type of the Auto Scaling group.
290
+ # @return [Types::GpuInfo]
291
+ #
281
292
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendationOption AWS API Documentation
282
293
  #
283
294
  class AutoScalingGroupRecommendationOption < Struct.new(
@@ -286,7 +297,8 @@ module Aws::ComputeOptimizer
286
297
  :performance_risk,
287
298
  :rank,
288
299
  :savings_opportunity,
289
- :migration_effort)
300
+ :migration_effort,
301
+ :instance_gpu_info)
290
302
  SENSITIVE = []
291
303
  include Aws::Structure
292
304
  end
@@ -1751,6 +1763,120 @@ module Aws::ComputeOptimizer
1751
1763
  include Aws::Structure
1752
1764
  end
1753
1765
 
1766
+ # @!attribute [rw] account_ids
1767
+ # The IDs of the Amazon Web Services accounts for which to export
1768
+ # license recommendations.
1769
+ #
1770
+ # If your account is the management account of an organization, use
1771
+ # this parameter to specify the member account for which you want to
1772
+ # export recommendations.
1773
+ #
1774
+ # This parameter can't be specified together with the include member
1775
+ # accounts parameter. The parameters are mutually exclusive.
1776
+ #
1777
+ # If this parameter is omitted, recommendations for member accounts
1778
+ # aren't included in the export.
1779
+ #
1780
+ # You can specify multiple account IDs per request.
1781
+ # @return [Array<String>]
1782
+ #
1783
+ # @!attribute [rw] filters
1784
+ # An array of objects to specify a filter that exports a more specific
1785
+ # set of license recommendations.
1786
+ # @return [Array<Types::LicenseRecommendationFilter>]
1787
+ #
1788
+ # @!attribute [rw] fields_to_export
1789
+ # The recommendations data to include in the export file. For more
1790
+ # information about the fields that can be exported, see [Exported
1791
+ # files][1] in the *Compute Optimizer User Guide*.
1792
+ #
1793
+ #
1794
+ #
1795
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
1796
+ # @return [Array<String>]
1797
+ #
1798
+ # @!attribute [rw] s3_destination_config
1799
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
1800
+ # bucket name and key prefix for a recommendations export job.
1801
+ #
1802
+ # You must create the destination Amazon S3 bucket for your
1803
+ # recommendations export before you create the export job. Compute
1804
+ # Optimizer does not create the S3 bucket for you. After you create
1805
+ # the S3 bucket, ensure that it has the required permission policy to
1806
+ # allow Compute Optimizer to write the export file to it. If you plan
1807
+ # to specify an object prefix when you create the export job, you must
1808
+ # include the object prefix in the policy that you add to the S3
1809
+ # bucket. For more information, see [Amazon S3 Bucket Policy for
1810
+ # Compute Optimizer][1] in the *Compute Optimizer User Guide*.
1811
+ #
1812
+ #
1813
+ #
1814
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
1815
+ # @return [Types::S3DestinationConfig]
1816
+ #
1817
+ # @!attribute [rw] file_format
1818
+ # The format of the export file.
1819
+ #
1820
+ # A CSV file is the only export format currently supported.
1821
+ # @return [String]
1822
+ #
1823
+ # @!attribute [rw] include_member_accounts
1824
+ # Indicates whether to include recommendations for resources in all
1825
+ # member accounts of the organization if your account is the
1826
+ # management account of an organization.
1827
+ #
1828
+ # The member accounts must also be opted in to Compute Optimizer, and
1829
+ # trusted access for Compute Optimizer must be enabled in the
1830
+ # organization account. For more information, see [Compute Optimizer
1831
+ # and Amazon Web Services Organizations trusted access][1] in the
1832
+ # *Compute Optimizer User Guide*.
1833
+ #
1834
+ # If this parameter is omitted, recommendations for member accounts of
1835
+ # the organization aren't included in the export file .
1836
+ #
1837
+ # This parameter cannot be specified together with the account IDs
1838
+ # parameter. The parameters are mutually exclusive.
1839
+ #
1840
+ #
1841
+ #
1842
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
1843
+ # @return [Boolean]
1844
+ #
1845
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLicenseRecommendationsRequest AWS API Documentation
1846
+ #
1847
+ class ExportLicenseRecommendationsRequest < Struct.new(
1848
+ :account_ids,
1849
+ :filters,
1850
+ :fields_to_export,
1851
+ :s3_destination_config,
1852
+ :file_format,
1853
+ :include_member_accounts)
1854
+ SENSITIVE = []
1855
+ include Aws::Structure
1856
+ end
1857
+
1858
+ # @!attribute [rw] job_id
1859
+ # The identification number of the export job.
1860
+ #
1861
+ # To view the status of an export job, use the
1862
+ # DescribeRecommendationExportJobs action and specify the job ID.
1863
+ # @return [String]
1864
+ #
1865
+ # @!attribute [rw] s3_destination
1866
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
1867
+ # bucket name and object keys of a recommendations export file, and
1868
+ # its associated metadata file.
1869
+ # @return [Types::S3Destination]
1870
+ #
1871
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLicenseRecommendationsResponse AWS API Documentation
1872
+ #
1873
+ class ExportLicenseRecommendationsResponse < Struct.new(
1874
+ :job_id,
1875
+ :s3_destination)
1876
+ SENSITIVE = []
1877
+ include Aws::Structure
1878
+ end
1879
+
1754
1880
  # Describes Compute Optimizer's integration status with your chosen
1755
1881
  # external metric provider. For example, Datadog.
1756
1882
  #
@@ -2592,6 +2718,77 @@ module Aws::ComputeOptimizer
2592
2718
  include Aws::Structure
2593
2719
  end
2594
2720
 
2721
+ # @!attribute [rw] resource_arns
2722
+ # The ARN that identifies the Amazon EC2 instance.
2723
+ #
2724
+ # The following is the format of the ARN:
2725
+ #
2726
+ # `arn:aws:ec2:region:aws_account_id:instance/instance-id`
2727
+ # @return [Array<String>]
2728
+ #
2729
+ # @!attribute [rw] next_token
2730
+ # The token to advance to the next page of license recommendations.
2731
+ # @return [String]
2732
+ #
2733
+ # @!attribute [rw] max_results
2734
+ # The maximum number of license recommendations to return with a
2735
+ # single request.
2736
+ #
2737
+ # To retrieve the remaining results, make another request with the
2738
+ # returned `nextToken` value.
2739
+ # @return [Integer]
2740
+ #
2741
+ # @!attribute [rw] filters
2742
+ # An array of objects to specify a filter that returns a more specific
2743
+ # list of license recommendations.
2744
+ # @return [Array<Types::LicenseRecommendationFilter>]
2745
+ #
2746
+ # @!attribute [rw] account_ids
2747
+ # The ID of the Amazon Web Services account for which to return
2748
+ # license recommendations.
2749
+ #
2750
+ # If your account is the management account of an organization, use
2751
+ # this parameter to specify the member account for which you want to
2752
+ # return license recommendations.
2753
+ #
2754
+ # Only one account ID can be specified per request.
2755
+ # @return [Array<String>]
2756
+ #
2757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLicenseRecommendationsRequest AWS API Documentation
2758
+ #
2759
+ class GetLicenseRecommendationsRequest < Struct.new(
2760
+ :resource_arns,
2761
+ :next_token,
2762
+ :max_results,
2763
+ :filters,
2764
+ :account_ids)
2765
+ SENSITIVE = []
2766
+ include Aws::Structure
2767
+ end
2768
+
2769
+ # @!attribute [rw] next_token
2770
+ # The token to use to advance to the next page of license
2771
+ # recommendations.
2772
+ # @return [String]
2773
+ #
2774
+ # @!attribute [rw] license_recommendations
2775
+ # An array of objects that describe license recommendations.
2776
+ # @return [Array<Types::LicenseRecommendation>]
2777
+ #
2778
+ # @!attribute [rw] errors
2779
+ # An array of objects that describe errors of the request.
2780
+ # @return [Array<Types::GetRecommendationError>]
2781
+ #
2782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLicenseRecommendationsResponse AWS API Documentation
2783
+ #
2784
+ class GetLicenseRecommendationsResponse < Struct.new(
2785
+ :next_token,
2786
+ :license_recommendations,
2787
+ :errors)
2788
+ SENSITIVE = []
2789
+ include Aws::Structure
2790
+ end
2791
+
2595
2792
  # Describes an error experienced when getting recommendations.
2596
2793
  #
2597
2794
  # For example, an error is returned if you request recommendations for
@@ -2748,6 +2945,40 @@ module Aws::ComputeOptimizer
2748
2945
  include Aws::Structure
2749
2946
  end
2750
2947
 
2948
+ # Describes the GPU accelerators for the instance type.
2949
+ #
2950
+ # @!attribute [rw] gpu_count
2951
+ # The number of GPUs for the instance type.
2952
+ # @return [Integer]
2953
+ #
2954
+ # @!attribute [rw] gpu_memory_size_in_mi_b
2955
+ # The total size of the memory for the GPU accelerators for the
2956
+ # instance type, in MiB.
2957
+ # @return [Integer]
2958
+ #
2959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/Gpu AWS API Documentation
2960
+ #
2961
+ class Gpu < Struct.new(
2962
+ :gpu_count,
2963
+ :gpu_memory_size_in_mi_b)
2964
+ SENSITIVE = []
2965
+ include Aws::Structure
2966
+ end
2967
+
2968
+ # Describes the GPU accelerator settings for the instance type.
2969
+ #
2970
+ # @!attribute [rw] gpus
2971
+ # Describes the GPU accelerators for the instance type.
2972
+ # @return [Array<Types::Gpu>]
2973
+ #
2974
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GpuInfo AWS API Documentation
2975
+ #
2976
+ class GpuInfo < Struct.new(
2977
+ :gpus)
2978
+ SENSITIVE = []
2979
+ include Aws::Structure
2980
+ end
2981
+
2751
2982
  # The estimated monthly savings after you adjust the configurations of
2752
2983
  # your instances running on the inferred workload types to the
2753
2984
  # recommended configurations. If the `inferredWorkloadTypes` list
@@ -3072,6 +3303,15 @@ module Aws::ComputeOptimizer
3072
3303
  # with your external metrics provider.
3073
3304
  # @return [Types::ExternalMetricStatus]
3074
3305
  #
3306
+ # @!attribute [rw] current_instance_gpu_info
3307
+ # Describes the GPU accelerator settings for the current instance
3308
+ # type.
3309
+ # @return [Types::GpuInfo]
3310
+ #
3311
+ # @!attribute [rw] idle
3312
+ # Describes if an Amazon EC2 instance is idle.
3313
+ # @return [String]
3314
+ #
3075
3315
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceRecommendation AWS API Documentation
3076
3316
  #
3077
3317
  class InstanceRecommendation < Struct.new(
@@ -3091,7 +3331,9 @@ module Aws::ComputeOptimizer
3091
3331
  :inferred_workload_types,
3092
3332
  :instance_state,
3093
3333
  :tags,
3094
- :external_metric_status)
3334
+ :external_metric_status,
3335
+ :current_instance_gpu_info,
3336
+ :idle)
3095
3337
  SENSITIVE = []
3096
3338
  include Aws::Structure
3097
3339
  end
@@ -3262,6 +3504,11 @@ module Aws::ComputeOptimizer
3262
3504
  # architecture.
3263
3505
  # @return [String]
3264
3506
  #
3507
+ # @!attribute [rw] instance_gpu_info
3508
+ # Describes the GPU accelerator settings for the recommended instance
3509
+ # type.
3510
+ # @return [Types::GpuInfo]
3511
+ #
3265
3512
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceRecommendationOption AWS API Documentation
3266
3513
  #
3267
3514
  class InstanceRecommendationOption < Struct.new(
@@ -3271,7 +3518,8 @@ module Aws::ComputeOptimizer
3271
3518
  :performance_risk,
3272
3519
  :rank,
3273
3520
  :savings_opportunity,
3274
- :migration_effort)
3521
+ :migration_effort,
3522
+ :instance_gpu_info)
3275
3523
  SENSITIVE = []
3276
3524
  include Aws::Structure
3277
3525
  end
@@ -3662,6 +3910,260 @@ module Aws::ComputeOptimizer
3662
3910
  include Aws::Structure
3663
3911
  end
3664
3912
 
3913
+ # Describes the configuration of a license for an Amazon EC2 instance.
3914
+ #
3915
+ # @!attribute [rw] number_of_cores
3916
+ # The current number of cores associated with the instance.
3917
+ # @return [Integer]
3918
+ #
3919
+ # @!attribute [rw] instance_type
3920
+ # The instance type used in the license.
3921
+ # @return [String]
3922
+ #
3923
+ # @!attribute [rw] operating_system
3924
+ # The operating system of the instance.
3925
+ # @return [String]
3926
+ #
3927
+ # @!attribute [rw] license_edition
3928
+ # The edition of the license for the application that runs on the
3929
+ # instance.
3930
+ # @return [String]
3931
+ #
3932
+ # @!attribute [rw] license_name
3933
+ # The name of the license for the application that runs on the
3934
+ # instance.
3935
+ # @return [String]
3936
+ #
3937
+ # @!attribute [rw] license_model
3938
+ # The license type associated with the instance.
3939
+ # @return [String]
3940
+ #
3941
+ # @!attribute [rw] license_version
3942
+ # The version of the license for the application that runs on the
3943
+ # instance.
3944
+ # @return [String]
3945
+ #
3946
+ # @!attribute [rw] metrics_source
3947
+ # The list of metric sources required to generate recommendations for
3948
+ # commercial software licenses.
3949
+ # @return [Array<Types::MetricSource>]
3950
+ #
3951
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LicenseConfiguration AWS API Documentation
3952
+ #
3953
+ class LicenseConfiguration < Struct.new(
3954
+ :number_of_cores,
3955
+ :instance_type,
3956
+ :operating_system,
3957
+ :license_edition,
3958
+ :license_name,
3959
+ :license_model,
3960
+ :license_version,
3961
+ :metrics_source)
3962
+ SENSITIVE = []
3963
+ include Aws::Structure
3964
+ end
3965
+
3966
+ # Describes a license recommendation for an EC2 instance.
3967
+ #
3968
+ # @!attribute [rw] resource_arn
3969
+ # The ARN that identifies the Amazon EC2 instance.
3970
+ # @return [String]
3971
+ #
3972
+ # @!attribute [rw] account_id
3973
+ # The Amazon Web Services account ID of the license.
3974
+ # @return [String]
3975
+ #
3976
+ # @!attribute [rw] current_license_configuration
3977
+ # An object that describes the current configuration of an instance
3978
+ # that runs on a license.
3979
+ # @return [Types::LicenseConfiguration]
3980
+ #
3981
+ # @!attribute [rw] lookback_period_in_days
3982
+ # The number of days for which utilization metrics were analyzed for
3983
+ # an instance that runs on a license.
3984
+ # @return [Float]
3985
+ #
3986
+ # @!attribute [rw] last_refresh_timestamp
3987
+ # The timestamp of when the license recommendation was last generated.
3988
+ # @return [Time]
3989
+ #
3990
+ # @!attribute [rw] finding
3991
+ # The finding classification for an instance that runs on a license.
3992
+ #
3993
+ # Findings include:
3994
+ #
3995
+ # * `InsufficentMetrics` — When Compute Optimizer detects that your
3996
+ # CloudWatch Application Insights isn't enabled or is enabled with
3997
+ # insufficient permissions.
3998
+ #
3999
+ # * `NotOptimized` — When Compute Optimizer detects that your EC2
4000
+ # infrastructure isn't using any of the SQL server license features
4001
+ # you're paying for, a license is considered not optimized.
4002
+ #
4003
+ # * `Optimized` — When Compute Optimizer detects that all
4004
+ # specifications of your license meet the performance requirements
4005
+ # of your workload.
4006
+ # @return [String]
4007
+ #
4008
+ # @!attribute [rw] finding_reason_codes
4009
+ # The reason for the finding classification for an instance that runs
4010
+ # on a license.
4011
+ #
4012
+ # Finding reason codes include:
4013
+ #
4014
+ # * `Optimized` — All specifications of your license meet the
4015
+ # performance requirements of your workload.
4016
+ #
4017
+ # * `LicenseOverprovisioned` — A license is considered
4018
+ # over-provisioned when your license can be downgraded while still
4019
+ # meeting the performance requirements of your workload.
4020
+ #
4021
+ # * `InvalidCloudwatchApplicationInsights` — CloudWatch Application
4022
+ # Insights isn't configured properly.
4023
+ #
4024
+ # * `CloudwatchApplicationInsightsError` — There is a CloudWatch
4025
+ # Application Insights error.
4026
+ # @return [Array<String>]
4027
+ #
4028
+ # @!attribute [rw] license_recommendation_options
4029
+ # An array of objects that describe the license recommendation
4030
+ # options.
4031
+ # @return [Array<Types::LicenseRecommendationOption>]
4032
+ #
4033
+ # @!attribute [rw] tags
4034
+ # A list of tags assigned to an EC2 instance.
4035
+ # @return [Array<Types::Tag>]
4036
+ #
4037
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LicenseRecommendation AWS API Documentation
4038
+ #
4039
+ class LicenseRecommendation < Struct.new(
4040
+ :resource_arn,
4041
+ :account_id,
4042
+ :current_license_configuration,
4043
+ :lookback_period_in_days,
4044
+ :last_refresh_timestamp,
4045
+ :finding,
4046
+ :finding_reason_codes,
4047
+ :license_recommendation_options,
4048
+ :tags)
4049
+ SENSITIVE = []
4050
+ include Aws::Structure
4051
+ end
4052
+
4053
+ # Describes a filter that returns a more specific list of license
4054
+ # recommendations. Use this filter with the `GetLicenseRecommendation`
4055
+ # action.
4056
+ #
4057
+ # @!attribute [rw] name
4058
+ # The name of the filter.
4059
+ #
4060
+ # Specify `Finding` to return recommendations with a specific finding
4061
+ # classification.
4062
+ #
4063
+ # Specify `FindingReasonCode` to return recommendations with a
4064
+ # specific finding reason code.
4065
+ #
4066
+ # You can filter your license recommendations by `tag:key` and
4067
+ # `tag-key` tags.
4068
+ #
4069
+ # A `tag:key` is a key and value combination of a tag assigned to your
4070
+ # license recommendations. Use the tag key in the filter name and the
4071
+ # tag value as the filter value. For example, to find all license
4072
+ # recommendations that have a tag with the key of `Owner` and the
4073
+ # value of `TeamA`, specify `tag:Owner` for the filter name and
4074
+ # `TeamA` for the filter value.
4075
+ #
4076
+ # A `tag-key` is the key of a tag assigned to your license
4077
+ # recommendations. Use this filter to find all of your license
4078
+ # recommendations that have a tag with a specific key. This doesn’t
4079
+ # consider the tag value. For example, you can find your license
4080
+ # recommendations with a tag key value of `Owner` or without any tag
4081
+ # keys assigned.
4082
+ # @return [String]
4083
+ #
4084
+ # @!attribute [rw] values
4085
+ # The value of the filter.
4086
+ #
4087
+ # The valid values for this parameter are as follows, depending on
4088
+ # what you specify for the `name` parameter:
4089
+ #
4090
+ # * If you specify the `name` parameter as `Finding`, then specify
4091
+ # `Optimized`, `NotOptimized`, or `InsufficentMetrics`.
4092
+ #
4093
+ # * If you specify the `name` parameter as `FindingReasonCode`, then
4094
+ # specify `Optimized`, `LicenseOverprovisioned`,
4095
+ # `InvalidCloudwatchApplicationInsights`, or
4096
+ # `CloudwatchApplicationInsightsError`.
4097
+ # @return [Array<String>]
4098
+ #
4099
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LicenseRecommendationFilter AWS API Documentation
4100
+ #
4101
+ class LicenseRecommendationFilter < Struct.new(
4102
+ :name,
4103
+ :values)
4104
+ SENSITIVE = []
4105
+ include Aws::Structure
4106
+ end
4107
+
4108
+ # Describes the recommendation options for licenses.
4109
+ #
4110
+ # @!attribute [rw] rank
4111
+ # The rank of the license recommendation option.
4112
+ #
4113
+ # The top recommendation option is ranked as `1`.
4114
+ # @return [Integer]
4115
+ #
4116
+ # @!attribute [rw] operating_system
4117
+ # The operating system of a license recommendation option.
4118
+ # @return [String]
4119
+ #
4120
+ # @!attribute [rw] license_edition
4121
+ # The recommended edition of the license for the application that runs
4122
+ # on the instance.
4123
+ # @return [String]
4124
+ #
4125
+ # @!attribute [rw] license_model
4126
+ # The recommended license type associated with the instance.
4127
+ # @return [String]
4128
+ #
4129
+ # @!attribute [rw] savings_opportunity
4130
+ # Describes the savings opportunity for recommendations of a given
4131
+ # resource type or for the recommendation option of an individual
4132
+ # resource.
4133
+ #
4134
+ # Savings opportunity represents the estimated monthly savings you can
4135
+ # achieve by implementing a given Compute Optimizer recommendation.
4136
+ #
4137
+ # Savings opportunity data requires that you opt in to Cost Explorer,
4138
+ # as well as activate **Receive Amazon EC2 resource recommendations**
4139
+ # in the Cost Explorer preferences page. That creates a connection
4140
+ # between Cost Explorer and Compute Optimizer. With this connection,
4141
+ # Cost Explorer generates savings estimates considering the price of
4142
+ # existing resources, the price of recommended resources, and
4143
+ # historical usage data. Estimated monthly savings reflects the
4144
+ # projected dollar savings associated with each of the recommendations
4145
+ # generated. For more information, see [Enabling Cost Explorer][1] and
4146
+ # [Optimizing your cost with Rightsizing Recommendations][2] in the
4147
+ # *Cost Management User Guide*.
4148
+ #
4149
+ #
4150
+ #
4151
+ # [1]: https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html
4152
+ # [2]: https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html
4153
+ # @return [Types::SavingsOpportunity]
4154
+ #
4155
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LicenseRecommendationOption AWS API Documentation
4156
+ #
4157
+ class LicenseRecommendationOption < Struct.new(
4158
+ :rank,
4159
+ :operating_system,
4160
+ :license_edition,
4161
+ :license_model,
4162
+ :savings_opportunity)
4163
+ SENSITIVE = []
4164
+ include Aws::Structure
4165
+ end
4166
+
3665
4167
  # The request exceeds a limit of the service.
3666
4168
  #
3667
4169
  # @!attribute [rw] message
@@ -3694,6 +4196,26 @@ module Aws::ComputeOptimizer
3694
4196
  include Aws::Structure
3695
4197
  end
3696
4198
 
4199
+ # The list of metric sources required to generate recommendations for
4200
+ # commercial software licenses.
4201
+ #
4202
+ # @!attribute [rw] provider
4203
+ # The name of the metric source provider.
4204
+ # @return [String]
4205
+ #
4206
+ # @!attribute [rw] provider_arn
4207
+ # The ARN of the metric source provider.
4208
+ # @return [String]
4209
+ #
4210
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/MetricSource AWS API Documentation
4211
+ #
4212
+ class MetricSource < Struct.new(
4213
+ :provider,
4214
+ :provider_arn)
4215
+ SENSITIVE = []
4216
+ include Aws::Structure
4217
+ end
4218
+
3697
4219
  # The request must contain either a valid (registered) Amazon Web
3698
4220
  # Services access key ID or X.509 certificate.
3699
4221
  #
@@ -3730,18 +4252,20 @@ module Aws::ComputeOptimizer
3730
4252
  # projected utilization metric data to determine the performance
3731
4253
  # difference between your current resource and the recommended option.
3732
4254
  #
3733
- # <note markdown="1"> The `Cpu` and `Memory` metrics are the only projected utilization
3734
- # metrics returned when you run the GetEC2RecommendationProjectedMetrics
3735
- # action. Additionally, the `Memory` metric is returned only for
3736
- # resources that have the unified CloudWatch agent installed on them.
3737
- # For more information, see [Enabling Memory Utilization with the
3738
- # CloudWatch Agent][1].
4255
+ # <note markdown="1"> The `Cpu`, `Memory`, `GPU`, and `GPU_MEMORY` metrics are the only
4256
+ # projected utilization metrics returned when you run the
4257
+ # GetEC2RecommendationProjectedMetrics action. Additionally, these
4258
+ # metrics are only returned for resources with the unified CloudWatch
4259
+ # agent installed on them. For more information, see [Enabling Memory
4260
+ # Utilization with the CloudWatch Agent][1] and [Enabling NVIDIA GPU
4261
+ # utilization with the CloudWatch Agent][2].
3739
4262
  #
3740
4263
  # </note>
3741
4264
  #
3742
4265
  #
3743
4266
  #
3744
4267
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent
4268
+ # [2]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#nvidia-cw-agent
3745
4269
  #
3746
4270
  # @!attribute [rw] name
3747
4271
  # The name of the projected utilization metric.
@@ -3758,8 +4282,6 @@ module Aws::ComputeOptimizer
3758
4282
  # show a lower percentage than CloudWatch when the instance is not
3759
4283
  # allocated a full processor core.
3760
4284
  #
3761
- # Units: Percent
3762
- #
3763
4285
  # * `Memory` - The percentage of memory that would be in use on the
3764
4286
  # recommendation option had you used that resource during the
3765
4287
  # analyzed period. This metric identifies the amount of memory
@@ -3767,15 +4289,30 @@ module Aws::ComputeOptimizer
3767
4289
  #
3768
4290
  # Units: Percent
3769
4291
  #
3770
- # <note markdown="1"> The `Memory` metric is returned only for resources that have the
4292
+ # <note markdown="1"> The `Memory` metric is only returned for resources with the
3771
4293
  # unified CloudWatch agent installed on them. For more information,
3772
4294
  # see [Enabling Memory Utilization with the CloudWatch Agent][1].
3773
4295
  #
3774
4296
  # </note>
3775
4297
  #
4298
+ # * `GPU` - The projected percentage of allocated GPUs if you adjust
4299
+ # your configurations to Compute Optimizer's recommendation option.
4300
+ #
4301
+ # * `GPU_MEMORY` - The projected percentage of total GPU memory if you
4302
+ # adjust your configurations to Compute Optimizer's recommendation
4303
+ # option.
4304
+ #
4305
+ # <note markdown="1"> The `GPU` and `GPU_MEMORY` metrics are only returned for resources
4306
+ # with the unified CloudWatch Agent installed on them. For more
4307
+ # information, see [Enabling NVIDIA GPU utilization with the
4308
+ # CloudWatch Agent][2].
4309
+ #
4310
+ # </note>
4311
+ #
3776
4312
  #
3777
4313
  #
3778
4314
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent
4315
+ # [2]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#nvidia-cw-agent
3779
4316
  # @return [String]
3780
4317
  #
3781
4318
  # @!attribute [rw] timestamps
@@ -4129,8 +4666,8 @@ module Aws::ComputeOptimizer
4129
4666
  # @!attribute [rw] inferred_workload_savings
4130
4667
  # An array of objects that describes the estimated monthly saving
4131
4668
  # amounts for the instances running on the specified
4132
- # `inferredWorkloadTypes`. The array contains the top three savings
4133
- # opportunites for the instances running inferred workload types.
4669
+ # `inferredWorkloadTypes`. The array contains the top five savings
4670
+ # opportunites for the instances that run inferred workload types.
4134
4671
  # @return [Array<Types::InferredWorkloadSaving>]
4135
4672
  #
4136
4673
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationSummary AWS API Documentation
@@ -4605,6 +5142,19 @@ module Aws::ComputeOptimizer
4605
5142
  #
4606
5143
  # </note>
4607
5144
  #
5145
+ # * `GPU` - The percentage of allocated GPUs that currently run on the
5146
+ # instance.
5147
+ #
5148
+ # * `GPU_MEMORY` - The percentage of total GPU memory that currently
5149
+ # runs on the instance.
5150
+ #
5151
+ # <note markdown="1"> The `GPU` and `GPU_MEMORY` metrics are only returned for resources
5152
+ # with the unified CloudWatch Agent installed on them. For more
5153
+ # information, see [Enabling NVIDIA GPU utilization with the
5154
+ # CloudWatch Agent][2].
5155
+ #
5156
+ # </note>
5157
+ #
4608
5158
  # * `EBS_READ_OPS_PER_SECOND` - The completed read operations from all
4609
5159
  # EBS volumes attached to the instance in a specified period of
4610
5160
  # time.
@@ -4680,6 +5230,7 @@ module Aws::ComputeOptimizer
4680
5230
  #
4681
5231
  #
4682
5232
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent
5233
+ # [2]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#nvidia-cw-agent
4683
5234
  # @return [String]
4684
5235
  #
4685
5236
  # @!attribute [rw] statistic