aws-sdk-computeoptimizer 1.9.0 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml 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