aws-sdk-computeoptimizer 1.9.0 → 1.14.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: af40dd60485d0bb667c8c950f11963e1ca7e8bbafb07da22403bdffe894d57d7
4
+ data.tar.gz: 91ea70f096d30fb327c0ddcf3da090c43f412a2c6e51fd484a20281c17ba0ebf
5
5
  SHA512:
6
- metadata.gz: 4451078e1a405d32dd6ead11edeb2ba8729d8d81e4f569c9ebbf056bc474c501fc21f3989efede993ee41ab9a17681eed9a271c0bd22ff78d6a2a3f3e28d0150
7
- data.tar.gz: da8b5aa2668b8b45c74265a235e994060ed56587096c05f5bbe6b4b52987ea9c328cce4885c65ecc9f7be775c3f85b92951add89540c87d235ff18f4588d678e
6
+ metadata.gz: d20fad106503394bffb0fa3bcc633829bc645c3390e6be77e1014ad7b8f478de3ae324d2ad93300e10c6279a497f5be7abde04176488dc999041127ec57f0dbf
7
+ data.tar.gz: bf29cb9c91e974270c9399c4eeec28f9c9f62ac1383bbad5b30cd3cfaea384fb723d2b78282d942cfb514a3abd1beb92c55e69ab6b85aefad3e2293c8871471b
@@ -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.14.0'
52
52
 
53
53
  end
@@ -428,8 +428,8 @@ 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
432
- # parameter to specify the member accounts for which you want to export
431
+ # If your account is the management account of an organization, use this
432
+ # parameter to specify the member account for which you want to export
433
433
  # recommendations.
434
434
  #
435
435
  # This parameter cannot be specified together with the include member
@@ -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,8 +551,8 @@ 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
555
- # parameter to specify the member accounts for which you want to export
554
+ # If your account is the management account of an organization, use this
555
+ # parameter to specify the member account for which you want to export
556
556
  # recommendations.
557
557
  #
558
558
  # This parameter cannot be specified together with the include member
@@ -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.
@@ -664,11 +664,11 @@ module Aws::ComputeOptimizer
664
664
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html
665
665
  #
666
666
  # @option params [Array<String>] :account_ids
667
- # The IDs of the AWS accounts for which to return Auto Scaling group
667
+ # The ID of the AWS account 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
671
- # parameter to specify the member accounts for which you want to return
670
+ # If your account is the management account of an organization, use this
671
+ # parameter to specify the member account for which you want to return
672
672
  # Auto Scaling group recommendations.
673
673
  #
674
674
  # Only one account ID can be specified per request.
@@ -756,6 +756,108 @@ 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 ID of the AWS account for which to return volume recommendations.
791
+ #
792
+ # If your account is the management account of an organization, use this
793
+ # parameter to specify the member account for which you want to return
794
+ # volume recommendations.
795
+ #
796
+ # Only one account ID can be specified per request.
797
+ #
798
+ # @return [Types::GetEBSVolumeRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
799
+ #
800
+ # * {Types::GetEBSVolumeRecommendationsResponse#next_token #next_token} => String
801
+ # * {Types::GetEBSVolumeRecommendationsResponse#volume_recommendations #volume_recommendations} => Array&lt;Types::VolumeRecommendation&gt;
802
+ # * {Types::GetEBSVolumeRecommendationsResponse#errors #errors} => Array&lt;Types::GetRecommendationError&gt;
803
+ #
804
+ # @example Request syntax with placeholder values
805
+ #
806
+ # resp = client.get_ebs_volume_recommendations({
807
+ # volume_arns: ["VolumeArn"],
808
+ # next_token: "NextToken",
809
+ # max_results: 1,
810
+ # filters: [
811
+ # {
812
+ # name: "Finding", # accepts Finding
813
+ # values: ["FilterValue"],
814
+ # },
815
+ # ],
816
+ # account_ids: ["AccountId"],
817
+ # })
818
+ #
819
+ # @example Response structure
820
+ #
821
+ # resp.next_token #=> String
822
+ # resp.volume_recommendations #=> Array
823
+ # resp.volume_recommendations[0].volume_arn #=> String
824
+ # resp.volume_recommendations[0].account_id #=> String
825
+ # resp.volume_recommendations[0].current_configuration.volume_type #=> String
826
+ # resp.volume_recommendations[0].current_configuration.volume_size #=> Integer
827
+ # resp.volume_recommendations[0].current_configuration.volume_baseline_iops #=> Integer
828
+ # resp.volume_recommendations[0].current_configuration.volume_burst_iops #=> Integer
829
+ # resp.volume_recommendations[0].current_configuration.volume_baseline_throughput #=> Integer
830
+ # resp.volume_recommendations[0].current_configuration.volume_burst_throughput #=> Integer
831
+ # resp.volume_recommendations[0].finding #=> String, one of "Optimized", "NotOptimized"
832
+ # resp.volume_recommendations[0].utilization_metrics #=> Array
833
+ # resp.volume_recommendations[0].utilization_metrics[0].name #=> String, one of "VolumeReadOpsPerSecond", "VolumeWriteOpsPerSecond", "VolumeReadBytesPerSecond", "VolumeWriteBytesPerSecond"
834
+ # resp.volume_recommendations[0].utilization_metrics[0].statistic #=> String, one of "Maximum", "Average"
835
+ # resp.volume_recommendations[0].utilization_metrics[0].value #=> Float
836
+ # resp.volume_recommendations[0].look_back_period_in_days #=> Float
837
+ # resp.volume_recommendations[0].volume_recommendation_options #=> Array
838
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_type #=> String
839
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_size #=> Integer
840
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_baseline_iops #=> Integer
841
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_burst_iops #=> Integer
842
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_baseline_throughput #=> Integer
843
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_burst_throughput #=> Integer
844
+ # resp.volume_recommendations[0].volume_recommendation_options[0].performance_risk #=> Float
845
+ # resp.volume_recommendations[0].volume_recommendation_options[0].rank #=> Integer
846
+ # resp.volume_recommendations[0].last_refresh_timestamp #=> Time
847
+ # resp.errors #=> Array
848
+ # resp.errors[0].identifier #=> String
849
+ # resp.errors[0].code #=> String
850
+ # resp.errors[0].message #=> String
851
+ #
852
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEBSVolumeRecommendations AWS API Documentation
853
+ #
854
+ # @overload get_ebs_volume_recommendations(params = {})
855
+ # @param [Hash] params ({})
856
+ def get_ebs_volume_recommendations(params = {}, options = {})
857
+ req = build_request(:get_ebs_volume_recommendations, params)
858
+ req.send_request(options)
859
+ end
860
+
759
861
  # Returns Amazon EC2 instance recommendations.
760
862
  #
761
863
  # AWS Compute Optimizer generates recommendations for Amazon Elastic
@@ -786,11 +888,11 @@ module Aws::ComputeOptimizer
786
888
  # specific list of instance recommendations.
787
889
  #
788
890
  # @option params [Array<String>] :account_ids
789
- # The IDs of the AWS accounts for which to return instance
891
+ # The ID of the AWS account for which to return instance
790
892
  # recommendations.
791
893
  #
792
- # If your account is the master account of an organization, use this
793
- # parameter to specify the member accounts for which you want to return
894
+ # If your account is the management account of an organization, use this
895
+ # parameter to specify the member account for which you want to return
794
896
  # instance recommendations.
795
897
  #
796
898
  # Only one account ID can be specified per request.
@@ -840,7 +942,7 @@ module Aws::ComputeOptimizer
840
942
  # resp.instance_recommendations[0].recommendation_options[0].rank #=> Integer
841
943
  # resp.instance_recommendations[0].recommendation_sources #=> Array
842
944
  # 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"
945
+ # resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction"
844
946
  # resp.instance_recommendations[0].last_refresh_timestamp #=> Time
845
947
  # resp.errors #=> Array
846
948
  # resp.errors[0].identifier #=> String
@@ -925,9 +1027,9 @@ module Aws::ComputeOptimizer
925
1027
  # Returns the enrollment (opt in) status of an account to the AWS
926
1028
  # Compute Optimizer service.
927
1029
  #
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.
1030
+ # If the account is the management account of an organization, this
1031
+ # action also confirms the enrollment status of member accounts within
1032
+ # the organization.
931
1033
  #
932
1034
  # @return [Types::GetEnrollmentStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
933
1035
  #
@@ -950,6 +1052,112 @@ module Aws::ComputeOptimizer
950
1052
  req.send_request(options)
951
1053
  end
952
1054
 
1055
+ # Returns AWS Lambda function recommendations.
1056
+ #
1057
+ # AWS Compute Optimizer generates recommendations for functions that
1058
+ # meet a specific set of requirements. For more information, see the
1059
+ # [Supported resources and requirements][1] in the *AWS Compute
1060
+ # Optimizer User Guide*.
1061
+ #
1062
+ #
1063
+ #
1064
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html
1065
+ #
1066
+ # @option params [Array<String>] :function_arns
1067
+ # The Amazon Resource Name (ARN) of the functions for which to return
1068
+ # recommendations.
1069
+ #
1070
+ # You can specify a qualified or unqualified ARN. If you specify an
1071
+ # unqualified ARN without a function version suffix, Compute Optimizer
1072
+ # will return recommendations for the latest (`$LATEST`) version of the
1073
+ # function. If you specify a qualified ARN with a version suffix,
1074
+ # Compute Optimizer will return recommendations for the specified
1075
+ # function version. For more information about using function versions,
1076
+ # see [Using versions][1] in the *AWS Lambda Developer Guide*.
1077
+ #
1078
+ #
1079
+ #
1080
+ # [1]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html#versioning-versions-using
1081
+ #
1082
+ # @option params [Array<String>] :account_ids
1083
+ # The ID of the AWS account for which to return function
1084
+ # recommendations.
1085
+ #
1086
+ # If your account is the management account of an organization, use this
1087
+ # parameter to specify the member account for which you want to return
1088
+ # function recommendations.
1089
+ #
1090
+ # Only one account ID can be specified per request.
1091
+ #
1092
+ # @option params [Array<Types::LambdaFunctionRecommendationFilter>] :filters
1093
+ # An array of objects that describe a filter that returns a more
1094
+ # specific list of function recommendations.
1095
+ #
1096
+ # @option params [String] :next_token
1097
+ # The token to advance to the next page of function recommendations.
1098
+ #
1099
+ # @option params [Integer] :max_results
1100
+ # The maximum number of function recommendations to return with a single
1101
+ # request.
1102
+ #
1103
+ # To retrieve the remaining results, make another request with the
1104
+ # returned `NextToken` value.
1105
+ #
1106
+ # @return [Types::GetLambdaFunctionRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1107
+ #
1108
+ # * {Types::GetLambdaFunctionRecommendationsResponse#next_token #next_token} => String
1109
+ # * {Types::GetLambdaFunctionRecommendationsResponse#lambda_function_recommendations #lambda_function_recommendations} => Array&lt;Types::LambdaFunctionRecommendation&gt;
1110
+ #
1111
+ # @example Request syntax with placeholder values
1112
+ #
1113
+ # resp = client.get_lambda_function_recommendations({
1114
+ # function_arns: ["FunctionArn"],
1115
+ # account_ids: ["AccountId"],
1116
+ # filters: [
1117
+ # {
1118
+ # name: "Finding", # accepts Finding, FindingReasonCode
1119
+ # values: ["FilterValue"],
1120
+ # },
1121
+ # ],
1122
+ # next_token: "NextToken",
1123
+ # max_results: 1,
1124
+ # })
1125
+ #
1126
+ # @example Response structure
1127
+ #
1128
+ # resp.next_token #=> String
1129
+ # resp.lambda_function_recommendations #=> Array
1130
+ # resp.lambda_function_recommendations[0].function_arn #=> String
1131
+ # resp.lambda_function_recommendations[0].function_version #=> String
1132
+ # resp.lambda_function_recommendations[0].account_id #=> String
1133
+ # resp.lambda_function_recommendations[0].current_memory_size #=> Integer
1134
+ # resp.lambda_function_recommendations[0].number_of_invocations #=> Integer
1135
+ # resp.lambda_function_recommendations[0].utilization_metrics #=> Array
1136
+ # resp.lambda_function_recommendations[0].utilization_metrics[0].name #=> String, one of "Duration", "Memory"
1137
+ # resp.lambda_function_recommendations[0].utilization_metrics[0].statistic #=> String, one of "Maximum", "Average"
1138
+ # resp.lambda_function_recommendations[0].utilization_metrics[0].value #=> Float
1139
+ # resp.lambda_function_recommendations[0].lookback_period_in_days #=> Float
1140
+ # resp.lambda_function_recommendations[0].last_refresh_timestamp #=> Time
1141
+ # resp.lambda_function_recommendations[0].finding #=> String, one of "Optimized", "NotOptimized", "Unavailable"
1142
+ # resp.lambda_function_recommendations[0].finding_reason_codes #=> Array
1143
+ # resp.lambda_function_recommendations[0].finding_reason_codes[0] #=> String, one of "MemoryOverprovisioned", "MemoryUnderprovisioned", "InsufficientData", "Inconclusive"
1144
+ # resp.lambda_function_recommendations[0].memory_size_recommendation_options #=> Array
1145
+ # resp.lambda_function_recommendations[0].memory_size_recommendation_options[0].rank #=> Integer
1146
+ # resp.lambda_function_recommendations[0].memory_size_recommendation_options[0].memory_size #=> Integer
1147
+ # resp.lambda_function_recommendations[0].memory_size_recommendation_options[0].projected_utilization_metrics #=> Array
1148
+ # resp.lambda_function_recommendations[0].memory_size_recommendation_options[0].projected_utilization_metrics[0].name #=> String, one of "Duration"
1149
+ # resp.lambda_function_recommendations[0].memory_size_recommendation_options[0].projected_utilization_metrics[0].statistic #=> String, one of "LowerBound", "UpperBound", "Expected"
1150
+ # resp.lambda_function_recommendations[0].memory_size_recommendation_options[0].projected_utilization_metrics[0].value #=> Float
1151
+ #
1152
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetLambdaFunctionRecommendations AWS API Documentation
1153
+ #
1154
+ # @overload get_lambda_function_recommendations(params = {})
1155
+ # @param [Hash] params ({})
1156
+ def get_lambda_function_recommendations(params = {}, options = {})
1157
+ req = build_request(:get_lambda_function_recommendations, params)
1158
+ req.send_request(options)
1159
+ end
1160
+
953
1161
  # Returns the optimization findings for an account.
954
1162
  #
955
1163
  # For example, it returns the number of Amazon EC2 instances in an
@@ -958,11 +1166,11 @@ module Aws::ComputeOptimizer
958
1166
  # not optimized, or optimized.
959
1167
  #
960
1168
  # @option params [Array<String>] :account_ids
961
- # The IDs of the AWS accounts for which to return recommendation
1169
+ # The ID of the AWS account for which to return recommendation
962
1170
  # summaries.
963
1171
  #
964
- # If your account is the master account of an organization, use this
965
- # parameter to specify the member accounts for which you want to return
1172
+ # If your account is the management account of an organization, use this
1173
+ # parameter to specify the member account for which you want to return
966
1174
  # recommendation summaries.
967
1175
  #
968
1176
  # Only one account ID can be specified per request.
@@ -997,7 +1205,10 @@ module Aws::ComputeOptimizer
997
1205
  # resp.recommendation_summaries[0].summaries #=> Array
998
1206
  # resp.recommendation_summaries[0].summaries[0].name #=> String, one of "Underprovisioned", "Overprovisioned", "Optimized", "NotOptimized"
999
1207
  # resp.recommendation_summaries[0].summaries[0].value #=> Float
1000
- # resp.recommendation_summaries[0].recommendation_resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup"
1208
+ # resp.recommendation_summaries[0].summaries[0].reason_code_summaries #=> Array
1209
+ # resp.recommendation_summaries[0].summaries[0].reason_code_summaries[0].name #=> String, one of "MemoryOverprovisioned", "MemoryUnderprovisioned"
1210
+ # resp.recommendation_summaries[0].summaries[0].reason_code_summaries[0].value #=> Float
1211
+ # resp.recommendation_summaries[0].recommendation_resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction"
1001
1212
  # resp.recommendation_summaries[0].account_id #=> String
1002
1213
  #
1003
1214
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries AWS API Documentation
@@ -1009,21 +1220,55 @@ module Aws::ComputeOptimizer
1009
1220
  req.send_request(options)
1010
1221
  end
1011
1222
 
1012
- # Updates the enrollment (opt in) status of an account to the AWS
1013
- # Compute Optimizer service.
1223
+ # Updates the enrollment (opt in and opt out) status of an account to
1224
+ # the AWS Compute Optimizer service.
1225
+ #
1226
+ # If the account is a management account of an organization, this action
1227
+ # can also be used to enroll member accounts within the organization.
1228
+ #
1229
+ # You must have the appropriate permissions to opt in to Compute
1230
+ # Optimizer, to view its recommendations, and to opt out. For more
1231
+ # information, see [Controlling access with AWS Identity and Access
1232
+ # Management][1] in the *Compute Optimizer User Guide*.
1233
+ #
1234
+ # When you opt in, Compute Optimizer automatically creates a
1235
+ # Service-Linked Role in your account to access its data. For more
1236
+ # information, see [Using Service-Linked Roles for AWS Compute
1237
+ # Optimizer][2] in the *Compute Optimizer User Guide*.
1238
+ #
1239
+ #
1014
1240
  #
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.
1241
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/ug/security-iam.html
1242
+ # [2]: https://docs.aws.amazon.com/compute-optimizer/ug/using-service-linked-roles.html
1017
1243
  #
1018
1244
  # @option params [required, String] :status
1019
1245
  # The new enrollment status of the account.
1020
1246
  #
1021
- # Accepted options are `Active` or `Inactive`. You will get an error if
1022
- # `Pending` or `Failed` are specified.
1247
+ # The following status options are available:
1248
+ #
1249
+ # * `Active` - Opts in your account to the Compute Optimizer service.
1250
+ # Compute Optimizer begins analyzing the configuration and utilization
1251
+ # metrics of your AWS resources after you opt in. For more
1252
+ # information, see [Metrics analyzed by AWS Compute Optimizer][1] in
1253
+ # the *Compute Optimizer User Guide*.
1254
+ #
1255
+ # * `Inactive` - Opts out your account from the Compute Optimizer
1256
+ # service. Your account's recommendations and related metrics data
1257
+ # will be deleted from Compute Optimizer after you opt out.
1258
+ #
1259
+ # <note markdown="1"> The `Pending` and `Failed` options cannot be used to update the
1260
+ # enrollment status of an account. They are returned in the response of
1261
+ # a request to update the enrollment status of an account.
1262
+ #
1263
+ # </note>
1264
+ #
1265
+ #
1266
+ #
1267
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/ug/metrics.html
1023
1268
  #
1024
1269
  # @option params [Boolean] :include_member_accounts
1025
1270
  # Indicates whether to enroll member accounts of the organization if the
1026
- # your account is the master account of an organization.
1271
+ # account is the management account of an organization.
1027
1272
  #
1028
1273
  # @return [Types::UpdateEnrollmentStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1029
1274
  #
@@ -1064,7 +1309,7 @@ module Aws::ComputeOptimizer
1064
1309
  params: params,
1065
1310
  config: config)
1066
1311
  context[:gem_name] = 'aws-sdk-computeoptimizer'
1067
- context[:gem_version] = '1.9.0'
1312
+ context[:gem_version] = '1.14.0'
1068
1313
  Seahorse::Client::Request.new(handlers, context)
1069
1314
  end
1070
1315
 
@@ -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')
@@ -51,14 +58,22 @@ module Aws::ComputeOptimizer
51
58
  FilterValues = Shapes::ListShape.new(name: 'FilterValues')
52
59
  Filters = Shapes::ListShape.new(name: 'Filters')
53
60
  Finding = Shapes::StringShape.new(name: 'Finding')
61
+ FindingReasonCode = Shapes::StringShape.new(name: 'FindingReasonCode')
62
+ FunctionArn = Shapes::StringShape.new(name: 'FunctionArn')
63
+ FunctionArns = Shapes::ListShape.new(name: 'FunctionArns')
64
+ FunctionVersion = Shapes::StringShape.new(name: 'FunctionVersion')
54
65
  GetAutoScalingGroupRecommendationsRequest = Shapes::StructureShape.new(name: 'GetAutoScalingGroupRecommendationsRequest')
55
66
  GetAutoScalingGroupRecommendationsResponse = Shapes::StructureShape.new(name: 'GetAutoScalingGroupRecommendationsResponse')
67
+ GetEBSVolumeRecommendationsRequest = Shapes::StructureShape.new(name: 'GetEBSVolumeRecommendationsRequest')
68
+ GetEBSVolumeRecommendationsResponse = Shapes::StructureShape.new(name: 'GetEBSVolumeRecommendationsResponse')
56
69
  GetEC2InstanceRecommendationsRequest = Shapes::StructureShape.new(name: 'GetEC2InstanceRecommendationsRequest')
57
70
  GetEC2InstanceRecommendationsResponse = Shapes::StructureShape.new(name: 'GetEC2InstanceRecommendationsResponse')
58
71
  GetEC2RecommendationProjectedMetricsRequest = Shapes::StructureShape.new(name: 'GetEC2RecommendationProjectedMetricsRequest')
59
72
  GetEC2RecommendationProjectedMetricsResponse = Shapes::StructureShape.new(name: 'GetEC2RecommendationProjectedMetricsResponse')
60
73
  GetEnrollmentStatusRequest = Shapes::StructureShape.new(name: 'GetEnrollmentStatusRequest')
61
74
  GetEnrollmentStatusResponse = Shapes::StructureShape.new(name: 'GetEnrollmentStatusResponse')
75
+ GetLambdaFunctionRecommendationsRequest = Shapes::StructureShape.new(name: 'GetLambdaFunctionRecommendationsRequest')
76
+ GetLambdaFunctionRecommendationsResponse = Shapes::StructureShape.new(name: 'GetLambdaFunctionRecommendationsResponse')
62
77
  GetRecommendationError = Shapes::StructureShape.new(name: 'GetRecommendationError')
63
78
  GetRecommendationErrors = Shapes::ListShape.new(name: 'GetRecommendationErrors')
64
79
  GetRecommendationSummariesRequest = Shapes::StructureShape.new(name: 'GetRecommendationSummariesRequest')
@@ -80,6 +95,24 @@ module Aws::ComputeOptimizer
80
95
  JobId = Shapes::StringShape.new(name: 'JobId')
81
96
  JobIds = Shapes::ListShape.new(name: 'JobIds')
82
97
  JobStatus = Shapes::StringShape.new(name: 'JobStatus')
98
+ LambdaFunctionMemoryMetricName = Shapes::StringShape.new(name: 'LambdaFunctionMemoryMetricName')
99
+ LambdaFunctionMemoryMetricStatistic = Shapes::StringShape.new(name: 'LambdaFunctionMemoryMetricStatistic')
100
+ LambdaFunctionMemoryProjectedMetric = Shapes::StructureShape.new(name: 'LambdaFunctionMemoryProjectedMetric')
101
+ LambdaFunctionMemoryProjectedMetrics = Shapes::ListShape.new(name: 'LambdaFunctionMemoryProjectedMetrics')
102
+ LambdaFunctionMemoryRecommendationOption = Shapes::StructureShape.new(name: 'LambdaFunctionMemoryRecommendationOption')
103
+ LambdaFunctionMemoryRecommendationOptions = Shapes::ListShape.new(name: 'LambdaFunctionMemoryRecommendationOptions')
104
+ LambdaFunctionMetricName = Shapes::StringShape.new(name: 'LambdaFunctionMetricName')
105
+ LambdaFunctionMetricStatistic = Shapes::StringShape.new(name: 'LambdaFunctionMetricStatistic')
106
+ LambdaFunctionRecommendation = Shapes::StructureShape.new(name: 'LambdaFunctionRecommendation')
107
+ LambdaFunctionRecommendationFilter = Shapes::StructureShape.new(name: 'LambdaFunctionRecommendationFilter')
108
+ LambdaFunctionRecommendationFilterName = Shapes::StringShape.new(name: 'LambdaFunctionRecommendationFilterName')
109
+ LambdaFunctionRecommendationFilters = Shapes::ListShape.new(name: 'LambdaFunctionRecommendationFilters')
110
+ LambdaFunctionRecommendationFinding = Shapes::StringShape.new(name: 'LambdaFunctionRecommendationFinding')
111
+ LambdaFunctionRecommendationFindingReasonCode = Shapes::StringShape.new(name: 'LambdaFunctionRecommendationFindingReasonCode')
112
+ LambdaFunctionRecommendationFindingReasonCodes = Shapes::ListShape.new(name: 'LambdaFunctionRecommendationFindingReasonCodes')
113
+ LambdaFunctionRecommendations = Shapes::ListShape.new(name: 'LambdaFunctionRecommendations')
114
+ LambdaFunctionUtilizationMetric = Shapes::StructureShape.new(name: 'LambdaFunctionUtilizationMetric')
115
+ LambdaFunctionUtilizationMetrics = Shapes::ListShape.new(name: 'LambdaFunctionUtilizationMetrics')
83
116
  LastRefreshTimestamp = Shapes::TimestampShape.new(name: 'LastRefreshTimestamp')
84
117
  LastUpdatedTimestamp = Shapes::TimestampShape.new(name: 'LastUpdatedTimestamp')
85
118
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
@@ -87,6 +120,7 @@ module Aws::ComputeOptimizer
87
120
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
88
121
  MaxSize = Shapes::IntegerShape.new(name: 'MaxSize')
89
122
  MemberAccountsEnrolled = Shapes::BooleanShape.new(name: 'MemberAccountsEnrolled')
123
+ MemorySize = Shapes::IntegerShape.new(name: 'MemorySize')
90
124
  Message = Shapes::StringShape.new(name: 'Message')
91
125
  MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
92
126
  MetricName = Shapes::StringShape.new(name: 'MetricName')
@@ -96,6 +130,7 @@ module Aws::ComputeOptimizer
96
130
  MinSize = Shapes::IntegerShape.new(name: 'MinSize')
97
131
  MissingAuthenticationToken = Shapes::StructureShape.new(name: 'MissingAuthenticationToken')
98
132
  NextToken = Shapes::StringShape.new(name: 'NextToken')
133
+ NumberOfInvocations = Shapes::IntegerShape.new(name: 'NumberOfInvocations')
99
134
  OptInRequiredException = Shapes::StructureShape.new(name: 'OptInRequiredException')
100
135
  PerformanceRisk = Shapes::FloatShape.new(name: 'PerformanceRisk')
101
136
  Period = Shapes::IntegerShape.new(name: 'Period')
@@ -103,6 +138,8 @@ module Aws::ComputeOptimizer
103
138
  ProjectedMetrics = Shapes::ListShape.new(name: 'ProjectedMetrics')
104
139
  ProjectedUtilizationMetrics = Shapes::ListShape.new(name: 'ProjectedUtilizationMetrics')
105
140
  Rank = Shapes::IntegerShape.new(name: 'Rank')
141
+ ReasonCodeSummaries = Shapes::ListShape.new(name: 'ReasonCodeSummaries')
142
+ ReasonCodeSummary = Shapes::StructureShape.new(name: 'ReasonCodeSummary')
106
143
  RecommendationExportJob = Shapes::StructureShape.new(name: 'RecommendationExportJob')
107
144
  RecommendationExportJobs = Shapes::ListShape.new(name: 'RecommendationExportJobs')
108
145
  RecommendationOptions = Shapes::ListShape.new(name: 'RecommendationOptions')
@@ -132,6 +169,19 @@ module Aws::ComputeOptimizer
132
169
  UpdateEnrollmentStatusResponse = Shapes::StructureShape.new(name: 'UpdateEnrollmentStatusResponse')
133
170
  UtilizationMetric = Shapes::StructureShape.new(name: 'UtilizationMetric')
134
171
  UtilizationMetrics = Shapes::ListShape.new(name: 'UtilizationMetrics')
172
+ VolumeArn = Shapes::StringShape.new(name: 'VolumeArn')
173
+ VolumeArns = Shapes::ListShape.new(name: 'VolumeArns')
174
+ VolumeBaselineIOPS = Shapes::IntegerShape.new(name: 'VolumeBaselineIOPS')
175
+ VolumeBaselineThroughput = Shapes::IntegerShape.new(name: 'VolumeBaselineThroughput')
176
+ VolumeBurstIOPS = Shapes::IntegerShape.new(name: 'VolumeBurstIOPS')
177
+ VolumeBurstThroughput = Shapes::IntegerShape.new(name: 'VolumeBurstThroughput')
178
+ VolumeConfiguration = Shapes::StructureShape.new(name: 'VolumeConfiguration')
179
+ VolumeRecommendation = Shapes::StructureShape.new(name: 'VolumeRecommendation')
180
+ VolumeRecommendationOption = Shapes::StructureShape.new(name: 'VolumeRecommendationOption')
181
+ VolumeRecommendationOptions = Shapes::ListShape.new(name: 'VolumeRecommendationOptions')
182
+ VolumeRecommendations = Shapes::ListShape.new(name: 'VolumeRecommendations')
183
+ VolumeSize = Shapes::IntegerShape.new(name: 'VolumeSize')
184
+ VolumeType = Shapes::StringShape.new(name: 'VolumeType')
135
185
 
136
186
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
137
187
  AccessDeniedException.struct_class = Types::AccessDeniedException
@@ -177,6 +227,19 @@ module Aws::ComputeOptimizer
177
227
  DescribeRecommendationExportJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
178
228
  DescribeRecommendationExportJobsResponse.struct_class = Types::DescribeRecommendationExportJobsResponse
179
229
 
230
+ EBSFilter.add_member(:name, Shapes::ShapeRef.new(shape: EBSFilterName, location_name: "name"))
231
+ EBSFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
232
+ EBSFilter.struct_class = Types::EBSFilter
233
+
234
+ EBSFilters.member = Shapes::ShapeRef.new(shape: EBSFilter)
235
+
236
+ EBSUtilizationMetric.add_member(:name, Shapes::ShapeRef.new(shape: EBSMetricName, location_name: "name"))
237
+ EBSUtilizationMetric.add_member(:statistic, Shapes::ShapeRef.new(shape: MetricStatistic, location_name: "statistic"))
238
+ EBSUtilizationMetric.add_member(:value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "value"))
239
+ EBSUtilizationMetric.struct_class = Types::EBSUtilizationMetric
240
+
241
+ EBSUtilizationMetrics.member = Shapes::ShapeRef.new(shape: EBSUtilizationMetric)
242
+
180
243
  ExportAutoScalingGroupRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
181
244
  ExportAutoScalingGroupRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: Filters, location_name: "filters"))
182
245
  ExportAutoScalingGroupRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupFields, location_name: "fieldsToExport"))
@@ -216,6 +279,8 @@ module Aws::ComputeOptimizer
216
279
 
217
280
  Filters.member = Shapes::ShapeRef.new(shape: Filter)
218
281
 
282
+ FunctionArns.member = Shapes::ShapeRef.new(shape: FunctionArn)
283
+
219
284
  GetAutoScalingGroupRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
220
285
  GetAutoScalingGroupRecommendationsRequest.add_member(:auto_scaling_group_arns, Shapes::ShapeRef.new(shape: AutoScalingGroupArns, location_name: "autoScalingGroupArns"))
221
286
  GetAutoScalingGroupRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
@@ -228,6 +293,18 @@ module Aws::ComputeOptimizer
228
293
  GetAutoScalingGroupRecommendationsResponse.add_member(:errors, Shapes::ShapeRef.new(shape: GetRecommendationErrors, location_name: "errors"))
229
294
  GetAutoScalingGroupRecommendationsResponse.struct_class = Types::GetAutoScalingGroupRecommendationsResponse
230
295
 
296
+ GetEBSVolumeRecommendationsRequest.add_member(:volume_arns, Shapes::ShapeRef.new(shape: VolumeArns, location_name: "volumeArns"))
297
+ GetEBSVolumeRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
298
+ GetEBSVolumeRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
299
+ GetEBSVolumeRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: EBSFilters, location_name: "filters"))
300
+ GetEBSVolumeRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
301
+ GetEBSVolumeRecommendationsRequest.struct_class = Types::GetEBSVolumeRecommendationsRequest
302
+
303
+ GetEBSVolumeRecommendationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
304
+ GetEBSVolumeRecommendationsResponse.add_member(:volume_recommendations, Shapes::ShapeRef.new(shape: VolumeRecommendations, location_name: "volumeRecommendations"))
305
+ GetEBSVolumeRecommendationsResponse.add_member(:errors, Shapes::ShapeRef.new(shape: GetRecommendationErrors, location_name: "errors"))
306
+ GetEBSVolumeRecommendationsResponse.struct_class = Types::GetEBSVolumeRecommendationsResponse
307
+
231
308
  GetEC2InstanceRecommendationsRequest.add_member(:instance_arns, Shapes::ShapeRef.new(shape: InstanceArns, location_name: "instanceArns"))
232
309
  GetEC2InstanceRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
233
310
  GetEC2InstanceRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
@@ -257,6 +334,17 @@ module Aws::ComputeOptimizer
257
334
  GetEnrollmentStatusResponse.add_member(:member_accounts_enrolled, Shapes::ShapeRef.new(shape: MemberAccountsEnrolled, location_name: "memberAccountsEnrolled"))
258
335
  GetEnrollmentStatusResponse.struct_class = Types::GetEnrollmentStatusResponse
259
336
 
337
+ GetLambdaFunctionRecommendationsRequest.add_member(:function_arns, Shapes::ShapeRef.new(shape: FunctionArns, location_name: "functionArns"))
338
+ GetLambdaFunctionRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
339
+ GetLambdaFunctionRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFilters, location_name: "filters"))
340
+ GetLambdaFunctionRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
341
+ GetLambdaFunctionRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
342
+ GetLambdaFunctionRecommendationsRequest.struct_class = Types::GetLambdaFunctionRecommendationsRequest
343
+
344
+ GetLambdaFunctionRecommendationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
345
+ GetLambdaFunctionRecommendationsResponse.add_member(:lambda_function_recommendations, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendations, location_name: "lambdaFunctionRecommendations"))
346
+ GetLambdaFunctionRecommendationsResponse.struct_class = Types::GetLambdaFunctionRecommendationsResponse
347
+
260
348
  GetRecommendationError.add_member(:identifier, Shapes::ShapeRef.new(shape: Identifier, location_name: "identifier"))
261
349
  GetRecommendationError.add_member(:code, Shapes::ShapeRef.new(shape: Code, location_name: "code"))
262
350
  GetRecommendationError.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "message"))
@@ -309,6 +397,50 @@ module Aws::ComputeOptimizer
309
397
 
310
398
  JobIds.member = Shapes::ShapeRef.new(shape: JobId)
311
399
 
400
+ LambdaFunctionMemoryProjectedMetric.add_member(:name, Shapes::ShapeRef.new(shape: LambdaFunctionMemoryMetricName, location_name: "name"))
401
+ LambdaFunctionMemoryProjectedMetric.add_member(:statistic, Shapes::ShapeRef.new(shape: LambdaFunctionMemoryMetricStatistic, location_name: "statistic"))
402
+ LambdaFunctionMemoryProjectedMetric.add_member(:value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "value"))
403
+ LambdaFunctionMemoryProjectedMetric.struct_class = Types::LambdaFunctionMemoryProjectedMetric
404
+
405
+ LambdaFunctionMemoryProjectedMetrics.member = Shapes::ShapeRef.new(shape: LambdaFunctionMemoryProjectedMetric)
406
+
407
+ LambdaFunctionMemoryRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
408
+ LambdaFunctionMemoryRecommendationOption.add_member(:memory_size, Shapes::ShapeRef.new(shape: MemorySize, location_name: "memorySize"))
409
+ LambdaFunctionMemoryRecommendationOption.add_member(:projected_utilization_metrics, Shapes::ShapeRef.new(shape: LambdaFunctionMemoryProjectedMetrics, location_name: "projectedUtilizationMetrics"))
410
+ LambdaFunctionMemoryRecommendationOption.struct_class = Types::LambdaFunctionMemoryRecommendationOption
411
+
412
+ LambdaFunctionMemoryRecommendationOptions.member = Shapes::ShapeRef.new(shape: LambdaFunctionMemoryRecommendationOption)
413
+
414
+ LambdaFunctionRecommendation.add_member(:function_arn, Shapes::ShapeRef.new(shape: FunctionArn, location_name: "functionArn"))
415
+ LambdaFunctionRecommendation.add_member(:function_version, Shapes::ShapeRef.new(shape: FunctionVersion, location_name: "functionVersion"))
416
+ LambdaFunctionRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
417
+ LambdaFunctionRecommendation.add_member(:current_memory_size, Shapes::ShapeRef.new(shape: MemorySize, location_name: "currentMemorySize"))
418
+ LambdaFunctionRecommendation.add_member(:number_of_invocations, Shapes::ShapeRef.new(shape: NumberOfInvocations, location_name: "numberOfInvocations"))
419
+ LambdaFunctionRecommendation.add_member(:utilization_metrics, Shapes::ShapeRef.new(shape: LambdaFunctionUtilizationMetrics, location_name: "utilizationMetrics"))
420
+ LambdaFunctionRecommendation.add_member(:lookback_period_in_days, Shapes::ShapeRef.new(shape: LookBackPeriodInDays, location_name: "lookbackPeriodInDays"))
421
+ LambdaFunctionRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
422
+ LambdaFunctionRecommendation.add_member(:finding, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFinding, location_name: "finding"))
423
+ LambdaFunctionRecommendation.add_member(:finding_reason_codes, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFindingReasonCodes, location_name: "findingReasonCodes"))
424
+ LambdaFunctionRecommendation.add_member(:memory_size_recommendation_options, Shapes::ShapeRef.new(shape: LambdaFunctionMemoryRecommendationOptions, location_name: "memorySizeRecommendationOptions"))
425
+ LambdaFunctionRecommendation.struct_class = Types::LambdaFunctionRecommendation
426
+
427
+ LambdaFunctionRecommendationFilter.add_member(:name, Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFilterName, location_name: "name"))
428
+ LambdaFunctionRecommendationFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
429
+ LambdaFunctionRecommendationFilter.struct_class = Types::LambdaFunctionRecommendationFilter
430
+
431
+ LambdaFunctionRecommendationFilters.member = Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFilter)
432
+
433
+ LambdaFunctionRecommendationFindingReasonCodes.member = Shapes::ShapeRef.new(shape: LambdaFunctionRecommendationFindingReasonCode)
434
+
435
+ LambdaFunctionRecommendations.member = Shapes::ShapeRef.new(shape: LambdaFunctionRecommendation)
436
+
437
+ LambdaFunctionUtilizationMetric.add_member(:name, Shapes::ShapeRef.new(shape: LambdaFunctionMetricName, location_name: "name"))
438
+ LambdaFunctionUtilizationMetric.add_member(:statistic, Shapes::ShapeRef.new(shape: LambdaFunctionMetricStatistic, location_name: "statistic"))
439
+ LambdaFunctionUtilizationMetric.add_member(:value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "value"))
440
+ LambdaFunctionUtilizationMetric.struct_class = Types::LambdaFunctionUtilizationMetric
441
+
442
+ LambdaFunctionUtilizationMetrics.member = Shapes::ShapeRef.new(shape: LambdaFunctionUtilizationMetric)
443
+
312
444
  LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
313
445
  LimitExceededException.struct_class = Types::LimitExceededException
314
446
 
@@ -329,6 +461,12 @@ module Aws::ComputeOptimizer
329
461
 
330
462
  ProjectedUtilizationMetrics.member = Shapes::ShapeRef.new(shape: UtilizationMetric)
331
463
 
464
+ ReasonCodeSummaries.member = Shapes::ShapeRef.new(shape: ReasonCodeSummary)
465
+
466
+ ReasonCodeSummary.add_member(:name, Shapes::ShapeRef.new(shape: FindingReasonCode, location_name: "name"))
467
+ ReasonCodeSummary.add_member(:value, Shapes::ShapeRef.new(shape: SummaryValue, location_name: "value"))
468
+ ReasonCodeSummary.struct_class = Types::ReasonCodeSummary
469
+
332
470
  RecommendationExportJob.add_member(:job_id, Shapes::ShapeRef.new(shape: JobId, location_name: "jobId"))
333
471
  RecommendationExportJob.add_member(:destination, Shapes::ShapeRef.new(shape: ExportDestination, location_name: "destination"))
334
472
  RecommendationExportJob.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "resourceType"))
@@ -381,6 +519,7 @@ module Aws::ComputeOptimizer
381
519
 
382
520
  Summary.add_member(:name, Shapes::ShapeRef.new(shape: Finding, location_name: "name"))
383
521
  Summary.add_member(:value, Shapes::ShapeRef.new(shape: SummaryValue, location_name: "value"))
522
+ Summary.add_member(:reason_code_summaries, Shapes::ShapeRef.new(shape: ReasonCodeSummaries, location_name: "reasonCodeSummaries"))
384
523
  Summary.struct_class = Types::Summary
385
524
 
386
525
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
@@ -403,6 +542,35 @@ module Aws::ComputeOptimizer
403
542
 
404
543
  UtilizationMetrics.member = Shapes::ShapeRef.new(shape: UtilizationMetric)
405
544
 
545
+ VolumeArns.member = Shapes::ShapeRef.new(shape: VolumeArn)
546
+
547
+ VolumeConfiguration.add_member(:volume_type, Shapes::ShapeRef.new(shape: VolumeType, location_name: "volumeType"))
548
+ VolumeConfiguration.add_member(:volume_size, Shapes::ShapeRef.new(shape: VolumeSize, location_name: "volumeSize"))
549
+ VolumeConfiguration.add_member(:volume_baseline_iops, Shapes::ShapeRef.new(shape: VolumeBaselineIOPS, location_name: "volumeBaselineIOPS"))
550
+ VolumeConfiguration.add_member(:volume_burst_iops, Shapes::ShapeRef.new(shape: VolumeBurstIOPS, location_name: "volumeBurstIOPS"))
551
+ VolumeConfiguration.add_member(:volume_baseline_throughput, Shapes::ShapeRef.new(shape: VolumeBaselineThroughput, location_name: "volumeBaselineThroughput"))
552
+ VolumeConfiguration.add_member(:volume_burst_throughput, Shapes::ShapeRef.new(shape: VolumeBurstThroughput, location_name: "volumeBurstThroughput"))
553
+ VolumeConfiguration.struct_class = Types::VolumeConfiguration
554
+
555
+ VolumeRecommendation.add_member(:volume_arn, Shapes::ShapeRef.new(shape: VolumeArn, location_name: "volumeArn"))
556
+ VolumeRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
557
+ VolumeRecommendation.add_member(:current_configuration, Shapes::ShapeRef.new(shape: VolumeConfiguration, location_name: "currentConfiguration"))
558
+ VolumeRecommendation.add_member(:finding, Shapes::ShapeRef.new(shape: EBSFinding, location_name: "finding"))
559
+ VolumeRecommendation.add_member(:utilization_metrics, Shapes::ShapeRef.new(shape: EBSUtilizationMetrics, location_name: "utilizationMetrics"))
560
+ VolumeRecommendation.add_member(:look_back_period_in_days, Shapes::ShapeRef.new(shape: LookBackPeriodInDays, location_name: "lookBackPeriodInDays"))
561
+ VolumeRecommendation.add_member(:volume_recommendation_options, Shapes::ShapeRef.new(shape: VolumeRecommendationOptions, location_name: "volumeRecommendationOptions"))
562
+ VolumeRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
563
+ VolumeRecommendation.struct_class = Types::VolumeRecommendation
564
+
565
+ VolumeRecommendationOption.add_member(:configuration, Shapes::ShapeRef.new(shape: VolumeConfiguration, location_name: "configuration"))
566
+ VolumeRecommendationOption.add_member(:performance_risk, Shapes::ShapeRef.new(shape: PerformanceRisk, location_name: "performanceRisk"))
567
+ VolumeRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
568
+ VolumeRecommendationOption.struct_class = Types::VolumeRecommendationOption
569
+
570
+ VolumeRecommendationOptions.member = Shapes::ShapeRef.new(shape: VolumeRecommendationOption)
571
+
572
+ VolumeRecommendations.member = Shapes::ShapeRef.new(shape: VolumeRecommendation)
573
+
406
574
 
407
575
  # @api private
408
576
  API = Seahorse::Model::Api.new.tap do |api|
@@ -486,6 +654,22 @@ module Aws::ComputeOptimizer
486
654
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
487
655
  end)
488
656
 
657
+ api.add_operation(:get_ebs_volume_recommendations, Seahorse::Model::Operation.new.tap do |o|
658
+ o.name = "GetEBSVolumeRecommendations"
659
+ o.http_method = "POST"
660
+ o.http_request_uri = "/"
661
+ o.input = Shapes::ShapeRef.new(shape: GetEBSVolumeRecommendationsRequest)
662
+ o.output = Shapes::ShapeRef.new(shape: GetEBSVolumeRecommendationsResponse)
663
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
664
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
665
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
666
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
667
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
668
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
669
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
670
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
671
+ end)
672
+
489
673
  api.add_operation(:get_ec2_instance_recommendations, Seahorse::Model::Operation.new.tap do |o|
490
674
  o.name = "GetEC2InstanceRecommendations"
491
675
  o.http_method = "POST"
@@ -532,6 +716,22 @@ module Aws::ComputeOptimizer
532
716
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
533
717
  end)
534
718
 
719
+ api.add_operation(:get_lambda_function_recommendations, Seahorse::Model::Operation.new.tap do |o|
720
+ o.name = "GetLambdaFunctionRecommendations"
721
+ o.http_method = "POST"
722
+ o.http_request_uri = "/"
723
+ o.input = Shapes::ShapeRef.new(shape: GetLambdaFunctionRecommendationsRequest)
724
+ o.output = Shapes::ShapeRef.new(shape: GetLambdaFunctionRecommendationsResponse)
725
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
726
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
727
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
728
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
729
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
730
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
731
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
732
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
733
+ end)
734
+
535
735
  api.add_operation(:get_recommendation_summaries, Seahorse::Model::Operation.new.tap do |o|
536
736
  o.name = "GetRecommendationSummaries"
537
737
  o.http_method = "POST"