aws-sdk-computeoptimizer 1.16.0 → 1.20.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.
@@ -44,12 +44,20 @@ module Aws::ComputeOptimizer
44
44
  ExportAutoScalingGroupRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsRequest')
45
45
  ExportAutoScalingGroupRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsResponse')
46
46
  ExportDestination = Shapes::StructureShape.new(name: 'ExportDestination')
47
+ ExportEBSVolumeRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportEBSVolumeRecommendationsRequest')
48
+ ExportEBSVolumeRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportEBSVolumeRecommendationsResponse')
47
49
  ExportEC2InstanceRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportEC2InstanceRecommendationsRequest')
48
50
  ExportEC2InstanceRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportEC2InstanceRecommendationsResponse')
51
+ ExportLambdaFunctionRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsRequest')
52
+ ExportLambdaFunctionRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportLambdaFunctionRecommendationsResponse')
49
53
  ExportableAutoScalingGroupField = Shapes::StringShape.new(name: 'ExportableAutoScalingGroupField')
50
54
  ExportableAutoScalingGroupFields = Shapes::ListShape.new(name: 'ExportableAutoScalingGroupFields')
51
55
  ExportableInstanceField = Shapes::StringShape.new(name: 'ExportableInstanceField')
52
56
  ExportableInstanceFields = Shapes::ListShape.new(name: 'ExportableInstanceFields')
57
+ ExportableLambdaFunctionField = Shapes::StringShape.new(name: 'ExportableLambdaFunctionField')
58
+ ExportableLambdaFunctionFields = Shapes::ListShape.new(name: 'ExportableLambdaFunctionFields')
59
+ ExportableVolumeField = Shapes::StringShape.new(name: 'ExportableVolumeField')
60
+ ExportableVolumeFields = Shapes::ListShape.new(name: 'ExportableVolumeFields')
53
61
  FailureReason = Shapes::StringShape.new(name: 'FailureReason')
54
62
  FileFormat = Shapes::StringShape.new(name: 'FileFormat')
55
63
  Filter = Shapes::StructureShape.new(name: 'Filter')
@@ -84,6 +92,8 @@ module Aws::ComputeOptimizer
84
92
  InstanceArns = Shapes::ListShape.new(name: 'InstanceArns')
85
93
  InstanceName = Shapes::StringShape.new(name: 'InstanceName')
86
94
  InstanceRecommendation = Shapes::StructureShape.new(name: 'InstanceRecommendation')
95
+ InstanceRecommendationFindingReasonCode = Shapes::StringShape.new(name: 'InstanceRecommendationFindingReasonCode')
96
+ InstanceRecommendationFindingReasonCodes = Shapes::ListShape.new(name: 'InstanceRecommendationFindingReasonCodes')
87
97
  InstanceRecommendationOption = Shapes::StructureShape.new(name: 'InstanceRecommendationOption')
88
98
  InstanceRecommendations = Shapes::ListShape.new(name: 'InstanceRecommendations')
89
99
  InstanceType = Shapes::StringShape.new(name: 'InstanceType')
@@ -134,6 +144,8 @@ module Aws::ComputeOptimizer
134
144
  OptInRequiredException = Shapes::StructureShape.new(name: 'OptInRequiredException')
135
145
  PerformanceRisk = Shapes::FloatShape.new(name: 'PerformanceRisk')
136
146
  Period = Shapes::IntegerShape.new(name: 'Period')
147
+ PlatformDifference = Shapes::StringShape.new(name: 'PlatformDifference')
148
+ PlatformDifferences = Shapes::ListShape.new(name: 'PlatformDifferences')
137
149
  ProjectedMetric = Shapes::StructureShape.new(name: 'ProjectedMetric')
138
150
  ProjectedMetrics = Shapes::ListShape.new(name: 'ProjectedMetrics')
139
151
  ProjectedUtilizationMetrics = Shapes::ListShape.new(name: 'ProjectedUtilizationMetrics')
@@ -255,6 +267,18 @@ module Aws::ComputeOptimizer
255
267
  ExportDestination.add_member(:s3, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3"))
256
268
  ExportDestination.struct_class = Types::ExportDestination
257
269
 
270
+ ExportEBSVolumeRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
271
+ ExportEBSVolumeRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: EBSFilters, location_name: "filters"))
272
+ ExportEBSVolumeRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableVolumeFields, location_name: "fieldsToExport"))
273
+ ExportEBSVolumeRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
274
+ ExportEBSVolumeRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
275
+ ExportEBSVolumeRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
276
+ ExportEBSVolumeRecommendationsRequest.struct_class = Types::ExportEBSVolumeRecommendationsRequest
277
+
278
+ ExportEBSVolumeRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
279
+ ExportEBSVolumeRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
280
+ ExportEBSVolumeRecommendationsResponse.struct_class = Types::ExportEBSVolumeRecommendationsResponse
281
+
258
282
  ExportEC2InstanceRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
259
283
  ExportEC2InstanceRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: Filters, location_name: "filters"))
260
284
  ExportEC2InstanceRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableInstanceFields, location_name: "fieldsToExport"))
@@ -267,10 +291,26 @@ module Aws::ComputeOptimizer
267
291
  ExportEC2InstanceRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
268
292
  ExportEC2InstanceRecommendationsResponse.struct_class = Types::ExportEC2InstanceRecommendationsResponse
269
293
 
294
+ ExportLambdaFunctionRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
295
+ ExportLambdaFunctionRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFilters, location_name: "filters"))
296
+ ExportLambdaFunctionRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableLambdaFunctionFields, location_name: "fieldsToExport"))
297
+ ExportLambdaFunctionRecommendationsRequest.add_member(:s3_destination_config, Shapes::ShapeRef.new(shape: S3DestinationConfig, required: true, location_name: "s3DestinationConfig"))
298
+ ExportLambdaFunctionRecommendationsRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, location_name: "fileFormat"))
299
+ ExportLambdaFunctionRecommendationsRequest.add_member(:include_member_accounts, Shapes::ShapeRef.new(shape: IncludeMemberAccounts, location_name: "includeMemberAccounts"))
300
+ ExportLambdaFunctionRecommendationsRequest.struct_class = Types::ExportLambdaFunctionRecommendationsRequest
301
+
302
+ ExportLambdaFunctionRecommendationsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
303
+ ExportLambdaFunctionRecommendationsResponse.add_member(:s3_destination, Shapes::ShapeRef.new(shape: S3Destination, location_name: "s3Destination"))
304
+ ExportLambdaFunctionRecommendationsResponse.struct_class = Types::ExportLambdaFunctionRecommendationsResponse
305
+
270
306
  ExportableAutoScalingGroupFields.member = Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupField)
271
307
 
272
308
  ExportableInstanceFields.member = Shapes::ShapeRef.new(shape: ExportableInstanceField)
273
309
 
310
+ ExportableLambdaFunctionFields.member = Shapes::ShapeRef.new(shape: ExportableLambdaFunctionField)
311
+
312
+ ExportableVolumeFields.member = Shapes::ShapeRef.new(shape: ExportableVolumeField)
313
+
274
314
  Filter.add_member(:name, Shapes::ShapeRef.new(shape: FilterName, location_name: "name"))
275
315
  Filter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
276
316
  Filter.struct_class = Types::Filter
@@ -368,6 +408,7 @@ module Aws::ComputeOptimizer
368
408
  InstanceRecommendation.add_member(:instance_name, Shapes::ShapeRef.new(shape: InstanceName, location_name: "instanceName"))
369
409
  InstanceRecommendation.add_member(:current_instance_type, Shapes::ShapeRef.new(shape: CurrentInstanceType, location_name: "currentInstanceType"))
370
410
  InstanceRecommendation.add_member(:finding, Shapes::ShapeRef.new(shape: Finding, location_name: "finding"))
411
+ InstanceRecommendation.add_member(:finding_reason_codes, Shapes::ShapeRef.new(shape: InstanceRecommendationFindingReasonCodes, location_name: "findingReasonCodes"))
371
412
  InstanceRecommendation.add_member(:utilization_metrics, Shapes::ShapeRef.new(shape: UtilizationMetrics, location_name: "utilizationMetrics"))
372
413
  InstanceRecommendation.add_member(:look_back_period_in_days, Shapes::ShapeRef.new(shape: LookBackPeriodInDays, location_name: "lookBackPeriodInDays"))
373
414
  InstanceRecommendation.add_member(:recommendation_options, Shapes::ShapeRef.new(shape: RecommendationOptions, location_name: "recommendationOptions"))
@@ -375,8 +416,11 @@ module Aws::ComputeOptimizer
375
416
  InstanceRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
376
417
  InstanceRecommendation.struct_class = Types::InstanceRecommendation
377
418
 
419
+ InstanceRecommendationFindingReasonCodes.member = Shapes::ShapeRef.new(shape: InstanceRecommendationFindingReasonCode)
420
+
378
421
  InstanceRecommendationOption.add_member(:instance_type, Shapes::ShapeRef.new(shape: InstanceType, location_name: "instanceType"))
379
422
  InstanceRecommendationOption.add_member(:projected_utilization_metrics, Shapes::ShapeRef.new(shape: ProjectedUtilizationMetrics, location_name: "projectedUtilizationMetrics"))
423
+ InstanceRecommendationOption.add_member(:platform_differences, Shapes::ShapeRef.new(shape: PlatformDifferences, location_name: "platformDifferences"))
380
424
  InstanceRecommendationOption.add_member(:performance_risk, Shapes::ShapeRef.new(shape: PerformanceRisk, location_name: "performanceRisk"))
381
425
  InstanceRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
382
426
  InstanceRecommendationOption.struct_class = Types::InstanceRecommendationOption
@@ -452,6 +496,8 @@ module Aws::ComputeOptimizer
452
496
  OptInRequiredException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
453
497
  OptInRequiredException.struct_class = Types::OptInRequiredException
454
498
 
499
+ PlatformDifferences.member = Shapes::ShapeRef.new(shape: PlatformDifference)
500
+
455
501
  ProjectedMetric.add_member(:name, Shapes::ShapeRef.new(shape: MetricName, location_name: "name"))
456
502
  ProjectedMetric.add_member(:timestamps, Shapes::ShapeRef.new(shape: Timestamps, location_name: "timestamps"))
457
503
  ProjectedMetric.add_member(:values, Shapes::ShapeRef.new(shape: MetricValues, location_name: "values"))
@@ -622,6 +668,22 @@ module Aws::ComputeOptimizer
622
668
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
623
669
  end)
624
670
 
671
+ api.add_operation(:export_ebs_volume_recommendations, Seahorse::Model::Operation.new.tap do |o|
672
+ o.name = "ExportEBSVolumeRecommendations"
673
+ o.http_method = "POST"
674
+ o.http_request_uri = "/"
675
+ o.input = Shapes::ShapeRef.new(shape: ExportEBSVolumeRecommendationsRequest)
676
+ o.output = Shapes::ShapeRef.new(shape: ExportEBSVolumeRecommendationsResponse)
677
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
678
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
679
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
680
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
681
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
682
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
683
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
684
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
685
+ end)
686
+
625
687
  api.add_operation(:export_ec2_instance_recommendations, Seahorse::Model::Operation.new.tap do |o|
626
688
  o.name = "ExportEC2InstanceRecommendations"
627
689
  o.http_method = "POST"
@@ -638,6 +700,22 @@ module Aws::ComputeOptimizer
638
700
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
639
701
  end)
640
702
 
703
+ api.add_operation(:export_lambda_function_recommendations, Seahorse::Model::Operation.new.tap do |o|
704
+ o.name = "ExportLambdaFunctionRecommendations"
705
+ o.http_method = "POST"
706
+ o.http_request_uri = "/"
707
+ o.input = Shapes::ShapeRef.new(shape: ExportLambdaFunctionRecommendationsRequest)
708
+ o.output = Shapes::ShapeRef.new(shape: ExportLambdaFunctionRecommendationsResponse)
709
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
710
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
711
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
712
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
713
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
714
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
715
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
716
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
717
+ end)
718
+
641
719
  api.add_operation(:get_auto_scaling_group_recommendations, Seahorse::Model::Operation.new.tap do |o|
642
720
  o.name = "GetAutoScalingGroupRecommendations"
643
721
  o.http_method = "POST"
@@ -70,7 +70,7 @@ module Aws::ComputeOptimizer
70
70
  # @return [String]
71
71
  #
72
72
  # @!attribute [rw] finding
73
- # The finding classification for the Auto Scaling group.
73
+ # The finding classification of the Auto Scaling group.
74
74
  #
75
75
  # Findings for Auto Scaling groups include:
76
76
  #
@@ -155,11 +155,20 @@ module Aws::ComputeOptimizer
155
155
  # The performance risk of the Auto Scaling group configuration
156
156
  # recommendation.
157
157
  #
158
- # Performance risk is the likelihood of the recommended instance type
159
- # not meeting the performance requirement of your workload.
160
- #
161
- # The lowest performance risk is categorized as `0`, and the highest
162
- # as `5`.
158
+ # Performance risk indicates the likelihood of the recommended
159
+ # instance type not meeting the resource needs of your workload.
160
+ # Compute Optimizer calculates an individual performance risk score
161
+ # for each specification of the recommended instance, including CPU,
162
+ # memory, EBS throughput, EBS IOPS, disk throughput, disk IOPS,
163
+ # network throughput, and network PPS. The performance risk of the
164
+ # recommended instance is calculated as the maximum performance risk
165
+ # score across the analyzed resource specifications.
166
+ #
167
+ # The value ranges from `0` - `4`, with `0` meaning that the
168
+ # recommended resource is predicted to always provide enough hardware
169
+ # capability. The higher the performance risk is, the more likely you
170
+ # should validate whether the recommendation will meet the performance
171
+ # requirements of your workload before migrating your resource.
163
172
  # @return [Float]
164
173
  #
165
174
  # @!attribute [rw] rank
@@ -253,9 +262,14 @@ module Aws::ComputeOptimizer
253
262
  end
254
263
 
255
264
  # Describes a filter that returns a more specific list of Amazon Elastic
256
- # Block Store (Amazon EBS) volume recommendations.
265
+ # Block Store (Amazon EBS) volume recommendations. Use this filter with
266
+ # the `GetEBSVolumeRecommendations` action.
257
267
  #
258
- # This filter is used with the `GetEBSVolumeRecommendations` action.
268
+ # You can use `LambdaFunctionRecommendationFilter` with the
269
+ # `GetLambdaFunctionRecommendations` action, `JobFilter` with the
270
+ # `DescribeRecommendationExportJobs` action, and `Filter` with the
271
+ # `GetAutoScalingGroupRecommendations` and
272
+ # `GetEC2InstanceRecommendations` actions.
259
273
  #
260
274
  # @note When making an API call, you may pass EBSFilter
261
275
  # data as a hash:
@@ -269,7 +283,7 @@ module Aws::ComputeOptimizer
269
283
  # The name of the filter.
270
284
  #
271
285
  # Specify `Finding` to return recommendations with a specific finding
272
- # classification (e.g., `Optimized`).
286
+ # classification (e.g., `NotOptimized`).
273
287
  # @return [String]
274
288
  #
275
289
  # @!attribute [rw] values
@@ -362,11 +376,11 @@ module Aws::ComputeOptimizer
362
376
  # account_ids: ["AccountId"],
363
377
  # filters: [
364
378
  # {
365
- # name: "Finding", # accepts Finding, RecommendationSourceType
379
+ # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
366
380
  # values: ["FilterValue"],
367
381
  # },
368
382
  # ],
369
- # fields_to_export: ["AccountId"], # accepts AccountId, AutoScalingGroupArn, AutoScalingGroupName, Finding, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, 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
383
+ # 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
370
384
  # s3_destination_config: { # required
371
385
  # bucket: "DestinationBucket",
372
386
  # key_prefix: "DestinationKeyPrefix",
@@ -438,7 +452,11 @@ module Aws::ComputeOptimizer
438
452
  # member accounts of the organization if your account is the
439
453
  # management account of an organization.
440
454
  #
441
- # The member accounts must also be opted in to Compute Optimizer.
455
+ # The member accounts must also be opted in to Compute Optimizer, and
456
+ # trusted access for Compute Optimizer must be enabled in the
457
+ # organization account. For more information, see [Compute Optimizer
458
+ # and AWS Organizations trusted access][1] in the *AWS Compute
459
+ # Optimizer User Guide*.
442
460
  #
443
461
  # Recommendations for member accounts of the organization are not
444
462
  # included in the export file if this parameter is omitted.
@@ -448,6 +466,10 @@ module Aws::ComputeOptimizer
448
466
  #
449
467
  # Recommendations for member accounts are not included in the export
450
468
  # if this parameter, or the account IDs parameter, is omitted.
469
+ #
470
+ #
471
+ #
472
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
451
473
  # @return [Boolean]
452
474
  #
453
475
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportAutoScalingGroupRecommendationsRequest AWS API Documentation
@@ -501,6 +523,144 @@ module Aws::ComputeOptimizer
501
523
  include Aws::Structure
502
524
  end
503
525
 
526
+ # @note When making an API call, you may pass ExportEBSVolumeRecommendationsRequest
527
+ # data as a hash:
528
+ #
529
+ # {
530
+ # account_ids: ["AccountId"],
531
+ # filters: [
532
+ # {
533
+ # name: "Finding", # accepts Finding
534
+ # values: ["FilterValue"],
535
+ # },
536
+ # ],
537
+ # 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
538
+ # s3_destination_config: { # required
539
+ # bucket: "DestinationBucket",
540
+ # key_prefix: "DestinationKeyPrefix",
541
+ # },
542
+ # file_format: "Csv", # accepts Csv
543
+ # include_member_accounts: false,
544
+ # }
545
+ #
546
+ # @!attribute [rw] account_ids
547
+ # The IDs of the AWS accounts for which to export Amazon EBS volume
548
+ # recommendations.
549
+ #
550
+ # If your account is the management account of an organization, use
551
+ # this parameter to specify the member account for which you want to
552
+ # export recommendations.
553
+ #
554
+ # This parameter cannot be specified together with the include member
555
+ # accounts parameter. The parameters are mutually exclusive.
556
+ #
557
+ # Recommendations for member accounts are not included in the export
558
+ # if this parameter, or the include member accounts parameter, is
559
+ # omitted.
560
+ #
561
+ # You can specify multiple account IDs per request.
562
+ # @return [Array<String>]
563
+ #
564
+ # @!attribute [rw] filters
565
+ # An array of objects that describe a filter to export a more specific
566
+ # set of Amazon EBS volume recommendations.
567
+ # @return [Array<Types::EBSFilter>]
568
+ #
569
+ # @!attribute [rw] fields_to_export
570
+ # The recommendations data to include in the export file. For more
571
+ # information about the fields that can be exported, see [Exported
572
+ # files][1] in the *Compute Optimizer User Guide*.
573
+ #
574
+ #
575
+ #
576
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
577
+ # @return [Array<String>]
578
+ #
579
+ # @!attribute [rw] s3_destination_config
580
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
581
+ # bucket name and key prefix for a recommendations export job.
582
+ #
583
+ # You must create the destination Amazon S3 bucket for your
584
+ # recommendations export before you create the export job. Compute
585
+ # Optimizer does not create the S3 bucket for you. After you create
586
+ # the S3 bucket, ensure that it has the required permission policy to
587
+ # allow Compute Optimizer to write the export file to it. If you plan
588
+ # to specify an object prefix when you create the export job, you must
589
+ # include the object prefix in the policy that you add to the S3
590
+ # bucket. For more information, see [Amazon S3 Bucket Policy for
591
+ # Compute Optimizer][1] in the *Compute Optimizer user guide*.
592
+ #
593
+ #
594
+ #
595
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
596
+ # @return [Types::S3DestinationConfig]
597
+ #
598
+ # @!attribute [rw] file_format
599
+ # The format of the export file.
600
+ #
601
+ # The only export file format currently supported is `Csv`.
602
+ # @return [String]
603
+ #
604
+ # @!attribute [rw] include_member_accounts
605
+ # Indicates whether to include recommendations for resources in all
606
+ # member accounts of the organization if your account is the
607
+ # management account of an organization.
608
+ #
609
+ # The member accounts must also be opted in to Compute Optimizer, and
610
+ # trusted access for Compute Optimizer must be enabled in the
611
+ # organization account. For more information, see [Compute Optimizer
612
+ # and AWS Organizations trusted access][1] in the *AWS Compute
613
+ # Optimizer User Guide*.
614
+ #
615
+ # Recommendations for member accounts of the organization are not
616
+ # included in the export file if this parameter is omitted.
617
+ #
618
+ # This parameter cannot be specified together with the account IDs
619
+ # parameter. The parameters are mutually exclusive.
620
+ #
621
+ # Recommendations for member accounts are not included in the export
622
+ # if this parameter, or the account IDs parameter, is omitted.
623
+ #
624
+ #
625
+ #
626
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
627
+ # @return [Boolean]
628
+ #
629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendationsRequest AWS API Documentation
630
+ #
631
+ class ExportEBSVolumeRecommendationsRequest < Struct.new(
632
+ :account_ids,
633
+ :filters,
634
+ :fields_to_export,
635
+ :s3_destination_config,
636
+ :file_format,
637
+ :include_member_accounts)
638
+ SENSITIVE = []
639
+ include Aws::Structure
640
+ end
641
+
642
+ # @!attribute [rw] job_id
643
+ # The identification number of the export job.
644
+ #
645
+ # Use the `DescribeRecommendationExportJobs` action, and specify the
646
+ # job ID to view the status of an export job.
647
+ # @return [String]
648
+ #
649
+ # @!attribute [rw] s3_destination
650
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
651
+ # bucket name and object keys of a recommendations export file, and
652
+ # its associated metadata file.
653
+ # @return [Types::S3Destination]
654
+ #
655
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendationsResponse AWS API Documentation
656
+ #
657
+ class ExportEBSVolumeRecommendationsResponse < Struct.new(
658
+ :job_id,
659
+ :s3_destination)
660
+ SENSITIVE = []
661
+ include Aws::Structure
662
+ end
663
+
504
664
  # @note When making an API call, you may pass ExportEC2InstanceRecommendationsRequest
505
665
  # data as a hash:
506
666
  #
@@ -508,11 +668,11 @@ module Aws::ComputeOptimizer
508
668
  # account_ids: ["AccountId"],
509
669
  # filters: [
510
670
  # {
511
- # name: "Finding", # accepts Finding, RecommendationSourceType
671
+ # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
512
672
  # values: ["FilterValue"],
513
673
  # },
514
674
  # ],
515
- # fields_to_export: ["AccountId"], # accepts AccountId, InstanceArn, InstanceName, Finding, LookbackPeriodInDays, CurrentInstanceType, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsInstanceType, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPerformanceRisk, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationsSourcesRecommendationSourceArn, RecommendationsSourcesRecommendationSourceType, LastRefreshTimestamp
675
+ # 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
516
676
  # s3_destination_config: { # required
517
677
  # bucket: "DestinationBucket",
518
678
  # key_prefix: "DestinationKeyPrefix",
@@ -584,13 +744,21 @@ module Aws::ComputeOptimizer
584
744
  # member accounts of the organization if your account is the
585
745
  # management account of an organization.
586
746
  #
587
- # The member accounts must also be opted in to Compute Optimizer.
747
+ # The member accounts must also be opted in to Compute Optimizer, and
748
+ # trusted access for Compute Optimizer must be enabled in the
749
+ # organization account. For more information, see [Compute Optimizer
750
+ # and AWS Organizations trusted access][1] in the *AWS Compute
751
+ # Optimizer User Guide*.
588
752
  #
589
753
  # Recommendations for member accounts of the organization are not
590
754
  # included in the export file if this parameter is omitted.
591
755
  #
592
756
  # Recommendations for member accounts are not included in the export
593
757
  # if this parameter, or the account IDs parameter, is omitted.
758
+ #
759
+ #
760
+ #
761
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
594
762
  # @return [Boolean]
595
763
  #
596
764
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendationsRequest AWS API Documentation
@@ -627,17 +795,159 @@ module Aws::ComputeOptimizer
627
795
  include Aws::Structure
628
796
  end
629
797
 
630
- # Describes a filter that returns a more specific list of
631
- # recommendations.
798
+ # @note When making an API call, you may pass ExportLambdaFunctionRecommendationsRequest
799
+ # data as a hash:
800
+ #
801
+ # {
802
+ # account_ids: ["AccountId"],
803
+ # filters: [
804
+ # {
805
+ # name: "Finding", # accepts Finding, FindingReasonCode
806
+ # values: ["FilterValue"],
807
+ # },
808
+ # ],
809
+ # 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
810
+ # s3_destination_config: { # required
811
+ # bucket: "DestinationBucket",
812
+ # key_prefix: "DestinationKeyPrefix",
813
+ # },
814
+ # file_format: "Csv", # accepts Csv
815
+ # include_member_accounts: false,
816
+ # }
817
+ #
818
+ # @!attribute [rw] account_ids
819
+ # The IDs of the AWS accounts for which to export Lambda function
820
+ # recommendations.
821
+ #
822
+ # If your account is the management account of an organization, use
823
+ # this parameter to specify the member account for which you want to
824
+ # export recommendations.
825
+ #
826
+ # This parameter cannot be specified together with the include member
827
+ # accounts parameter. The parameters are mutually exclusive.
828
+ #
829
+ # Recommendations for member accounts are not included in the export
830
+ # if this parameter, or the include member accounts parameter, is
831
+ # omitted.
832
+ #
833
+ # You can specify multiple account IDs per request.
834
+ # @return [Array<String>]
835
+ #
836
+ # @!attribute [rw] filters
837
+ # An array of objects that describe a filter to export a more specific
838
+ # set of Lambda function recommendations.
839
+ # @return [Array<Types::LambdaFunctionRecommendationFilter>]
840
+ #
841
+ # @!attribute [rw] fields_to_export
842
+ # The recommendations data to include in the export file. For more
843
+ # information about the fields that can be exported, see [Exported
844
+ # files][1] in the *Compute Optimizer User Guide*.
845
+ #
846
+ #
847
+ #
848
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
849
+ # @return [Array<String>]
850
+ #
851
+ # @!attribute [rw] s3_destination_config
852
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
853
+ # bucket name and key prefix for a recommendations export job.
854
+ #
855
+ # You must create the destination Amazon S3 bucket for your
856
+ # recommendations export before you create the export job. Compute
857
+ # Optimizer does not create the S3 bucket for you. After you create
858
+ # the S3 bucket, ensure that it has the required permission policy to
859
+ # allow Compute Optimizer to write the export file to it. If you plan
860
+ # to specify an object prefix when you create the export job, you must
861
+ # include the object prefix in the policy that you add to the S3
862
+ # bucket. For more information, see [Amazon S3 Bucket Policy for
863
+ # Compute Optimizer][1] in the *Compute Optimizer user guide*.
864
+ #
865
+ #
866
+ #
867
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
868
+ # @return [Types::S3DestinationConfig]
869
+ #
870
+ # @!attribute [rw] file_format
871
+ # The format of the export file.
872
+ #
873
+ # The only export file format currently supported is `Csv`.
874
+ # @return [String]
875
+ #
876
+ # @!attribute [rw] include_member_accounts
877
+ # Indicates whether to include recommendations for resources in all
878
+ # member accounts of the organization if your account is the
879
+ # management account of an organization.
880
+ #
881
+ # The member accounts must also be opted in to Compute Optimizer, and
882
+ # trusted access for Compute Optimizer must be enabled in the
883
+ # organization account. For more information, see [Compute Optimizer
884
+ # and AWS Organizations trusted access][1] in the *AWS Compute
885
+ # Optimizer User Guide*.
886
+ #
887
+ # Recommendations for member accounts of the organization are not
888
+ # included in the export file if this parameter is omitted.
889
+ #
890
+ # This parameter cannot be specified together with the account IDs
891
+ # parameter. The parameters are mutually exclusive.
892
+ #
893
+ # Recommendations for member accounts are not included in the export
894
+ # if this parameter, or the account IDs parameter, is omitted.
632
895
  #
633
- # This filter is used with the `GetAutoScalingGroupRecommendations` and
896
+ #
897
+ #
898
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
899
+ # @return [Boolean]
900
+ #
901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLambdaFunctionRecommendationsRequest AWS API Documentation
902
+ #
903
+ class ExportLambdaFunctionRecommendationsRequest < Struct.new(
904
+ :account_ids,
905
+ :filters,
906
+ :fields_to_export,
907
+ :s3_destination_config,
908
+ :file_format,
909
+ :include_member_accounts)
910
+ SENSITIVE = []
911
+ include Aws::Structure
912
+ end
913
+
914
+ # @!attribute [rw] job_id
915
+ # The identification number of the export job.
916
+ #
917
+ # Use the `DescribeRecommendationExportJobs` action, and specify the
918
+ # job ID to view the status of an export job.
919
+ # @return [String]
920
+ #
921
+ # @!attribute [rw] s3_destination
922
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
923
+ # bucket name and object keys of a recommendations export file, and
924
+ # its associated metadata file.
925
+ # @return [Types::S3Destination]
926
+ #
927
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportLambdaFunctionRecommendationsResponse AWS API Documentation
928
+ #
929
+ class ExportLambdaFunctionRecommendationsResponse < Struct.new(
930
+ :job_id,
931
+ :s3_destination)
932
+ SENSITIVE = []
933
+ include Aws::Structure
934
+ end
935
+
936
+ # Describes a filter that returns a more specific list of
937
+ # recommendations. Use this filter with the
938
+ # `GetAutoScalingGroupRecommendations` and
634
939
  # `GetEC2InstanceRecommendations` actions.
635
940
  #
941
+ # You can use `EBSFilter` with the `GetEBSVolumeRecommendations` action,
942
+ # `LambdaFunctionRecommendationFilter` with the
943
+ # `GetLambdaFunctionRecommendations` action, and `JobFilter` with the
944
+ # `DescribeRecommendationExportJobs` action.
945
+ #
636
946
  # @note When making an API call, you may pass Filter
637
947
  # data as a hash:
638
948
  #
639
949
  # {
640
- # name: "Finding", # accepts Finding, RecommendationSourceType
950
+ # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
641
951
  # values: ["FilterValue"],
642
952
  # }
643
953
  #
@@ -645,10 +955,13 @@ module Aws::ComputeOptimizer
645
955
  # The name of the filter.
646
956
  #
647
957
  # Specify `Finding` to return recommendations with a specific finding
648
- # classification (e.g., `Overprovisioned`).
958
+ # classification (e.g., `Underprovisioned`).
649
959
  #
650
960
  # Specify `RecommendationSourceType` to return recommendations of a
651
- # specific resource type (e.g., `AutoScalingGroup`).
961
+ # specific resource type (e.g., `Ec2Instance`).
962
+ #
963
+ # Specify `FindingReasonCodes` to return recommendations with a
964
+ # specific finding reason code (e.g., `CPUUnderprovisioned`).
652
965
  # @return [String]
653
966
  #
654
967
  # @!attribute [rw] values
@@ -658,16 +971,98 @@ module Aws::ComputeOptimizer
658
971
  # what you specify for the `name` parameter and the resource type that
659
972
  # you wish to filter results for:
660
973
  #
661
- # * Specify `Optimized` or `NotOptimized` if you specified the `name`
974
+ # * Specify `Optimized` or `NotOptimized` if you specify the `name`
662
975
  # parameter as `Finding` and you want to filter results for Auto
663
976
  # Scaling groups.
664
977
  #
665
978
  # * Specify `Underprovisioned`, `Overprovisioned`, or `Optimized` if
666
- # you specified the `name` parameter as `Finding` and you want to
979
+ # you specify the `name` parameter as `Finding` and you want to
667
980
  # filter results for EC2 instances.
668
981
  #
669
- # * Specify `Ec2Instance` or `AutoScalingGroup` if you specified the
982
+ # * Specify `Ec2Instance` or `AutoScalingGroup` if you specify the
670
983
  # `name` parameter as `RecommendationSourceType`.
984
+ #
985
+ # * Specify one of the following options if you specify the `name`
986
+ # parameter as `FindingReasonCodes`\:
987
+ #
988
+ # * <b> <code>CPUOverprovisioned</code> </b> — The instance’s CPU
989
+ # configuration can be sized down while still meeting the
990
+ # performance requirements of your workload.
991
+ #
992
+ # * <b> <code>CPUUnderprovisioned</code> </b> — The instance’s CPU
993
+ # configuration doesn't meet the performance requirements of your
994
+ # workload and there is an alternative instance type that provides
995
+ # better CPU performance.
996
+ #
997
+ # * <b> <code>MemoryOverprovisioned</code> </b> — The instance’s
998
+ # memory configuration can be sized down while still meeting the
999
+ # performance requirements of your workload.
1000
+ #
1001
+ # * <b> <code>MemoryUnderprovisioned</code> </b> — The instance’s
1002
+ # memory configuration doesn't meet the performance requirements
1003
+ # of your workload and there is an alternative instance type that
1004
+ # provides better memory performance.
1005
+ #
1006
+ # * <b> <code>EBSThroughputOverprovisioned</code> </b> — The
1007
+ # instance’s EBS throughput configuration can be sized down while
1008
+ # still meeting the performance requirements of your workload.
1009
+ #
1010
+ # * <b> <code>EBSThroughputUnderprovisioned</code> </b> — The
1011
+ # instance’s EBS throughput configuration doesn't meet the
1012
+ # performance requirements of your workload and there is an
1013
+ # alternative instance type that provides better EBS throughput
1014
+ # performance.
1015
+ #
1016
+ # * <b> <code>EBSIOPSOverprovisioned</code> </b> — The instance’s
1017
+ # EBS IOPS configuration can be sized down while still meeting the
1018
+ # performance requirements of your workload.
1019
+ #
1020
+ # * <b> <code>EBSIOPSUnderprovisioned</code> </b> — The instance’s
1021
+ # EBS IOPS configuration doesn't meet the performance
1022
+ # requirements of your workload and there is an alternative
1023
+ # instance type that provides better EBS IOPS performance.
1024
+ #
1025
+ # * <b> <code>NetworkBandwidthOverprovisioned</code> </b> — The
1026
+ # instance’s network bandwidth configuration can be sized down
1027
+ # while still meeting the performance requirements of your
1028
+ # workload.
1029
+ #
1030
+ # * <b> <code>NetworkBandwidthUnderprovisioned</code> </b> — The
1031
+ # instance’s network bandwidth configuration doesn't meet the
1032
+ # performance requirements of your workload and there is an
1033
+ # alternative instance type that provides better network bandwidth
1034
+ # performance. This finding reason happens when the `NetworkIn` or
1035
+ # `NetworkOut` performance of an instance is impacted.
1036
+ #
1037
+ # * <b> <code>NetworkPPSOverprovisioned</code> </b> — The instance’s
1038
+ # network PPS (packets per second) configuration can be sized down
1039
+ # while still meeting the performance requirements of your
1040
+ # workload.
1041
+ #
1042
+ # * <b> <code>NetworkPPSUnderprovisioned</code> </b> — The
1043
+ # instance’s network PPS (packets per second) configuration
1044
+ # doesn't meet the performance requirements of your workload and
1045
+ # there is an alternative instance type that provides better
1046
+ # network PPS performance.
1047
+ #
1048
+ # * <b> <code>DiskIOPSOverprovisioned</code> </b> — The instance’s
1049
+ # disk IOPS configuration can be sized down while still meeting
1050
+ # the performance requirements of your workload.
1051
+ #
1052
+ # * <b> <code>DiskIOPSUnderprovisioned</code> </b> — The instance’s
1053
+ # disk IOPS configuration doesn't meet the performance
1054
+ # requirements of your workload and there is an alternative
1055
+ # instance type that provides better disk IOPS performance.
1056
+ #
1057
+ # * <b> <code>DiskThroughputOverprovisioned</code> </b> — The
1058
+ # instance’s disk throughput configuration can be sized down while
1059
+ # still meeting the performance requirements of your workload.
1060
+ #
1061
+ # * <b> <code>DiskThroughputUnderprovisioned</code> </b> — The
1062
+ # instance’s disk throughput configuration doesn't meet the
1063
+ # performance requirements of your workload and there is an
1064
+ # alternative instance type that provides better disk throughput
1065
+ # performance.
671
1066
  # @return [Array<String>]
672
1067
  #
673
1068
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/Filter AWS API Documentation
@@ -689,7 +1084,7 @@ module Aws::ComputeOptimizer
689
1084
  # max_results: 1,
690
1085
  # filters: [
691
1086
  # {
692
- # name: "Finding", # accepts Finding, RecommendationSourceType
1087
+ # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
693
1088
  # values: ["FilterValue"],
694
1089
  # },
695
1090
  # ],
@@ -870,7 +1265,7 @@ module Aws::ComputeOptimizer
870
1265
  # max_results: 1,
871
1266
  # filters: [
872
1267
  # {
873
- # name: "Finding", # accepts Finding, RecommendationSourceType
1268
+ # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
874
1269
  # values: ["FilterValue"],
875
1270
  # },
876
1271
  # ],
@@ -1246,7 +1641,7 @@ module Aws::ComputeOptimizer
1246
1641
  # @return [String]
1247
1642
  #
1248
1643
  # @!attribute [rw] finding
1249
- # The finding classification for the instance.
1644
+ # The finding classification of the instance.
1250
1645
  #
1251
1646
  # Findings for instances include:
1252
1647
  #
@@ -1266,12 +1661,156 @@ module Aws::ComputeOptimizer
1266
1661
  # * <b> <code>Optimized</code> </b>—An instance is considered
1267
1662
  # optimized when all specifications of your instance, such as CPU,
1268
1663
  # memory, and network, meet the performance requirements of your
1269
- # workload and is not over provisioned. An optimized instance runs
1270
- # your workloads with optimal performance and infrastructure cost.
1271
- # For optimized resources, AWS Compute Optimizer might recommend a
1272
- # new generation instance type.
1664
+ # workload and is not over provisioned. For optimized resources, AWS
1665
+ # Compute Optimizer might recommend a new generation instance type.
1273
1666
  # @return [String]
1274
1667
  #
1668
+ # @!attribute [rw] finding_reason_codes
1669
+ # The reason for the finding classification of the instance.
1670
+ #
1671
+ # Finding reason codes for instances include:
1672
+ #
1673
+ # * <b> <code>CPUOverprovisioned</code> </b> — The instance’s CPU
1674
+ # configuration can be sized down while still meeting the
1675
+ # performance requirements of your workload. This is identified by
1676
+ # analyzing the `CPUUtilization` metric of the current instance
1677
+ # during the look-back period.
1678
+ #
1679
+ # * <b> <code>CPUUnderprovisioned</code> </b> — The instance’s CPU
1680
+ # configuration doesn't meet the performance requirements of your
1681
+ # workload and there is an alternative instance type that provides
1682
+ # better CPU performance. This is identified by analyzing the
1683
+ # `CPUUtilization` metric of the current instance during the
1684
+ # look-back period.
1685
+ #
1686
+ # * <b> <code>MemoryOverprovisioned</code> </b> — The instance’s
1687
+ # memory configuration can be sized down while still meeting the
1688
+ # performance requirements of your workload. This is identified by
1689
+ # analyzing the memory utilization metric of the current instance
1690
+ # during the look-back period.
1691
+ #
1692
+ # * <b> <code>MemoryUnderprovisioned</code> </b> — The instance’s
1693
+ # memory configuration doesn't meet the performance requirements of
1694
+ # your workload and there is an alternative instance type that
1695
+ # provides better memory performance. This is identified by
1696
+ # analyzing the memory utilization metric of the current instance
1697
+ # during the look-back period.
1698
+ #
1699
+ # <note markdown="1"> Memory utilization is analyzed only for resources that have the
1700
+ # unified CloudWatch agent installed on them. For more information,
1701
+ # see [Enabling memory utilization with the Amazon CloudWatch
1702
+ # Agent][1] in the *AWS Compute Optimizer User Guide*. On Linux
1703
+ # instances, Compute Optimizer analyses the `mem_used_percent`
1704
+ # metric in the `CWAgent` namespace, or the legacy
1705
+ # `MemoryUtilization` metric in the `System/Linux` namespace. On
1706
+ # Windows instances, Compute Optimizer analyses the `Memory %
1707
+ # Committed Bytes In Use` metric in the `CWAgent` namespace.
1708
+ #
1709
+ # </note>
1710
+ #
1711
+ # * <b> <code>EBSThroughputOverprovisioned</code> </b> — The
1712
+ # instance’s EBS throughput configuration can be sized down while
1713
+ # still meeting the performance requirements of your workload. This
1714
+ # is identified by analyzing the `VolumeReadOps` and
1715
+ # `VolumeWriteOps` metrics of EBS volumes attached to the current
1716
+ # instance during the look-back period.
1717
+ #
1718
+ # * <b> <code>EBSThroughputUnderprovisioned</code> </b> — The
1719
+ # instance’s EBS throughput configuration doesn't meet the
1720
+ # performance requirements of your workload and there is an
1721
+ # alternative instance type that provides better EBS throughput
1722
+ # performance. This is identified by analyzing the `VolumeReadOps`
1723
+ # and `VolumeWriteOps` metrics of EBS volumes attached to the
1724
+ # current instance during the look-back period.
1725
+ #
1726
+ # * <b> <code>EBSIOPSOverprovisioned</code> </b> — The instance’s EBS
1727
+ # IOPS configuration can be sized down while still meeting the
1728
+ # performance requirements of your workload. This is identified by
1729
+ # analyzing the `VolumeReadBytes` and `VolumeWriteBytes` metric of
1730
+ # EBS volumes attached to the current instance during the look-back
1731
+ # period.
1732
+ #
1733
+ # * <b> <code>EBSIOPSUnderprovisioned</code> </b> — The instance’s EBS
1734
+ # IOPS configuration doesn't meet the performance requirements of
1735
+ # your workload and there is an alternative instance type that
1736
+ # provides better EBS IOPS performance. This is identified by
1737
+ # analyzing the `VolumeReadBytes` and `VolumeWriteBytes` metric of
1738
+ # EBS volumes attached to the current instance during the look-back
1739
+ # period.
1740
+ #
1741
+ # * <b> <code>NetworkBandwidthOverprovisioned</code> </b> — The
1742
+ # instance’s network bandwidth configuration can be sized down while
1743
+ # still meeting the performance requirements of your workload. This
1744
+ # is identified by analyzing the `NetworkIn` and `NetworkOut`
1745
+ # metrics of the current instance during the look-back period.
1746
+ #
1747
+ # * <b> <code>NetworkBandwidthUnderprovisioned</code> </b> — The
1748
+ # instance’s network bandwidth configuration doesn't meet the
1749
+ # performance requirements of your workload and there is an
1750
+ # alternative instance type that provides better network bandwidth
1751
+ # performance. This is identified by analyzing the `NetworkIn` and
1752
+ # `NetworkOut` metrics of the current instance during the look-back
1753
+ # period. This finding reason happens when the `NetworkIn` or
1754
+ # `NetworkOut` performance of an instance is impacted.
1755
+ #
1756
+ # * <b> <code>NetworkPPSOverprovisioned</code> </b> — The instance’s
1757
+ # network PPS (packets per second) configuration can be sized down
1758
+ # while still meeting the performance requirements of your workload.
1759
+ # This is identified by analyzing the `NetworkPacketsIn` and
1760
+ # `NetworkPacketsIn` metrics of the current instance during the
1761
+ # look-back period.
1762
+ #
1763
+ # * <b> <code>NetworkPPSUnderprovisioned</code> </b> — The instance’s
1764
+ # network PPS (packets per second) configuration doesn't meet the
1765
+ # performance requirements of your workload and there is an
1766
+ # alternative instance type that provides better network PPS
1767
+ # performance. This is identified by analyzing the
1768
+ # `NetworkPacketsIn` and `NetworkPacketsIn` metrics of the current
1769
+ # instance during the look-back period.
1770
+ #
1771
+ # * <b> <code>DiskIOPSOverprovisioned</code> </b> — The instance’s
1772
+ # disk IOPS configuration can be sized down while still meeting the
1773
+ # performance requirements of your workload. This is identified by
1774
+ # analyzing the `DiskReadOps` and `DiskWriteOps` metrics of the
1775
+ # current instance during the look-back period.
1776
+ #
1777
+ # * <b> <code>DiskIOPSUnderprovisioned</code> </b> — The instance’s
1778
+ # disk IOPS configuration doesn't meet the performance requirements
1779
+ # of your workload and there is an alternative instance type that
1780
+ # provides better disk IOPS performance. This is identified by
1781
+ # analyzing the `DiskReadOps` and `DiskWriteOps` metrics of the
1782
+ # current instance during the look-back period.
1783
+ #
1784
+ # * <b> <code>DiskThroughputOverprovisioned</code> </b> — The
1785
+ # instance’s disk throughput configuration can be sized down while
1786
+ # still meeting the performance requirements of your workload. This
1787
+ # is identified by analyzing the `DiskReadBytes` and
1788
+ # `DiskWriteBytes` metrics of the current instance during the
1789
+ # look-back period.
1790
+ #
1791
+ # * <b> <code>DiskThroughputUnderprovisioned</code> </b> — The
1792
+ # instance’s disk throughput configuration doesn't meet the
1793
+ # performance requirements of your workload and there is an
1794
+ # alternative instance type that provides better disk throughput
1795
+ # performance. This is identified by analyzing the `DiskReadBytes`
1796
+ # and `DiskWriteBytes` metrics of the current instance during the
1797
+ # look-back period.
1798
+ #
1799
+ # <note markdown="1"> For more information about instance metrics, see [List the available
1800
+ # CloudWatch metrics for your instances][2] in the *Amazon Elastic
1801
+ # Compute Cloud User Guide*. For more information about EBS volume
1802
+ # metrics, see [Amazon CloudWatch metrics for Amazon EBS][3] in the
1803
+ # *Amazon Elastic Compute Cloud User Guide*.
1804
+ #
1805
+ # </note>
1806
+ #
1807
+ #
1808
+ #
1809
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent
1810
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
1811
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cloudwatch_ebs.html
1812
+ # @return [Array<String>]
1813
+ #
1275
1814
  # @!attribute [rw] utilization_metrics
1276
1815
  # An array of objects that describe the utilization metrics of the
1277
1816
  # instance.
@@ -1305,6 +1844,7 @@ module Aws::ComputeOptimizer
1305
1844
  :instance_name,
1306
1845
  :current_instance_type,
1307
1846
  :finding,
1847
+ :finding_reason_codes,
1308
1848
  :utilization_metrics,
1309
1849
  :look_back_period_in_days,
1310
1850
  :recommendation_options,
@@ -1337,14 +1877,110 @@ module Aws::ComputeOptimizer
1337
1877
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent
1338
1878
  # @return [Array<Types::UtilizationMetric>]
1339
1879
  #
1880
+ # @!attribute [rw] platform_differences
1881
+ # Describes the configuration differences between the current instance
1882
+ # and the recommended instance type. You should consider the
1883
+ # configuration differences before migrating your workloads from the
1884
+ # current instance to the recommended instance type. The [Change the
1885
+ # instance type guide for Linux][1] and [Change the instance type
1886
+ # guide for Windows][2] provide general guidance for getting started
1887
+ # with an instance migration.
1888
+ #
1889
+ # Platform differences include:
1890
+ #
1891
+ # * <b> <code>Hypervisor</code> </b> — The hypervisor of the
1892
+ # recommended instance type is different than that of the current
1893
+ # instance. For example, the recommended instance type uses a Nitro
1894
+ # hypervisor and the current instance uses a Xen hypervisor. The
1895
+ # differences that you should consider between these hypervisors are
1896
+ # covered in the [Nitro Hypervisor][3] section of the Amazon EC2
1897
+ # frequently asked questions. For more information, see [Instances
1898
+ # built on the Nitro System][4] in the *Amazon EC2 User Guide for
1899
+ # Linux*, or [Instances built on the Nitro System][5] in the *Amazon
1900
+ # EC2 User Guide for Windows*.
1901
+ #
1902
+ # * <b> <code>NetworkInterface</code> </b> — The network interface of
1903
+ # the recommended instance type is different than that of the
1904
+ # current instance. For example, the recommended instance type
1905
+ # supports enhanced networking and the current instance might not.
1906
+ # To enable enhanced networking for the recommended instance type,
1907
+ # you will need to install the Elastic Network Adapter (ENA) driver
1908
+ # or the Intel 82599 Virtual Function driver. For more information,
1909
+ # see [Networking and storage features][6] and [Enhanced networking
1910
+ # on Linux][7] in the *Amazon EC2 User Guide for Linux*, or
1911
+ # [Networking and storage features][8] and [Enhanced networking on
1912
+ # Windows][9] in the *Amazon EC2 User Guide for Windows*.
1913
+ #
1914
+ # * <b> <code>StorageInterface</code> </b> — The storage interface of
1915
+ # the recommended instance type is different than that of the
1916
+ # current instance. For example, the recommended instance type uses
1917
+ # an NVMe storage interface and the current instance does not. To
1918
+ # access NVMe volumes for the recommended instance type, you will
1919
+ # need to install or upgrade the NVMe driver. For more information,
1920
+ # see [Networking and storage features][6] and [Amazon EBS and NVMe
1921
+ # on Linux instances][10] in the *Amazon EC2 User Guide for Linux*,
1922
+ # or [Networking and storage features][8] and [Amazon EBS and NVMe
1923
+ # on Windows instances][11] in the *Amazon EC2 User Guide for
1924
+ # Windows*.
1925
+ #
1926
+ # * <b> <code>InstanceStoreAvailability</code> </b> — The recommended
1927
+ # instance type does not support instance store volumes and the
1928
+ # current instance does. Before migrating, you might need to back up
1929
+ # the data on your instance store volumes if you want to preserve
1930
+ # them. For more information, see [How do I back up an instance
1931
+ # store volume on my Amazon EC2 instance to Amazon EBS?][12] in the
1932
+ # *AWS Premium Support Knowledge Base*. For more information, see
1933
+ # [Networking and storage features][6] and [Amazon EC2 instance
1934
+ # store][13] in the *Amazon EC2 User Guide for Linux*, or see
1935
+ # [Networking and storage features][8] and [Amazon EC2 instance
1936
+ # store][14] in the *Amazon EC2 User Guide for Windows*.
1937
+ #
1938
+ # * <b> <code>VirtualizationType</code> </b> — The recommended
1939
+ # instance type uses the hardware virtual machine (HVM)
1940
+ # virtualization type and the current instance uses the paravirtual
1941
+ # (PV) virtualization type. For more information about the
1942
+ # differences between these virtualization types, see [Linux AMI
1943
+ # virtualization types][15] in the *Amazon EC2 User Guide for
1944
+ # Linux*, or [Windows AMI virtualization types][16] in the *Amazon
1945
+ # EC2 User Guide for Windows*.
1946
+ #
1947
+ #
1948
+ #
1949
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html
1950
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-resize.html
1951
+ # [3]: http://aws.amazon.com/ec2/faqs/#Nitro_Hypervisor
1952
+ # [4]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances
1953
+ # [5]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-types.html#ec2-nitro-instances
1954
+ # [6]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-networking-storage
1955
+ # [7]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html
1956
+ # [8]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-types.html#instance-networking-storage
1957
+ # [9]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html
1958
+ # [10]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html
1959
+ # [11]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/nvme-ebs-volumes.html
1960
+ # [12]: https://aws.amazon.com/premiumsupport/knowledge-center/back-up-instance-store-ebs/
1961
+ # [13]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html
1962
+ # [14]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/InstanceStorage.html
1963
+ # [15]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html
1964
+ # [16]: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/windows-ami-version-history.html#virtualization-types
1965
+ # @return [Array<String>]
1966
+ #
1340
1967
  # @!attribute [rw] performance_risk
1341
1968
  # The performance risk of the instance recommendation option.
1342
1969
  #
1343
- # Performance risk is the likelihood of the recommended instance type
1344
- # not meeting the performance requirement of your workload.
1345
- #
1346
- # The lowest performance risk is categorized as `0`, and the highest
1347
- # as `5`.
1970
+ # Performance risk indicates the likelihood of the recommended
1971
+ # instance type not meeting the resource needs of your workload.
1972
+ # Compute Optimizer calculates an individual performance risk score
1973
+ # for each specification of the recommended instance, including CPU,
1974
+ # memory, EBS throughput, EBS IOPS, disk throughput, disk IOPS,
1975
+ # network throughput, and network PPS. The performance risk of the
1976
+ # recommended instance is calculated as the maximum performance risk
1977
+ # score across the analyzed resource specifications.
1978
+ #
1979
+ # The value ranges from `0` - `4`, with `0` meaning that the
1980
+ # recommended resource is predicted to always provide enough hardware
1981
+ # capability. The higher the performance risk is, the more likely you
1982
+ # should validate whether the recommendation will meet the performance
1983
+ # requirements of your workload before migrating your resource.
1348
1984
  # @return [Float]
1349
1985
  #
1350
1986
  # @!attribute [rw] rank
@@ -1358,6 +1994,7 @@ module Aws::ComputeOptimizer
1358
1994
  class InstanceRecommendationOption < Struct.new(
1359
1995
  :instance_type,
1360
1996
  :projected_utilization_metrics,
1997
+ :platform_differences,
1361
1998
  :performance_risk,
1362
1999
  :rank)
1363
2000
  SENSITIVE = []
@@ -1391,10 +2028,14 @@ module Aws::ComputeOptimizer
1391
2028
  end
1392
2029
 
1393
2030
  # Describes a filter that returns a more specific list of recommendation
1394
- # export jobs.
2031
+ # export jobs. Use this filter with the
2032
+ # `DescribeRecommendationExportJobs` action.
1395
2033
  #
1396
- # This filter is used with the `DescribeRecommendationExportJobs`
1397
- # action.
2034
+ # You can use `EBSFilter` with the `GetEBSVolumeRecommendations` action,
2035
+ # `LambdaFunctionRecommendationFilter` with the
2036
+ # `GetLambdaFunctionRecommendations` action, and `Filter` with the
2037
+ # `GetAutoScalingGroupRecommendations` and
2038
+ # `GetEC2InstanceRecommendations` actions.
1398
2039
  #
1399
2040
  # @note When making an API call, you may pass JobFilter
1400
2041
  # data as a hash:
@@ -1420,13 +2061,13 @@ module Aws::ComputeOptimizer
1420
2061
  # The valid values for this parameter are as follows, depending on
1421
2062
  # what you specify for the `name` parameter:
1422
2063
  #
1423
- # * Specify `Ec2Instance` or `AutoScalingGroup` if you specified the
2064
+ # * Specify `Ec2Instance` or `AutoScalingGroup` if you specify the
1424
2065
  # `name` parameter as `ResourceType`. There is no filter for EBS
1425
2066
  # volumes because volume recommendations cannot be exported at this
1426
2067
  # time.
1427
2068
  #
1428
2069
  # * Specify `Queued`, `InProgress`, `Complete`, or `Failed` if you
1429
- # specified the `name` parameter as `JobStatus`.
2070
+ # specify the `name` parameter as `JobStatus`.
1430
2071
  # @return [Array<String>]
1431
2072
  #
1432
2073
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/JobFilter AWS API Documentation
@@ -1530,7 +2171,7 @@ module Aws::ComputeOptimizer
1530
2171
  # @return [Time]
1531
2172
  #
1532
2173
  # @!attribute [rw] finding
1533
- # The finding classification for the function.
2174
+ # The finding classification of the function.
1534
2175
  #
1535
2176
  # Findings for functions include:
1536
2177
  #
@@ -1571,7 +2212,7 @@ module Aws::ComputeOptimizer
1571
2212
  #
1572
2213
  # </note>
1573
2214
  #
1574
- # Reason codes include:
2215
+ # Finding reason codes for functions include:
1575
2216
  #
1576
2217
  # * <b> <code>MemoryOverprovisioned</code> </b> — The function is
1577
2218
  # over-provisioned when its memory configuration can be sized down
@@ -1627,7 +2268,13 @@ module Aws::ComputeOptimizer
1627
2268
  end
1628
2269
 
1629
2270
  # Describes a filter that returns a more specific list of AWS Lambda
1630
- # function recommendations.
2271
+ # function recommendations. Use this filter with the
2272
+ # `GetLambdaFunctionRecommendations` action.
2273
+ #
2274
+ # You can use `EBSFilter` with the `GetEBSVolumeRecommendations` action,
2275
+ # `JobFilter` with the `DescribeRecommendationExportJobs` action, and
2276
+ # `Filter` with the `GetAutoScalingGroupRecommendations` and
2277
+ # `GetEC2InstanceRecommendations` actions.
1631
2278
  #
1632
2279
  # @note When making an API call, you may pass LambdaFunctionRecommendationFilter
1633
2280
  # data as a hash:
@@ -1654,10 +2301,10 @@ module Aws::ComputeOptimizer
1654
2301
  # what you specify for the `name` parameter:
1655
2302
  #
1656
2303
  # * Specify `Optimized`, `NotOptimized`, or `Unavailable` if you
1657
- # specified the `name` parameter as `Finding`.
2304
+ # specify the `name` parameter as `Finding`.
1658
2305
  #
1659
2306
  # * Specify `MemoryOverprovisioned`, `MemoryUnderprovisioned`,
1660
- # `InsufficientData`, or `Inconclusive` if you specified the `name`
2307
+ # `InsufficientData`, or `Inconclusive` if you specify the `name`
1661
2308
  # parameter as `FindingReasonCode`.
1662
2309
  # @return [Array<String>]
1663
2310
  #
@@ -2147,7 +2794,7 @@ module Aws::ComputeOptimizer
2147
2794
  # Compute Optimizer begins analyzing the configuration and
2148
2795
  # utilization metrics of your AWS resources after you opt in. For
2149
2796
  # more information, see [Metrics analyzed by AWS Compute
2150
- # Optimizer][1] in the *Compute Optimizer User Guide*.
2797
+ # Optimizer][1] in the *AWS Compute Optimizer User Guide*.
2151
2798
  #
2152
2799
  # * `Inactive` - Opts out your account from the Compute Optimizer
2153
2800
  # service. Your account's recommendations and related metrics data
@@ -2161,7 +2808,7 @@ module Aws::ComputeOptimizer
2161
2808
  #
2162
2809
  #
2163
2810
  #
2164
- # [1]: https://docs.aws.amazon.com/compute-optimizer/ug/metrics.html
2811
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html
2165
2812
  # @return [String]
2166
2813
  #
2167
2814
  # @!attribute [rw] include_member_accounts
@@ -2253,6 +2900,56 @@ module Aws::ComputeOptimizer
2253
2900
  #
2254
2901
  # Unit: Bytes
2255
2902
  #
2903
+ # * `DISK_READ_OPS_PER_SECOND` - The completed read operations from
2904
+ # all instance store volumes available to the instance in a
2905
+ # specified period of time.
2906
+ #
2907
+ # If there are no instance store volumes, either the value is `0` or
2908
+ # the metric is not reported.
2909
+ #
2910
+ # * `DISK_WRITE_OPS_PER_SECOND` - The completed write operations from
2911
+ # all instance store volumes available to the instance in a
2912
+ # specified period of time.
2913
+ #
2914
+ # If there are no instance store volumes, either the value is `0` or
2915
+ # the metric is not reported.
2916
+ #
2917
+ # * `DISK_READ_BYTES_PER_SECOND` - The bytes read from all instance
2918
+ # store volumes available to the instance. This metric is used to
2919
+ # determine the volume of the data the application reads from the
2920
+ # disk of the instance. This can be used to determine the speed of
2921
+ # the application.
2922
+ #
2923
+ # If there are no instance store volumes, either the value is `0` or
2924
+ # the metric is not reported.
2925
+ #
2926
+ # * `DISK_WRITE_BYTES_PER_SECOND` - The bytes written to all instance
2927
+ # store volumes available to the instance. This metric is used to
2928
+ # determine the volume of the data the application writes onto the
2929
+ # disk of the instance. This can be used to determine the speed of
2930
+ # the application.
2931
+ #
2932
+ # If there are no instance store volumes, either the value is `0` or
2933
+ # the metric is not reported.
2934
+ #
2935
+ # * `NETWORK_IN_BYTES_PER_SECOND` - The number of bytes received by
2936
+ # the instance on all network interfaces. This metric identifies the
2937
+ # volume of incoming network traffic to a single instance.
2938
+ #
2939
+ # * `NETWORK_OUT_BYTES_PER_SECOND` - The number of bytes sent out by
2940
+ # the instance on all network interfaces. This metric identifies the
2941
+ # volume of outgoing network traffic from a single instance.
2942
+ #
2943
+ # * `NETWORK_PACKETS_IN_PER_SECOND` - The number of packets received
2944
+ # by the instance on all network interfaces. This metric identifies
2945
+ # the volume of incoming traffic in terms of the number of packets
2946
+ # on a single instance.
2947
+ #
2948
+ # * `NETWORK_PACKETS_OUT_PER_SECOND` - The number of packets sent out
2949
+ # by the instance on all network interfaces. This metric identifies
2950
+ # the volume of outgoing traffic in terms of the number of packets
2951
+ # on a single instance.
2952
+ #
2256
2953
  #
2257
2954
  #
2258
2955
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent
@@ -2354,7 +3051,7 @@ module Aws::ComputeOptimizer
2354
3051
  # @return [Types::VolumeConfiguration]
2355
3052
  #
2356
3053
  # @!attribute [rw] finding
2357
- # The finding classification for the volume.
3054
+ # The finding classification of the volume.
2358
3055
  #
2359
3056
  # Findings for volumes include:
2360
3057
  #
@@ -2414,10 +3111,13 @@ module Aws::ComputeOptimizer
2414
3111
  # The performance risk of the volume recommendation option.
2415
3112
  #
2416
3113
  # Performance risk is the likelihood of the recommended volume type
2417
- # not meeting the performance requirement of your workload.
3114
+ # meeting the performance requirement of your workload.
2418
3115
  #
2419
- # The lowest performance risk is categorized as `0`, and the highest
2420
- # as `5`.
3116
+ # The value ranges from `0` - `4`, with `0` meaning that the
3117
+ # recommended resource is predicted to always provide enough hardware
3118
+ # capability. The higher the performance risk is, the more likely you
3119
+ # should validate whether the recommendation will meet the performance
3120
+ # requirements of your workload before migrating your resource.
2421
3121
  # @return [Float]
2422
3122
  #
2423
3123
  # @!attribute [rw] rank