aws-sdk-computeoptimizer 1.38.0 → 1.40.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1e73d1890bb9328da070157b4e14fb14aa439c99e192e8611dc833a6b8e81e59
4
- data.tar.gz: b9e159a376cadf8e2cda78817ba89c1074c3f785371ec36bc91c1fbad917d242
3
+ metadata.gz: 49e3da3c6c1aa1cefecc8d0793cebf616d68700ba7f7fcecc81a3817cf02348f
4
+ data.tar.gz: d2a9770fe4d45e0dfa42f2cf245dd125136fb109f666df5f8f4e17c96e934a8a
5
5
  SHA512:
6
- metadata.gz: 5ac7a72a522d5587726205c8caefa73108fb1ea0d7e9ff79b823b640e468884ea6a60d56935a7d670adceece1d1f9e227baac6050a8798bc32a76e85a9612c18
7
- data.tar.gz: e5346e7cd21ee3303ef12766de3481252fbccc2672878a4b15612b9cb194a33e2ca1ee7de2e6a3fc6653415a213ead9c52aba35206d1f7e609d4bfeddab0e717
6
+ metadata.gz: 26bc045a63a09b5ec51babc1e4541bd29d60ff2890ef51edd550bbfc343bb10d50741eee8d2247eb2a60b23062c770cb30ffcc4523dd92b7cd0c11d8c366eb3b
7
+ data.tar.gz: 5fc59fd35db091fdc28d2f58d395cb592e2654b365573be5256253059916f21e4d06fb2220fba5df0d1dd9afc6497a4d14ced777bcc225b82053b1a5a1bddf91
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.40.0 (2023-05-01)
5
+ ------------------
6
+
7
+ * Feature - support for tag filtering within compute optimizer. ability to filter recommendation results by tag and tag key value pairs. ability to filter by inferred workload type added.
8
+
9
+ 1.39.0 (2023-03-30)
10
+ ------------------
11
+
12
+ * Feature - This release adds support for HDD EBS volume types and io2 Block Express. We are also adding support for 61 new instance types and instances that have non consecutive runtime.
13
+
4
14
  1.38.0 (2023-02-06)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.38.0
1
+ 1.40.0
@@ -620,7 +620,7 @@ module Aws::ComputeOptimizer
620
620
  # account_ids: ["AccountId"],
621
621
  # filters: [
622
622
  # {
623
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
623
+ # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType, InferredWorkloadTypes
624
624
  # values: ["FilterValue"],
625
625
  # },
626
626
  # ],
@@ -758,7 +758,7 @@ module Aws::ComputeOptimizer
758
758
  # values: ["FilterValue"],
759
759
  # },
760
760
  # ],
761
- # fields_to_export: ["AccountId"], # accepts AccountId, VolumeArn, Finding, UtilizationMetricsVolumeReadOpsPerSecondMaximum, UtilizationMetricsVolumeWriteOpsPerSecondMaximum, UtilizationMetricsVolumeReadBytesPerSecondMaximum, UtilizationMetricsVolumeWriteBytesPerSecondMaximum, LookbackPeriodInDays, CurrentConfigurationVolumeType, CurrentConfigurationVolumeBaselineIOPS, CurrentConfigurationVolumeBaselineThroughput, CurrentConfigurationVolumeBurstIOPS, CurrentConfigurationVolumeBurstThroughput, CurrentConfigurationVolumeSize, CurrentMonthlyPrice, RecommendationOptionsConfigurationVolumeType, RecommendationOptionsConfigurationVolumeBaselineIOPS, RecommendationOptionsConfigurationVolumeBaselineThroughput, RecommendationOptionsConfigurationVolumeBurstIOPS, RecommendationOptionsConfigurationVolumeBurstThroughput, RecommendationOptionsConfigurationVolumeSize, RecommendationOptionsMonthlyPrice, RecommendationOptionsPerformanceRisk, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue
761
+ # fields_to_export: ["AccountId"], # accepts AccountId, VolumeArn, Finding, UtilizationMetricsVolumeReadOpsPerSecondMaximum, UtilizationMetricsVolumeWriteOpsPerSecondMaximum, UtilizationMetricsVolumeReadBytesPerSecondMaximum, UtilizationMetricsVolumeWriteBytesPerSecondMaximum, LookbackPeriodInDays, CurrentConfigurationVolumeType, CurrentConfigurationVolumeBaselineIOPS, CurrentConfigurationVolumeBaselineThroughput, CurrentConfigurationVolumeBurstIOPS, CurrentConfigurationVolumeBurstThroughput, CurrentConfigurationVolumeSize, CurrentMonthlyPrice, RecommendationOptionsConfigurationVolumeType, RecommendationOptionsConfigurationVolumeBaselineIOPS, RecommendationOptionsConfigurationVolumeBaselineThroughput, RecommendationOptionsConfigurationVolumeBurstIOPS, RecommendationOptionsConfigurationVolumeBurstThroughput, RecommendationOptionsConfigurationVolumeSize, RecommendationOptionsMonthlyPrice, RecommendationOptionsPerformanceRisk, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, RootVolume, Tags
762
762
  # s3_destination_config: { # required
763
763
  # bucket: "DestinationBucket",
764
764
  # key_prefix: "DestinationKeyPrefix",
@@ -886,11 +886,11 @@ module Aws::ComputeOptimizer
886
886
  # account_ids: ["AccountId"],
887
887
  # filters: [
888
888
  # {
889
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
889
+ # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType, InferredWorkloadTypes
890
890
  # values: ["FilterValue"],
891
891
  # },
892
892
  # ],
893
- # fields_to_export: ["AccountId"], # accepts AccountId, InstanceArn, InstanceName, Finding, FindingReasonCodes, LookbackPeriodInDays, CurrentInstanceType, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsInstanceType, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPlatformDifferences, RecommendationOptionsPerformanceRisk, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationsSourcesRecommendationSourceArn, RecommendationsSourcesRecommendationSourceType, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, EffectiveRecommendationPreferencesCpuVendorArchitectures, EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics, EffectiveRecommendationPreferencesInferredWorkloadTypes, InferredWorkloadTypes, RecommendationOptionsMigrationEffort, EffectiveRecommendationPreferencesExternalMetricsSource
893
+ # fields_to_export: ["AccountId"], # accepts AccountId, InstanceArn, InstanceName, Finding, FindingReasonCodes, LookbackPeriodInDays, CurrentInstanceType, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsInstanceType, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPlatformDifferences, RecommendationOptionsPerformanceRisk, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationsSourcesRecommendationSourceArn, RecommendationsSourcesRecommendationSourceType, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, EffectiveRecommendationPreferencesCpuVendorArchitectures, EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics, EffectiveRecommendationPreferencesInferredWorkloadTypes, InferredWorkloadTypes, RecommendationOptionsMigrationEffort, EffectiveRecommendationPreferencesExternalMetricsSource, InstanceState, Tags
894
894
  # s3_destination_config: { # required
895
895
  # bucket: "DestinationBucket",
896
896
  # key_prefix: "DestinationKeyPrefix",
@@ -1023,7 +1023,7 @@ module Aws::ComputeOptimizer
1023
1023
  # values: ["FilterValue"],
1024
1024
  # },
1025
1025
  # ],
1026
- # fields_to_export: ["AccountId"], # accepts AccountId, ServiceArn, LookbackPeriodInDays, LastRefreshTimestamp, LaunchType, CurrentPerformanceRisk, CurrentServiceConfigurationMemory, CurrentServiceConfigurationCpu, CurrentServiceConfigurationTaskDefinitionArn, CurrentServiceConfigurationAutoScalingConfiguration, CurrentServiceContainerConfigurations, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, Finding, FindingReasonCodes, RecommendationOptionsMemory, RecommendationOptionsCpu, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, RecommendationOptionsContainerRecommendations, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum
1026
+ # fields_to_export: ["AccountId"], # accepts AccountId, ServiceArn, LookbackPeriodInDays, LastRefreshTimestamp, LaunchType, CurrentPerformanceRisk, CurrentServiceConfigurationMemory, CurrentServiceConfigurationCpu, CurrentServiceConfigurationTaskDefinitionArn, CurrentServiceConfigurationAutoScalingConfiguration, CurrentServiceContainerConfigurations, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, Finding, FindingReasonCodes, RecommendationOptionsMemory, RecommendationOptionsCpu, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, RecommendationOptionsContainerRecommendations, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, Tags
1027
1027
  # s3_destination_config: { # required
1028
1028
  # bucket: "DestinationBucket",
1029
1029
  # key_prefix: "DestinationKeyPrefix",
@@ -1154,7 +1154,7 @@ module Aws::ComputeOptimizer
1154
1154
  # values: ["FilterValue"],
1155
1155
  # },
1156
1156
  # ],
1157
- # fields_to_export: ["AccountId"], # accepts AccountId, FunctionArn, FunctionVersion, Finding, FindingReasonCodes, NumberOfInvocations, UtilizationMetricsDurationMaximum, UtilizationMetricsDurationAverage, UtilizationMetricsMemoryMaximum, UtilizationMetricsMemoryAverage, LookbackPeriodInDays, CurrentConfigurationMemorySize, CurrentConfigurationTimeout, CurrentCostTotal, CurrentCostAverage, RecommendationOptionsConfigurationMemorySize, RecommendationOptionsCostLow, RecommendationOptionsCostHigh, RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound, RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound, RecommendationOptionsProjectedUtilizationMetricsDurationExpected, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue
1157
+ # fields_to_export: ["AccountId"], # accepts AccountId, FunctionArn, FunctionVersion, Finding, FindingReasonCodes, NumberOfInvocations, UtilizationMetricsDurationMaximum, UtilizationMetricsDurationAverage, UtilizationMetricsMemoryMaximum, UtilizationMetricsMemoryAverage, LookbackPeriodInDays, CurrentConfigurationMemorySize, CurrentConfigurationTimeout, CurrentCostTotal, CurrentCostAverage, RecommendationOptionsConfigurationMemorySize, RecommendationOptionsCostLow, RecommendationOptionsCostHigh, RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound, RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound, RecommendationOptionsProjectedUtilizationMetricsDurationExpected, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, Tags
1158
1158
  # s3_destination_config: { # required
1159
1159
  # bucket: "DestinationBucket",
1160
1160
  # key_prefix: "DestinationKeyPrefix",
@@ -1238,7 +1238,7 @@ module Aws::ComputeOptimizer
1238
1238
  # max_results: 1,
1239
1239
  # filters: [
1240
1240
  # {
1241
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
1241
+ # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType, InferredWorkloadTypes
1242
1242
  # values: ["FilterValue"],
1243
1243
  # },
1244
1244
  # ],
@@ -1287,7 +1287,7 @@ module Aws::ComputeOptimizer
1287
1287
  # resp.auto_scaling_group_recommendations[0].effective_recommendation_preferences.inferred_workload_types #=> String, one of "Active", "Inactive"
1288
1288
  # resp.auto_scaling_group_recommendations[0].effective_recommendation_preferences.external_metrics_preference.source #=> String, one of "Datadog", "Dynatrace", "NewRelic", "Instana"
1289
1289
  # resp.auto_scaling_group_recommendations[0].inferred_workload_types #=> Array
1290
- # resp.auto_scaling_group_recommendations[0].inferred_workload_types[0] #=> String, one of "AmazonEmr", "ApacheCassandra", "ApacheHadoop", "Memcached", "Nginx", "PostgreSql", "Redis", "Kafka"
1290
+ # resp.auto_scaling_group_recommendations[0].inferred_workload_types[0] #=> String, one of "AmazonEmr", "ApacheCassandra", "ApacheHadoop", "Memcached", "Nginx", "PostgreSql", "Redis", "Kafka", "SQLServer"
1291
1291
  # resp.errors #=> Array
1292
1292
  # resp.errors[0].identifier #=> String
1293
1293
  # resp.errors[0].code #=> String
@@ -1375,6 +1375,7 @@ module Aws::ComputeOptimizer
1375
1375
  # resp.volume_recommendations[0].current_configuration.volume_burst_iops #=> Integer
1376
1376
  # resp.volume_recommendations[0].current_configuration.volume_baseline_throughput #=> Integer
1377
1377
  # resp.volume_recommendations[0].current_configuration.volume_burst_throughput #=> Integer
1378
+ # resp.volume_recommendations[0].current_configuration.root_volume #=> Boolean
1378
1379
  # resp.volume_recommendations[0].finding #=> String, one of "Optimized", "NotOptimized"
1379
1380
  # resp.volume_recommendations[0].utilization_metrics #=> Array
1380
1381
  # resp.volume_recommendations[0].utilization_metrics[0].name #=> String, one of "VolumeReadOpsPerSecond", "VolumeWriteOpsPerSecond", "VolumeReadBytesPerSecond", "VolumeWriteBytesPerSecond"
@@ -1388,6 +1389,7 @@ module Aws::ComputeOptimizer
1388
1389
  # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_burst_iops #=> Integer
1389
1390
  # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_baseline_throughput #=> Integer
1390
1391
  # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_burst_throughput #=> Integer
1392
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.root_volume #=> Boolean
1391
1393
  # resp.volume_recommendations[0].volume_recommendation_options[0].performance_risk #=> Float
1392
1394
  # resp.volume_recommendations[0].volume_recommendation_options[0].rank #=> Integer
1393
1395
  # resp.volume_recommendations[0].volume_recommendation_options[0].savings_opportunity.savings_opportunity_percentage #=> Float
@@ -1395,6 +1397,9 @@ module Aws::ComputeOptimizer
1395
1397
  # resp.volume_recommendations[0].volume_recommendation_options[0].savings_opportunity.estimated_monthly_savings.value #=> Float
1396
1398
  # resp.volume_recommendations[0].last_refresh_timestamp #=> Time
1397
1399
  # resp.volume_recommendations[0].current_performance_risk #=> String, one of "VeryLow", "Low", "Medium", "High"
1400
+ # resp.volume_recommendations[0].tags #=> Array
1401
+ # resp.volume_recommendations[0].tags[0].key #=> String
1402
+ # resp.volume_recommendations[0].tags[0].value #=> String
1398
1403
  # resp.errors #=> Array
1399
1404
  # resp.errors[0].identifier #=> String
1400
1405
  # resp.errors[0].code #=> String
@@ -1466,7 +1471,7 @@ module Aws::ComputeOptimizer
1466
1471
  # max_results: 1,
1467
1472
  # filters: [
1468
1473
  # {
1469
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
1474
+ # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType, InferredWorkloadTypes
1470
1475
  # values: ["FilterValue"],
1471
1476
  # },
1472
1477
  # ],
@@ -1517,7 +1522,11 @@ module Aws::ComputeOptimizer
1517
1522
  # resp.instance_recommendations[0].effective_recommendation_preferences.inferred_workload_types #=> String, one of "Active", "Inactive"
1518
1523
  # resp.instance_recommendations[0].effective_recommendation_preferences.external_metrics_preference.source #=> String, one of "Datadog", "Dynatrace", "NewRelic", "Instana"
1519
1524
  # resp.instance_recommendations[0].inferred_workload_types #=> Array
1520
- # resp.instance_recommendations[0].inferred_workload_types[0] #=> String, one of "AmazonEmr", "ApacheCassandra", "ApacheHadoop", "Memcached", "Nginx", "PostgreSql", "Redis", "Kafka"
1525
+ # resp.instance_recommendations[0].inferred_workload_types[0] #=> String, one of "AmazonEmr", "ApacheCassandra", "ApacheHadoop", "Memcached", "Nginx", "PostgreSql", "Redis", "Kafka", "SQLServer"
1526
+ # resp.instance_recommendations[0].instance_state #=> String, one of "pending", "running", "shutting-down", "terminated", "stopping", "stopped"
1527
+ # resp.instance_recommendations[0].tags #=> Array
1528
+ # resp.instance_recommendations[0].tags[0].key #=> String
1529
+ # resp.instance_recommendations[0].tags[0].value #=> String
1521
1530
  # resp.errors #=> Array
1522
1531
  # resp.errors[0].identifier #=> String
1523
1532
  # resp.errors[0].code #=> String
@@ -1769,6 +1778,9 @@ module Aws::ComputeOptimizer
1769
1778
  # resp.ecs_service_recommendations[0].service_recommendation_options[0].container_recommendations[0].memory_size_configuration.memory_reservation #=> Integer
1770
1779
  # resp.ecs_service_recommendations[0].service_recommendation_options[0].container_recommendations[0].cpu #=> Integer
1771
1780
  # resp.ecs_service_recommendations[0].current_performance_risk #=> String, one of "VeryLow", "Low", "Medium", "High"
1781
+ # resp.ecs_service_recommendations[0].tags #=> Array
1782
+ # resp.ecs_service_recommendations[0].tags[0].key #=> String
1783
+ # resp.ecs_service_recommendations[0].tags[0].value #=> String
1772
1784
  # resp.errors #=> Array
1773
1785
  # resp.errors[0].identifier #=> String
1774
1786
  # resp.errors[0].code #=> String
@@ -2017,6 +2029,9 @@ module Aws::ComputeOptimizer
2017
2029
  # resp.lambda_function_recommendations[0].memory_size_recommendation_options[0].savings_opportunity.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
2018
2030
  # resp.lambda_function_recommendations[0].memory_size_recommendation_options[0].savings_opportunity.estimated_monthly_savings.value #=> Float
2019
2031
  # resp.lambda_function_recommendations[0].current_performance_risk #=> String, one of "VeryLow", "Low", "Medium", "High"
2032
+ # resp.lambda_function_recommendations[0].tags #=> Array
2033
+ # resp.lambda_function_recommendations[0].tags[0].key #=> String
2034
+ # resp.lambda_function_recommendations[0].tags[0].value #=> String
2020
2035
  #
2021
2036
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLambdaFunctionRecommendations AWS API Documentation
2022
2037
  #
@@ -2192,6 +2207,11 @@ module Aws::ComputeOptimizer
2192
2207
  # resp.recommendation_summaries[0].current_performance_risk_ratings.medium #=> Integer
2193
2208
  # resp.recommendation_summaries[0].current_performance_risk_ratings.low #=> Integer
2194
2209
  # resp.recommendation_summaries[0].current_performance_risk_ratings.very_low #=> Integer
2210
+ # resp.recommendation_summaries[0].inferred_workload_savings #=> Array
2211
+ # resp.recommendation_summaries[0].inferred_workload_savings[0].inferred_workload_types #=> Array
2212
+ # resp.recommendation_summaries[0].inferred_workload_savings[0].inferred_workload_types[0] #=> String, one of "AmazonEmr", "ApacheCassandra", "ApacheHadoop", "Memcached", "Nginx", "PostgreSql", "Redis", "Kafka", "SQLServer"
2213
+ # resp.recommendation_summaries[0].inferred_workload_savings[0].estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
2214
+ # resp.recommendation_summaries[0].inferred_workload_savings[0].estimated_monthly_savings.value #=> Float
2195
2215
  #
2196
2216
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries AWS API Documentation
2197
2217
  #
@@ -2416,7 +2436,7 @@ module Aws::ComputeOptimizer
2416
2436
  params: params,
2417
2437
  config: config)
2418
2438
  context[:gem_name] = 'aws-sdk-computeoptimizer'
2419
- context[:gem_version] = '1.38.0'
2439
+ context[:gem_version] = '1.40.0'
2420
2440
  Seahorse::Client::Request.new(handlers, context)
2421
2441
  end
2422
2442
 
@@ -148,6 +148,8 @@ module Aws::ComputeOptimizer
148
148
  High = Shapes::IntegerShape.new(name: 'High')
149
149
  Identifier = Shapes::StringShape.new(name: 'Identifier')
150
150
  IncludeMemberAccounts = Shapes::BooleanShape.new(name: 'IncludeMemberAccounts')
151
+ InferredWorkloadSaving = Shapes::StructureShape.new(name: 'InferredWorkloadSaving')
152
+ InferredWorkloadSavings = Shapes::ListShape.new(name: 'InferredWorkloadSavings')
151
153
  InferredWorkloadType = Shapes::StringShape.new(name: 'InferredWorkloadType')
152
154
  InferredWorkloadTypes = Shapes::ListShape.new(name: 'InferredWorkloadTypes')
153
155
  InferredWorkloadTypesPreference = Shapes::StringShape.new(name: 'InferredWorkloadTypesPreference')
@@ -159,6 +161,7 @@ module Aws::ComputeOptimizer
159
161
  InstanceRecommendationFindingReasonCodes = Shapes::ListShape.new(name: 'InstanceRecommendationFindingReasonCodes')
160
162
  InstanceRecommendationOption = Shapes::StructureShape.new(name: 'InstanceRecommendationOption')
161
163
  InstanceRecommendations = Shapes::ListShape.new(name: 'InstanceRecommendations')
164
+ InstanceState = Shapes::StringShape.new(name: 'InstanceState')
162
165
  InstanceType = Shapes::StringShape.new(name: 'InstanceType')
163
166
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
164
167
  InvalidParameterValueException = Shapes::StructureShape.new(name: 'InvalidParameterValueException')
@@ -246,6 +249,7 @@ module Aws::ComputeOptimizer
246
249
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
247
250
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
248
251
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
252
+ RootVolume = Shapes::BooleanShape.new(name: 'RootVolume')
249
253
  S3Destination = Shapes::StructureShape.new(name: 'S3Destination')
250
254
  S3DestinationConfig = Shapes::StructureShape.new(name: 'S3DestinationConfig')
251
255
  SavingsOpportunity = Shapes::StructureShape.new(name: 'SavingsOpportunity')
@@ -262,6 +266,10 @@ module Aws::ComputeOptimizer
262
266
  Summaries = Shapes::ListShape.new(name: 'Summaries')
263
267
  Summary = Shapes::StructureShape.new(name: 'Summary')
264
268
  SummaryValue = Shapes::FloatShape.new(name: 'SummaryValue')
269
+ Tag = Shapes::StructureShape.new(name: 'Tag')
270
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
271
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
272
+ Tags = Shapes::ListShape.new(name: 'Tags')
265
273
  TaskDefinitionArn = Shapes::StringShape.new(name: 'TaskDefinitionArn')
266
274
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
267
275
  Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
@@ -413,6 +421,7 @@ module Aws::ComputeOptimizer
413
421
  ECSServiceRecommendation.add_member(:finding_reason_codes, Shapes::ShapeRef.new(shape: ECSServiceRecommendationFindingReasonCodes, location_name: "findingReasonCodes"))
414
422
  ECSServiceRecommendation.add_member(:service_recommendation_options, Shapes::ShapeRef.new(shape: ECSServiceRecommendationOptions, location_name: "serviceRecommendationOptions"))
415
423
  ECSServiceRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
424
+ ECSServiceRecommendation.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
416
425
  ECSServiceRecommendation.struct_class = Types::ECSServiceRecommendation
417
426
 
418
427
  ECSServiceRecommendationFilter.add_member(:name, Shapes::ShapeRef.new(shape: ECSServiceRecommendationFilterName, location_name: "name"))
@@ -685,6 +694,12 @@ module Aws::ComputeOptimizer
685
694
  GetRecommendationSummariesResponse.add_member(:recommendation_summaries, Shapes::ShapeRef.new(shape: RecommendationSummaries, location_name: "recommendationSummaries"))
686
695
  GetRecommendationSummariesResponse.struct_class = Types::GetRecommendationSummariesResponse
687
696
 
697
+ InferredWorkloadSaving.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypes, location_name: "inferredWorkloadTypes"))
698
+ InferredWorkloadSaving.add_member(:estimated_monthly_savings, Shapes::ShapeRef.new(shape: EstimatedMonthlySavings, location_name: "estimatedMonthlySavings"))
699
+ InferredWorkloadSaving.struct_class = Types::InferredWorkloadSaving
700
+
701
+ InferredWorkloadSavings.member = Shapes::ShapeRef.new(shape: InferredWorkloadSaving)
702
+
688
703
  InferredWorkloadTypes.member = Shapes::ShapeRef.new(shape: InferredWorkloadType)
689
704
 
690
705
  InstanceArns.member = Shapes::ShapeRef.new(shape: InstanceArn)
@@ -703,6 +718,8 @@ module Aws::ComputeOptimizer
703
718
  InstanceRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
704
719
  InstanceRecommendation.add_member(:effective_recommendation_preferences, Shapes::ShapeRef.new(shape: EffectiveRecommendationPreferences, location_name: "effectiveRecommendationPreferences"))
705
720
  InstanceRecommendation.add_member(:inferred_workload_types, Shapes::ShapeRef.new(shape: InferredWorkloadTypes, location_name: "inferredWorkloadTypes"))
721
+ InstanceRecommendation.add_member(:instance_state, Shapes::ShapeRef.new(shape: InstanceState, location_name: "instanceState"))
722
+ InstanceRecommendation.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
706
723
  InstanceRecommendation.struct_class = Types::InstanceRecommendation
707
724
 
708
725
  InstanceRecommendationFindingReasonCodes.member = Shapes::ShapeRef.new(shape: InstanceRecommendationFindingReasonCode)
@@ -759,6 +776,7 @@ module Aws::ComputeOptimizer
759
776
  LambdaFunctionRecommendation.add_member(:finding_reason_codes, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFindingReasonCodes, location_name: "findingReasonCodes"))
760
777
  LambdaFunctionRecommendation.add_member(:memory_size_recommendation_options, Shapes::ShapeRef.new(shape: LambdaFunctionMemoryRecommendationOptions, location_name: "memorySizeRecommendationOptions"))
761
778
  LambdaFunctionRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
779
+ LambdaFunctionRecommendation.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
762
780
  LambdaFunctionRecommendation.struct_class = Types::LambdaFunctionRecommendation
763
781
 
764
782
  LambdaFunctionRecommendationFilter.add_member(:name, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFilterName, location_name: "name"))
@@ -859,6 +877,7 @@ module Aws::ComputeOptimizer
859
877
  RecommendationSummary.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
860
878
  RecommendationSummary.add_member(:savings_opportunity, Shapes::ShapeRef.new(shape: SavingsOpportunity, location_name: "savingsOpportunity"))
861
879
  RecommendationSummary.add_member(:current_performance_risk_ratings, Shapes::ShapeRef.new(shape: CurrentPerformanceRiskRatings, location_name: "currentPerformanceRiskRatings"))
880
+ RecommendationSummary.add_member(:inferred_workload_savings, Shapes::ShapeRef.new(shape: InferredWorkloadSavings, location_name: "inferredWorkloadSavings"))
862
881
  RecommendationSummary.struct_class = Types::RecommendationSummary
863
882
 
864
883
  RecommendedOptionProjectedMetric.add_member(:recommended_instance_type, Shapes::ShapeRef.new(shape: RecommendedInstanceType, location_name: "recommendedInstanceType"))
@@ -907,6 +926,12 @@ module Aws::ComputeOptimizer
907
926
  Summary.add_member(:reason_code_summaries, Shapes::ShapeRef.new(shape: ReasonCodeSummaries, location_name: "reasonCodeSummaries"))
908
927
  Summary.struct_class = Types::Summary
909
928
 
929
+ Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "key"))
930
+ Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "value"))
931
+ Tag.struct_class = Types::Tag
932
+
933
+ Tags.member = Shapes::ShapeRef.new(shape: Tag)
934
+
910
935
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
911
936
  ThrottlingException.struct_class = Types::ThrottlingException
912
937
 
@@ -935,6 +960,7 @@ module Aws::ComputeOptimizer
935
960
  VolumeConfiguration.add_member(:volume_burst_iops, Shapes::ShapeRef.new(shape: VolumeBurstIOPS, location_name: "volumeBurstIOPS"))
936
961
  VolumeConfiguration.add_member(:volume_baseline_throughput, Shapes::ShapeRef.new(shape: VolumeBaselineThroughput, location_name: "volumeBaselineThroughput"))
937
962
  VolumeConfiguration.add_member(:volume_burst_throughput, Shapes::ShapeRef.new(shape: VolumeBurstThroughput, location_name: "volumeBurstThroughput"))
963
+ VolumeConfiguration.add_member(:root_volume, Shapes::ShapeRef.new(shape: RootVolume, location_name: "rootVolume"))
938
964
  VolumeConfiguration.struct_class = Types::VolumeConfiguration
939
965
 
940
966
  VolumeRecommendation.add_member(:volume_arn, Shapes::ShapeRef.new(shape: VolumeArn, location_name: "volumeArn"))
@@ -946,6 +972,7 @@ module Aws::ComputeOptimizer
946
972
  VolumeRecommendation.add_member(:volume_recommendation_options, Shapes::ShapeRef.new(shape: VolumeRecommendationOptions, location_name: "volumeRecommendationOptions"))
947
973
  VolumeRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
948
974
  VolumeRecommendation.add_member(:current_performance_risk, Shapes::ShapeRef.new(shape: CurrentPerformanceRisk, location_name: "currentPerformanceRisk"))
975
+ VolumeRecommendation.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "tags"))
949
976
  VolumeRecommendation.struct_class = Types::VolumeRecommendation
950
977
 
951
978
  VolumeRecommendationOption.add_member(:configuration, Shapes::ShapeRef.new(shape: VolumeConfiguration, location_name: "configuration"))
@@ -50,9 +50,6 @@ module Aws::ComputeOptimizer
50
50
 
51
51
  def initialize(options = {})
52
52
  self[:region] = options[:region]
53
- if self[:region].nil?
54
- raise ArgumentError, "Missing required EndpointParameter: :region"
55
- end
56
53
  self[:use_dual_stack] = options[:use_dual_stack]
57
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
55
  if self[:use_dual_stack].nil?
@@ -14,36 +14,39 @@ module Aws::ComputeOptimizer
14
14
  use_dual_stack = parameters.use_dual_stack
15
15
  use_fips = parameters.use_fips
16
16
  endpoint = parameters.endpoint
17
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
- if Aws::Endpoints::Matchers.set?(endpoint)
19
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
- raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
- end
22
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
- raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
- end
25
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
- end
27
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
29
- return Aws::Endpoints::Endpoint.new(url: "https://compute-optimizer-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
- end
31
- raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
- end
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
33
18
  if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
- return Aws::Endpoints::Endpoint.new(url: "https://compute-optimizer-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
- end
37
- raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
38
20
  end
39
21
  if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
- if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
- return Aws::Endpoints::Endpoint.new(url: "https://compute-optimizer.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://compute-optimizer-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://compute-optimizer-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://compute-optimizer.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
42
45
  end
43
- raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
46
+ return Aws::Endpoints::Endpoint.new(url: "https://compute-optimizer.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
44
47
  end
45
- return Aws::Endpoints::Endpoint.new(url: "https://compute-optimizer.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
46
48
  end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
47
50
  raise ArgumentError, 'No endpoint could be resolved'
48
51
 
49
52
  end
@@ -183,6 +183,11 @@ module Aws::ComputeOptimizer
183
183
  # instances.
184
184
  #
185
185
  # * `Redis` - Infers that Redis might be running on the instances.
186
+ #
187
+ # * `Kafka` - Infers that Kafka might be running on the instance.
188
+ #
189
+ # * `SQLServer` - Infers that SQLServer might be running on the
190
+ # instance.
186
191
  # @return [Array<String>]
187
192
  #
188
193
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendation AWS API Documentation
@@ -493,6 +498,23 @@ module Aws::ComputeOptimizer
493
498
  #
494
499
  # Specify `Finding` to return recommendations with a specific finding
495
500
  # classification (for example, `NotOptimized`).
501
+ #
502
+ # You can filter your Amazon EBS volume recommendations by `tag:key`
503
+ # and `tag-key` tags.
504
+ #
505
+ # A `tag:key` is a key and value combination of a tag assigned to your
506
+ # Amazon EBS volume recommendations. Use the tag key in the filter
507
+ # name and the tag value as the filter value. For example, to find all
508
+ # Amazon EBS volume recommendations that have a tag with the key of
509
+ # `Owner` and the value of `TeamA`, specify `tag:Owner` for the filter
510
+ # name and `TeamA` for the filter value.
511
+ #
512
+ # A `tag-key` is the key of a tag assigned to your Amazon EBS volume
513
+ # recommendations. Use this filter to find all of your Amazon EBS
514
+ # volume recommendations that have a tag with a specific key. This
515
+ # doesn’t consider the tag value. For example, you can find your
516
+ # Amazon EBS volume recommendations with a tag key value of `Owner` or
517
+ # without any tag keys assigned.
496
518
  # @return [String]
497
519
  #
498
520
  # @!attribute [rw] values
@@ -780,6 +802,10 @@ module Aws::ComputeOptimizer
780
802
  # of its workload.
781
803
  # @return [String]
782
804
  #
805
+ # @!attribute [rw] tags
806
+ # A list of tags assigned to your Amazon ECS service recommendations.
807
+ # @return [Array<Types::Tag>]
808
+ #
783
809
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSServiceRecommendation AWS API Documentation
784
810
  #
785
811
  class ECSServiceRecommendation < Struct.new(
@@ -793,7 +819,8 @@ module Aws::ComputeOptimizer
793
819
  :finding,
794
820
  :finding_reason_codes,
795
821
  :service_recommendation_options,
796
- :current_performance_risk)
822
+ :current_performance_risk,
823
+ :tags)
797
824
  SENSITIVE = []
798
825
  include Aws::Structure
799
826
  end
@@ -810,6 +837,23 @@ module Aws::ComputeOptimizer
810
837
  #
811
838
  # Specify `FindingReasonCode` to return recommendations with a
812
839
  # specific finding reason code.
840
+ #
841
+ # You can filter your Amazon ECS service recommendations by `tag:key`
842
+ # and `tag-key` tags.
843
+ #
844
+ # A `tag:key` is a key and value combination of a tag assigned to your
845
+ # Amazon ECS service recommendations. Use the tag key in the filter
846
+ # name and the tag value as the filter value. For example, to find all
847
+ # Amazon ECS service recommendations that have a tag with the key of
848
+ # `Owner` and the value of `TeamA`, specify `tag:Owner` for the filter
849
+ # name and `TeamA` for the filter value.
850
+ #
851
+ # A `tag-key` is the key of a tag assigned to your Amazon ECS service
852
+ # recommendations. Use this filter to find all of your Amazon ECS
853
+ # service recommendations that have a tag with a specific key. This
854
+ # doesn’t consider the tag value. For example, you can find your
855
+ # Amazon ECS service recommendations with a tag key value of `Owner`
856
+ # or without any tag keys assigned.
813
857
  # @return [String]
814
858
  #
815
859
  # @!attribute [rw] values
@@ -1736,13 +1780,32 @@ module Aws::ComputeOptimizer
1736
1780
  # The name of the filter.
1737
1781
  #
1738
1782
  # Specify `Finding` to return recommendations with a specific finding
1739
- # classification (for example, `Underprovisioned`).
1783
+ # classification. For example, `Underprovisioned`.
1740
1784
  #
1741
1785
  # Specify `RecommendationSourceType` to return recommendations of a
1742
- # specific resource type (for example, `Ec2Instance`).
1786
+ # specific resource type. For example, `Ec2Instance`.
1743
1787
  #
1744
1788
  # Specify `FindingReasonCodes` to return recommendations with a
1745
- # specific finding reason code (for example, `CPUUnderprovisioned`).
1789
+ # specific finding reason code. For example, `CPUUnderprovisioned`.
1790
+ #
1791
+ # Specify `InferredWorkloadTypes` to return recommendations of a
1792
+ # specific inferred workload. For example, `Redis`.
1793
+ #
1794
+ # You can filter your EC2 instance recommendations by `tag:key` and
1795
+ # `tag-key` tags.
1796
+ #
1797
+ # A `tag:key` is a key and value combination of a tag assigned to your
1798
+ # recommendations. Use the tag key in the filter name and the tag
1799
+ # value as the filter value. For example, to find all recommendations
1800
+ # that have a tag with the key of `Owner` and the value of `TeamA`,
1801
+ # specify `tag:Owner` for the filter name and `TeamA` for the filter
1802
+ # value.
1803
+ #
1804
+ # A `tag-key` is the key of a tag assigned to your recommendations.
1805
+ # Use this filter to find all of your recommendations that have a tag
1806
+ # with a specific key. This doesn’t consider the tag value. For
1807
+ # example, you can find your recommendations with a tag key value of
1808
+ # `Owner` or without any tag keys assigned.
1746
1809
  # @return [String]
1747
1810
  #
1748
1811
  # @!attribute [rw] values
@@ -1764,7 +1827,7 @@ module Aws::ComputeOptimizer
1764
1827
  # `name` parameter as `RecommendationSourceType`.
1765
1828
  #
1766
1829
  # * Specify one of the following options if you specify the `name`
1767
- # parameter as `FindingReasonCodes`\:
1830
+ # parameter as `FindingReasonCodes`:
1768
1831
  #
1769
1832
  # * <b> <code>CPUOverprovisioned</code> </b> — The instance’s CPU
1770
1833
  # configuration can be sized down while still meeting the
@@ -2663,6 +2726,60 @@ module Aws::ComputeOptimizer
2663
2726
  include Aws::Structure
2664
2727
  end
2665
2728
 
2729
+ # The estimated monthly savings after you adjust the configurations of
2730
+ # your instances running on the inferred workload types to the
2731
+ # recommended configurations. If the `inferredWorkloadTypes` list
2732
+ # contains multiple entries, then the savings are the sum of the monthly
2733
+ # savings from instances that run the exact combination of the inferred
2734
+ # workload types.
2735
+ #
2736
+ # @!attribute [rw] inferred_workload_types
2737
+ # The applications that might be running on the instance as inferred
2738
+ # by Compute Optimizer.
2739
+ #
2740
+ # Compute Optimizer can infer if one of the following applications
2741
+ # might be running on the instance:
2742
+ #
2743
+ # * `AmazonEmr` - Infers that Amazon EMR might be running on the
2744
+ # instance.
2745
+ #
2746
+ # * `ApacheCassandra` - Infers that Apache Cassandra might be running
2747
+ # on the instance.
2748
+ #
2749
+ # * `ApacheHadoop` - Infers that Apache Hadoop might be running on the
2750
+ # instance.
2751
+ #
2752
+ # * `Memcached` - Infers that Memcached might be running on the
2753
+ # instance.
2754
+ #
2755
+ # * `NGINX` - Infers that NGINX might be running on the instance.
2756
+ #
2757
+ # * `PostgreSql` - Infers that PostgreSQL might be running on the
2758
+ # instance.
2759
+ #
2760
+ # * `Redis` - Infers that Redis might be running on the instance.
2761
+ #
2762
+ # * `Kafka` - Infers that Kafka might be running on the instance.
2763
+ #
2764
+ # * `SQLServer` - Infers that SQLServer might be running on the
2765
+ # instance.
2766
+ # @return [Array<String>]
2767
+ #
2768
+ # @!attribute [rw] estimated_monthly_savings
2769
+ # An object that describes the estimated monthly savings amount
2770
+ # possible by adopting Compute Optimizer recommendations for a given
2771
+ # resource. This is based on the On-Demand instance pricing.
2772
+ # @return [Types::EstimatedMonthlySavings]
2773
+ #
2774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InferredWorkloadSaving AWS API Documentation
2775
+ #
2776
+ class InferredWorkloadSaving < Struct.new(
2777
+ :inferred_workload_types,
2778
+ :estimated_monthly_savings)
2779
+ SENSITIVE = []
2780
+ include Aws::Structure
2781
+ end
2782
+
2666
2783
  # Describes an Amazon EC2 instance recommendation.
2667
2784
  #
2668
2785
  # @!attribute [rw] instance_arn
@@ -2752,31 +2869,31 @@ module Aws::ComputeOptimizer
2752
2869
  # * <b> <code>EBSThroughputOverprovisioned</code> </b> — The
2753
2870
  # instance’s EBS throughput configuration can be sized down while
2754
2871
  # still meeting the performance requirements of your workload. This
2755
- # is identified by analyzing the `VolumeReadOps` and
2756
- # `VolumeWriteOps` metrics of EBS volumes attached to the current
2872
+ # is identified by analyzing the `VolumeReadBytes` and
2873
+ # `VolumeWriteBytes` metrics of EBS volumes attached to the current
2757
2874
  # instance during the look-back period.
2758
2875
  #
2759
2876
  # * <b> <code>EBSThroughputUnderprovisioned</code> </b> — The
2760
2877
  # instance’s EBS throughput configuration doesn't meet the
2761
2878
  # performance requirements of your workload and there is an
2762
2879
  # alternative instance type that provides better EBS throughput
2763
- # performance. This is identified by analyzing the `VolumeReadOps`
2764
- # and `VolumeWriteOps` metrics of EBS volumes attached to the
2880
+ # performance. This is identified by analyzing the `VolumeReadBytes`
2881
+ # and `VolumeWriteBytes` metrics of EBS volumes attached to the
2765
2882
  # current instance during the look-back period.
2766
2883
  #
2767
2884
  # * <b> <code>EBSIOPSOverprovisioned</code> </b> — The instance’s EBS
2768
2885
  # IOPS configuration can be sized down while still meeting the
2769
2886
  # performance requirements of your workload. This is identified by
2770
- # analyzing the `VolumeReadBytes` and `VolumeWriteBytes` metric of
2771
- # EBS volumes attached to the current instance during the look-back
2887
+ # analyzing the `VolumeReadOps` and `VolumeWriteOps` metric of EBS
2888
+ # volumes attached to the current instance during the look-back
2772
2889
  # period.
2773
2890
  #
2774
2891
  # * <b> <code>EBSIOPSUnderprovisioned</code> </b> — The instance’s EBS
2775
2892
  # IOPS configuration doesn't meet the performance requirements of
2776
2893
  # your workload and there is an alternative instance type that
2777
2894
  # provides better EBS IOPS performance. This is identified by
2778
- # analyzing the `VolumeReadBytes` and `VolumeWriteBytes` metric of
2779
- # EBS volumes attached to the current instance during the look-back
2895
+ # analyzing the `VolumeReadOps` and `VolumeWriteOps` metric of EBS
2896
+ # volumes attached to the current instance during the look-back
2780
2897
  # period.
2781
2898
  #
2782
2899
  # * <b> <code>NetworkBandwidthOverprovisioned</code> </b> — The
@@ -2915,8 +3032,19 @@ module Aws::ComputeOptimizer
2915
3032
  # * `Redis` - Infers that Redis might be running on the instance.
2916
3033
  #
2917
3034
  # * `Kafka` - Infers that Kafka might be running on the instance.
3035
+ #
3036
+ # * `SQLServer` - Infers that SQLServer might be running on the
3037
+ # instance.
2918
3038
  # @return [Array<String>]
2919
3039
  #
3040
+ # @!attribute [rw] instance_state
3041
+ # The state of the instance when the recommendation was generated.
3042
+ # @return [String]
3043
+ #
3044
+ # @!attribute [rw] tags
3045
+ # A list of tags assigned to your Amazon EC2 instance recommendations.
3046
+ # @return [Array<Types::Tag>]
3047
+ #
2920
3048
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceRecommendation AWS API Documentation
2921
3049
  #
2922
3050
  class InstanceRecommendation < Struct.new(
@@ -2933,7 +3061,9 @@ module Aws::ComputeOptimizer
2933
3061
  :last_refresh_timestamp,
2934
3062
  :current_performance_risk,
2935
3063
  :effective_recommendation_preferences,
2936
- :inferred_workload_types)
3064
+ :inferred_workload_types,
3065
+ :instance_state,
3066
+ :tags)
2937
3067
  SENSITIVE = []
2938
3068
  include Aws::Structure
2939
3069
  end
@@ -3372,6 +3502,10 @@ module Aws::ComputeOptimizer
3372
3502
  # current Lambda function requires more memory.
3373
3503
  # @return [String]
3374
3504
  #
3505
+ # @!attribute [rw] tags
3506
+ # A list of tags assigned to your Lambda function recommendations.
3507
+ # @return [Array<Types::Tag>]
3508
+ #
3375
3509
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaFunctionRecommendation AWS API Documentation
3376
3510
  #
3377
3511
  class LambdaFunctionRecommendation < Struct.new(
@@ -3386,7 +3520,8 @@ module Aws::ComputeOptimizer
3386
3520
  :finding,
3387
3521
  :finding_reason_codes,
3388
3522
  :memory_size_recommendation_options,
3389
- :current_performance_risk)
3523
+ :current_performance_risk,
3524
+ :tags)
3390
3525
  SENSITIVE = []
3391
3526
  include Aws::Structure
3392
3527
  end
@@ -3409,6 +3544,23 @@ module Aws::ComputeOptimizer
3409
3544
  # Specify `FindingReasonCode` to return recommendations with a
3410
3545
  # specific finding reason code (for example,
3411
3546
  # `MemoryUnderprovisioned`).
3547
+ #
3548
+ # You can filter your Lambda function recommendations by `tag:key` and
3549
+ # `tag-key` tags.
3550
+ #
3551
+ # A `tag:key` is a key and value combination of a tag assigned to your
3552
+ # Lambda function recommendations. Use the tag key in the filter name
3553
+ # and the tag value as the filter value. For example, to find all
3554
+ # Lambda function recommendations that have a tag with the key of
3555
+ # `Owner` and the value of `TeamA`, specify `tag:Owner` for the filter
3556
+ # name and `TeamA` for the filter value.
3557
+ #
3558
+ # A `tag-key` is the key of a tag assigned to your Lambda function
3559
+ # recommendations. Use this filter to find all of your Lambda function
3560
+ # recommendations that have a tag with a specific key. This doesn’t
3561
+ # consider the tag value. For example, you can find your Lambda
3562
+ # function recommendations with a tag key value of `Owner` or without
3563
+ # any tag keys assigned.
3412
3564
  # @return [String]
3413
3565
  #
3414
3566
  # @!attribute [rw] values
@@ -3946,6 +4098,13 @@ module Aws::ComputeOptimizer
3946
4098
  # resource type.
3947
4099
  # @return [Types::CurrentPerformanceRiskRatings]
3948
4100
  #
4101
+ # @!attribute [rw] inferred_workload_savings
4102
+ # An array of objects that describes the estimated monthly saving
4103
+ # amounts for the instances running on the specified
4104
+ # `inferredWorkloadTypes`. The array contains the top three savings
4105
+ # opportunites for the instances running inferred workload types.
4106
+ # @return [Array<Types::InferredWorkloadSaving>]
4107
+ #
3949
4108
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationSummary AWS API Documentation
3950
4109
  #
3951
4110
  class RecommendationSummary < Struct.new(
@@ -3953,7 +4112,8 @@ module Aws::ComputeOptimizer
3953
4112
  :recommendation_resource_type,
3954
4113
  :account_id,
3955
4114
  :savings_opportunity,
3956
- :current_performance_risk_ratings)
4115
+ :current_performance_risk_ratings,
4116
+ :inferred_workload_savings)
3957
4117
  SENSITIVE = []
3958
4118
  include Aws::Structure
3959
4119
  end
@@ -4115,8 +4275,8 @@ module Aws::ComputeOptimizer
4115
4275
  #
4116
4276
  # @!attribute [rw] estimated_monthly_savings
4117
4277
  # An object that describes the estimated monthly savings amount
4118
- # possible, based on On-Demand instance pricing, by adopting Compute
4119
- # Optimizer recommendations for a given resource.
4278
+ # possible by adopting Compute Optimizer recommendations for a given
4279
+ # resource. This is based on the On-Demand instance pricing..
4120
4280
  # @return [Types::EstimatedMonthlySavings]
4121
4281
  #
4122
4282
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/SavingsOpportunity AWS API Documentation
@@ -4289,6 +4449,28 @@ module Aws::ComputeOptimizer
4289
4449
  include Aws::Structure
4290
4450
  end
4291
4451
 
4452
+ # A list of tag key and value pairs that you define.
4453
+ #
4454
+ # @!attribute [rw] key
4455
+ # One part of a key-value pair that makes up a tag. A key is a general
4456
+ # label that acts like a category for more specific tag values.
4457
+ # @return [String]
4458
+ #
4459
+ # @!attribute [rw] value
4460
+ # One part of a key-value pair that make up a tag. A value acts as a
4461
+ # descriptor within a tag category (key). The value can be empty or
4462
+ # null.
4463
+ # @return [String]
4464
+ #
4465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/Tag AWS API Documentation
4466
+ #
4467
+ class Tag < Struct.new(
4468
+ :key,
4469
+ :value)
4470
+ SENSITIVE = []
4471
+ include Aws::Structure
4472
+ end
4473
+
4292
4474
  # The request was denied due to request throttling.
4293
4475
  #
4294
4476
  # @!attribute [rw] message
@@ -4538,6 +4720,10 @@ module Aws::ComputeOptimizer
4538
4720
  # The burst throughput of the volume.
4539
4721
  # @return [Integer]
4540
4722
  #
4723
+ # @!attribute [rw] root_volume
4724
+ # Contains the image used to boot the instance during launch.
4725
+ # @return [Boolean]
4726
+ #
4541
4727
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/VolumeConfiguration AWS API Documentation
4542
4728
  #
4543
4729
  class VolumeConfiguration < Struct.new(
@@ -4546,7 +4732,8 @@ module Aws::ComputeOptimizer
4546
4732
  :volume_baseline_iops,
4547
4733
  :volume_burst_iops,
4548
4734
  :volume_baseline_throughput,
4549
- :volume_burst_throughput)
4735
+ :volume_burst_throughput,
4736
+ :root_volume)
4550
4737
  SENSITIVE = []
4551
4738
  include Aws::Structure
4552
4739
  end
@@ -4608,6 +4795,10 @@ module Aws::ComputeOptimizer
4608
4795
  # EBS volume doesn't have sufficient capacity.
4609
4796
  # @return [String]
4610
4797
  #
4798
+ # @!attribute [rw] tags
4799
+ # A list of tags assigned to your Amazon EBS volume recommendations.
4800
+ # @return [Array<Types::Tag>]
4801
+ #
4611
4802
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/VolumeRecommendation AWS API Documentation
4612
4803
  #
4613
4804
  class VolumeRecommendation < Struct.new(
@@ -4619,7 +4810,8 @@ module Aws::ComputeOptimizer
4619
4810
  :look_back_period_in_days,
4620
4811
  :volume_recommendation_options,
4621
4812
  :last_refresh_timestamp,
4622
- :current_performance_risk)
4813
+ :current_performance_risk,
4814
+ :tags)
4623
4815
  SENSITIVE = []
4624
4816
  include Aws::Structure
4625
4817
  end
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-computeoptimizer/customizations'
52
52
  # @!group service
53
53
  module Aws::ComputeOptimizer
54
54
 
55
- GEM_VERSION = '1.38.0'
55
+ GEM_VERSION = '1.40.0'
56
56
 
57
57
  end
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.38.0
4
+ version: 1.40.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-02-06 00:00:00.000000000 Z
11
+ date: 2023-05-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core