aws-sdk-computeoptimizer 1.46.0 → 1.47.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-computeoptimizer/client.rb +245 -8
- data/lib/aws-sdk-computeoptimizer/client_api.rb +134 -0
- data/lib/aws-sdk-computeoptimizer/endpoints.rb +28 -0
- data/lib/aws-sdk-computeoptimizer/plugins/endpoints.rb +4 -0
- data/lib/aws-sdk-computeoptimizer/types.rb +459 -0
- data/lib/aws-sdk-computeoptimizer.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4276765406440eabb7cfa7d4a64645505339cb29ec3aacc1389516443d5eb0a3
|
4
|
+
data.tar.gz: 1915b2ce87188c5da31e1bbcf297fc375005e2423b4e2093fb27eda13dbe0fa9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5e2bb0a10db425e122b20cd873d0e1a3a04bf9711ce6d08ec102769f4e75dee03e8e657eedc136d185ec7779072e6cde9db3b51e3d5e3b2bde7b93c7b527db3d
|
7
|
+
data.tar.gz: a66058caf1baed2d640e049d17be3ba7b2786d1595ee2c09c02b41ea6db382bf1360a44c65b0973557418635d2b57364440b8977646deb3f7df05c3b4a0b3ca5
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.47.0 (2023-08-28)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - This release enables AWS Compute Optimizer to analyze and generate licensing optimization recommendations for sql server running on EC2 instances.
|
8
|
+
|
4
9
|
1.46.0 (2023-07-11)
|
5
10
|
------------------
|
6
11
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.47.0
|
@@ -443,7 +443,7 @@ module Aws::ComputeOptimizer
|
|
443
443
|
# @example Request syntax with placeholder values
|
444
444
|
#
|
445
445
|
# resp = client.delete_recommendation_preferences({
|
446
|
-
# resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService
|
446
|
+
# resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService, License
|
447
447
|
# scope: {
|
448
448
|
# name: "Organization", # accepts Organization, AccountId, ResourceArn
|
449
449
|
# value: "ScopeValue",
|
@@ -518,7 +518,7 @@ module Aws::ComputeOptimizer
|
|
518
518
|
# resp.recommendation_export_jobs[0].destination.s3.bucket #=> String
|
519
519
|
# resp.recommendation_export_jobs[0].destination.s3.key #=> String
|
520
520
|
# resp.recommendation_export_jobs[0].destination.s3.metadata_key #=> String
|
521
|
-
# resp.recommendation_export_jobs[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable", "EcsService"
|
521
|
+
# resp.recommendation_export_jobs[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable", "EcsService", "License"
|
522
522
|
# resp.recommendation_export_jobs[0].status #=> String, one of "Queued", "InProgress", "Complete", "Failed"
|
523
523
|
# resp.recommendation_export_jobs[0].creation_timestamp #=> Time
|
524
524
|
# resp.recommendation_export_jobs[0].last_updated_timestamp #=> Time
|
@@ -1199,6 +1199,134 @@ module Aws::ComputeOptimizer
|
|
1199
1199
|
req.send_request(options)
|
1200
1200
|
end
|
1201
1201
|
|
1202
|
+
# Export optimization recommendations for your licenses.
|
1203
|
+
#
|
1204
|
+
# Recommendations are exported in a comma-separated values (CSV) file,
|
1205
|
+
# and its metadata in a JavaScript Object Notation (JSON) file, to an
|
1206
|
+
# existing Amazon Simple Storage Service (Amazon S3) bucket that you
|
1207
|
+
# specify. For more information, see [Exporting Recommendations][1] in
|
1208
|
+
# the *Compute Optimizer User Guide*.
|
1209
|
+
#
|
1210
|
+
# You can have only one license export job in progress per Amazon Web
|
1211
|
+
# Services Region.
|
1212
|
+
#
|
1213
|
+
#
|
1214
|
+
#
|
1215
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html
|
1216
|
+
#
|
1217
|
+
# @option params [Array<String>] :account_ids
|
1218
|
+
# The IDs of the Amazon Web Services accounts for which to export
|
1219
|
+
# license recommendations.
|
1220
|
+
#
|
1221
|
+
# If your account is the management account of an organization, use this
|
1222
|
+
# parameter to specify the member account for which you want to export
|
1223
|
+
# recommendations.
|
1224
|
+
#
|
1225
|
+
# This parameter can't be specified together with the include member
|
1226
|
+
# accounts parameter. The parameters are mutually exclusive.
|
1227
|
+
#
|
1228
|
+
# If this parameter is omitted, recommendations for member accounts
|
1229
|
+
# aren't included in the export.
|
1230
|
+
#
|
1231
|
+
# You can specify multiple account IDs per request.
|
1232
|
+
#
|
1233
|
+
# @option params [Array<Types::LicenseRecommendationFilter>] :filters
|
1234
|
+
# An array of objects to specify a filter that exports a more specific
|
1235
|
+
# set of license recommendations.
|
1236
|
+
#
|
1237
|
+
# @option params [Array<String>] :fields_to_export
|
1238
|
+
# The recommendations data to include in the export file. For more
|
1239
|
+
# information about the fields that can be exported, see [Exported
|
1240
|
+
# files][1] in the *Compute Optimizer User Guide*.
|
1241
|
+
#
|
1242
|
+
#
|
1243
|
+
#
|
1244
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
|
1245
|
+
#
|
1246
|
+
# @option params [required, Types::S3DestinationConfig] :s3_destination_config
|
1247
|
+
# Describes the destination Amazon Simple Storage Service (Amazon S3)
|
1248
|
+
# bucket name and key prefix for a recommendations export job.
|
1249
|
+
#
|
1250
|
+
# You must create the destination Amazon S3 bucket for your
|
1251
|
+
# recommendations export before you create the export job. Compute
|
1252
|
+
# Optimizer does not create the S3 bucket for you. After you create the
|
1253
|
+
# S3 bucket, ensure that it has the required permission policy to allow
|
1254
|
+
# Compute Optimizer to write the export file to it. If you plan to
|
1255
|
+
# specify an object prefix when you create the export job, you must
|
1256
|
+
# include the object prefix in the policy that you add to the S3 bucket.
|
1257
|
+
# For more information, see [Amazon S3 Bucket Policy for Compute
|
1258
|
+
# Optimizer][1] in the *Compute Optimizer User Guide*.
|
1259
|
+
#
|
1260
|
+
#
|
1261
|
+
#
|
1262
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
|
1263
|
+
#
|
1264
|
+
# @option params [String] :file_format
|
1265
|
+
# The format of the export file.
|
1266
|
+
#
|
1267
|
+
# A CSV file is the only export format currently supported.
|
1268
|
+
#
|
1269
|
+
# @option params [Boolean] :include_member_accounts
|
1270
|
+
# Indicates whether to include recommendations for resources in all
|
1271
|
+
# member accounts of the organization if your account is the management
|
1272
|
+
# account of an organization.
|
1273
|
+
#
|
1274
|
+
# The member accounts must also be opted in to Compute Optimizer, and
|
1275
|
+
# trusted access for Compute Optimizer must be enabled in the
|
1276
|
+
# organization account. For more information, see [Compute Optimizer and
|
1277
|
+
# Amazon Web Services Organizations trusted access][1] in the *Compute
|
1278
|
+
# Optimizer User Guide*.
|
1279
|
+
#
|
1280
|
+
# If this parameter is omitted, recommendations for member accounts of
|
1281
|
+
# the organization aren't included in the export file .
|
1282
|
+
#
|
1283
|
+
# This parameter cannot be specified together with the account IDs
|
1284
|
+
# parameter. The parameters are mutually exclusive.
|
1285
|
+
#
|
1286
|
+
#
|
1287
|
+
#
|
1288
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
|
1289
|
+
#
|
1290
|
+
# @return [Types::ExportLicenseRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
1291
|
+
#
|
1292
|
+
# * {Types::ExportLicenseRecommendationsResponse#job_id #job_id} => String
|
1293
|
+
# * {Types::ExportLicenseRecommendationsResponse#s3_destination #s3_destination} => Types::S3Destination
|
1294
|
+
#
|
1295
|
+
# @example Request syntax with placeholder values
|
1296
|
+
#
|
1297
|
+
# resp = client.export_license_recommendations({
|
1298
|
+
# account_ids: ["AccountId"],
|
1299
|
+
# filters: [
|
1300
|
+
# {
|
1301
|
+
# name: "Finding", # accepts Finding, FindingReasonCode, LicenseName
|
1302
|
+
# values: ["FilterValue"],
|
1303
|
+
# },
|
1304
|
+
# ],
|
1305
|
+
# fields_to_export: ["AccountId"], # accepts AccountId, ResourceArn, LookbackPeriodInDays, LastRefreshTimestamp, Finding, FindingReasonCodes, CurrentLicenseConfigurationNumberOfCores, CurrentLicenseConfigurationInstanceType, CurrentLicenseConfigurationOperatingSystem, CurrentLicenseConfigurationLicenseName, CurrentLicenseConfigurationLicenseEdition, CurrentLicenseConfigurationLicenseModel, CurrentLicenseConfigurationLicenseVersion, CurrentLicenseConfigurationMetricsSource, RecommendationOptionsOperatingSystem, RecommendationOptionsLicenseEdition, RecommendationOptionsLicenseModel, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, Tags
|
1306
|
+
# s3_destination_config: { # required
|
1307
|
+
# bucket: "DestinationBucket",
|
1308
|
+
# key_prefix: "DestinationKeyPrefix",
|
1309
|
+
# },
|
1310
|
+
# file_format: "Csv", # accepts Csv
|
1311
|
+
# include_member_accounts: false,
|
1312
|
+
# })
|
1313
|
+
#
|
1314
|
+
# @example Response structure
|
1315
|
+
#
|
1316
|
+
# resp.job_id #=> String
|
1317
|
+
# resp.s3_destination.bucket #=> String
|
1318
|
+
# resp.s3_destination.key #=> String
|
1319
|
+
# resp.s3_destination.metadata_key #=> String
|
1320
|
+
#
|
1321
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLicenseRecommendations AWS API Documentation
|
1322
|
+
#
|
1323
|
+
# @overload export_license_recommendations(params = {})
|
1324
|
+
# @param [Hash] params ({})
|
1325
|
+
def export_license_recommendations(params = {}, options = {})
|
1326
|
+
req = build_request(:export_license_recommendations, params)
|
1327
|
+
req.send_request(options)
|
1328
|
+
end
|
1329
|
+
|
1202
1330
|
# Returns Auto Scaling group recommendations.
|
1203
1331
|
#
|
1204
1332
|
# Compute Optimizer generates recommendations for Amazon EC2 Auto
|
@@ -1533,7 +1661,7 @@ module Aws::ComputeOptimizer
|
|
1533
1661
|
# resp.instance_recommendations[0].recommendation_options[0].migration_effort #=> String, one of "VeryLow", "Low", "Medium", "High"
|
1534
1662
|
# resp.instance_recommendations[0].recommendation_sources #=> Array
|
1535
1663
|
# resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_arn #=> String
|
1536
|
-
# resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "EcsService"
|
1664
|
+
# resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "EcsService", "License"
|
1537
1665
|
# resp.instance_recommendations[0].last_refresh_timestamp #=> Time
|
1538
1666
|
# resp.instance_recommendations[0].current_performance_risk #=> String, one of "VeryLow", "Low", "Medium", "High"
|
1539
1667
|
# resp.instance_recommendations[0].effective_recommendation_preferences.cpu_vendor_architectures #=> Array
|
@@ -2064,6 +2192,115 @@ module Aws::ComputeOptimizer
|
|
2064
2192
|
req.send_request(options)
|
2065
2193
|
end
|
2066
2194
|
|
2195
|
+
# Returns license recommendations for Amazon EC2 instances that run on a
|
2196
|
+
# specific license.
|
2197
|
+
#
|
2198
|
+
# Compute Optimizer generates recommendations for licenses that meet a
|
2199
|
+
# specific set of requirements. For more information, see the [Supported
|
2200
|
+
# resources and requirements][1] in the *Compute Optimizer User Guide*.
|
2201
|
+
#
|
2202
|
+
#
|
2203
|
+
#
|
2204
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html
|
2205
|
+
#
|
2206
|
+
# @option params [Array<String>] :resource_arns
|
2207
|
+
# The ARN that identifies the Amazon EC2 instance.
|
2208
|
+
#
|
2209
|
+
# The following is the format of the ARN:
|
2210
|
+
#
|
2211
|
+
# `arn:aws:ec2:region:aws_account_id:instance/instance-id`
|
2212
|
+
#
|
2213
|
+
# @option params [String] :next_token
|
2214
|
+
# The token to advance to the next page of license recommendations.
|
2215
|
+
#
|
2216
|
+
# @option params [Integer] :max_results
|
2217
|
+
# The maximum number of license recommendations to return with a single
|
2218
|
+
# request.
|
2219
|
+
#
|
2220
|
+
# To retrieve the remaining results, make another request with the
|
2221
|
+
# returned `nextToken` value.
|
2222
|
+
#
|
2223
|
+
# @option params [Array<Types::LicenseRecommendationFilter>] :filters
|
2224
|
+
# An array of objects to specify a filter that returns a more specific
|
2225
|
+
# list of license recommendations.
|
2226
|
+
#
|
2227
|
+
# @option params [Array<String>] :account_ids
|
2228
|
+
# The ID of the Amazon Web Services account for which to return license
|
2229
|
+
# recommendations.
|
2230
|
+
#
|
2231
|
+
# If your account is the management account of an organization, use this
|
2232
|
+
# parameter to specify the member account for which you want to return
|
2233
|
+
# license recommendations.
|
2234
|
+
#
|
2235
|
+
# Only one account ID can be specified per request.
|
2236
|
+
#
|
2237
|
+
# @return [Types::GetLicenseRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
2238
|
+
#
|
2239
|
+
# * {Types::GetLicenseRecommendationsResponse#next_token #next_token} => String
|
2240
|
+
# * {Types::GetLicenseRecommendationsResponse#license_recommendations #license_recommendations} => Array<Types::LicenseRecommendation>
|
2241
|
+
# * {Types::GetLicenseRecommendationsResponse#errors #errors} => Array<Types::GetRecommendationError>
|
2242
|
+
#
|
2243
|
+
# @example Request syntax with placeholder values
|
2244
|
+
#
|
2245
|
+
# resp = client.get_license_recommendations({
|
2246
|
+
# resource_arns: ["ResourceArn"],
|
2247
|
+
# next_token: "NextToken",
|
2248
|
+
# max_results: 1,
|
2249
|
+
# filters: [
|
2250
|
+
# {
|
2251
|
+
# name: "Finding", # accepts Finding, FindingReasonCode, LicenseName
|
2252
|
+
# values: ["FilterValue"],
|
2253
|
+
# },
|
2254
|
+
# ],
|
2255
|
+
# account_ids: ["AccountId"],
|
2256
|
+
# })
|
2257
|
+
#
|
2258
|
+
# @example Response structure
|
2259
|
+
#
|
2260
|
+
# resp.next_token #=> String
|
2261
|
+
# resp.license_recommendations #=> Array
|
2262
|
+
# resp.license_recommendations[0].resource_arn #=> String
|
2263
|
+
# resp.license_recommendations[0].account_id #=> String
|
2264
|
+
# resp.license_recommendations[0].current_license_configuration.number_of_cores #=> Integer
|
2265
|
+
# resp.license_recommendations[0].current_license_configuration.instance_type #=> String
|
2266
|
+
# resp.license_recommendations[0].current_license_configuration.operating_system #=> String
|
2267
|
+
# resp.license_recommendations[0].current_license_configuration.license_edition #=> String, one of "Enterprise", "Standard", "Free", "NoLicenseEditionFound"
|
2268
|
+
# resp.license_recommendations[0].current_license_configuration.license_name #=> String, one of "SQLServer"
|
2269
|
+
# resp.license_recommendations[0].current_license_configuration.license_model #=> String, one of "LicenseIncluded", "BringYourOwnLicense"
|
2270
|
+
# resp.license_recommendations[0].current_license_configuration.license_version #=> String
|
2271
|
+
# resp.license_recommendations[0].current_license_configuration.metrics_source #=> Array
|
2272
|
+
# resp.license_recommendations[0].current_license_configuration.metrics_source[0].provider #=> String, one of "CloudWatchApplicationInsights"
|
2273
|
+
# resp.license_recommendations[0].current_license_configuration.metrics_source[0].provider_arn #=> String
|
2274
|
+
# resp.license_recommendations[0].lookback_period_in_days #=> Float
|
2275
|
+
# resp.license_recommendations[0].last_refresh_timestamp #=> Time
|
2276
|
+
# resp.license_recommendations[0].finding #=> String, one of "InsufficientMetrics", "Optimized", "NotOptimized"
|
2277
|
+
# resp.license_recommendations[0].finding_reason_codes #=> Array
|
2278
|
+
# resp.license_recommendations[0].finding_reason_codes[0] #=> String, one of "InvalidCloudWatchApplicationInsightsSetup", "CloudWatchApplicationInsightsError", "LicenseOverprovisioned", "Optimized"
|
2279
|
+
# resp.license_recommendations[0].license_recommendation_options #=> Array
|
2280
|
+
# resp.license_recommendations[0].license_recommendation_options[0].rank #=> Integer
|
2281
|
+
# resp.license_recommendations[0].license_recommendation_options[0].operating_system #=> String
|
2282
|
+
# resp.license_recommendations[0].license_recommendation_options[0].license_edition #=> String, one of "Enterprise", "Standard", "Free", "NoLicenseEditionFound"
|
2283
|
+
# resp.license_recommendations[0].license_recommendation_options[0].license_model #=> String, one of "LicenseIncluded", "BringYourOwnLicense"
|
2284
|
+
# resp.license_recommendations[0].license_recommendation_options[0].savings_opportunity.savings_opportunity_percentage #=> Float
|
2285
|
+
# resp.license_recommendations[0].license_recommendation_options[0].savings_opportunity.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
|
2286
|
+
# resp.license_recommendations[0].license_recommendation_options[0].savings_opportunity.estimated_monthly_savings.value #=> Float
|
2287
|
+
# resp.license_recommendations[0].tags #=> Array
|
2288
|
+
# resp.license_recommendations[0].tags[0].key #=> String
|
2289
|
+
# resp.license_recommendations[0].tags[0].value #=> String
|
2290
|
+
# resp.errors #=> Array
|
2291
|
+
# resp.errors[0].identifier #=> String
|
2292
|
+
# resp.errors[0].code #=> String
|
2293
|
+
# resp.errors[0].message #=> String
|
2294
|
+
#
|
2295
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLicenseRecommendations AWS API Documentation
|
2296
|
+
#
|
2297
|
+
# @overload get_license_recommendations(params = {})
|
2298
|
+
# @param [Hash] params ({})
|
2299
|
+
def get_license_recommendations(params = {}, options = {})
|
2300
|
+
req = build_request(:get_license_recommendations, params)
|
2301
|
+
req.send_request(options)
|
2302
|
+
end
|
2303
|
+
|
2067
2304
|
# Returns existing recommendation preferences, such as enhanced
|
2068
2305
|
# infrastructure metrics.
|
2069
2306
|
#
|
@@ -2127,7 +2364,7 @@ module Aws::ComputeOptimizer
|
|
2127
2364
|
# @example Request syntax with placeholder values
|
2128
2365
|
#
|
2129
2366
|
# resp = client.get_recommendation_preferences({
|
2130
|
-
# resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService
|
2367
|
+
# resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService, License
|
2131
2368
|
# scope: {
|
2132
2369
|
# name: "Organization", # accepts Organization, AccountId, ResourceArn
|
2133
2370
|
# value: "ScopeValue",
|
@@ -2142,7 +2379,7 @@ module Aws::ComputeOptimizer
|
|
2142
2379
|
# resp.recommendation_preferences_details #=> Array
|
2143
2380
|
# resp.recommendation_preferences_details[0].scope.name #=> String, one of "Organization", "AccountId", "ResourceArn"
|
2144
2381
|
# resp.recommendation_preferences_details[0].scope.value #=> String
|
2145
|
-
# resp.recommendation_preferences_details[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable", "EcsService"
|
2382
|
+
# resp.recommendation_preferences_details[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable", "EcsService", "License"
|
2146
2383
|
# resp.recommendation_preferences_details[0].enhanced_infrastructure_metrics #=> String, one of "Active", "Inactive"
|
2147
2384
|
# resp.recommendation_preferences_details[0].inferred_workload_types #=> String, one of "Active", "Inactive"
|
2148
2385
|
# resp.recommendation_preferences_details[0].external_metrics_preference.source #=> String, one of "Datadog", "Dynatrace", "NewRelic", "Instana"
|
@@ -2220,7 +2457,7 @@ module Aws::ComputeOptimizer
|
|
2220
2457
|
# resp.recommendation_summaries[0].summaries[0].reason_code_summaries #=> Array
|
2221
2458
|
# resp.recommendation_summaries[0].summaries[0].reason_code_summaries[0].name #=> String, one of "MemoryOverprovisioned", "MemoryUnderprovisioned"
|
2222
2459
|
# resp.recommendation_summaries[0].summaries[0].reason_code_summaries[0].value #=> Float
|
2223
|
-
# resp.recommendation_summaries[0].recommendation_resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "EcsService"
|
2460
|
+
# resp.recommendation_summaries[0].recommendation_resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "EcsService", "License"
|
2224
2461
|
# resp.recommendation_summaries[0].account_id #=> String
|
2225
2462
|
# resp.recommendation_summaries[0].savings_opportunity.savings_opportunity_percentage #=> Float
|
2226
2463
|
# resp.recommendation_summaries[0].savings_opportunity.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
|
@@ -2348,7 +2585,7 @@ module Aws::ComputeOptimizer
|
|
2348
2585
|
# @example Request syntax with placeholder values
|
2349
2586
|
#
|
2350
2587
|
# resp = client.put_recommendation_preferences({
|
2351
|
-
# resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService
|
2588
|
+
# resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService, License
|
2352
2589
|
# scope: {
|
2353
2590
|
# name: "Organization", # accepts Organization, AccountId, ResourceArn
|
2354
2591
|
# value: "ScopeValue",
|
@@ -2458,7 +2695,7 @@ module Aws::ComputeOptimizer
|
|
2458
2695
|
params: params,
|
2459
2696
|
config: config)
|
2460
2697
|
context[:gem_name] = 'aws-sdk-computeoptimizer'
|
2461
|
-
context[:gem_version] = '1.
|
2698
|
+
context[:gem_version] = '1.47.0'
|
2462
2699
|
Seahorse::Client::Request.new(handlers, context)
|
2463
2700
|
end
|
2464
2701
|
|
@@ -95,6 +95,8 @@ module Aws::ComputeOptimizer
|
|
95
95
|
ExportECSServiceRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportECSServiceRecommendationsResponse')
|
96
96
|
ExportLambdaFunctionRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsRequest')
|
97
97
|
ExportLambdaFunctionRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsResponse')
|
98
|
+
ExportLicenseRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportLicenseRecommendationsRequest')
|
99
|
+
ExportLicenseRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportLicenseRecommendationsResponse')
|
98
100
|
ExportableAutoScalingGroupField = Shapes::StringShape.new(name: 'ExportableAutoScalingGroupField')
|
99
101
|
ExportableAutoScalingGroupFields = Shapes::ListShape.new(name: 'ExportableAutoScalingGroupFields')
|
100
102
|
ExportableECSServiceField = Shapes::StringShape.new(name: 'ExportableECSServiceField')
|
@@ -103,6 +105,8 @@ module Aws::ComputeOptimizer
|
|
103
105
|
ExportableInstanceFields = Shapes::ListShape.new(name: 'ExportableInstanceFields')
|
104
106
|
ExportableLambdaFunctionField = Shapes::StringShape.new(name: 'ExportableLambdaFunctionField')
|
105
107
|
ExportableLambdaFunctionFields = Shapes::ListShape.new(name: 'ExportableLambdaFunctionFields')
|
108
|
+
ExportableLicenseField = Shapes::StringShape.new(name: 'ExportableLicenseField')
|
109
|
+
ExportableLicenseFields = Shapes::ListShape.new(name: 'ExportableLicenseFields')
|
106
110
|
ExportableVolumeField = Shapes::StringShape.new(name: 'ExportableVolumeField')
|
107
111
|
ExportableVolumeFields = Shapes::ListShape.new(name: 'ExportableVolumeFields')
|
108
112
|
ExternalMetricStatus = Shapes::StructureShape.new(name: 'ExternalMetricStatus')
|
@@ -142,6 +146,8 @@ module Aws::ComputeOptimizer
|
|
142
146
|
GetEnrollmentStatusesForOrganizationResponse = Shapes::StructureShape.new(name: 'GetEnrollmentStatusesForOrganizationResponse')
|
143
147
|
GetLambdaFunctionRecommendationsRequest = Shapes::StructureShape.new(name: 'GetLambdaFunctionRecommendationsRequest')
|
144
148
|
GetLambdaFunctionRecommendationsResponse = Shapes::StructureShape.new(name: 'GetLambdaFunctionRecommendationsResponse')
|
149
|
+
GetLicenseRecommendationsRequest = Shapes::StructureShape.new(name: 'GetLicenseRecommendationsRequest')
|
150
|
+
GetLicenseRecommendationsResponse = Shapes::StructureShape.new(name: 'GetLicenseRecommendationsResponse')
|
145
151
|
GetRecommendationError = Shapes::StructureShape.new(name: 'GetRecommendationError')
|
146
152
|
GetRecommendationErrors = Shapes::ListShape.new(name: 'GetRecommendationErrors')
|
147
153
|
GetRecommendationPreferencesRequest = Shapes::StructureShape.new(name: 'GetRecommendationPreferencesRequest')
|
@@ -194,6 +200,21 @@ module Aws::ComputeOptimizer
|
|
194
200
|
LambdaFunctionUtilizationMetrics = Shapes::ListShape.new(name: 'LambdaFunctionUtilizationMetrics')
|
195
201
|
LastRefreshTimestamp = Shapes::TimestampShape.new(name: 'LastRefreshTimestamp')
|
196
202
|
LastUpdatedTimestamp = Shapes::TimestampShape.new(name: 'LastUpdatedTimestamp')
|
203
|
+
LicenseConfiguration = Shapes::StructureShape.new(name: 'LicenseConfiguration')
|
204
|
+
LicenseEdition = Shapes::StringShape.new(name: 'LicenseEdition')
|
205
|
+
LicenseFinding = Shapes::StringShape.new(name: 'LicenseFinding')
|
206
|
+
LicenseFindingReasonCode = Shapes::StringShape.new(name: 'LicenseFindingReasonCode')
|
207
|
+
LicenseFindingReasonCodes = Shapes::ListShape.new(name: 'LicenseFindingReasonCodes')
|
208
|
+
LicenseModel = Shapes::StringShape.new(name: 'LicenseModel')
|
209
|
+
LicenseName = Shapes::StringShape.new(name: 'LicenseName')
|
210
|
+
LicenseRecommendation = Shapes::StructureShape.new(name: 'LicenseRecommendation')
|
211
|
+
LicenseRecommendationFilter = Shapes::StructureShape.new(name: 'LicenseRecommendationFilter')
|
212
|
+
LicenseRecommendationFilterName = Shapes::StringShape.new(name: 'LicenseRecommendationFilterName')
|
213
|
+
LicenseRecommendationFilters = Shapes::ListShape.new(name: 'LicenseRecommendationFilters')
|
214
|
+
LicenseRecommendationOption = Shapes::StructureShape.new(name: 'LicenseRecommendationOption')
|
215
|
+
LicenseRecommendationOptions = Shapes::ListShape.new(name: 'LicenseRecommendationOptions')
|
216
|
+
LicenseRecommendations = Shapes::ListShape.new(name: 'LicenseRecommendations')
|
217
|
+
LicenseVersion = Shapes::StringShape.new(name: 'LicenseVersion')
|
197
218
|
LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
|
198
219
|
LookBackPeriodInDays = Shapes::FloatShape.new(name: 'LookBackPeriodInDays')
|
199
220
|
Low = Shapes::IntegerShape.new(name: 'Low')
|
@@ -207,9 +228,13 @@ module Aws::ComputeOptimizer
|
|
207
228
|
Message = Shapes::StringShape.new(name: 'Message')
|
208
229
|
MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
|
209
230
|
MetricName = Shapes::StringShape.new(name: 'MetricName')
|
231
|
+
MetricProviderArn = Shapes::StringShape.new(name: 'MetricProviderArn')
|
232
|
+
MetricSource = Shapes::StructureShape.new(name: 'MetricSource')
|
233
|
+
MetricSourceProvider = Shapes::StringShape.new(name: 'MetricSourceProvider')
|
210
234
|
MetricStatistic = Shapes::StringShape.new(name: 'MetricStatistic')
|
211
235
|
MetricValue = Shapes::FloatShape.new(name: 'MetricValue')
|
212
236
|
MetricValues = Shapes::ListShape.new(name: 'MetricValues')
|
237
|
+
MetricsSource = Shapes::ListShape.new(name: 'MetricsSource')
|
213
238
|
MigrationEffort = Shapes::StringShape.new(name: 'MigrationEffort')
|
214
239
|
MinSize = Shapes::IntegerShape.new(name: 'MinSize')
|
215
240
|
MissingAuthenticationToken = Shapes::StructureShape.new(name: 'MissingAuthenticationToken')
|
@@ -217,8 +242,10 @@ module Aws::ComputeOptimizer
|
|
217
242
|
NullableCpu = Shapes::IntegerShape.new(name: 'NullableCpu')
|
218
243
|
NullableMemory = Shapes::IntegerShape.new(name: 'NullableMemory')
|
219
244
|
NullableMemoryReservation = Shapes::IntegerShape.new(name: 'NullableMemoryReservation')
|
245
|
+
NumberOfCores = Shapes::IntegerShape.new(name: 'NumberOfCores')
|
220
246
|
NumberOfInvocations = Shapes::IntegerShape.new(name: 'NumberOfInvocations')
|
221
247
|
NumberOfMemberAccountsOptedIn = Shapes::IntegerShape.new(name: 'NumberOfMemberAccountsOptedIn')
|
248
|
+
OperatingSystem = Shapes::StringShape.new(name: 'OperatingSystem')
|
222
249
|
OptInRequiredException = Shapes::StructureShape.new(name: 'OptInRequiredException')
|
223
250
|
PerformanceRisk = Shapes::FloatShape.new(name: 'PerformanceRisk')
|
224
251
|
Period = Shapes::IntegerShape.new(name: 'Period')
|
@@ -250,6 +277,7 @@ module Aws::ComputeOptimizer
|
|
250
277
|
RecommendedOptionProjectedMetric = Shapes::StructureShape.new(name: 'RecommendedOptionProjectedMetric')
|
251
278
|
RecommendedOptionProjectedMetrics = Shapes::ListShape.new(name: 'RecommendedOptionProjectedMetrics')
|
252
279
|
ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
|
280
|
+
ResourceArns = Shapes::ListShape.new(name: 'ResourceArns')
|
253
281
|
ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
|
254
282
|
ResourceType = Shapes::StringShape.new(name: 'ResourceType')
|
255
283
|
RootVolume = Shapes::BooleanShape.new(name: 'RootVolume')
|
@@ -541,6 +569,18 @@ module Aws::ComputeOptimizer
|
|
541
569
|
ExportLambdaFunctionRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
|
542
570
|
ExportLambdaFunctionRecommendationsResponse.struct_class = Types::ExportLambdaFunctionRecommendationsResponse
|
543
571
|
|
572
|
+
ExportLicenseRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
|
573
|
+
ExportLicenseRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: LicenseRecommendationFilters, location_name: "filters"))
|
574
|
+
ExportLicenseRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableLicenseFields, location_name: "fieldsToExport"))
|
575
|
+
ExportLicenseRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
|
576
|
+
ExportLicenseRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
|
577
|
+
ExportLicenseRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
|
578
|
+
ExportLicenseRecommendationsRequest.struct_class = Types::ExportLicenseRecommendationsRequest
|
579
|
+
|
580
|
+
ExportLicenseRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
|
581
|
+
ExportLicenseRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
|
582
|
+
ExportLicenseRecommendationsResponse.struct_class = Types::ExportLicenseRecommendationsResponse
|
583
|
+
|
544
584
|
ExportableAutoScalingGroupFields.member = Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupField)
|
545
585
|
|
546
586
|
ExportableECSServiceFields.member = Shapes::ShapeRef.new(shape: ExportableECSServiceField)
|
@@ -549,6 +589,8 @@ module Aws::ComputeOptimizer
|
|
549
589
|
|
550
590
|
ExportableLambdaFunctionFields.member = Shapes::ShapeRef.new(shape: ExportableLambdaFunctionField)
|
551
591
|
|
592
|
+
ExportableLicenseFields.member = Shapes::ShapeRef.new(shape: ExportableLicenseField)
|
593
|
+
|
552
594
|
ExportableVolumeFields.member = Shapes::ShapeRef.new(shape: ExportableVolumeField)
|
553
595
|
|
554
596
|
ExternalMetricStatus.add_member(:status_code, Shapes::ShapeRef.new(shape: ExternalMetricStatusCode, location_name: "statusCode"))
|
@@ -675,6 +717,18 @@ module Aws::ComputeOptimizer
|
|
675
717
|
GetLambdaFunctionRecommendationsResponse.add_member(:lambda_function_recommendations, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendations, location_name: "lambdaFunctionRecommendations"))
|
676
718
|
GetLambdaFunctionRecommendationsResponse.struct_class = Types::GetLambdaFunctionRecommendationsResponse
|
677
719
|
|
720
|
+
GetLicenseRecommendationsRequest.add_member(:resource_arns, Shapes::ShapeRef.new(shape: ResourceArns, location_name: "resourceArns"))
|
721
|
+
GetLicenseRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
|
722
|
+
GetLicenseRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
|
723
|
+
GetLicenseRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: LicenseRecommendationFilters, location_name: "filters"))
|
724
|
+
GetLicenseRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
|
725
|
+
GetLicenseRecommendationsRequest.struct_class = Types::GetLicenseRecommendationsRequest
|
726
|
+
|
727
|
+
GetLicenseRecommendationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
|
728
|
+
GetLicenseRecommendationsResponse.add_member(:license_recommendations, Shapes::ShapeRef.new(shape: LicenseRecommendations, location_name: "licenseRecommendations"))
|
729
|
+
GetLicenseRecommendationsResponse.add_member(:errors, Shapes::ShapeRef.new(shape: GetRecommendationErrors, location_name: "errors"))
|
730
|
+
GetLicenseRecommendationsResponse.struct_class = Types::GetLicenseRecommendationsResponse
|
731
|
+
|
678
732
|
GetRecommendationError.add_member(:identifier, Shapes::ShapeRef.new(shape: Identifier, location_name: "identifier"))
|
679
733
|
GetRecommendationError.add_member(:code, Shapes::ShapeRef.new(shape: Code, location_name: "code"))
|
680
734
|
GetRecommendationError.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "message"))
|
@@ -804,6 +858,46 @@ module Aws::ComputeOptimizer
|
|
804
858
|
|
805
859
|
LambdaFunctionUtilizationMetrics.member = Shapes::ShapeRef.new(shape: LambdaFunctionUtilizationMetric)
|
806
860
|
|
861
|
+
LicenseConfiguration.add_member(:number_of_cores, Shapes::ShapeRef.new(shape: NumberOfCores, location_name: "numberOfCores"))
|
862
|
+
LicenseConfiguration.add_member(:instance_type, Shapes::ShapeRef.new(shape: InstanceType, location_name: "instanceType"))
|
863
|
+
LicenseConfiguration.add_member(:operating_system, Shapes::ShapeRef.new(shape: OperatingSystem, location_name: "operatingSystem"))
|
864
|
+
LicenseConfiguration.add_member(:license_edition, Shapes::ShapeRef.new(shape: LicenseEdition, location_name: "licenseEdition"))
|
865
|
+
LicenseConfiguration.add_member(:license_name, Shapes::ShapeRef.new(shape: LicenseName, location_name: "licenseName"))
|
866
|
+
LicenseConfiguration.add_member(:license_model, Shapes::ShapeRef.new(shape: LicenseModel, location_name: "licenseModel"))
|
867
|
+
LicenseConfiguration.add_member(:license_version, Shapes::ShapeRef.new(shape: LicenseVersion, location_name: "licenseVersion"))
|
868
|
+
LicenseConfiguration.add_member(:metrics_source, Shapes::ShapeRef.new(shape: MetricsSource, location_name: "metricsSource"))
|
869
|
+
LicenseConfiguration.struct_class = Types::LicenseConfiguration
|
870
|
+
|
871
|
+
LicenseFindingReasonCodes.member = Shapes::ShapeRef.new(shape: LicenseFindingReasonCode)
|
872
|
+
|
873
|
+
LicenseRecommendation.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, location_name: "resourceArn"))
|
874
|
+
LicenseRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
|
875
|
+
LicenseRecommendation.add_member(:current_license_configuration, Shapes::ShapeRef.new(shape: LicenseConfiguration, location_name: "currentLicenseConfiguration"))
|
876
|
+
LicenseRecommendation.add_member(:lookback_period_in_days, Shapes::ShapeRef.new(shape: LookBackPeriodInDays, location_name: "lookbackPeriodInDays"))
|
877
|
+
LicenseRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
|
878
|
+
LicenseRecommendation.add_member(:finding, Shapes::ShapeRef.new(shape: LicenseFinding, location_name: "finding"))
|
879
|
+
LicenseRecommendation.add_member(:finding_reason_codes, Shapes::ShapeRef.new(shape: LicenseFindingReasonCodes, location_name: "findingReasonCodes"))
|
880
|
+
LicenseRecommendation.add_member(:license_recommendation_options, Shapes::ShapeRef.new(shape: LicenseRecommendationOptions, location_name: "licenseRecommendationOptions"))
|
881
|
+
LicenseRecommendation.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
|
882
|
+
LicenseRecommendation.struct_class = Types::LicenseRecommendation
|
883
|
+
|
884
|
+
LicenseRecommendationFilter.add_member(:name, Shapes::ShapeRef.new(shape: LicenseRecommendationFilterName, location_name: "name"))
|
885
|
+
LicenseRecommendationFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
|
886
|
+
LicenseRecommendationFilter.struct_class = Types::LicenseRecommendationFilter
|
887
|
+
|
888
|
+
LicenseRecommendationFilters.member = Shapes::ShapeRef.new(shape: LicenseRecommendationFilter)
|
889
|
+
|
890
|
+
LicenseRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
|
891
|
+
LicenseRecommendationOption.add_member(:operating_system, Shapes::ShapeRef.new(shape: OperatingSystem, location_name: "operatingSystem"))
|
892
|
+
LicenseRecommendationOption.add_member(:license_edition, Shapes::ShapeRef.new(shape: LicenseEdition, location_name: "licenseEdition"))
|
893
|
+
LicenseRecommendationOption.add_member(:license_model, Shapes::ShapeRef.new(shape: LicenseModel, location_name: "licenseModel"))
|
894
|
+
LicenseRecommendationOption.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
|
895
|
+
LicenseRecommendationOption.struct_class = Types::LicenseRecommendationOption
|
896
|
+
|
897
|
+
LicenseRecommendationOptions.member = Shapes::ShapeRef.new(shape: LicenseRecommendationOption)
|
898
|
+
|
899
|
+
LicenseRecommendations.member = Shapes::ShapeRef.new(shape: LicenseRecommendation)
|
900
|
+
|
807
901
|
LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
|
808
902
|
LimitExceededException.struct_class = Types::LimitExceededException
|
809
903
|
|
@@ -811,8 +905,14 @@ module Aws::ComputeOptimizer
|
|
811
905
|
MemorySizeConfiguration.add_member(:memory_reservation, Shapes::ShapeRef.new(shape: NullableMemoryReservation, location_name: "memoryReservation"))
|
812
906
|
MemorySizeConfiguration.struct_class = Types::MemorySizeConfiguration
|
813
907
|
|
908
|
+
MetricSource.add_member(:provider, Shapes::ShapeRef.new(shape: MetricSourceProvider, location_name: "provider"))
|
909
|
+
MetricSource.add_member(:provider_arn, Shapes::ShapeRef.new(shape: MetricProviderArn, location_name: "providerArn"))
|
910
|
+
MetricSource.struct_class = Types::MetricSource
|
911
|
+
|
814
912
|
MetricValues.member = Shapes::ShapeRef.new(shape: MetricValue)
|
815
913
|
|
914
|
+
MetricsSource.member = Shapes::ShapeRef.new(shape: MetricSource)
|
915
|
+
|
816
916
|
MissingAuthenticationToken.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
|
817
917
|
MissingAuthenticationToken.struct_class = Types::MissingAuthenticationToken
|
818
918
|
|
@@ -895,6 +995,8 @@ module Aws::ComputeOptimizer
|
|
895
995
|
|
896
996
|
RecommendedOptionProjectedMetrics.member = Shapes::ShapeRef.new(shape: RecommendedOptionProjectedMetric)
|
897
997
|
|
998
|
+
ResourceArns.member = Shapes::ShapeRef.new(shape: ResourceArn)
|
999
|
+
|
898
1000
|
ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
|
899
1001
|
ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
|
900
1002
|
|
@@ -1130,6 +1232,22 @@ module Aws::ComputeOptimizer
|
|
1130
1232
|
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
1131
1233
|
end)
|
1132
1234
|
|
1235
|
+
api.add_operation(:export_license_recommendations, Seahorse::Model::Operation.new.tap do |o|
|
1236
|
+
o.name = "ExportLicenseRecommendations"
|
1237
|
+
o.http_method = "POST"
|
1238
|
+
o.http_request_uri = "/"
|
1239
|
+
o.input = Shapes::ShapeRef.new(shape: ExportLicenseRecommendationsRequest)
|
1240
|
+
o.output = Shapes::ShapeRef.new(shape: ExportLicenseRecommendationsResponse)
|
1241
|
+
o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
|
1242
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
1243
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
|
1244
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
1245
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
|
1246
|
+
o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
|
1247
|
+
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
1248
|
+
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
1249
|
+
end)
|
1250
|
+
|
1133
1251
|
api.add_operation(:get_auto_scaling_group_recommendations, Seahorse::Model::Operation.new.tap do |o|
|
1134
1252
|
o.name = "GetAutoScalingGroupRecommendations"
|
1135
1253
|
o.http_method = "POST"
|
@@ -1298,6 +1416,22 @@ module Aws::ComputeOptimizer
|
|
1298
1416
|
)
|
1299
1417
|
end)
|
1300
1418
|
|
1419
|
+
api.add_operation(:get_license_recommendations, Seahorse::Model::Operation.new.tap do |o|
|
1420
|
+
o.name = "GetLicenseRecommendations"
|
1421
|
+
o.http_method = "POST"
|
1422
|
+
o.http_request_uri = "/"
|
1423
|
+
o.input = Shapes::ShapeRef.new(shape: GetLicenseRecommendationsRequest)
|
1424
|
+
o.output = Shapes::ShapeRef.new(shape: GetLicenseRecommendationsResponse)
|
1425
|
+
o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
|
1426
|
+
o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
|
1427
|
+
o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
|
1428
|
+
o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
|
1429
|
+
o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
|
1430
|
+
o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
|
1431
|
+
o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
|
1432
|
+
o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
|
1433
|
+
end)
|
1434
|
+
|
1301
1435
|
api.add_operation(:get_recommendation_preferences, Seahorse::Model::Operation.new.tap do |o|
|
1302
1436
|
o.name = "GetRecommendationPreferences"
|
1303
1437
|
o.http_method = "POST"
|
@@ -110,6 +110,20 @@ module Aws::ComputeOptimizer
|
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
113
|
+
class ExportLicenseRecommendations
|
114
|
+
def self.build(context)
|
115
|
+
unless context.config.regional_endpoint
|
116
|
+
endpoint = context.config.endpoint.to_s
|
117
|
+
end
|
118
|
+
Aws::ComputeOptimizer::EndpointParameters.new(
|
119
|
+
region: context.config.region,
|
120
|
+
use_dual_stack: context.config.use_dualstack_endpoint,
|
121
|
+
use_fips: context.config.use_fips_endpoint,
|
122
|
+
endpoint: endpoint,
|
123
|
+
)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
113
127
|
class GetAutoScalingGroupRecommendations
|
114
128
|
def self.build(context)
|
115
129
|
unless context.config.regional_endpoint
|
@@ -250,6 +264,20 @@ module Aws::ComputeOptimizer
|
|
250
264
|
end
|
251
265
|
end
|
252
266
|
|
267
|
+
class GetLicenseRecommendations
|
268
|
+
def self.build(context)
|
269
|
+
unless context.config.regional_endpoint
|
270
|
+
endpoint = context.config.endpoint.to_s
|
271
|
+
end
|
272
|
+
Aws::ComputeOptimizer::EndpointParameters.new(
|
273
|
+
region: context.config.region,
|
274
|
+
use_dual_stack: context.config.use_dualstack_endpoint,
|
275
|
+
use_fips: context.config.use_fips_endpoint,
|
276
|
+
endpoint: endpoint,
|
277
|
+
)
|
278
|
+
end
|
279
|
+
end
|
280
|
+
|
253
281
|
class GetRecommendationPreferences
|
254
282
|
def self.build(context)
|
255
283
|
unless context.config.regional_endpoint
|
@@ -70,6 +70,8 @@ module Aws::ComputeOptimizer
|
|
70
70
|
Aws::ComputeOptimizer::Endpoints::ExportECSServiceRecommendations.build(context)
|
71
71
|
when :export_lambda_function_recommendations
|
72
72
|
Aws::ComputeOptimizer::Endpoints::ExportLambdaFunctionRecommendations.build(context)
|
73
|
+
when :export_license_recommendations
|
74
|
+
Aws::ComputeOptimizer::Endpoints::ExportLicenseRecommendations.build(context)
|
73
75
|
when :get_auto_scaling_group_recommendations
|
74
76
|
Aws::ComputeOptimizer::Endpoints::GetAutoScalingGroupRecommendations.build(context)
|
75
77
|
when :get_ebs_volume_recommendations
|
@@ -90,6 +92,8 @@ module Aws::ComputeOptimizer
|
|
90
92
|
Aws::ComputeOptimizer::Endpoints::GetEnrollmentStatusesForOrganization.build(context)
|
91
93
|
when :get_lambda_function_recommendations
|
92
94
|
Aws::ComputeOptimizer::Endpoints::GetLambdaFunctionRecommendations.build(context)
|
95
|
+
when :get_license_recommendations
|
96
|
+
Aws::ComputeOptimizer::Endpoints::GetLicenseRecommendations.build(context)
|
93
97
|
when :get_recommendation_preferences
|
94
98
|
Aws::ComputeOptimizer::Endpoints::GetRecommendationPreferences.build(context)
|
95
99
|
when :get_recommendation_summaries
|
@@ -1751,6 +1751,120 @@ module Aws::ComputeOptimizer
|
|
1751
1751
|
include Aws::Structure
|
1752
1752
|
end
|
1753
1753
|
|
1754
|
+
# @!attribute [rw] account_ids
|
1755
|
+
# The IDs of the Amazon Web Services accounts for which to export
|
1756
|
+
# license recommendations.
|
1757
|
+
#
|
1758
|
+
# If your account is the management account of an organization, use
|
1759
|
+
# this parameter to specify the member account for which you want to
|
1760
|
+
# export recommendations.
|
1761
|
+
#
|
1762
|
+
# This parameter can't be specified together with the include member
|
1763
|
+
# accounts parameter. The parameters are mutually exclusive.
|
1764
|
+
#
|
1765
|
+
# If this parameter is omitted, recommendations for member accounts
|
1766
|
+
# aren't included in the export.
|
1767
|
+
#
|
1768
|
+
# You can specify multiple account IDs per request.
|
1769
|
+
# @return [Array<String>]
|
1770
|
+
#
|
1771
|
+
# @!attribute [rw] filters
|
1772
|
+
# An array of objects to specify a filter that exports a more specific
|
1773
|
+
# set of license recommendations.
|
1774
|
+
# @return [Array<Types::LicenseRecommendationFilter>]
|
1775
|
+
#
|
1776
|
+
# @!attribute [rw] fields_to_export
|
1777
|
+
# The recommendations data to include in the export file. For more
|
1778
|
+
# information about the fields that can be exported, see [Exported
|
1779
|
+
# files][1] in the *Compute Optimizer User Guide*.
|
1780
|
+
#
|
1781
|
+
#
|
1782
|
+
#
|
1783
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
|
1784
|
+
# @return [Array<String>]
|
1785
|
+
#
|
1786
|
+
# @!attribute [rw] s3_destination_config
|
1787
|
+
# Describes the destination Amazon Simple Storage Service (Amazon S3)
|
1788
|
+
# bucket name and key prefix for a recommendations export job.
|
1789
|
+
#
|
1790
|
+
# You must create the destination Amazon S3 bucket for your
|
1791
|
+
# recommendations export before you create the export job. Compute
|
1792
|
+
# Optimizer does not create the S3 bucket for you. After you create
|
1793
|
+
# the S3 bucket, ensure that it has the required permission policy to
|
1794
|
+
# allow Compute Optimizer to write the export file to it. If you plan
|
1795
|
+
# to specify an object prefix when you create the export job, you must
|
1796
|
+
# include the object prefix in the policy that you add to the S3
|
1797
|
+
# bucket. For more information, see [Amazon S3 Bucket Policy for
|
1798
|
+
# Compute Optimizer][1] in the *Compute Optimizer User Guide*.
|
1799
|
+
#
|
1800
|
+
#
|
1801
|
+
#
|
1802
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
|
1803
|
+
# @return [Types::S3DestinationConfig]
|
1804
|
+
#
|
1805
|
+
# @!attribute [rw] file_format
|
1806
|
+
# The format of the export file.
|
1807
|
+
#
|
1808
|
+
# A CSV file is the only export format currently supported.
|
1809
|
+
# @return [String]
|
1810
|
+
#
|
1811
|
+
# @!attribute [rw] include_member_accounts
|
1812
|
+
# Indicates whether to include recommendations for resources in all
|
1813
|
+
# member accounts of the organization if your account is the
|
1814
|
+
# management account of an organization.
|
1815
|
+
#
|
1816
|
+
# The member accounts must also be opted in to Compute Optimizer, and
|
1817
|
+
# trusted access for Compute Optimizer must be enabled in the
|
1818
|
+
# organization account. For more information, see [Compute Optimizer
|
1819
|
+
# and Amazon Web Services Organizations trusted access][1] in the
|
1820
|
+
# *Compute Optimizer User Guide*.
|
1821
|
+
#
|
1822
|
+
# If this parameter is omitted, recommendations for member accounts of
|
1823
|
+
# the organization aren't included in the export file .
|
1824
|
+
#
|
1825
|
+
# This parameter cannot be specified together with the account IDs
|
1826
|
+
# parameter. The parameters are mutually exclusive.
|
1827
|
+
#
|
1828
|
+
#
|
1829
|
+
#
|
1830
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
|
1831
|
+
# @return [Boolean]
|
1832
|
+
#
|
1833
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLicenseRecommendationsRequest AWS API Documentation
|
1834
|
+
#
|
1835
|
+
class ExportLicenseRecommendationsRequest < Struct.new(
|
1836
|
+
:account_ids,
|
1837
|
+
:filters,
|
1838
|
+
:fields_to_export,
|
1839
|
+
:s3_destination_config,
|
1840
|
+
:file_format,
|
1841
|
+
:include_member_accounts)
|
1842
|
+
SENSITIVE = []
|
1843
|
+
include Aws::Structure
|
1844
|
+
end
|
1845
|
+
|
1846
|
+
# @!attribute [rw] job_id
|
1847
|
+
# The identification number of the export job.
|
1848
|
+
#
|
1849
|
+
# To view the status of an export job, use the
|
1850
|
+
# DescribeRecommendationExportJobs action and specify the job ID.
|
1851
|
+
# @return [String]
|
1852
|
+
#
|
1853
|
+
# @!attribute [rw] s3_destination
|
1854
|
+
# Describes the destination Amazon Simple Storage Service (Amazon S3)
|
1855
|
+
# bucket name and object keys of a recommendations export file, and
|
1856
|
+
# its associated metadata file.
|
1857
|
+
# @return [Types::S3Destination]
|
1858
|
+
#
|
1859
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLicenseRecommendationsResponse AWS API Documentation
|
1860
|
+
#
|
1861
|
+
class ExportLicenseRecommendationsResponse < Struct.new(
|
1862
|
+
:job_id,
|
1863
|
+
:s3_destination)
|
1864
|
+
SENSITIVE = []
|
1865
|
+
include Aws::Structure
|
1866
|
+
end
|
1867
|
+
|
1754
1868
|
# Describes Compute Optimizer's integration status with your chosen
|
1755
1869
|
# external metric provider. For example, Datadog.
|
1756
1870
|
#
|
@@ -2592,6 +2706,77 @@ module Aws::ComputeOptimizer
|
|
2592
2706
|
include Aws::Structure
|
2593
2707
|
end
|
2594
2708
|
|
2709
|
+
# @!attribute [rw] resource_arns
|
2710
|
+
# The ARN that identifies the Amazon EC2 instance.
|
2711
|
+
#
|
2712
|
+
# The following is the format of the ARN:
|
2713
|
+
#
|
2714
|
+
# `arn:aws:ec2:region:aws_account_id:instance/instance-id`
|
2715
|
+
# @return [Array<String>]
|
2716
|
+
#
|
2717
|
+
# @!attribute [rw] next_token
|
2718
|
+
# The token to advance to the next page of license recommendations.
|
2719
|
+
# @return [String]
|
2720
|
+
#
|
2721
|
+
# @!attribute [rw] max_results
|
2722
|
+
# The maximum number of license recommendations to return with a
|
2723
|
+
# single request.
|
2724
|
+
#
|
2725
|
+
# To retrieve the remaining results, make another request with the
|
2726
|
+
# returned `nextToken` value.
|
2727
|
+
# @return [Integer]
|
2728
|
+
#
|
2729
|
+
# @!attribute [rw] filters
|
2730
|
+
# An array of objects to specify a filter that returns a more specific
|
2731
|
+
# list of license recommendations.
|
2732
|
+
# @return [Array<Types::LicenseRecommendationFilter>]
|
2733
|
+
#
|
2734
|
+
# @!attribute [rw] account_ids
|
2735
|
+
# The ID of the Amazon Web Services account for which to return
|
2736
|
+
# license recommendations.
|
2737
|
+
#
|
2738
|
+
# If your account is the management account of an organization, use
|
2739
|
+
# this parameter to specify the member account for which you want to
|
2740
|
+
# return license recommendations.
|
2741
|
+
#
|
2742
|
+
# Only one account ID can be specified per request.
|
2743
|
+
# @return [Array<String>]
|
2744
|
+
#
|
2745
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLicenseRecommendationsRequest AWS API Documentation
|
2746
|
+
#
|
2747
|
+
class GetLicenseRecommendationsRequest < Struct.new(
|
2748
|
+
:resource_arns,
|
2749
|
+
:next_token,
|
2750
|
+
:max_results,
|
2751
|
+
:filters,
|
2752
|
+
:account_ids)
|
2753
|
+
SENSITIVE = []
|
2754
|
+
include Aws::Structure
|
2755
|
+
end
|
2756
|
+
|
2757
|
+
# @!attribute [rw] next_token
|
2758
|
+
# The token to use to advance to the next page of license
|
2759
|
+
# recommendations.
|
2760
|
+
# @return [String]
|
2761
|
+
#
|
2762
|
+
# @!attribute [rw] license_recommendations
|
2763
|
+
# An array of objects that describe license recommendations.
|
2764
|
+
# @return [Array<Types::LicenseRecommendation>]
|
2765
|
+
#
|
2766
|
+
# @!attribute [rw] errors
|
2767
|
+
# An array of objects that describe errors of the request.
|
2768
|
+
# @return [Array<Types::GetRecommendationError>]
|
2769
|
+
#
|
2770
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLicenseRecommendationsResponse AWS API Documentation
|
2771
|
+
#
|
2772
|
+
class GetLicenseRecommendationsResponse < Struct.new(
|
2773
|
+
:next_token,
|
2774
|
+
:license_recommendations,
|
2775
|
+
:errors)
|
2776
|
+
SENSITIVE = []
|
2777
|
+
include Aws::Structure
|
2778
|
+
end
|
2779
|
+
|
2595
2780
|
# Describes an error experienced when getting recommendations.
|
2596
2781
|
#
|
2597
2782
|
# For example, an error is returned if you request recommendations for
|
@@ -3662,6 +3847,260 @@ module Aws::ComputeOptimizer
|
|
3662
3847
|
include Aws::Structure
|
3663
3848
|
end
|
3664
3849
|
|
3850
|
+
# Describes the configuration of a license for an Amazon EC2 instance.
|
3851
|
+
#
|
3852
|
+
# @!attribute [rw] number_of_cores
|
3853
|
+
# The current number of cores associated with the instance.
|
3854
|
+
# @return [Integer]
|
3855
|
+
#
|
3856
|
+
# @!attribute [rw] instance_type
|
3857
|
+
# The instance type used in the license.
|
3858
|
+
# @return [String]
|
3859
|
+
#
|
3860
|
+
# @!attribute [rw] operating_system
|
3861
|
+
# The operating system of the instance.
|
3862
|
+
# @return [String]
|
3863
|
+
#
|
3864
|
+
# @!attribute [rw] license_edition
|
3865
|
+
# The edition of the license for the application that runs on the
|
3866
|
+
# instance.
|
3867
|
+
# @return [String]
|
3868
|
+
#
|
3869
|
+
# @!attribute [rw] license_name
|
3870
|
+
# The name of the license for the application that runs on the
|
3871
|
+
# instance.
|
3872
|
+
# @return [String]
|
3873
|
+
#
|
3874
|
+
# @!attribute [rw] license_model
|
3875
|
+
# The license type associated with the instance.
|
3876
|
+
# @return [String]
|
3877
|
+
#
|
3878
|
+
# @!attribute [rw] license_version
|
3879
|
+
# The version of the license for the application that runs on the
|
3880
|
+
# instance.
|
3881
|
+
# @return [String]
|
3882
|
+
#
|
3883
|
+
# @!attribute [rw] metrics_source
|
3884
|
+
# The list of metric sources required to generate recommendations for
|
3885
|
+
# commercial software licenses.
|
3886
|
+
# @return [Array<Types::MetricSource>]
|
3887
|
+
#
|
3888
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LicenseConfiguration AWS API Documentation
|
3889
|
+
#
|
3890
|
+
class LicenseConfiguration < Struct.new(
|
3891
|
+
:number_of_cores,
|
3892
|
+
:instance_type,
|
3893
|
+
:operating_system,
|
3894
|
+
:license_edition,
|
3895
|
+
:license_name,
|
3896
|
+
:license_model,
|
3897
|
+
:license_version,
|
3898
|
+
:metrics_source)
|
3899
|
+
SENSITIVE = []
|
3900
|
+
include Aws::Structure
|
3901
|
+
end
|
3902
|
+
|
3903
|
+
# Describes a license recommendation for an EC2 instance.
|
3904
|
+
#
|
3905
|
+
# @!attribute [rw] resource_arn
|
3906
|
+
# The ARN that identifies the Amazon EC2 instance.
|
3907
|
+
# @return [String]
|
3908
|
+
#
|
3909
|
+
# @!attribute [rw] account_id
|
3910
|
+
# The Amazon Web Services account ID of the license.
|
3911
|
+
# @return [String]
|
3912
|
+
#
|
3913
|
+
# @!attribute [rw] current_license_configuration
|
3914
|
+
# An object that describes the current configuration of an instance
|
3915
|
+
# that runs on a license.
|
3916
|
+
# @return [Types::LicenseConfiguration]
|
3917
|
+
#
|
3918
|
+
# @!attribute [rw] lookback_period_in_days
|
3919
|
+
# The number of days for which utilization metrics were analyzed for
|
3920
|
+
# an instance that runs on a license.
|
3921
|
+
# @return [Float]
|
3922
|
+
#
|
3923
|
+
# @!attribute [rw] last_refresh_timestamp
|
3924
|
+
# The timestamp of when the license recommendation was last generated.
|
3925
|
+
# @return [Time]
|
3926
|
+
#
|
3927
|
+
# @!attribute [rw] finding
|
3928
|
+
# The finding classification for an instance that runs on a license.
|
3929
|
+
#
|
3930
|
+
# Findings include:
|
3931
|
+
#
|
3932
|
+
# * `InsufficentMetrics` — When Compute Optimizer detects that your
|
3933
|
+
# CloudWatch Application Insights isn't enabled or is enabled with
|
3934
|
+
# insufficient permissions.
|
3935
|
+
#
|
3936
|
+
# * `NotOptimized` — When Compute Optimizer detects that your EC2
|
3937
|
+
# infrastructure isn't using any of the SQL server license features
|
3938
|
+
# you're paying for, a license is considered not optimized.
|
3939
|
+
#
|
3940
|
+
# * `Optimized` — When Compute Optimizer detects that all
|
3941
|
+
# specifications of your license meet the performance requirements
|
3942
|
+
# of your workload.
|
3943
|
+
# @return [String]
|
3944
|
+
#
|
3945
|
+
# @!attribute [rw] finding_reason_codes
|
3946
|
+
# The reason for the finding classification for an instance that runs
|
3947
|
+
# on a license.
|
3948
|
+
#
|
3949
|
+
# Finding reason codes include:
|
3950
|
+
#
|
3951
|
+
# * `Optimized` — All specifications of your license meet the
|
3952
|
+
# performance requirements of your workload.
|
3953
|
+
#
|
3954
|
+
# * `LicenseOverprovisioned` — A license is considered
|
3955
|
+
# over-provisioned when your license can be downgraded while still
|
3956
|
+
# meeting the performance requirements of your workload.
|
3957
|
+
#
|
3958
|
+
# * `InvalidCloudwatchApplicationInsights` — CloudWatch Application
|
3959
|
+
# Insights isn't configured properly.
|
3960
|
+
#
|
3961
|
+
# * `CloudwatchApplicationInsightsError` — There is a CloudWatch
|
3962
|
+
# Application Insights error.
|
3963
|
+
# @return [Array<String>]
|
3964
|
+
#
|
3965
|
+
# @!attribute [rw] license_recommendation_options
|
3966
|
+
# An array of objects that describe the license recommendation
|
3967
|
+
# options.
|
3968
|
+
# @return [Array<Types::LicenseRecommendationOption>]
|
3969
|
+
#
|
3970
|
+
# @!attribute [rw] tags
|
3971
|
+
# A list of tags assigned to an EC2 instance.
|
3972
|
+
# @return [Array<Types::Tag>]
|
3973
|
+
#
|
3974
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LicenseRecommendation AWS API Documentation
|
3975
|
+
#
|
3976
|
+
class LicenseRecommendation < Struct.new(
|
3977
|
+
:resource_arn,
|
3978
|
+
:account_id,
|
3979
|
+
:current_license_configuration,
|
3980
|
+
:lookback_period_in_days,
|
3981
|
+
:last_refresh_timestamp,
|
3982
|
+
:finding,
|
3983
|
+
:finding_reason_codes,
|
3984
|
+
:license_recommendation_options,
|
3985
|
+
:tags)
|
3986
|
+
SENSITIVE = []
|
3987
|
+
include Aws::Structure
|
3988
|
+
end
|
3989
|
+
|
3990
|
+
# Describes a filter that returns a more specific list of license
|
3991
|
+
# recommendations. Use this filter with the `GetLicenseRecommendation`
|
3992
|
+
# action.
|
3993
|
+
#
|
3994
|
+
# @!attribute [rw] name
|
3995
|
+
# The name of the filter.
|
3996
|
+
#
|
3997
|
+
# Specify `Finding` to return recommendations with a specific finding
|
3998
|
+
# classification.
|
3999
|
+
#
|
4000
|
+
# Specify `FindingReasonCode` to return recommendations with a
|
4001
|
+
# specific finding reason code.
|
4002
|
+
#
|
4003
|
+
# You can filter your license recommendations by `tag:key` and
|
4004
|
+
# `tag-key` tags.
|
4005
|
+
#
|
4006
|
+
# A `tag:key` is a key and value combination of a tag assigned to your
|
4007
|
+
# license recommendations. Use the tag key in the filter name and the
|
4008
|
+
# tag value as the filter value. For example, to find all license
|
4009
|
+
# recommendations that have a tag with the key of `Owner` and the
|
4010
|
+
# value of `TeamA`, specify `tag:Owner` for the filter name and
|
4011
|
+
# `TeamA` for the filter value.
|
4012
|
+
#
|
4013
|
+
# A `tag-key` is the key of a tag assigned to your license
|
4014
|
+
# recommendations. Use this filter to find all of your license
|
4015
|
+
# recommendations that have a tag with a specific key. This doesn’t
|
4016
|
+
# consider the tag value. For example, you can find your license
|
4017
|
+
# recommendations with a tag key value of `Owner` or without any tag
|
4018
|
+
# keys assigned.
|
4019
|
+
# @return [String]
|
4020
|
+
#
|
4021
|
+
# @!attribute [rw] values
|
4022
|
+
# The value of the filter.
|
4023
|
+
#
|
4024
|
+
# The valid values for this parameter are as follows, depending on
|
4025
|
+
# what you specify for the `name` parameter:
|
4026
|
+
#
|
4027
|
+
# * If you specify the `name` parameter as `Finding`, then specify
|
4028
|
+
# `Optimized`, `NotOptimized`, or `InsufficentMetrics`.
|
4029
|
+
#
|
4030
|
+
# * If you specify the `name` parameter as `FindingReasonCode`, then
|
4031
|
+
# specify `Optimized`, `LicenseOverprovisioned`,
|
4032
|
+
# `InvalidCloudwatchApplicationInsights`, or
|
4033
|
+
# `CloudwatchApplicationInsightsError`.
|
4034
|
+
# @return [Array<String>]
|
4035
|
+
#
|
4036
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LicenseRecommendationFilter AWS API Documentation
|
4037
|
+
#
|
4038
|
+
class LicenseRecommendationFilter < Struct.new(
|
4039
|
+
:name,
|
4040
|
+
:values)
|
4041
|
+
SENSITIVE = []
|
4042
|
+
include Aws::Structure
|
4043
|
+
end
|
4044
|
+
|
4045
|
+
# Describes the recommendation options for licenses.
|
4046
|
+
#
|
4047
|
+
# @!attribute [rw] rank
|
4048
|
+
# The rank of the license recommendation option.
|
4049
|
+
#
|
4050
|
+
# The top recommendation option is ranked as `1`.
|
4051
|
+
# @return [Integer]
|
4052
|
+
#
|
4053
|
+
# @!attribute [rw] operating_system
|
4054
|
+
# The operating system of a license recommendation option.
|
4055
|
+
# @return [String]
|
4056
|
+
#
|
4057
|
+
# @!attribute [rw] license_edition
|
4058
|
+
# The recommended edition of the license for the application that runs
|
4059
|
+
# on the instance.
|
4060
|
+
# @return [String]
|
4061
|
+
#
|
4062
|
+
# @!attribute [rw] license_model
|
4063
|
+
# The recommended license type associated with the instance.
|
4064
|
+
# @return [String]
|
4065
|
+
#
|
4066
|
+
# @!attribute [rw] savings_opportunity
|
4067
|
+
# Describes the savings opportunity for recommendations of a given
|
4068
|
+
# resource type or for the recommendation option of an individual
|
4069
|
+
# resource.
|
4070
|
+
#
|
4071
|
+
# Savings opportunity represents the estimated monthly savings you can
|
4072
|
+
# achieve by implementing a given Compute Optimizer recommendation.
|
4073
|
+
#
|
4074
|
+
# Savings opportunity data requires that you opt in to Cost Explorer,
|
4075
|
+
# as well as activate **Receive Amazon EC2 resource recommendations**
|
4076
|
+
# in the Cost Explorer preferences page. That creates a connection
|
4077
|
+
# between Cost Explorer and Compute Optimizer. With this connection,
|
4078
|
+
# Cost Explorer generates savings estimates considering the price of
|
4079
|
+
# existing resources, the price of recommended resources, and
|
4080
|
+
# historical usage data. Estimated monthly savings reflects the
|
4081
|
+
# projected dollar savings associated with each of the recommendations
|
4082
|
+
# generated. For more information, see [Enabling Cost Explorer][1] and
|
4083
|
+
# [Optimizing your cost with Rightsizing Recommendations][2] in the
|
4084
|
+
# *Cost Management User Guide*.
|
4085
|
+
#
|
4086
|
+
#
|
4087
|
+
#
|
4088
|
+
# [1]: https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html
|
4089
|
+
# [2]: https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html
|
4090
|
+
# @return [Types::SavingsOpportunity]
|
4091
|
+
#
|
4092
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LicenseRecommendationOption AWS API Documentation
|
4093
|
+
#
|
4094
|
+
class LicenseRecommendationOption < Struct.new(
|
4095
|
+
:rank,
|
4096
|
+
:operating_system,
|
4097
|
+
:license_edition,
|
4098
|
+
:license_model,
|
4099
|
+
:savings_opportunity)
|
4100
|
+
SENSITIVE = []
|
4101
|
+
include Aws::Structure
|
4102
|
+
end
|
4103
|
+
|
3665
4104
|
# The request exceeds a limit of the service.
|
3666
4105
|
#
|
3667
4106
|
# @!attribute [rw] message
|
@@ -3694,6 +4133,26 @@ module Aws::ComputeOptimizer
|
|
3694
4133
|
include Aws::Structure
|
3695
4134
|
end
|
3696
4135
|
|
4136
|
+
# The list of metric sources required to generate recommendations for
|
4137
|
+
# commercial software licenses.
|
4138
|
+
#
|
4139
|
+
# @!attribute [rw] provider
|
4140
|
+
# The name of the metric source provider.
|
4141
|
+
# @return [String]
|
4142
|
+
#
|
4143
|
+
# @!attribute [rw] provider_arn
|
4144
|
+
# The ARN of the metric source provider.
|
4145
|
+
# @return [String]
|
4146
|
+
#
|
4147
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/MetricSource AWS API Documentation
|
4148
|
+
#
|
4149
|
+
class MetricSource < Struct.new(
|
4150
|
+
:provider,
|
4151
|
+
:provider_arn)
|
4152
|
+
SENSITIVE = []
|
4153
|
+
include Aws::Structure
|
4154
|
+
end
|
4155
|
+
|
3697
4156
|
# The request must contain either a valid (registered) Amazon Web
|
3698
4157
|
# Services access key ID or X.509 certificate.
|
3699
4158
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-computeoptimizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.47.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-08-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|