aws-sdk-computeoptimizer 1.16.0 → 1.20.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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