aws-sdk-computeoptimizer 1.9.0 → 1.14.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: 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"