aws-sdk-computeoptimizer 1.9.0 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a042d1d21d78c7eb97fd2c31f0d86c00be46bc95443fecea92a6cc86e49e7034
4
- data.tar.gz: 9035f1b212b39050ce0eeb5617c3e23455065a9e8f23d2322724b28d62d9d4ed
3
+ metadata.gz: 498e8b38dc082c018f02d93d8d850aea61628741f4a8761e9a7e09a971e7b348
4
+ data.tar.gz: 8f94fcd7017e18944848f5690f9e124c9224b127dfc20680c6586575dadd91e2
5
5
  SHA512:
6
- metadata.gz: 4451078e1a405d32dd6ead11edeb2ba8729d8d81e4f569c9ebbf056bc474c501fc21f3989efede993ee41ab9a17681eed9a271c0bd22ff78d6a2a3f3e28d0150
7
- data.tar.gz: da8b5aa2668b8b45c74265a235e994060ed56587096c05f5bbe6b4b52987ea9c328cce4885c65ecc9f7be775c3f85b92951add89540c87d235ff18f4588d678e
6
+ metadata.gz: be632931c4103d2323a6914c0bbfd7d03c6faeda70861ed11036f472aaf6456463ba8b9605435e769798dea7613562b7c8cd53e5154377c085ba1a6f96326cbf
7
+ data.tar.gz: ed6bffbc0d018c6b78281bc3505d47741623189b1c8c76e81c180f27bede1c0065747825b423897b617f9d8a1f5b7d29dddb6148bd08787816e0ccf1e4269be3
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-computeoptimizer/customizations'
48
48
  # @!group service
49
49
  module Aws::ComputeOptimizer
50
50
 
51
- GEM_VERSION = '1.9.0'
51
+ GEM_VERSION = '1.10.0'
52
52
 
53
53
  end
@@ -428,7 +428,7 @@ module Aws::ComputeOptimizer
428
428
  # The IDs of the AWS accounts for which to export Auto Scaling group
429
429
  # recommendations.
430
430
  #
431
- # If your account is the master account of an organization, use this
431
+ # If your account is the management account of an organization, use this
432
432
  # parameter to specify the member accounts for which you want to export
433
433
  # recommendations.
434
434
  #
@@ -478,7 +478,7 @@ module Aws::ComputeOptimizer
478
478
  #
479
479
  # @option params [Boolean] :include_member_accounts
480
480
  # Indicates whether to include recommendations for resources in all
481
- # member accounts of the organization if your account is the master
481
+ # member accounts of the organization if your account is the management
482
482
  # account of an organization.
483
483
  #
484
484
  # The member accounts must also be opted in to Compute Optimizer.
@@ -551,7 +551,7 @@ module Aws::ComputeOptimizer
551
551
  # The IDs of the AWS accounts for which to export instance
552
552
  # recommendations.
553
553
  #
554
- # If your account is the master account of an organization, use this
554
+ # If your account is the management account of an organization, use this
555
555
  # parameter to specify the member accounts for which you want to export
556
556
  # recommendations.
557
557
  #
@@ -601,7 +601,7 @@ module Aws::ComputeOptimizer
601
601
  #
602
602
  # @option params [Boolean] :include_member_accounts
603
603
  # Indicates whether to include recommendations for resources in all
604
- # member accounts of the organization if your account is the master
604
+ # member accounts of the organization if your account is the management
605
605
  # account of an organization.
606
606
  #
607
607
  # The member accounts must also be opted in to Compute Optimizer.
@@ -667,7 +667,7 @@ module Aws::ComputeOptimizer
667
667
  # The IDs of the AWS accounts for which to return Auto Scaling group
668
668
  # recommendations.
669
669
  #
670
- # If your account is the master account of an organization, use this
670
+ # If your account is the management account of an organization, use this
671
671
  # parameter to specify the member accounts for which you want to return
672
672
  # Auto Scaling group recommendations.
673
673
  #
@@ -756,6 +756,109 @@ module Aws::ComputeOptimizer
756
756
  req.send_request(options)
757
757
  end
758
758
 
759
+ # Returns Amazon Elastic Block Store (Amazon EBS) volume
760
+ # recommendations.
761
+ #
762
+ # AWS Compute Optimizer generates recommendations for Amazon EBS volumes
763
+ # that meet a specific set of requirements. For more information, see
764
+ # the [Supported resources and requirements][1] in the *AWS Compute
765
+ # Optimizer User Guide*.
766
+ #
767
+ #
768
+ #
769
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html
770
+ #
771
+ # @option params [Array<String>] :volume_arns
772
+ # The Amazon Resource Name (ARN) of the volumes for which to return
773
+ # recommendations.
774
+ #
775
+ # @option params [String] :next_token
776
+ # The token to advance to the next page of volume recommendations.
777
+ #
778
+ # @option params [Integer] :max_results
779
+ # The maximum number of volume recommendations to return with a single
780
+ # request.
781
+ #
782
+ # To retrieve the remaining results, make another request with the
783
+ # returned `NextToken` value.
784
+ #
785
+ # @option params [Array<Types::EBSFilter>] :filters
786
+ # An array of objects that describe a filter that returns a more
787
+ # specific list of volume recommendations.
788
+ #
789
+ # @option params [Array<String>] :account_ids
790
+ # The IDs of the AWS accounts for which to return volume
791
+ # recommendations.
792
+ #
793
+ # If your account is the management account of an organization, use this
794
+ # parameter to specify the member accounts for which you want to return
795
+ # volume recommendations.
796
+ #
797
+ # Only one account ID can be specified per request.
798
+ #
799
+ # @return [Types::GetEBSVolumeRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
800
+ #
801
+ # * {Types::GetEBSVolumeRecommendationsResponse#next_token #next_token} => String
802
+ # * {Types::GetEBSVolumeRecommendationsResponse#volume_recommendations #volume_recommendations} => Array&lt;Types::VolumeRecommendation&gt;
803
+ # * {Types::GetEBSVolumeRecommendationsResponse#errors #errors} => Array&lt;Types::GetRecommendationError&gt;
804
+ #
805
+ # @example Request syntax with placeholder values
806
+ #
807
+ # resp = client.get_ebs_volume_recommendations({
808
+ # volume_arns: ["VolumeArn"],
809
+ # next_token: "NextToken",
810
+ # max_results: 1,
811
+ # filters: [
812
+ # {
813
+ # name: "Finding", # accepts Finding
814
+ # values: ["FilterValue"],
815
+ # },
816
+ # ],
817
+ # account_ids: ["AccountId"],
818
+ # })
819
+ #
820
+ # @example Response structure
821
+ #
822
+ # resp.next_token #=> String
823
+ # resp.volume_recommendations #=> Array
824
+ # resp.volume_recommendations[0].volume_arn #=> String
825
+ # resp.volume_recommendations[0].account_id #=> String
826
+ # resp.volume_recommendations[0].current_configuration.volume_type #=> String
827
+ # resp.volume_recommendations[0].current_configuration.volume_size #=> Integer
828
+ # resp.volume_recommendations[0].current_configuration.volume_baseline_iops #=> Integer
829
+ # resp.volume_recommendations[0].current_configuration.volume_burst_iops #=> Integer
830
+ # resp.volume_recommendations[0].current_configuration.volume_baseline_throughput #=> Integer
831
+ # resp.volume_recommendations[0].current_configuration.volume_burst_throughput #=> Integer
832
+ # resp.volume_recommendations[0].finding #=> String, one of "Optimized", "NotOptimized"
833
+ # resp.volume_recommendations[0].utilization_metrics #=> Array
834
+ # resp.volume_recommendations[0].utilization_metrics[0].name #=> String, one of "VolumeReadOpsPerSecond", "VolumeWriteOpsPerSecond", "VolumeReadBytesPerSecond", "VolumeWriteBytesPerSecond"
835
+ # resp.volume_recommendations[0].utilization_metrics[0].statistic #=> String, one of "Maximum", "Average"
836
+ # resp.volume_recommendations[0].utilization_metrics[0].value #=> Float
837
+ # resp.volume_recommendations[0].look_back_period_in_days #=> Float
838
+ # resp.volume_recommendations[0].volume_recommendation_options #=> Array
839
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_type #=> String
840
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_size #=> Integer
841
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_baseline_iops #=> Integer
842
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_burst_iops #=> Integer
843
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_baseline_throughput #=> Integer
844
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_burst_throughput #=> Integer
845
+ # resp.volume_recommendations[0].volume_recommendation_options[0].performance_risk #=> Float
846
+ # resp.volume_recommendations[0].volume_recommendation_options[0].rank #=> Integer
847
+ # resp.volume_recommendations[0].last_refresh_timestamp #=> Time
848
+ # resp.errors #=> Array
849
+ # resp.errors[0].identifier #=> String
850
+ # resp.errors[0].code #=> String
851
+ # resp.errors[0].message #=> String
852
+ #
853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEBSVolumeRecommendations AWS API Documentation
854
+ #
855
+ # @overload get_ebs_volume_recommendations(params = {})
856
+ # @param [Hash] params ({})
857
+ def get_ebs_volume_recommendations(params = {}, options = {})
858
+ req = build_request(:get_ebs_volume_recommendations, params)
859
+ req.send_request(options)
860
+ end
861
+
759
862
  # Returns Amazon EC2 instance recommendations.
760
863
  #
761
864
  # AWS Compute Optimizer generates recommendations for Amazon Elastic
@@ -789,7 +892,7 @@ module Aws::ComputeOptimizer
789
892
  # The IDs of the AWS accounts for which to return instance
790
893
  # recommendations.
791
894
  #
792
- # If your account is the master account of an organization, use this
895
+ # If your account is the management account of an organization, use this
793
896
  # parameter to specify the member accounts for which you want to return
794
897
  # instance recommendations.
795
898
  #
@@ -840,7 +943,7 @@ module Aws::ComputeOptimizer
840
943
  # resp.instance_recommendations[0].recommendation_options[0].rank #=> Integer
841
944
  # resp.instance_recommendations[0].recommendation_sources #=> Array
842
945
  # resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_arn #=> String
843
- # resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_type #=> String, one of "Ec2Instance", "AutoScalingGroup"
946
+ # resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume"
844
947
  # resp.instance_recommendations[0].last_refresh_timestamp #=> Time
845
948
  # resp.errors #=> Array
846
949
  # resp.errors[0].identifier #=> String
@@ -925,9 +1028,9 @@ module Aws::ComputeOptimizer
925
1028
  # Returns the enrollment (opt in) status of an account to the AWS
926
1029
  # Compute Optimizer service.
927
1030
  #
928
- # If the account is the master account of an organization, this action
929
- # also confirms the enrollment status of member accounts within the
930
- # organization.
1031
+ # If the account is the management account of an organization, this
1032
+ # action also confirms the enrollment status of member accounts within
1033
+ # the organization.
931
1034
  #
932
1035
  # @return [Types::GetEnrollmentStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
933
1036
  #
@@ -961,7 +1064,7 @@ module Aws::ComputeOptimizer
961
1064
  # The IDs of the AWS accounts for which to return recommendation
962
1065
  # summaries.
963
1066
  #
964
- # If your account is the master account of an organization, use this
1067
+ # If your account is the management account of an organization, use this
965
1068
  # parameter to specify the member accounts for which you want to return
966
1069
  # recommendation summaries.
967
1070
  #
@@ -997,7 +1100,7 @@ module Aws::ComputeOptimizer
997
1100
  # resp.recommendation_summaries[0].summaries #=> Array
998
1101
  # resp.recommendation_summaries[0].summaries[0].name #=> String, one of "Underprovisioned", "Overprovisioned", "Optimized", "NotOptimized"
999
1102
  # resp.recommendation_summaries[0].summaries[0].value #=> Float
1000
- # resp.recommendation_summaries[0].recommendation_resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup"
1103
+ # resp.recommendation_summaries[0].recommendation_resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume"
1001
1104
  # resp.recommendation_summaries[0].account_id #=> String
1002
1105
  #
1003
1106
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries AWS API Documentation
@@ -1012,8 +1115,8 @@ module Aws::ComputeOptimizer
1012
1115
  # Updates the enrollment (opt in) status of an account to the AWS
1013
1116
  # Compute Optimizer service.
1014
1117
  #
1015
- # If the account is a master account of an organization, this action can
1016
- # also be used to enroll member accounts within the organization.
1118
+ # If the account is a management account of an organization, this action
1119
+ # can also be used to enroll member accounts within the organization.
1017
1120
  #
1018
1121
  # @option params [required, String] :status
1019
1122
  # The new enrollment status of the account.
@@ -1023,7 +1126,7 @@ module Aws::ComputeOptimizer
1023
1126
  #
1024
1127
  # @option params [Boolean] :include_member_accounts
1025
1128
  # Indicates whether to enroll member accounts of the organization if the
1026
- # your account is the master account of an organization.
1129
+ # your account is the management account of an organization.
1027
1130
  #
1028
1131
  # @return [Types::UpdateEnrollmentStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1029
1132
  #
@@ -1064,7 +1167,7 @@ module Aws::ComputeOptimizer
1064
1167
  params: params,
1065
1168
  config: config)
1066
1169
  context[:gem_name] = 'aws-sdk-computeoptimizer'
1067
- context[:gem_version] = '1.9.0'
1170
+ context[:gem_version] = '1.10.0'
1068
1171
  Seahorse::Client::Request.new(handlers, context)
1069
1172
  end
1070
1173
 
@@ -33,6 +33,13 @@ module Aws::ComputeOptimizer
33
33
  DestinationBucket = Shapes::StringShape.new(name: 'DestinationBucket')
34
34
  DestinationKey = Shapes::StringShape.new(name: 'DestinationKey')
35
35
  DestinationKeyPrefix = Shapes::StringShape.new(name: 'DestinationKeyPrefix')
36
+ EBSFilter = Shapes::StructureShape.new(name: 'EBSFilter')
37
+ EBSFilterName = Shapes::StringShape.new(name: 'EBSFilterName')
38
+ EBSFilters = Shapes::ListShape.new(name: 'EBSFilters')
39
+ EBSFinding = Shapes::StringShape.new(name: 'EBSFinding')
40
+ EBSMetricName = Shapes::StringShape.new(name: 'EBSMetricName')
41
+ EBSUtilizationMetric = Shapes::StructureShape.new(name: 'EBSUtilizationMetric')
42
+ EBSUtilizationMetrics = Shapes::ListShape.new(name: 'EBSUtilizationMetrics')
36
43
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
37
44
  ExportAutoScalingGroupRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsRequest')
38
45
  ExportAutoScalingGroupRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsResponse')
@@ -53,6 +60,8 @@ module Aws::ComputeOptimizer
53
60
  Finding = Shapes::StringShape.new(name: 'Finding')
54
61
  GetAutoScalingGroupRecommendationsRequest = Shapes::StructureShape.new(name: 'GetAutoScalingGroupRecommendationsRequest')
55
62
  GetAutoScalingGroupRecommendationsResponse = Shapes::StructureShape.new(name: 'GetAutoScalingGroupRecommendationsResponse')
63
+ GetEBSVolumeRecommendationsRequest = Shapes::StructureShape.new(name: 'GetEBSVolumeRecommendationsRequest')
64
+ GetEBSVolumeRecommendationsResponse = Shapes::StructureShape.new(name: 'GetEBSVolumeRecommendationsResponse')
56
65
  GetEC2InstanceRecommendationsRequest = Shapes::StructureShape.new(name: 'GetEC2InstanceRecommendationsRequest')
57
66
  GetEC2InstanceRecommendationsResponse = Shapes::StructureShape.new(name: 'GetEC2InstanceRecommendationsResponse')
58
67
  GetEC2RecommendationProjectedMetricsRequest = Shapes::StructureShape.new(name: 'GetEC2RecommendationProjectedMetricsRequest')
@@ -132,6 +141,19 @@ module Aws::ComputeOptimizer
132
141
  UpdateEnrollmentStatusResponse = Shapes::StructureShape.new(name: 'UpdateEnrollmentStatusResponse')
133
142
  UtilizationMetric = Shapes::StructureShape.new(name: 'UtilizationMetric')
134
143
  UtilizationMetrics = Shapes::ListShape.new(name: 'UtilizationMetrics')
144
+ VolumeArn = Shapes::StringShape.new(name: 'VolumeArn')
145
+ VolumeArns = Shapes::ListShape.new(name: 'VolumeArns')
146
+ VolumeBaselineIOPS = Shapes::IntegerShape.new(name: 'VolumeBaselineIOPS')
147
+ VolumeBaselineThroughput = Shapes::IntegerShape.new(name: 'VolumeBaselineThroughput')
148
+ VolumeBurstIOPS = Shapes::IntegerShape.new(name: 'VolumeBurstIOPS')
149
+ VolumeBurstThroughput = Shapes::IntegerShape.new(name: 'VolumeBurstThroughput')
150
+ VolumeConfiguration = Shapes::StructureShape.new(name: 'VolumeConfiguration')
151
+ VolumeRecommendation = Shapes::StructureShape.new(name: 'VolumeRecommendation')
152
+ VolumeRecommendationOption = Shapes::StructureShape.new(name: 'VolumeRecommendationOption')
153
+ VolumeRecommendationOptions = Shapes::ListShape.new(name: 'VolumeRecommendationOptions')
154
+ VolumeRecommendations = Shapes::ListShape.new(name: 'VolumeRecommendations')
155
+ VolumeSize = Shapes::IntegerShape.new(name: 'VolumeSize')
156
+ VolumeType = Shapes::StringShape.new(name: 'VolumeType')
135
157
 
136
158
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
137
159
  AccessDeniedException.struct_class = Types::AccessDeniedException
@@ -177,6 +199,19 @@ module Aws::ComputeOptimizer
177
199
  DescribeRecommendationExportJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
178
200
  DescribeRecommendationExportJobsResponse.struct_class = Types::DescribeRecommendationExportJobsResponse
179
201
 
202
+ EBSFilter.add_member(:name, Shapes::ShapeRef.new(shape: EBSFilterName, location_name: "name"))
203
+ EBSFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
204
+ EBSFilter.struct_class = Types::EBSFilter
205
+
206
+ EBSFilters.member = Shapes::ShapeRef.new(shape: EBSFilter)
207
+
208
+ EBSUtilizationMetric.add_member(:name, Shapes::ShapeRef.new(shape: EBSMetricName, location_name: "name"))
209
+ EBSUtilizationMetric.add_member(:statistic, Shapes::ShapeRef.new(shape: MetricStatistic, location_name: "statistic"))
210
+ EBSUtilizationMetric.add_member(:value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "value"))
211
+ EBSUtilizationMetric.struct_class = Types::EBSUtilizationMetric
212
+
213
+ EBSUtilizationMetrics.member = Shapes::ShapeRef.new(shape: EBSUtilizationMetric)
214
+
180
215
  ExportAutoScalingGroupRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
181
216
  ExportAutoScalingGroupRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: Filters, location_name: "filters"))
182
217
  ExportAutoScalingGroupRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupFields, location_name: "fieldsToExport"))
@@ -228,6 +263,18 @@ module Aws::ComputeOptimizer
228
263
  GetAutoScalingGroupRecommendationsResponse.add_member(:errors, Shapes::ShapeRef.new(shape: GetRecommendationErrors, location_name: "errors"))
229
264
  GetAutoScalingGroupRecommendationsResponse.struct_class = Types::GetAutoScalingGroupRecommendationsResponse
230
265
 
266
+ GetEBSVolumeRecommendationsRequest.add_member(:volume_arns, Shapes::ShapeRef.new(shape: VolumeArns, location_name: "volumeArns"))
267
+ GetEBSVolumeRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
268
+ GetEBSVolumeRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
269
+ GetEBSVolumeRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: EBSFilters, location_name: "filters"))
270
+ GetEBSVolumeRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
271
+ GetEBSVolumeRecommendationsRequest.struct_class = Types::GetEBSVolumeRecommendationsRequest
272
+
273
+ GetEBSVolumeRecommendationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
274
+ GetEBSVolumeRecommendationsResponse.add_member(:volume_recommendations, Shapes::ShapeRef.new(shape: VolumeRecommendations, location_name: "volumeRecommendations"))
275
+ GetEBSVolumeRecommendationsResponse.add_member(:errors, Shapes::ShapeRef.new(shape: GetRecommendationErrors, location_name: "errors"))
276
+ GetEBSVolumeRecommendationsResponse.struct_class = Types::GetEBSVolumeRecommendationsResponse
277
+
231
278
  GetEC2InstanceRecommendationsRequest.add_member(:instance_arns, Shapes::ShapeRef.new(shape: InstanceArns, location_name: "instanceArns"))
232
279
  GetEC2InstanceRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
233
280
  GetEC2InstanceRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
@@ -403,6 +450,35 @@ module Aws::ComputeOptimizer
403
450
 
404
451
  UtilizationMetrics.member = Shapes::ShapeRef.new(shape: UtilizationMetric)
405
452
 
453
+ VolumeArns.member = Shapes::ShapeRef.new(shape: VolumeArn)
454
+
455
+ VolumeConfiguration.add_member(:volume_type, Shapes::ShapeRef.new(shape: VolumeType, location_name: "volumeType"))
456
+ VolumeConfiguration.add_member(:volume_size, Shapes::ShapeRef.new(shape: VolumeSize, location_name: "volumeSize"))
457
+ VolumeConfiguration.add_member(:volume_baseline_iops, Shapes::ShapeRef.new(shape: VolumeBaselineIOPS, location_name: "volumeBaselineIOPS"))
458
+ VolumeConfiguration.add_member(:volume_burst_iops, Shapes::ShapeRef.new(shape: VolumeBurstIOPS, location_name: "volumeBurstIOPS"))
459
+ VolumeConfiguration.add_member(:volume_baseline_throughput, Shapes::ShapeRef.new(shape: VolumeBaselineThroughput, location_name: "volumeBaselineThroughput"))
460
+ VolumeConfiguration.add_member(:volume_burst_throughput, Shapes::ShapeRef.new(shape: VolumeBurstThroughput, location_name: "volumeBurstThroughput"))
461
+ VolumeConfiguration.struct_class = Types::VolumeConfiguration
462
+
463
+ VolumeRecommendation.add_member(:volume_arn, Shapes::ShapeRef.new(shape: VolumeArn, location_name: "volumeArn"))
464
+ VolumeRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
465
+ VolumeRecommendation.add_member(:current_configuration, Shapes::ShapeRef.new(shape: VolumeConfiguration, location_name: "currentConfiguration"))
466
+ VolumeRecommendation.add_member(:finding, Shapes::ShapeRef.new(shape: EBSFinding, location_name: "finding"))
467
+ VolumeRecommendation.add_member(:utilization_metrics, Shapes::ShapeRef.new(shape: EBSUtilizationMetrics, location_name: "utilizationMetrics"))
468
+ VolumeRecommendation.add_member(:look_back_period_in_days, Shapes::ShapeRef.new(shape: LookBackPeriodInDays, location_name: "lookBackPeriodInDays"))
469
+ VolumeRecommendation.add_member(:volume_recommendation_options, Shapes::ShapeRef.new(shape: VolumeRecommendationOptions, location_name: "volumeRecommendationOptions"))
470
+ VolumeRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
471
+ VolumeRecommendation.struct_class = Types::VolumeRecommendation
472
+
473
+ VolumeRecommendationOption.add_member(:configuration, Shapes::ShapeRef.new(shape: VolumeConfiguration, location_name: "configuration"))
474
+ VolumeRecommendationOption.add_member(:performance_risk, Shapes::ShapeRef.new(shape: PerformanceRisk, location_name: "performanceRisk"))
475
+ VolumeRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
476
+ VolumeRecommendationOption.struct_class = Types::VolumeRecommendationOption
477
+
478
+ VolumeRecommendationOptions.member = Shapes::ShapeRef.new(shape: VolumeRecommendationOption)
479
+
480
+ VolumeRecommendations.member = Shapes::ShapeRef.new(shape: VolumeRecommendation)
481
+
406
482
 
407
483
  # @api private
408
484
  API = Seahorse::Model::Api.new.tap do |api|
@@ -486,6 +562,22 @@ module Aws::ComputeOptimizer
486
562
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
487
563
  end)
488
564
 
565
+ api.add_operation(:get_ebs_volume_recommendations, Seahorse::Model::Operation.new.tap do |o|
566
+ o.name = "GetEBSVolumeRecommendations"
567
+ o.http_method = "POST"
568
+ o.http_request_uri = "/"
569
+ o.input = Shapes::ShapeRef.new(shape: GetEBSVolumeRecommendationsRequest)
570
+ o.output = Shapes::ShapeRef.new(shape: GetEBSVolumeRecommendationsResponse)
571
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
572
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
573
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
574
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
575
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
576
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
577
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
578
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
579
+ end)
580
+
489
581
  api.add_operation(:get_ec2_instance_recommendations, Seahorse::Model::Operation.new.tap do |o|
490
582
  o.name = "GetEC2InstanceRecommendations"
491
583
  o.http_method = "POST"
@@ -84,11 +84,6 @@ module Aws::ComputeOptimizer
84
84
  # group is correctly provisioned to run your workload based on the
85
85
  # chosen instance type. For optimized resources, Compute Optimizer
86
86
  # might recommend a new generation instance type.
87
- #
88
- # <note markdown="1"> The values that are returned might be `NOT_OPTIMIZED` or
89
- # `OPTIMIZED`.
90
- #
91
- # </note>
92
87
  # @return [String]
93
88
  #
94
89
  # @!attribute [rw] utilization_metrics
@@ -257,6 +252,102 @@ module Aws::ComputeOptimizer
257
252
  include Aws::Structure
258
253
  end
259
254
 
255
+ # Describes a filter that returns a more specific list of Amazon Elastic
256
+ # Block Store (Amazon EBS) volume recommendations.
257
+ #
258
+ # This filter is used with the `GetEBSVolumeRecommendations` action.
259
+ #
260
+ # @note When making an API call, you may pass EBSFilter
261
+ # data as a hash:
262
+ #
263
+ # {
264
+ # name: "Finding", # accepts Finding
265
+ # values: ["FilterValue"],
266
+ # }
267
+ #
268
+ # @!attribute [rw] name
269
+ # The name of the filter.
270
+ #
271
+ # Specify `Finding` to return recommendations with a specific finding
272
+ # classification (e.g., `Optimized`).
273
+ # @return [String]
274
+ #
275
+ # @!attribute [rw] values
276
+ # The value of the filter.
277
+ #
278
+ # The valid values are `Optimized`, or `NotOptimized`.
279
+ # @return [Array<String>]
280
+ #
281
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSFilter AWS API Documentation
282
+ #
283
+ class EBSFilter < Struct.new(
284
+ :name,
285
+ :values)
286
+ SENSITIVE = []
287
+ include Aws::Structure
288
+ end
289
+
290
+ # Describes a utilization metric of an Amazon Elastic Block Store
291
+ # (Amazon EBS) volume.
292
+ #
293
+ # Compare the utilization metric data of your resource against its
294
+ # projected utilization metric data to determine the performance
295
+ # difference between your current resource and the recommended option.
296
+ #
297
+ # @!attribute [rw] name
298
+ # The name of the utilization metric.
299
+ #
300
+ # The following utilization metrics are available:
301
+ #
302
+ # * `VolumeReadOpsPerSecond` - The completed read operations per
303
+ # second from the volume in a specified period of time.
304
+ #
305
+ # Unit: Count
306
+ #
307
+ # * `VolumeWriteOpsPerSecond` - The completed write operations per
308
+ # second to the volume in a specified period of time.
309
+ #
310
+ # Unit: Count
311
+ #
312
+ # * `VolumeReadBytesPerSecond` - The bytes read per second from the
313
+ # volume in a specified period of time.
314
+ #
315
+ # Unit: Bytes
316
+ #
317
+ # * `VolumeWriteBytesPerSecond` - The bytes written to the volume in a
318
+ # specified period of time.
319
+ #
320
+ # Unit: Bytes
321
+ # @return [String]
322
+ #
323
+ # @!attribute [rw] statistic
324
+ # The statistic of the utilization metric.
325
+ #
326
+ # The following statistics are available:
327
+ #
328
+ # * `Average` - This is the value of Sum / SampleCount during the
329
+ # specified period, or the average value observed during the
330
+ # specified period.
331
+ #
332
+ # * `Maximum` - The highest value observed during the specified
333
+ # period. Use this value to determine high volumes of activity for
334
+ # your application.
335
+ # @return [String]
336
+ #
337
+ # @!attribute [rw] value
338
+ # The value of the utilization metric.
339
+ # @return [Float]
340
+ #
341
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EBSUtilizationMetric AWS API Documentation
342
+ #
343
+ class EBSUtilizationMetric < Struct.new(
344
+ :name,
345
+ :statistic,
346
+ :value)
347
+ SENSITIVE = []
348
+ include Aws::Structure
349
+ end
350
+
260
351
  # @note When making an API call, you may pass ExportAutoScalingGroupRecommendationsRequest
261
352
  # data as a hash:
262
353
  #
@@ -281,8 +372,8 @@ module Aws::ComputeOptimizer
281
372
  # The IDs of the AWS accounts for which to export Auto Scaling group
282
373
  # recommendations.
283
374
  #
284
- # If your account is the master account of an organization, use this
285
- # parameter to specify the member accounts for which you want to
375
+ # If your account is the management account of an organization, use
376
+ # this parameter to specify the member accounts for which you want to
286
377
  # export recommendations.
287
378
  #
288
379
  # This parameter cannot be specified together with the include member
@@ -337,8 +428,8 @@ module Aws::ComputeOptimizer
337
428
  #
338
429
  # @!attribute [rw] include_member_accounts
339
430
  # Indicates whether to include recommendations for resources in all
340
- # member accounts of the organization if your account is the master
341
- # account of an organization.
431
+ # member accounts of the organization if your account is the
432
+ # management account of an organization.
342
433
  #
343
434
  # The member accounts must also be opted in to Compute Optimizer.
344
435
  #
@@ -427,8 +518,8 @@ module Aws::ComputeOptimizer
427
518
  # The IDs of the AWS accounts for which to export instance
428
519
  # recommendations.
429
520
  #
430
- # If your account is the master account of an organization, use this
431
- # parameter to specify the member accounts for which you want to
521
+ # If your account is the management account of an organization, use
522
+ # this parameter to specify the member accounts for which you want to
432
523
  # export recommendations.
433
524
  #
434
525
  # This parameter cannot be specified together with the include member
@@ -483,8 +574,8 @@ module Aws::ComputeOptimizer
483
574
  #
484
575
  # @!attribute [rw] include_member_accounts
485
576
  # Indicates whether to include recommendations for resources in all
486
- # member accounts of the organization if your account is the master
487
- # account of an organization.
577
+ # member accounts of the organization if your account is the
578
+ # management account of an organization.
488
579
  #
489
580
  # The member accounts must also be opted in to Compute Optimizer.
490
581
  #
@@ -532,6 +623,9 @@ module Aws::ComputeOptimizer
532
623
  # Describes a filter that returns a more specific list of
533
624
  # recommendations.
534
625
  #
626
+ # This filter is used with the `GetAutoScalingGroupRecommendations` and
627
+ # `GetEC2InstanceRecommendations` actions.
628
+ #
535
629
  # @note When making an API call, you may pass Filter
536
630
  # data as a hash:
537
631
  #
@@ -543,7 +637,7 @@ module Aws::ComputeOptimizer
543
637
  # @!attribute [rw] name
544
638
  # The name of the filter.
545
639
  #
546
- # Specify `Finding` to return recommendations with a specific findings
640
+ # Specify `Finding` to return recommendations with a specific finding
547
641
  # classification (e.g., `Overprovisioned`).
548
642
  #
549
643
  # Specify `RecommendationSourceType` to return recommendations of a
@@ -553,17 +647,20 @@ module Aws::ComputeOptimizer
553
647
  # @!attribute [rw] values
554
648
  # The value of the filter.
555
649
  #
556
- # If you specify the `name` parameter as `Finding`, and you request
557
- # recommendations for an *instance*, then the valid values are
558
- # `Underprovisioned`, `Overprovisioned`, `NotOptimized`, or
559
- # `Optimized`.
650
+ # The valid values for this parameter are as follows, depending on
651
+ # what you specify for the `name` parameter and the resource type that
652
+ # you wish to filter results for:
653
+ #
654
+ # * Specify `Optimized` or `NotOptimized` if you specified the `name`
655
+ # parameter as `Finding` and you want to filter results for Auto
656
+ # Scaling groups.
560
657
  #
561
- # If you specify the `name` parameter as `Finding`, and you request
562
- # recommendations for an *Auto Scaling group*, then the valid values
563
- # are `Optimized`, or `NotOptimized`.
658
+ # * Specify `Underprovisioned`, `Overprovisioned`, or `Optimized` if
659
+ # you specified the `name` parameter as `Finding` and you want to
660
+ # filter results for EC2 instances.
564
661
  #
565
- # If you specify the `name` parameter as `RecommendationSourceType`,
566
- # then the valid values are `Ec2Instance`, or `AutoScalingGroup`.
662
+ # * Specify `Ec2Instance` or `AutoScalingGroup` if you specified the
663
+ # `name` parameter as `RecommendationSourceType`.
567
664
  # @return [Array<String>]
568
665
  #
569
666
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/Filter AWS API Documentation
@@ -595,8 +692,8 @@ module Aws::ComputeOptimizer
595
692
  # The IDs of the AWS accounts for which to return Auto Scaling group
596
693
  # recommendations.
597
694
  #
598
- # If your account is the master account of an organization, use this
599
- # parameter to specify the member accounts for which you want to
695
+ # If your account is the management account of an organization, use
696
+ # this parameter to specify the member accounts for which you want to
600
697
  # return Auto Scaling group recommendations.
601
698
  #
602
699
  # Only one account ID can be specified per request.
@@ -667,6 +764,96 @@ module Aws::ComputeOptimizer
667
764
  include Aws::Structure
668
765
  end
669
766
 
767
+ # @note When making an API call, you may pass GetEBSVolumeRecommendationsRequest
768
+ # data as a hash:
769
+ #
770
+ # {
771
+ # volume_arns: ["VolumeArn"],
772
+ # next_token: "NextToken",
773
+ # max_results: 1,
774
+ # filters: [
775
+ # {
776
+ # name: "Finding", # accepts Finding
777
+ # values: ["FilterValue"],
778
+ # },
779
+ # ],
780
+ # account_ids: ["AccountId"],
781
+ # }
782
+ #
783
+ # @!attribute [rw] volume_arns
784
+ # The Amazon Resource Name (ARN) of the volumes for which to return
785
+ # recommendations.
786
+ # @return [Array<String>]
787
+ #
788
+ # @!attribute [rw] next_token
789
+ # The token to advance to the next page of volume recommendations.
790
+ # @return [String]
791
+ #
792
+ # @!attribute [rw] max_results
793
+ # The maximum number of volume recommendations to return with a single
794
+ # request.
795
+ #
796
+ # To retrieve the remaining results, make another request with the
797
+ # returned `NextToken` value.
798
+ # @return [Integer]
799
+ #
800
+ # @!attribute [rw] filters
801
+ # An array of objects that describe a filter that returns a more
802
+ # specific list of volume recommendations.
803
+ # @return [Array<Types::EBSFilter>]
804
+ #
805
+ # @!attribute [rw] account_ids
806
+ # The IDs of the AWS accounts for which to return volume
807
+ # recommendations.
808
+ #
809
+ # If your account is the management account of an organization, use
810
+ # this parameter to specify the member accounts for which you want to
811
+ # return volume recommendations.
812
+ #
813
+ # Only one account ID can be specified per request.
814
+ # @return [Array<String>]
815
+ #
816
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEBSVolumeRecommendationsRequest AWS API Documentation
817
+ #
818
+ class GetEBSVolumeRecommendationsRequest < Struct.new(
819
+ :volume_arns,
820
+ :next_token,
821
+ :max_results,
822
+ :filters,
823
+ :account_ids)
824
+ SENSITIVE = []
825
+ include Aws::Structure
826
+ end
827
+
828
+ # @!attribute [rw] next_token
829
+ # The token to use to advance to the next page of volume
830
+ # recommendations.
831
+ #
832
+ # This value is null when there are no more pages of volume
833
+ # recommendations to return.
834
+ # @return [String]
835
+ #
836
+ # @!attribute [rw] volume_recommendations
837
+ # An array of objects that describe volume recommendations.
838
+ # @return [Array<Types::VolumeRecommendation>]
839
+ #
840
+ # @!attribute [rw] errors
841
+ # An array of objects that describe errors of the request.
842
+ #
843
+ # For example, an error is returned if you request recommendations for
844
+ # an unsupported volume.
845
+ # @return [Array<Types::GetRecommendationError>]
846
+ #
847
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEBSVolumeRecommendationsResponse AWS API Documentation
848
+ #
849
+ class GetEBSVolumeRecommendationsResponse < Struct.new(
850
+ :next_token,
851
+ :volume_recommendations,
852
+ :errors)
853
+ SENSITIVE = []
854
+ include Aws::Structure
855
+ end
856
+
670
857
  # @note When making an API call, you may pass GetEC2InstanceRecommendationsRequest
671
858
  # data as a hash:
672
859
  #
@@ -709,8 +896,8 @@ module Aws::ComputeOptimizer
709
896
  # The IDs of the AWS accounts for which to return instance
710
897
  # recommendations.
711
898
  #
712
- # If your account is the master account of an organization, use this
713
- # parameter to specify the member accounts for which you want to
899
+ # If your account is the management account of an organization, use
900
+ # this parameter to specify the member accounts for which you want to
714
901
  # return instance recommendations.
715
902
  #
716
903
  # Only one account ID can be specified per request.
@@ -833,7 +1020,8 @@ module Aws::ComputeOptimizer
833
1020
  #
834
1021
  # @!attribute [rw] member_accounts_enrolled
835
1022
  # Confirms the enrollment status of member accounts within the
836
- # organization, if the account is a master account of an organization.
1023
+ # organization, if the account is a management account of an
1024
+ # organization.
837
1025
  # @return [Boolean]
838
1026
  #
839
1027
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEnrollmentStatusResponse AWS API Documentation
@@ -887,8 +1075,8 @@ module Aws::ComputeOptimizer
887
1075
  # The IDs of the AWS accounts for which to return recommendation
888
1076
  # summaries.
889
1077
  #
890
- # If your account is the master account of an organization, use this
891
- # parameter to specify the member accounts for which you want to
1078
+ # If your account is the management account of an organization, use
1079
+ # this parameter to specify the member accounts for which you want to
892
1080
  # return recommendation summaries.
893
1081
  #
894
1082
  # Only one account ID can be specified per request.
@@ -980,11 +1168,6 @@ module Aws::ComputeOptimizer
980
1168
  # your workloads with optimal performance and infrastructure cost.
981
1169
  # For optimized resources, AWS Compute Optimizer might recommend a
982
1170
  # new generation instance type.
983
- #
984
- # <note markdown="1"> The values that are returned might be `UNDER_PROVISIONED`,
985
- # `OVER_PROVISIONED`, or `OPTIMIZED`.
986
- #
987
- # </note>
988
1171
  # @return [String]
989
1172
  #
990
1173
  # @!attribute [rw] utilization_metrics
@@ -1132,11 +1315,16 @@ module Aws::ComputeOptimizer
1132
1315
  # @!attribute [rw] values
1133
1316
  # The value of the filter.
1134
1317
  #
1135
- # If you specify the `name` parameter as `ResourceType`, the valid
1136
- # values are `Ec2Instance` or `AutoScalingGroup`.
1318
+ # The valid values for this parameter are as follows, depending on
1319
+ # what you specify for the `name` parameter:
1137
1320
  #
1138
- # If you specify the `name` parameter as `JobStatus`, the valid values
1139
- # are `Queued`, `InProgress`, `Complete`, or `Failed`.
1321
+ # * Specify `Ec2Instance` or `AutoScalingGroup` if you specified the
1322
+ # `name` parameter as `ResourceType`. There is no filter for EBS
1323
+ # volumes because volume recommendations cannot be exported at this
1324
+ # time.
1325
+ #
1326
+ # * Specify `Queued`, `InProgress`, `Complete`, or `Failed` if you
1327
+ # specified the `name` parameter as `JobStatus`.
1140
1328
  # @return [Array<String>]
1141
1329
  #
1142
1330
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/JobFilter AWS API Documentation
@@ -1189,7 +1377,13 @@ module Aws::ComputeOptimizer
1189
1377
  end
1190
1378
 
1191
1379
  # Describes a projected utilization metric of a recommendation option,
1192
- # such as an Amazon EC2 instance.
1380
+ # such as an Amazon EC2 instance. This represents the projected
1381
+ # utilization of a recommendation option had you used that resource
1382
+ # during the analyzed period.
1383
+ #
1384
+ # Compare the utilization metric data of your resource against its
1385
+ # projected utilization metric data to determine the performance
1386
+ # difference between your current resource and the recommended option.
1193
1387
  #
1194
1388
  # <note markdown="1"> The `Cpu` and `Memory` metrics are the only projected utilization
1195
1389
  # metrics returned when you run the
@@ -1206,6 +1400,37 @@ module Aws::ComputeOptimizer
1206
1400
  #
1207
1401
  # @!attribute [rw] name
1208
1402
  # The name of the projected utilization metric.
1403
+ #
1404
+ # The following projected utilization metrics are returned:
1405
+ #
1406
+ # * `Cpu` - The projected percentage of allocated EC2 compute units
1407
+ # that would be in use on the recommendation option had you used
1408
+ # that resource during the analyzed period. This metric identifies
1409
+ # the processing power required to run an application on the
1410
+ # recommendation option.
1411
+ #
1412
+ # Depending on the instance type, tools in your operating system can
1413
+ # show a lower percentage than CloudWatch when the instance is not
1414
+ # allocated a full processor core.
1415
+ #
1416
+ # Units: Percent
1417
+ #
1418
+ # * `Memory` - The percentage of memory that would be in use on the
1419
+ # recommendation option had you used that resource during the
1420
+ # analyzed period. This metric identifies the amount of memory
1421
+ # required to run an application on the recommendation option.
1422
+ #
1423
+ # Units: Percent
1424
+ #
1425
+ # <note markdown="1"> The `Memory` metric is returned only for resources that have the
1426
+ # unified CloudWatch agent installed on them. For more information,
1427
+ # see [Enabling Memory Utilization with the CloudWatch Agent][1].
1428
+ #
1429
+ # </note>
1430
+ #
1431
+ #
1432
+ #
1433
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent
1209
1434
  # @return [String]
1210
1435
  #
1211
1436
  # @!attribute [rw] timestamps
@@ -1516,7 +1741,7 @@ module Aws::ComputeOptimizer
1516
1741
  #
1517
1742
  # @!attribute [rw] include_member_accounts
1518
1743
  # Indicates whether to enroll member accounts of the organization if
1519
- # the your account is the master account of an organization.
1744
+ # the your account is the management account of an organization.
1520
1745
  # @return [Boolean]
1521
1746
  #
1522
1747
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/UpdateEnrollmentStatusRequest AWS API Documentation
@@ -1550,14 +1775,58 @@ module Aws::ComputeOptimizer
1550
1775
  # Describes a utilization metric of a resource, such as an Amazon EC2
1551
1776
  # instance.
1552
1777
  #
1778
+ # Compare the utilization metric data of your resource against its
1779
+ # projected utilization metric data to determine the performance
1780
+ # difference between your current resource and the recommended option.
1781
+ #
1553
1782
  # @!attribute [rw] name
1554
1783
  # The name of the utilization metric.
1555
1784
  #
1556
- # <note markdown="1"> The `Memory` metric is returned only for resources that have the
1557
- # unified CloudWatch agent installed on them. For more information,
1558
- # see [Enabling Memory Utilization with the CloudWatch Agent][1].
1785
+ # The following utilization metrics are available:
1559
1786
  #
1560
- # </note>
1787
+ # * `Cpu` - The percentage of allocated EC2 compute units that are
1788
+ # currently in use on the instance. This metric identifies the
1789
+ # processing power required to run an application on the instance.
1790
+ #
1791
+ # Depending on the instance type, tools in your operating system can
1792
+ # show a lower percentage than CloudWatch when the instance is not
1793
+ # allocated a full processor core.
1794
+ #
1795
+ # Units: Percent
1796
+ #
1797
+ # * `Memory` - The percentage of memory that is currently in use on
1798
+ # the instance. This metric identifies the amount of memory required
1799
+ # to run an application on the instance.
1800
+ #
1801
+ # Units: Percent
1802
+ #
1803
+ # <note markdown="1"> The `Memory` metric is returned only for resources that have the
1804
+ # unified CloudWatch agent installed on them. For more information,
1805
+ # see [Enabling Memory Utilization with the CloudWatch Agent][1].
1806
+ #
1807
+ # </note>
1808
+ #
1809
+ # * `EBS_READ_OPS_PER_SECOND` - The completed read operations from all
1810
+ # EBS volumes attached to the instance in a specified period of
1811
+ # time.
1812
+ #
1813
+ # Unit: Count
1814
+ #
1815
+ # * `EBS_WRITE_OPS_PER_SECOND` - The completed write operations to all
1816
+ # EBS volumes attached to the instance in a specified period of
1817
+ # time.
1818
+ #
1819
+ # Unit: Count
1820
+ #
1821
+ # * `EBS_READ_BYTES_PER_SECOND` - The bytes read from all EBS volumes
1822
+ # attached to the instance in a specified period of time.
1823
+ #
1824
+ # Unit: Bytes
1825
+ #
1826
+ # * `EBS_WRITE_BYTES_PER_SECOND` - The bytes written to all EBS
1827
+ # volumes attached to the instance in a specified period of time.
1828
+ #
1829
+ # Unit: Bytes
1561
1830
  #
1562
1831
  #
1563
1832
  #
@@ -1566,6 +1835,16 @@ module Aws::ComputeOptimizer
1566
1835
  #
1567
1836
  # @!attribute [rw] statistic
1568
1837
  # The statistic of the utilization metric.
1838
+ #
1839
+ # The following statistics are available:
1840
+ #
1841
+ # * `Average` - This is the value of Sum / SampleCount during the
1842
+ # specified period, or the average value observed during the
1843
+ # specified period.
1844
+ #
1845
+ # * `Maximum` - The highest value observed during the specified
1846
+ # period. Use this value to determine high volumes of activity for
1847
+ # your application.
1569
1848
  # @return [String]
1570
1849
  #
1571
1850
  # @!attribute [rw] value
@@ -1582,5 +1861,148 @@ module Aws::ComputeOptimizer
1582
1861
  include Aws::Structure
1583
1862
  end
1584
1863
 
1864
+ # Describes the configuration of an Amazon Elastic Block Store (Amazon
1865
+ # EBS) volume.
1866
+ #
1867
+ # @!attribute [rw] volume_type
1868
+ # The volume type.
1869
+ #
1870
+ # This can be `gp2` for General Purpose SSD, `io1` or `io2` for
1871
+ # Provisioned IOPS SSD, `st1` for Throughput Optimized HDD, `sc1` for
1872
+ # Cold HDD, or `standard` for Magnetic volumes.
1873
+ # @return [String]
1874
+ #
1875
+ # @!attribute [rw] volume_size
1876
+ # The size of the volume, in GiB.
1877
+ # @return [Integer]
1878
+ #
1879
+ # @!attribute [rw] volume_baseline_iops
1880
+ # The baseline IOPS of the volume.
1881
+ # @return [Integer]
1882
+ #
1883
+ # @!attribute [rw] volume_burst_iops
1884
+ # The burst IOPS of the volume.
1885
+ # @return [Integer]
1886
+ #
1887
+ # @!attribute [rw] volume_baseline_throughput
1888
+ # The baseline throughput of the volume.
1889
+ # @return [Integer]
1890
+ #
1891
+ # @!attribute [rw] volume_burst_throughput
1892
+ # The burst throughput of the volume.
1893
+ # @return [Integer]
1894
+ #
1895
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/VolumeConfiguration AWS API Documentation
1896
+ #
1897
+ class VolumeConfiguration < Struct.new(
1898
+ :volume_type,
1899
+ :volume_size,
1900
+ :volume_baseline_iops,
1901
+ :volume_burst_iops,
1902
+ :volume_baseline_throughput,
1903
+ :volume_burst_throughput)
1904
+ SENSITIVE = []
1905
+ include Aws::Structure
1906
+ end
1907
+
1908
+ # Describes an Amazon Elastic Block Store (Amazon EBS) volume
1909
+ # recommendation.
1910
+ #
1911
+ # @!attribute [rw] volume_arn
1912
+ # The Amazon Resource Name (ARN) of the current volume.
1913
+ # @return [String]
1914
+ #
1915
+ # @!attribute [rw] account_id
1916
+ # The AWS account ID of the volume.
1917
+ # @return [String]
1918
+ #
1919
+ # @!attribute [rw] current_configuration
1920
+ # An array of objects that describe the current configuration of the
1921
+ # volume.
1922
+ # @return [Types::VolumeConfiguration]
1923
+ #
1924
+ # @!attribute [rw] finding
1925
+ # The finding classification for the volume.
1926
+ #
1927
+ # Findings for volumes include:
1928
+ #
1929
+ # * <b> <code>NotOptimized</code> </b>—A volume is considered not
1930
+ # optimized when AWS Compute Optimizer identifies a recommendation
1931
+ # that can provide better performance for your workload.
1932
+ #
1933
+ # * <b> <code>Optimized</code> </b>—An volume is considered optimized
1934
+ # when Compute Optimizer determines that the volume is correctly
1935
+ # provisioned to run your workload based on the chosen volume type.
1936
+ # For optimized resources, Compute Optimizer might recommend a new
1937
+ # generation volume type.
1938
+ # @return [String]
1939
+ #
1940
+ # @!attribute [rw] utilization_metrics
1941
+ # An array of objects that describe the utilization metrics of the
1942
+ # volume.
1943
+ # @return [Array<Types::EBSUtilizationMetric>]
1944
+ #
1945
+ # @!attribute [rw] look_back_period_in_days
1946
+ # The number of days for which utilization metrics were analyzed for
1947
+ # the volume.
1948
+ # @return [Float]
1949
+ #
1950
+ # @!attribute [rw] volume_recommendation_options
1951
+ # An array of objects that describe the recommendation options for the
1952
+ # volume.
1953
+ # @return [Array<Types::VolumeRecommendationOption>]
1954
+ #
1955
+ # @!attribute [rw] last_refresh_timestamp
1956
+ # The time stamp of when the volume recommendation was last refreshed.
1957
+ # @return [Time]
1958
+ #
1959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/VolumeRecommendation AWS API Documentation
1960
+ #
1961
+ class VolumeRecommendation < Struct.new(
1962
+ :volume_arn,
1963
+ :account_id,
1964
+ :current_configuration,
1965
+ :finding,
1966
+ :utilization_metrics,
1967
+ :look_back_period_in_days,
1968
+ :volume_recommendation_options,
1969
+ :last_refresh_timestamp)
1970
+ SENSITIVE = []
1971
+ include Aws::Structure
1972
+ end
1973
+
1974
+ # Describes a recommendation option for an Amazon Elastic Block Store
1975
+ # (Amazon EBS) instance.
1976
+ #
1977
+ # @!attribute [rw] configuration
1978
+ # An array of objects that describe a volume configuration.
1979
+ # @return [Types::VolumeConfiguration]
1980
+ #
1981
+ # @!attribute [rw] performance_risk
1982
+ # The performance risk of the volume recommendation option.
1983
+ #
1984
+ # Performance risk is the likelihood of the recommended volume type
1985
+ # not meeting the performance requirement of your workload.
1986
+ #
1987
+ # The lowest performance risk is categorized as `0`, and the highest
1988
+ # as `5`.
1989
+ # @return [Float]
1990
+ #
1991
+ # @!attribute [rw] rank
1992
+ # The rank of the volume recommendation option.
1993
+ #
1994
+ # The top recommendation option is ranked as `1`.
1995
+ # @return [Integer]
1996
+ #
1997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/VolumeRecommendationOption AWS API Documentation
1998
+ #
1999
+ class VolumeRecommendationOption < Struct.new(
2000
+ :configuration,
2001
+ :performance_risk,
2002
+ :rank)
2003
+ SENSITIVE = []
2004
+ include Aws::Structure
2005
+ end
2006
+
1585
2007
  end
1586
2008
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-computeoptimizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-07 00:00:00.000000000 Z
11
+ date: 2020-12-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core