aws-sdk-computeoptimizer 1.26.0 → 1.30.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 +20 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-computeoptimizer/client.rb +343 -13
- data/lib/aws-sdk-computeoptimizer/client_api.rb +179 -0
- data/lib/aws-sdk-computeoptimizer/types.rb +785 -23
- data/lib/aws-sdk-computeoptimizer.rb +2 -2
- metadata +4 -4
@@ -143,9 +143,48 @@ module Aws::ComputeOptimizer
|
|
143
143
|
#
|
144
144
|
# @!attribute [rw] last_refresh_timestamp
|
145
145
|
# The timestamp of when the Auto Scaling group recommendation was last
|
146
|
-
#
|
146
|
+
# generated.
|
147
147
|
# @return [Time]
|
148
148
|
#
|
149
|
+
# @!attribute [rw] current_performance_risk
|
150
|
+
# The risk of the current Auto Scaling group not meeting the
|
151
|
+
# performance needs of its workloads. The higher the risk, the more
|
152
|
+
# likely the current Auto Scaling group configuration has insufficient
|
153
|
+
# capacity and cannot meet workload requirements.
|
154
|
+
# @return [String]
|
155
|
+
#
|
156
|
+
# @!attribute [rw] effective_recommendation_preferences
|
157
|
+
# An object that describes the effective recommendation preferences
|
158
|
+
# for the Auto Scaling group.
|
159
|
+
# @return [Types::EffectiveRecommendationPreferences]
|
160
|
+
#
|
161
|
+
# @!attribute [rw] inferred_workload_types
|
162
|
+
# The applications that might be running on the instances in the Auto
|
163
|
+
# Scaling group as inferred by Compute Optimizer.
|
164
|
+
#
|
165
|
+
# Compute Optimizer can infer if one of the following applications
|
166
|
+
# might be running on the instances:
|
167
|
+
#
|
168
|
+
# * `AmazonEmr` - Infers that Amazon EMR might be running on the
|
169
|
+
# instances.
|
170
|
+
#
|
171
|
+
# * `ApacheCassandra` - Infers that Apache Cassandra might be running
|
172
|
+
# on the instances.
|
173
|
+
#
|
174
|
+
# * `ApacheHadoop` - Infers that Apache Hadoop might be running on the
|
175
|
+
# instances.
|
176
|
+
#
|
177
|
+
# * `Memcached` - Infers that Memcached might be running on the
|
178
|
+
# instances.
|
179
|
+
#
|
180
|
+
# * `NGINX` - Infers that NGINX might be running on the instances.
|
181
|
+
#
|
182
|
+
# * `PostgreSql` - Infers that PostgreSQL might be running on the
|
183
|
+
# instances.
|
184
|
+
#
|
185
|
+
# * `Redis` - Infers that Redis might be running on the instances.
|
186
|
+
# @return [Array<String>]
|
187
|
+
#
|
149
188
|
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendation AWS API Documentation
|
150
189
|
#
|
151
190
|
class AutoScalingGroupRecommendation < Struct.new(
|
@@ -157,7 +196,10 @@ module Aws::ComputeOptimizer
|
|
157
196
|
:look_back_period_in_days,
|
158
197
|
:current_configuration,
|
159
198
|
:recommendation_options,
|
160
|
-
:last_refresh_timestamp
|
199
|
+
:last_refresh_timestamp,
|
200
|
+
:current_performance_risk,
|
201
|
+
:effective_recommendation_preferences,
|
202
|
+
:inferred_workload_types)
|
161
203
|
SENSITIVE = []
|
162
204
|
include Aws::Structure
|
163
205
|
end
|
@@ -212,17 +254,134 @@ module Aws::ComputeOptimizer
|
|
212
254
|
# The top recommendation option is ranked as `1`.
|
213
255
|
# @return [Integer]
|
214
256
|
#
|
257
|
+
# @!attribute [rw] savings_opportunity
|
258
|
+
# An object that describes the savings opportunity for the Auto
|
259
|
+
# Scaling group recommendation option. Savings opportunity includes
|
260
|
+
# the estimated monthly savings amount and percentage.
|
261
|
+
# @return [Types::SavingsOpportunity]
|
262
|
+
#
|
263
|
+
# @!attribute [rw] migration_effort
|
264
|
+
# The level of effort required to migrate from the current instance
|
265
|
+
# type to the recommended instance type.
|
266
|
+
#
|
267
|
+
# For example, the migration effort is `Low` if Amazon EMR is the
|
268
|
+
# inferred workload type and an Amazon Web Services Graviton instance
|
269
|
+
# type is recommended. The migration effort is `Medium` if a workload
|
270
|
+
# type couldn't be inferred but an Amazon Web Services Graviton
|
271
|
+
# instance type is recommended. The migration effort is `VeryLow` if
|
272
|
+
# both the current and recommended instance types are of the same CPU
|
273
|
+
# architecture.
|
274
|
+
# @return [String]
|
275
|
+
#
|
215
276
|
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/AutoScalingGroupRecommendationOption AWS API Documentation
|
216
277
|
#
|
217
278
|
class AutoScalingGroupRecommendationOption < Struct.new(
|
218
279
|
:configuration,
|
219
280
|
:projected_utilization_metrics,
|
220
281
|
:performance_risk,
|
221
|
-
:rank
|
282
|
+
:rank,
|
283
|
+
:savings_opportunity,
|
284
|
+
:migration_effort)
|
285
|
+
SENSITIVE = []
|
286
|
+
include Aws::Structure
|
287
|
+
end
|
288
|
+
|
289
|
+
# Describes the performance risk ratings for a given resource type.
|
290
|
+
#
|
291
|
+
# Resources with a `high` or `medium` rating are at risk of not meeting
|
292
|
+
# the performance needs of their workloads, while resources with a `low`
|
293
|
+
# rating are performing well in their workloads.
|
294
|
+
#
|
295
|
+
# @!attribute [rw] high
|
296
|
+
# A count of the applicable resource types with a high performance
|
297
|
+
# risk rating.
|
298
|
+
# @return [Integer]
|
299
|
+
#
|
300
|
+
# @!attribute [rw] medium
|
301
|
+
# A count of the applicable resource types with a medium performance
|
302
|
+
# risk rating.
|
303
|
+
# @return [Integer]
|
304
|
+
#
|
305
|
+
# @!attribute [rw] low
|
306
|
+
# A count of the applicable resource types with a low performance risk
|
307
|
+
# rating.
|
308
|
+
# @return [Integer]
|
309
|
+
#
|
310
|
+
# @!attribute [rw] very_low
|
311
|
+
# A count of the applicable resource types with a very low performance
|
312
|
+
# risk rating.
|
313
|
+
# @return [Integer]
|
314
|
+
#
|
315
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/CurrentPerformanceRiskRatings AWS API Documentation
|
316
|
+
#
|
317
|
+
class CurrentPerformanceRiskRatings < Struct.new(
|
318
|
+
:high,
|
319
|
+
:medium,
|
320
|
+
:low,
|
321
|
+
:very_low)
|
322
|
+
SENSITIVE = []
|
323
|
+
include Aws::Structure
|
324
|
+
end
|
325
|
+
|
326
|
+
# @note When making an API call, you may pass DeleteRecommendationPreferencesRequest
|
327
|
+
# data as a hash:
|
328
|
+
#
|
329
|
+
# {
|
330
|
+
# resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
|
331
|
+
# scope: {
|
332
|
+
# name: "Organization", # accepts Organization, AccountId, ResourceArn
|
333
|
+
# value: "ScopeValue",
|
334
|
+
# },
|
335
|
+
# recommendation_preference_names: ["EnhancedInfrastructureMetrics"], # required, accepts EnhancedInfrastructureMetrics, InferredWorkloadTypes
|
336
|
+
# }
|
337
|
+
#
|
338
|
+
# @!attribute [rw] resource_type
|
339
|
+
# The target resource type of the recommendation preference to delete.
|
340
|
+
#
|
341
|
+
# The `Ec2Instance` option encompasses standalone instances and
|
342
|
+
# instances that are part of Auto Scaling groups. The
|
343
|
+
# `AutoScalingGroup` option encompasses only instances that are part
|
344
|
+
# of an Auto Scaling group.
|
345
|
+
# @return [String]
|
346
|
+
#
|
347
|
+
# @!attribute [rw] scope
|
348
|
+
# An object that describes the scope of the recommendation preference
|
349
|
+
# to delete.
|
350
|
+
#
|
351
|
+
# You can delete recommendation preferences that are created at the
|
352
|
+
# organization level (for management accounts of an organization
|
353
|
+
# only), account level, and resource level. For more information, see
|
354
|
+
# [Activating enhanced infrastructure metrics][1] in the *Compute
|
355
|
+
# Optimizer User Guide*.
|
356
|
+
#
|
357
|
+
#
|
358
|
+
#
|
359
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
|
360
|
+
# @return [Types::Scope]
|
361
|
+
#
|
362
|
+
# @!attribute [rw] recommendation_preference_names
|
363
|
+
# The name of the recommendation preference to delete.
|
364
|
+
#
|
365
|
+
# Enhanced infrastructure metrics (`EnhancedInfrastructureMetrics`) is
|
366
|
+
# the only feature that can be activated through preferences.
|
367
|
+
# Therefore, it is also the only recommendation preference that can be
|
368
|
+
# deleted.
|
369
|
+
# @return [Array<String>]
|
370
|
+
#
|
371
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DeleteRecommendationPreferencesRequest AWS API Documentation
|
372
|
+
#
|
373
|
+
class DeleteRecommendationPreferencesRequest < Struct.new(
|
374
|
+
:resource_type,
|
375
|
+
:scope,
|
376
|
+
:recommendation_preference_names)
|
222
377
|
SENSITIVE = []
|
223
378
|
include Aws::Structure
|
224
379
|
end
|
225
380
|
|
381
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DeleteRecommendationPreferencesResponse AWS API Documentation
|
382
|
+
#
|
383
|
+
class DeleteRecommendationPreferencesResponse < Aws::EmptyStructure; end
|
384
|
+
|
226
385
|
# @note When making an API call, you may pass DescribeRecommendationExportJobsRequest
|
227
386
|
# data as a hash:
|
228
387
|
#
|
@@ -404,6 +563,64 @@ module Aws::ComputeOptimizer
|
|
404
563
|
include Aws::Structure
|
405
564
|
end
|
406
565
|
|
566
|
+
# Describes the effective recommendation preferences for a resource.
|
567
|
+
#
|
568
|
+
# @!attribute [rw] cpu_vendor_architectures
|
569
|
+
# Describes the CPU vendor and architecture for an instance or Auto
|
570
|
+
# Scaling group recommendations.
|
571
|
+
#
|
572
|
+
# For example, when you specify `AWS_ARM64` with:
|
573
|
+
#
|
574
|
+
# * A GetEC2InstanceRecommendations or
|
575
|
+
# GetAutoScalingGroupRecommendations request, Compute Optimizer
|
576
|
+
# returns recommendations that consist of Graviton2 instance types
|
577
|
+
# only.
|
578
|
+
#
|
579
|
+
# * A GetEC2RecommendationProjectedMetrics request, Compute Optimizer
|
580
|
+
# returns projected utilization metrics for Graviton2 instance type
|
581
|
+
# recommendations only.
|
582
|
+
#
|
583
|
+
# * A ExportEC2InstanceRecommendations or
|
584
|
+
# ExportAutoScalingGroupRecommendations request, Compute Optimizer
|
585
|
+
# exports recommendations that consist of Graviton2 instance types
|
586
|
+
# only.
|
587
|
+
# @return [Array<String>]
|
588
|
+
#
|
589
|
+
# @!attribute [rw] enhanced_infrastructure_metrics
|
590
|
+
# Describes the activation status of the enhanced infrastructure
|
591
|
+
# metrics preference.
|
592
|
+
#
|
593
|
+
# A status of `Active` confirms that the preference is applied in the
|
594
|
+
# latest recommendation refresh, and a status of `Inactive` confirms
|
595
|
+
# that it's not yet applied to recommendations.
|
596
|
+
#
|
597
|
+
# For more information, see [Enhanced infrastructure metrics][1] in
|
598
|
+
# the *Compute Optimizer User Guide*.
|
599
|
+
#
|
600
|
+
#
|
601
|
+
#
|
602
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
|
603
|
+
# @return [String]
|
604
|
+
#
|
605
|
+
# @!attribute [rw] inferred_workload_types
|
606
|
+
# Describes the activation status of the inferred workload types
|
607
|
+
# preference.
|
608
|
+
#
|
609
|
+
# A status of `Active` confirms that the preference is applied in the
|
610
|
+
# latest recommendation refresh. A status of `Inactive` confirms that
|
611
|
+
# it's not yet applied to recommendations.
|
612
|
+
# @return [String]
|
613
|
+
#
|
614
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EffectiveRecommendationPreferences AWS API Documentation
|
615
|
+
#
|
616
|
+
class EffectiveRecommendationPreferences < Struct.new(
|
617
|
+
:cpu_vendor_architectures,
|
618
|
+
:enhanced_infrastructure_metrics,
|
619
|
+
:inferred_workload_types)
|
620
|
+
SENSITIVE = []
|
621
|
+
include Aws::Structure
|
622
|
+
end
|
623
|
+
|
407
624
|
# Describes a filter that returns a more specific list of account
|
408
625
|
# enrollment statuses. Use this filter with the
|
409
626
|
# GetEnrollmentStatusesForOrganization action.
|
@@ -438,6 +655,34 @@ module Aws::ComputeOptimizer
|
|
438
655
|
include Aws::Structure
|
439
656
|
end
|
440
657
|
|
658
|
+
# Describes the estimated monthly savings amount possible, based on
|
659
|
+
# On-Demand instance pricing, by adopting Compute Optimizer
|
660
|
+
# recommendations for a given resource.
|
661
|
+
#
|
662
|
+
# For more information, see [Estimated monthly savings and savings
|
663
|
+
# opportunities][1] in the *Compute Optimizer User Guide*.
|
664
|
+
#
|
665
|
+
#
|
666
|
+
#
|
667
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/view-ec2-recommendations.html#ec2-savings-calculation
|
668
|
+
#
|
669
|
+
# @!attribute [rw] currency
|
670
|
+
# The currency of the estimated monthly savings.
|
671
|
+
# @return [String]
|
672
|
+
#
|
673
|
+
# @!attribute [rw] value
|
674
|
+
# The value of the estimated monthly savings.
|
675
|
+
# @return [Float]
|
676
|
+
#
|
677
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EstimatedMonthlySavings AWS API Documentation
|
678
|
+
#
|
679
|
+
class EstimatedMonthlySavings < Struct.new(
|
680
|
+
:currency,
|
681
|
+
:value)
|
682
|
+
SENSITIVE = []
|
683
|
+
include Aws::Structure
|
684
|
+
end
|
685
|
+
|
441
686
|
# @note When making an API call, you may pass ExportAutoScalingGroupRecommendationsRequest
|
442
687
|
# data as a hash:
|
443
688
|
#
|
@@ -449,7 +694,7 @@ module Aws::ComputeOptimizer
|
|
449
694
|
# values: ["FilterValue"],
|
450
695
|
# },
|
451
696
|
# ],
|
452
|
-
# fields_to_export: ["AccountId"], # accepts AccountId, AutoScalingGroupArn, AutoScalingGroupName, Finding, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, LookbackPeriodInDays, CurrentConfigurationInstanceType, CurrentConfigurationDesiredCapacity, CurrentConfigurationMinSize, CurrentConfigurationMaxSize, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsConfigurationInstanceType, RecommendationOptionsConfigurationDesiredCapacity, RecommendationOptionsConfigurationMinSize, RecommendationOptionsConfigurationMaxSize, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPerformanceRisk, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, LastRefreshTimestamp
|
697
|
+
# fields_to_export: ["AccountId"], # accepts AccountId, AutoScalingGroupArn, AutoScalingGroupName, Finding, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, LookbackPeriodInDays, CurrentConfigurationInstanceType, CurrentConfigurationDesiredCapacity, CurrentConfigurationMinSize, CurrentConfigurationMaxSize, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsConfigurationInstanceType, RecommendationOptionsConfigurationDesiredCapacity, RecommendationOptionsConfigurationMinSize, RecommendationOptionsConfigurationMaxSize, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPerformanceRisk, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, EffectiveRecommendationPreferencesCpuVendorArchitectures, EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics, EffectiveRecommendationPreferencesInferredWorkloadTypes, InferredWorkloadTypes, RecommendationOptionsMigrationEffort
|
453
698
|
# s3_destination_config: { # required
|
454
699
|
# bucket: "DestinationBucket",
|
455
700
|
# key_prefix: "DestinationKeyPrefix",
|
@@ -612,7 +857,7 @@ module Aws::ComputeOptimizer
|
|
612
857
|
# values: ["FilterValue"],
|
613
858
|
# },
|
614
859
|
# ],
|
615
|
-
# 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
|
860
|
+
# 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
|
616
861
|
# s3_destination_config: { # required
|
617
862
|
# bucket: "DestinationBucket",
|
618
863
|
# key_prefix: "DestinationKeyPrefix",
|
@@ -750,7 +995,7 @@ module Aws::ComputeOptimizer
|
|
750
995
|
# values: ["FilterValue"],
|
751
996
|
# },
|
752
997
|
# ],
|
753
|
-
# 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
|
998
|
+
# 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
|
754
999
|
# s3_destination_config: { # required
|
755
1000
|
# bucket: "DestinationBucket",
|
756
1001
|
# key_prefix: "DestinationKeyPrefix",
|
@@ -802,10 +1047,10 @@ module Aws::ComputeOptimizer
|
|
802
1047
|
# You must create the destination Amazon S3 bucket for your
|
803
1048
|
# recommendations export before you create the export job. Compute
|
804
1049
|
# Optimizer does not create the S3 bucket for you. After you create
|
805
|
-
# the S3 bucket, ensure that it has the required permissions policy
|
806
|
-
#
|
807
|
-
#
|
808
|
-
#
|
1050
|
+
# the S3 bucket, ensure that it has the required permissions policy to
|
1051
|
+
# allow Compute Optimizer to write the export file to it. If you plan
|
1052
|
+
# to specify an object prefix when you create the export job, you must
|
1053
|
+
# include the object prefix in the policy that you add to the S3
|
809
1054
|
# bucket. For more information, see [Amazon S3 Bucket Policy for
|
810
1055
|
# Compute Optimizer][1] in the *Compute Optimizer User Guide*.
|
811
1056
|
#
|
@@ -893,7 +1138,7 @@ module Aws::ComputeOptimizer
|
|
893
1138
|
# values: ["FilterValue"],
|
894
1139
|
# },
|
895
1140
|
# ],
|
896
|
-
# 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
|
1141
|
+
# 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
|
897
1142
|
# s3_destination_config: { # required
|
898
1143
|
# bucket: "DestinationBucket",
|
899
1144
|
# key_prefix: "DestinationKeyPrefix",
|
@@ -1516,6 +1761,58 @@ module Aws::ComputeOptimizer
|
|
1516
1761
|
include Aws::Structure
|
1517
1762
|
end
|
1518
1763
|
|
1764
|
+
# @note When making an API call, you may pass GetEffectiveRecommendationPreferencesRequest
|
1765
|
+
# data as a hash:
|
1766
|
+
#
|
1767
|
+
# {
|
1768
|
+
# resource_arn: "ResourceArn", # required
|
1769
|
+
# }
|
1770
|
+
#
|
1771
|
+
# @!attribute [rw] resource_arn
|
1772
|
+
# The Amazon Resource Name (ARN) of the resource for which to confirm
|
1773
|
+
# effective recommendation preferences. Only EC2 instance and Auto
|
1774
|
+
# Scaling group ARNs are currently supported.
|
1775
|
+
# @return [String]
|
1776
|
+
#
|
1777
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferencesRequest AWS API Documentation
|
1778
|
+
#
|
1779
|
+
class GetEffectiveRecommendationPreferencesRequest < Struct.new(
|
1780
|
+
:resource_arn)
|
1781
|
+
SENSITIVE = []
|
1782
|
+
include Aws::Structure
|
1783
|
+
end
|
1784
|
+
|
1785
|
+
# @!attribute [rw] enhanced_infrastructure_metrics
|
1786
|
+
# The status of the enhanced infrastructure metrics recommendation
|
1787
|
+
# preference. Considers all applicable preferences that you might have
|
1788
|
+
# set at the resource, account, and organization level.
|
1789
|
+
#
|
1790
|
+
# A status of `Active` confirms that the preference is applied in the
|
1791
|
+
# latest recommendation refresh, and a status of `Inactive` confirms
|
1792
|
+
# that it's not yet applied to recommendations.
|
1793
|
+
#
|
1794
|
+
# To validate whether the preference is applied to your last generated
|
1795
|
+
# set of recommendations, review the
|
1796
|
+
# `effectiveRecommendationPreferences` value in the response of the
|
1797
|
+
# GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
|
1798
|
+
# actions.
|
1799
|
+
#
|
1800
|
+
# For more information, see [Enhanced infrastructure metrics][1] in
|
1801
|
+
# the *Compute Optimizer User Guide*.
|
1802
|
+
#
|
1803
|
+
#
|
1804
|
+
#
|
1805
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
|
1806
|
+
# @return [String]
|
1807
|
+
#
|
1808
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferencesResponse AWS API Documentation
|
1809
|
+
#
|
1810
|
+
class GetEffectiveRecommendationPreferencesResponse < Struct.new(
|
1811
|
+
:enhanced_infrastructure_metrics)
|
1812
|
+
SENSITIVE = []
|
1813
|
+
include Aws::Structure
|
1814
|
+
end
|
1815
|
+
|
1519
1816
|
# @api private
|
1520
1817
|
#
|
1521
1818
|
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusRequest AWS API Documentation
|
@@ -1749,6 +2046,88 @@ module Aws::ComputeOptimizer
|
|
1749
2046
|
include Aws::Structure
|
1750
2047
|
end
|
1751
2048
|
|
2049
|
+
# @note When making an API call, you may pass GetRecommendationPreferencesRequest
|
2050
|
+
# data as a hash:
|
2051
|
+
#
|
2052
|
+
# {
|
2053
|
+
# resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
|
2054
|
+
# scope: {
|
2055
|
+
# name: "Organization", # accepts Organization, AccountId, ResourceArn
|
2056
|
+
# value: "ScopeValue",
|
2057
|
+
# },
|
2058
|
+
# next_token: "NextToken",
|
2059
|
+
# max_results: 1,
|
2060
|
+
# }
|
2061
|
+
#
|
2062
|
+
# @!attribute [rw] resource_type
|
2063
|
+
# The target resource type of the recommendation preference for which
|
2064
|
+
# to return preferences.
|
2065
|
+
#
|
2066
|
+
# The `Ec2Instance` option encompasses standalone instances and
|
2067
|
+
# instances that are part of Auto Scaling groups. The
|
2068
|
+
# `AutoScalingGroup` option encompasses only instances that are part
|
2069
|
+
# of an Auto Scaling group.
|
2070
|
+
# @return [String]
|
2071
|
+
#
|
2072
|
+
# @!attribute [rw] scope
|
2073
|
+
# An object that describes the scope of the recommendation preference
|
2074
|
+
# to return.
|
2075
|
+
#
|
2076
|
+
# You can return recommendation preferences that are created at the
|
2077
|
+
# organization level (for management accounts of an organization
|
2078
|
+
# only), account level, and resource level. For more information, see
|
2079
|
+
# [Activating enhanced infrastructure metrics][1] in the *Compute
|
2080
|
+
# Optimizer User Guide*.
|
2081
|
+
#
|
2082
|
+
#
|
2083
|
+
#
|
2084
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
|
2085
|
+
# @return [Types::Scope]
|
2086
|
+
#
|
2087
|
+
# @!attribute [rw] next_token
|
2088
|
+
# The token to advance to the next page of recommendation preferences.
|
2089
|
+
# @return [String]
|
2090
|
+
#
|
2091
|
+
# @!attribute [rw] max_results
|
2092
|
+
# The maximum number of recommendation preferences to return with a
|
2093
|
+
# single request.
|
2094
|
+
#
|
2095
|
+
# To retrieve the remaining results, make another request with the
|
2096
|
+
# returned `nextToken` value.
|
2097
|
+
# @return [Integer]
|
2098
|
+
#
|
2099
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationPreferencesRequest AWS API Documentation
|
2100
|
+
#
|
2101
|
+
class GetRecommendationPreferencesRequest < Struct.new(
|
2102
|
+
:resource_type,
|
2103
|
+
:scope,
|
2104
|
+
:next_token,
|
2105
|
+
:max_results)
|
2106
|
+
SENSITIVE = []
|
2107
|
+
include Aws::Structure
|
2108
|
+
end
|
2109
|
+
|
2110
|
+
# @!attribute [rw] next_token
|
2111
|
+
# The token to use to advance to the next page of recommendation
|
2112
|
+
# preferences.
|
2113
|
+
#
|
2114
|
+
# This value is null when there are no more pages of recommendation
|
2115
|
+
# preferences to return.
|
2116
|
+
# @return [String]
|
2117
|
+
#
|
2118
|
+
# @!attribute [rw] recommendation_preferences_details
|
2119
|
+
# An array of objects that describe recommendation preferences.
|
2120
|
+
# @return [Array<Types::RecommendationPreferencesDetail>]
|
2121
|
+
#
|
2122
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationPreferencesResponse AWS API Documentation
|
2123
|
+
#
|
2124
|
+
class GetRecommendationPreferencesResponse < Struct.new(
|
2125
|
+
:next_token,
|
2126
|
+
:recommendation_preferences_details)
|
2127
|
+
SENSITIVE = []
|
2128
|
+
include Aws::Structure
|
2129
|
+
end
|
2130
|
+
|
1752
2131
|
# @note When making an API call, you may pass GetRecommendationSummariesRequest
|
1753
2132
|
# data as a hash:
|
1754
2133
|
#
|
@@ -2023,9 +2402,47 @@ module Aws::ComputeOptimizer
|
|
2023
2402
|
#
|
2024
2403
|
# @!attribute [rw] last_refresh_timestamp
|
2025
2404
|
# The timestamp of when the instance recommendation was last
|
2026
|
-
#
|
2405
|
+
# generated.
|
2027
2406
|
# @return [Time]
|
2028
2407
|
#
|
2408
|
+
# @!attribute [rw] current_performance_risk
|
2409
|
+
# The risk of the current instance not meeting the performance needs
|
2410
|
+
# of its workloads. The higher the risk, the more likely the current
|
2411
|
+
# instance cannot meet the performance requirements of its workload.
|
2412
|
+
# @return [String]
|
2413
|
+
#
|
2414
|
+
# @!attribute [rw] effective_recommendation_preferences
|
2415
|
+
# An object that describes the effective recommendation preferences
|
2416
|
+
# for the instance.
|
2417
|
+
# @return [Types::EffectiveRecommendationPreferences]
|
2418
|
+
#
|
2419
|
+
# @!attribute [rw] inferred_workload_types
|
2420
|
+
# The applications that might be running on the instance as inferred
|
2421
|
+
# by Compute Optimizer.
|
2422
|
+
#
|
2423
|
+
# Compute Optimizer can infer if one of the following applications
|
2424
|
+
# might be running on the instance:
|
2425
|
+
#
|
2426
|
+
# * `AmazonEmr` - Infers that Amazon EMR might be running on the
|
2427
|
+
# instance.
|
2428
|
+
#
|
2429
|
+
# * `ApacheCassandra` - Infers that Apache Cassandra might be running
|
2430
|
+
# on the instance.
|
2431
|
+
#
|
2432
|
+
# * `ApacheHadoop` - Infers that Apache Hadoop might be running on the
|
2433
|
+
# instance.
|
2434
|
+
#
|
2435
|
+
# * `Memcached` - Infers that Memcached might be running on the
|
2436
|
+
# instance.
|
2437
|
+
#
|
2438
|
+
# * `NGINX` - Infers that NGINX might be running on the instance.
|
2439
|
+
#
|
2440
|
+
# * `PostgreSql` - Infers that PostgreSQL might be running on the
|
2441
|
+
# instance.
|
2442
|
+
#
|
2443
|
+
# * `Redis` - Infers that Redis might be running on the instance.
|
2444
|
+
# @return [Array<String>]
|
2445
|
+
#
|
2029
2446
|
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceRecommendation AWS API Documentation
|
2030
2447
|
#
|
2031
2448
|
class InstanceRecommendation < Struct.new(
|
@@ -2039,7 +2456,10 @@ module Aws::ComputeOptimizer
|
|
2039
2456
|
:look_back_period_in_days,
|
2040
2457
|
:recommendation_options,
|
2041
2458
|
:recommendation_sources,
|
2042
|
-
:last_refresh_timestamp
|
2459
|
+
:last_refresh_timestamp,
|
2460
|
+
:current_performance_risk,
|
2461
|
+
:effective_recommendation_preferences,
|
2462
|
+
:inferred_workload_types)
|
2043
2463
|
SENSITIVE = []
|
2044
2464
|
include Aws::Structure
|
2045
2465
|
end
|
@@ -2191,6 +2611,25 @@ module Aws::ComputeOptimizer
|
|
2191
2611
|
# The top recommendation option is ranked as `1`.
|
2192
2612
|
# @return [Integer]
|
2193
2613
|
#
|
2614
|
+
# @!attribute [rw] savings_opportunity
|
2615
|
+
# An object that describes the savings opportunity for the instance
|
2616
|
+
# recommendation option. Savings opportunity includes the estimated
|
2617
|
+
# monthly savings amount and percentage.
|
2618
|
+
# @return [Types::SavingsOpportunity]
|
2619
|
+
#
|
2620
|
+
# @!attribute [rw] migration_effort
|
2621
|
+
# The level of effort required to migrate from the current instance
|
2622
|
+
# type to the recommended instance type.
|
2623
|
+
#
|
2624
|
+
# For example, the migration effort is `Low` if Amazon EMR is the
|
2625
|
+
# inferred workload type and an Amazon Web Services Graviton instance
|
2626
|
+
# type is recommended. The migration effort is `Medium` if a workload
|
2627
|
+
# type couldn't be inferred but an Amazon Web Services Graviton
|
2628
|
+
# instance type is recommended. The migration effort is `VeryLow` if
|
2629
|
+
# both the current and recommended instance types are of the same CPU
|
2630
|
+
# architecture.
|
2631
|
+
# @return [String]
|
2632
|
+
#
|
2194
2633
|
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/InstanceRecommendationOption AWS API Documentation
|
2195
2634
|
#
|
2196
2635
|
class InstanceRecommendationOption < Struct.new(
|
@@ -2198,7 +2637,9 @@ module Aws::ComputeOptimizer
|
|
2198
2637
|
:projected_utilization_metrics,
|
2199
2638
|
:platform_differences,
|
2200
2639
|
:performance_risk,
|
2201
|
-
:rank
|
2640
|
+
:rank,
|
2641
|
+
:savings_opportunity,
|
2642
|
+
:migration_effort)
|
2202
2643
|
SENSITIVE = []
|
2203
2644
|
include Aws::Structure
|
2204
2645
|
end
|
@@ -2324,12 +2765,19 @@ module Aws::ComputeOptimizer
|
|
2324
2765
|
# of the function recommendation option.
|
2325
2766
|
# @return [Array<Types::LambdaFunctionMemoryProjectedMetric>]
|
2326
2767
|
#
|
2768
|
+
# @!attribute [rw] savings_opportunity
|
2769
|
+
# An object that describes the savings opportunity for the Lambda
|
2770
|
+
# function recommendation option. Savings opportunity includes the
|
2771
|
+
# estimated monthly savings amount and percentage.
|
2772
|
+
# @return [Types::SavingsOpportunity]
|
2773
|
+
#
|
2327
2774
|
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaFunctionMemoryRecommendationOption AWS API Documentation
|
2328
2775
|
#
|
2329
2776
|
class LambdaFunctionMemoryRecommendationOption < Struct.new(
|
2330
2777
|
:rank,
|
2331
2778
|
:memory_size,
|
2332
|
-
:projected_utilization_metrics
|
2779
|
+
:projected_utilization_metrics,
|
2780
|
+
:savings_opportunity)
|
2333
2781
|
SENSITIVE = []
|
2334
2782
|
include Aws::Structure
|
2335
2783
|
end
|
@@ -2370,7 +2818,7 @@ module Aws::ComputeOptimizer
|
|
2370
2818
|
#
|
2371
2819
|
# @!attribute [rw] last_refresh_timestamp
|
2372
2820
|
# The timestamp of when the function recommendation was last
|
2373
|
-
#
|
2821
|
+
# generated.
|
2374
2822
|
# @return [Time]
|
2375
2823
|
#
|
2376
2824
|
# @!attribute [rw] finding
|
@@ -2452,6 +2900,12 @@ module Aws::ComputeOptimizer
|
|
2452
2900
|
# recommendation options for the function.
|
2453
2901
|
# @return [Array<Types::LambdaFunctionMemoryRecommendationOption>]
|
2454
2902
|
#
|
2903
|
+
# @!attribute [rw] current_performance_risk
|
2904
|
+
# The risk of the current Lambda function not meeting the performance
|
2905
|
+
# needs of its workloads. The higher the risk, the more likely the
|
2906
|
+
# current Lambda function requires more memory.
|
2907
|
+
# @return [String]
|
2908
|
+
#
|
2455
2909
|
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/LambdaFunctionRecommendation AWS API Documentation
|
2456
2910
|
#
|
2457
2911
|
class LambdaFunctionRecommendation < Struct.new(
|
@@ -2465,7 +2919,8 @@ module Aws::ComputeOptimizer
|
|
2465
2919
|
:last_refresh_timestamp,
|
2466
2920
|
:finding,
|
2467
2921
|
:finding_reason_codes,
|
2468
|
-
:memory_size_recommendation_options
|
2922
|
+
:memory_size_recommendation_options,
|
2923
|
+
:current_performance_risk)
|
2469
2924
|
SENSITIVE = []
|
2470
2925
|
include Aws::Structure
|
2471
2926
|
end
|
@@ -2684,6 +3139,105 @@ module Aws::ComputeOptimizer
|
|
2684
3139
|
include Aws::Structure
|
2685
3140
|
end
|
2686
3141
|
|
3142
|
+
# @note When making an API call, you may pass PutRecommendationPreferencesRequest
|
3143
|
+
# data as a hash:
|
3144
|
+
#
|
3145
|
+
# {
|
3146
|
+
# resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
|
3147
|
+
# scope: {
|
3148
|
+
# name: "Organization", # accepts Organization, AccountId, ResourceArn
|
3149
|
+
# value: "ScopeValue",
|
3150
|
+
# },
|
3151
|
+
# enhanced_infrastructure_metrics: "Active", # accepts Active, Inactive
|
3152
|
+
# inferred_workload_types: "Active", # accepts Active, Inactive
|
3153
|
+
# }
|
3154
|
+
#
|
3155
|
+
# @!attribute [rw] resource_type
|
3156
|
+
# The target resource type of the recommendation preference to create.
|
3157
|
+
#
|
3158
|
+
# The `Ec2Instance` option encompasses standalone instances and
|
3159
|
+
# instances that are part of Auto Scaling groups. The
|
3160
|
+
# `AutoScalingGroup` option encompasses only instances that are part
|
3161
|
+
# of an Auto Scaling group.
|
3162
|
+
# @return [String]
|
3163
|
+
#
|
3164
|
+
# @!attribute [rw] scope
|
3165
|
+
# An object that describes the scope of the recommendation preference
|
3166
|
+
# to create.
|
3167
|
+
#
|
3168
|
+
# You can create recommendation preferences at the organization level
|
3169
|
+
# (for management accounts of an organization only), account level,
|
3170
|
+
# and resource level. For more information, see [Activating enhanced
|
3171
|
+
# infrastructure metrics][1] in the *Compute Optimizer User Guide*.
|
3172
|
+
#
|
3173
|
+
# <note markdown="1"> You cannot create recommendation preferences for Auto Scaling groups
|
3174
|
+
# at the organization and account levels. You can create
|
3175
|
+
# recommendation preferences for Auto Scaling groups only at the
|
3176
|
+
# resource level by specifying a scope name of `ResourceArn` and a
|
3177
|
+
# scope value of the Auto Scaling group Amazon Resource Name (ARN).
|
3178
|
+
# This will configure the preference for all instances that are part
|
3179
|
+
# of the specified Auto Scaling group. You also cannot create
|
3180
|
+
# recommendation preferences at the resource level for instances that
|
3181
|
+
# are part of an Auto Scaling group. You can create recommendation
|
3182
|
+
# preferences at the resource level only for standalone instances.
|
3183
|
+
#
|
3184
|
+
# </note>
|
3185
|
+
#
|
3186
|
+
#
|
3187
|
+
#
|
3188
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
|
3189
|
+
# @return [Types::Scope]
|
3190
|
+
#
|
3191
|
+
# @!attribute [rw] enhanced_infrastructure_metrics
|
3192
|
+
# The status of the enhanced infrastructure metrics recommendation
|
3193
|
+
# preference to create or update.
|
3194
|
+
#
|
3195
|
+
# Specify the `Active` status to activate the preference, or specify
|
3196
|
+
# `Inactive` to deactivate the preference.
|
3197
|
+
#
|
3198
|
+
# For more information, see [Enhanced infrastructure metrics][1] in
|
3199
|
+
# the *Compute Optimizer User Guide*.
|
3200
|
+
#
|
3201
|
+
#
|
3202
|
+
#
|
3203
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
|
3204
|
+
# @return [String]
|
3205
|
+
#
|
3206
|
+
# @!attribute [rw] inferred_workload_types
|
3207
|
+
# The status of the inferred workload types recommendation preference
|
3208
|
+
# to create or update.
|
3209
|
+
#
|
3210
|
+
# <note markdown="1"> The inferred workload type feature is active by default. To
|
3211
|
+
# deactivate it, create a recommendation preference.
|
3212
|
+
#
|
3213
|
+
# </note>
|
3214
|
+
#
|
3215
|
+
# Specify the `Inactive` status to deactivate the feature, or specify
|
3216
|
+
# `Active` to activate it.
|
3217
|
+
#
|
3218
|
+
# For more information, see [Inferred workload types][1] in the
|
3219
|
+
# *Compute Optimizer User Guide*.
|
3220
|
+
#
|
3221
|
+
#
|
3222
|
+
#
|
3223
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/inferred-workload-types.html
|
3224
|
+
# @return [String]
|
3225
|
+
#
|
3226
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferencesRequest AWS API Documentation
|
3227
|
+
#
|
3228
|
+
class PutRecommendationPreferencesRequest < Struct.new(
|
3229
|
+
:resource_type,
|
3230
|
+
:scope,
|
3231
|
+
:enhanced_infrastructure_metrics,
|
3232
|
+
:inferred_workload_types)
|
3233
|
+
SENSITIVE = []
|
3234
|
+
include Aws::Structure
|
3235
|
+
end
|
3236
|
+
|
3237
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferencesResponse AWS API Documentation
|
3238
|
+
#
|
3239
|
+
class PutRecommendationPreferencesResponse < Aws::EmptyStructure; end
|
3240
|
+
|
2687
3241
|
# A summary of a finding reason code.
|
2688
3242
|
#
|
2689
3243
|
# @!attribute [rw] name
|
@@ -2754,7 +3308,9 @@ module Aws::ComputeOptimizer
|
|
2754
3308
|
include Aws::Structure
|
2755
3309
|
end
|
2756
3310
|
|
2757
|
-
# Describes preferences
|
3311
|
+
# Describes the recommendation preferences to return in the response of
|
3312
|
+
# a GetAutoScalingGroupRecommendations, GetEC2InstanceRecommendations,
|
3313
|
+
# and GetEC2RecommendationProjectedMetrics request.
|
2758
3314
|
#
|
2759
3315
|
# @note When making an API call, you may pass RecommendationPreferences
|
2760
3316
|
# data as a hash:
|
@@ -2792,6 +3348,65 @@ module Aws::ComputeOptimizer
|
|
2792
3348
|
include Aws::Structure
|
2793
3349
|
end
|
2794
3350
|
|
3351
|
+
# Describes a recommendation preference.
|
3352
|
+
#
|
3353
|
+
# @!attribute [rw] scope
|
3354
|
+
# An object that describes the scope of the recommendation preference.
|
3355
|
+
#
|
3356
|
+
# Recommendation preferences can be created at the organization level
|
3357
|
+
# (for management accounts of an organization only), account level,
|
3358
|
+
# and resource level. For more information, see [Activating enhanced
|
3359
|
+
# infrastructure metrics][1] in the *Compute Optimizer User Guide*.
|
3360
|
+
#
|
3361
|
+
#
|
3362
|
+
#
|
3363
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
|
3364
|
+
# @return [Types::Scope]
|
3365
|
+
#
|
3366
|
+
# @!attribute [rw] resource_type
|
3367
|
+
# The target resource type of the recommendation preference to create.
|
3368
|
+
#
|
3369
|
+
# The `Ec2Instance` option encompasses standalone instances and
|
3370
|
+
# instances that are part of Auto Scaling groups. The
|
3371
|
+
# `AutoScalingGroup` option encompasses only instances that are part
|
3372
|
+
# of an Auto Scaling group.
|
3373
|
+
# @return [String]
|
3374
|
+
#
|
3375
|
+
# @!attribute [rw] enhanced_infrastructure_metrics
|
3376
|
+
# The status of the enhanced infrastructure metrics recommendation
|
3377
|
+
# preference.
|
3378
|
+
#
|
3379
|
+
# A status of `Active` confirms that the preference is applied in the
|
3380
|
+
# latest recommendation refresh, and a status of `Inactive` confirms
|
3381
|
+
# that it's not yet applied to recommendations.
|
3382
|
+
#
|
3383
|
+
# For more information, see [Enhanced infrastructure metrics][1] in
|
3384
|
+
# the *Compute Optimizer User Guide*.
|
3385
|
+
#
|
3386
|
+
#
|
3387
|
+
#
|
3388
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
|
3389
|
+
# @return [String]
|
3390
|
+
#
|
3391
|
+
# @!attribute [rw] inferred_workload_types
|
3392
|
+
# The status of the inferred workload types recommendation preference.
|
3393
|
+
#
|
3394
|
+
# A status of `Active` confirms that the preference is applied in the
|
3395
|
+
# latest recommendation refresh. A status of `Inactive` confirms that
|
3396
|
+
# it's not yet applied to recommendations.
|
3397
|
+
# @return [String]
|
3398
|
+
#
|
3399
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationPreferencesDetail AWS API Documentation
|
3400
|
+
#
|
3401
|
+
class RecommendationPreferencesDetail < Struct.new(
|
3402
|
+
:scope,
|
3403
|
+
:resource_type,
|
3404
|
+
:enhanced_infrastructure_metrics,
|
3405
|
+
:inferred_workload_types)
|
3406
|
+
SENSITIVE = []
|
3407
|
+
include Aws::Structure
|
3408
|
+
end
|
3409
|
+
|
2795
3410
|
# Describes the source of a recommendation, such as an Amazon EC2
|
2796
3411
|
# instance or Auto Scaling group.
|
2797
3412
|
#
|
@@ -2819,19 +3434,32 @@ module Aws::ComputeOptimizer
|
|
2819
3434
|
# @return [Array<Types::Summary>]
|
2820
3435
|
#
|
2821
3436
|
# @!attribute [rw] recommendation_resource_type
|
2822
|
-
# The resource type
|
3437
|
+
# The resource type that the recommendation summary applies to.
|
2823
3438
|
# @return [String]
|
2824
3439
|
#
|
2825
3440
|
# @!attribute [rw] account_id
|
2826
3441
|
# The Amazon Web Services account ID of the recommendation summary.
|
2827
3442
|
# @return [String]
|
2828
3443
|
#
|
3444
|
+
# @!attribute [rw] savings_opportunity
|
3445
|
+
# An object that describes the savings opportunity for a given
|
3446
|
+
# resource type. Savings opportunity includes the estimated monthly
|
3447
|
+
# savings amount and percentage.
|
3448
|
+
# @return [Types::SavingsOpportunity]
|
3449
|
+
#
|
3450
|
+
# @!attribute [rw] current_performance_risk_ratings
|
3451
|
+
# An object that describes the performance risk ratings for a given
|
3452
|
+
# resource type.
|
3453
|
+
# @return [Types::CurrentPerformanceRiskRatings]
|
3454
|
+
#
|
2829
3455
|
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationSummary AWS API Documentation
|
2830
3456
|
#
|
2831
3457
|
class RecommendationSummary < Struct.new(
|
2832
3458
|
:summaries,
|
2833
3459
|
:recommendation_resource_type,
|
2834
|
-
:account_id
|
3460
|
+
:account_id,
|
3461
|
+
:savings_opportunity,
|
3462
|
+
:current_performance_risk_ratings)
|
2835
3463
|
SENSITIVE = []
|
2836
3464
|
include Aws::Structure
|
2837
3465
|
end
|
@@ -2969,6 +3597,126 @@ module Aws::ComputeOptimizer
|
|
2969
3597
|
include Aws::Structure
|
2970
3598
|
end
|
2971
3599
|
|
3600
|
+
# Describes the savings opportunity for recommendations of a given
|
3601
|
+
# resource type or for the recommendation option of an individual
|
3602
|
+
# resource.
|
3603
|
+
#
|
3604
|
+
# Savings opportunity represents the estimated monthly savings you can
|
3605
|
+
# achieve by implementing a given Compute Optimizer recommendation.
|
3606
|
+
#
|
3607
|
+
# Savings opportunity data requires that you opt in to Cost Explorer, as
|
3608
|
+
# well as activate **Receive Amazon EC2 resource recommendations** in
|
3609
|
+
# the Cost Explorer preferences page. That creates a connection between
|
3610
|
+
# Cost Explorer and Compute Optimizer. With this connection, Cost
|
3611
|
+
# Explorer generates savings estimates considering the price of existing
|
3612
|
+
# resources, the price of recommended resources, and historical usage
|
3613
|
+
# data. Estimated monthly savings reflects the projected dollar savings
|
3614
|
+
# associated with each of the recommendations generated. For more
|
3615
|
+
# information, see [Enabling Cost Explorer][1] and [Optimizing your cost
|
3616
|
+
# with Rightsizing Recommendations][2] in the *Cost Management User
|
3617
|
+
# Guide*.
|
3618
|
+
#
|
3619
|
+
#
|
3620
|
+
#
|
3621
|
+
# [1]: https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html
|
3622
|
+
# [2]: https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html
|
3623
|
+
#
|
3624
|
+
# @!attribute [rw] savings_opportunity_percentage
|
3625
|
+
# The estimated monthly savings possible as a percentage of monthly
|
3626
|
+
# cost by adopting Compute Optimizer recommendations for a given
|
3627
|
+
# resource.
|
3628
|
+
# @return [Float]
|
3629
|
+
#
|
3630
|
+
# @!attribute [rw] estimated_monthly_savings
|
3631
|
+
# An object that describes the estimated monthly savings amount
|
3632
|
+
# possible, based on On-Demand instance pricing, by adopting Compute
|
3633
|
+
# Optimizer recommendations for a given resource.
|
3634
|
+
# @return [Types::EstimatedMonthlySavings]
|
3635
|
+
#
|
3636
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/SavingsOpportunity AWS API Documentation
|
3637
|
+
#
|
3638
|
+
class SavingsOpportunity < Struct.new(
|
3639
|
+
:savings_opportunity_percentage,
|
3640
|
+
:estimated_monthly_savings)
|
3641
|
+
SENSITIVE = []
|
3642
|
+
include Aws::Structure
|
3643
|
+
end
|
3644
|
+
|
3645
|
+
# Describes the scope of a recommendation preference.
|
3646
|
+
#
|
3647
|
+
# Recommendation preferences can be created at the organization level
|
3648
|
+
# (for management accounts of an organization only), account level, and
|
3649
|
+
# resource level. For more information, see [Activating enhanced
|
3650
|
+
# infrastructure metrics][1] in the *Compute Optimizer User Guide*.
|
3651
|
+
#
|
3652
|
+
# <note markdown="1"> You cannot create recommendation preferences for Auto Scaling groups
|
3653
|
+
# at the organization and account levels. You can create recommendation
|
3654
|
+
# preferences for Auto Scaling groups only at the resource level by
|
3655
|
+
# specifying a scope name of `ResourceArn` and a scope value of the Auto
|
3656
|
+
# Scaling group Amazon Resource Name (ARN). This will configure the
|
3657
|
+
# preference for all instances that are part of the specified Auto
|
3658
|
+
# Scaling group. You also cannot create recommendation preferences at
|
3659
|
+
# the resource level for instances that are part of an Auto Scaling
|
3660
|
+
# group. You can create recommendation preferences at the resource level
|
3661
|
+
# only for standalone instances.
|
3662
|
+
#
|
3663
|
+
# </note>
|
3664
|
+
#
|
3665
|
+
#
|
3666
|
+
#
|
3667
|
+
# [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
|
3668
|
+
#
|
3669
|
+
# @note When making an API call, you may pass Scope
|
3670
|
+
# data as a hash:
|
3671
|
+
#
|
3672
|
+
# {
|
3673
|
+
# name: "Organization", # accepts Organization, AccountId, ResourceArn
|
3674
|
+
# value: "ScopeValue",
|
3675
|
+
# }
|
3676
|
+
#
|
3677
|
+
# @!attribute [rw] name
|
3678
|
+
# The name of the scope.
|
3679
|
+
#
|
3680
|
+
# The following scopes are possible:
|
3681
|
+
#
|
3682
|
+
# * `Organization` - Specifies that the recommendation preference
|
3683
|
+
# applies at the organization level, for all member accounts of an
|
3684
|
+
# organization.
|
3685
|
+
#
|
3686
|
+
# * `AccountId` - Specifies that the recommendation preference applies
|
3687
|
+
# at the account level, for all resources of a given resource type
|
3688
|
+
# in an account.
|
3689
|
+
#
|
3690
|
+
# * `ResourceArn` - Specifies that the recommendation preference
|
3691
|
+
# applies at the individual resource level.
|
3692
|
+
# @return [String]
|
3693
|
+
#
|
3694
|
+
# @!attribute [rw] value
|
3695
|
+
# The value of the scope.
|
3696
|
+
#
|
3697
|
+
# If you specified the `name` of the scope as:
|
3698
|
+
#
|
3699
|
+
# * `Organization` - The `value` must be `ALL_ACCOUNTS`.
|
3700
|
+
#
|
3701
|
+
# * `AccountId` - The `value` must be a 12-digit Amazon Web Services
|
3702
|
+
# account ID.
|
3703
|
+
#
|
3704
|
+
# * `ResourceArn` - The `value` must be the Amazon Resource Name (ARN)
|
3705
|
+
# of an EC2 instance or an Auto Scaling group.
|
3706
|
+
#
|
3707
|
+
# Only EC2 instance and Auto Scaling group ARNs are currently
|
3708
|
+
# supported.
|
3709
|
+
# @return [String]
|
3710
|
+
#
|
3711
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/Scope AWS API Documentation
|
3712
|
+
#
|
3713
|
+
class Scope < Struct.new(
|
3714
|
+
:name,
|
3715
|
+
:value)
|
3716
|
+
SENSITIVE = []
|
3717
|
+
include Aws::Structure
|
3718
|
+
end
|
3719
|
+
|
2972
3720
|
# The request has failed due to a temporary failure of the server.
|
2973
3721
|
#
|
2974
3722
|
# @!attribute [rw] message
|
@@ -3324,9 +4072,15 @@ module Aws::ComputeOptimizer
|
|
3324
4072
|
# @return [Array<Types::VolumeRecommendationOption>]
|
3325
4073
|
#
|
3326
4074
|
# @!attribute [rw] last_refresh_timestamp
|
3327
|
-
# The timestamp of when the volume recommendation was last
|
4075
|
+
# The timestamp of when the volume recommendation was last generated.
|
3328
4076
|
# @return [Time]
|
3329
4077
|
#
|
4078
|
+
# @!attribute [rw] current_performance_risk
|
4079
|
+
# The risk of the current EBS volume not meeting the performance needs
|
4080
|
+
# of its workloads. The higher the risk, the more likely the current
|
4081
|
+
# EBS volume doesn't have sufficient capacity.
|
4082
|
+
# @return [String]
|
4083
|
+
#
|
3330
4084
|
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/VolumeRecommendation AWS API Documentation
|
3331
4085
|
#
|
3332
4086
|
class VolumeRecommendation < Struct.new(
|
@@ -3337,7 +4091,8 @@ module Aws::ComputeOptimizer
|
|
3337
4091
|
:utilization_metrics,
|
3338
4092
|
:look_back_period_in_days,
|
3339
4093
|
:volume_recommendation_options,
|
3340
|
-
:last_refresh_timestamp
|
4094
|
+
:last_refresh_timestamp,
|
4095
|
+
:current_performance_risk)
|
3341
4096
|
SENSITIVE = []
|
3342
4097
|
include Aws::Structure
|
3343
4098
|
end
|
@@ -3368,12 +4123,19 @@ module Aws::ComputeOptimizer
|
|
3368
4123
|
# The top recommendation option is ranked as `1`.
|
3369
4124
|
# @return [Integer]
|
3370
4125
|
#
|
4126
|
+
# @!attribute [rw] savings_opportunity
|
4127
|
+
# An object that describes the savings opportunity for the EBS volume
|
4128
|
+
# recommendation option. Savings opportunity includes the estimated
|
4129
|
+
# monthly savings amount and percentage.
|
4130
|
+
# @return [Types::SavingsOpportunity]
|
4131
|
+
#
|
3371
4132
|
# @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/VolumeRecommendationOption AWS API Documentation
|
3372
4133
|
#
|
3373
4134
|
class VolumeRecommendationOption < Struct.new(
|
3374
4135
|
:configuration,
|
3375
4136
|
:performance_risk,
|
3376
|
-
:rank
|
4137
|
+
:rank,
|
4138
|
+
:savings_opportunity)
|
3377
4139
|
SENSITIVE = []
|
3378
4140
|
include Aws::Structure
|
3379
4141
|
end
|