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 +4 -4
- data/lib/aws-sdk-computeoptimizer.rb +1 -1
- data/lib/aws-sdk-computeoptimizer/client.rb +273 -28
- data/lib/aws-sdk-computeoptimizer/client_api.rb +200 -0
- data/lib/aws-sdk-computeoptimizer/types.rb +874 -51
- metadata +4 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: af40dd60485d0bb667c8c950f11963e1ca7e8bbafb07da22403bdffe894d57d7
         | 
| 4 | 
            +
              data.tar.gz: 91ea70f096d30fb327c0ddcf3da090c43f412a2c6e51fd484a20281c17ba0ebf
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: d20fad106503394bffb0fa3bcc633829bc645c3390e6be77e1014ad7b8f478de3ae324d2ad93300e10c6279a497f5be7abde04176488dc999041127ec57f0dbf
         | 
| 7 | 
            +
              data.tar.gz: bf29cb9c91e974270c9399c4eeec28f9c9f62ac1383bbad5b30cd3cfaea384fb723d2b78282d942cfb514a3abd1beb92c55e69ab6b85aefad3e2293c8871471b
         | 
| @@ -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  | 
| 432 | 
            -
                #   parameter to specify the member  | 
| 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  | 
| 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  | 
| 555 | 
            -
                #   parameter to specify the member  | 
| 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  | 
| 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  | 
| 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  | 
| 671 | 
            -
                #   parameter to specify the member  | 
| 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<Types::VolumeRecommendation>
         | 
| 802 | 
            +
                #   * {Types::GetEBSVolumeRecommendationsResponse#errors #errors} => Array<Types::GetRecommendationError>
         | 
| 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  | 
| 891 | 
            +
                #   The ID of the AWS account for which to return instance
         | 
| 790 892 | 
             
                #   recommendations.
         | 
| 791 893 | 
             
                #
         | 
| 792 | 
            -
                #   If your account is the  | 
| 793 | 
            -
                #   parameter to specify the member  | 
| 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  | 
| 929 | 
            -
                # also confirms the enrollment status of member accounts within | 
| 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<Types::LambdaFunctionRecommendation>
         | 
| 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  | 
| 1169 | 
            +
                #   The ID of the AWS account for which to return recommendation
         | 
| 962 1170 | 
             
                #   summaries.
         | 
| 963 1171 | 
             
                #
         | 
| 964 | 
            -
                #   If your account is the  | 
| 965 | 
            -
                #   parameter to specify the member  | 
| 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]. | 
| 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 | 
| 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 | 
            -
                #  | 
| 1016 | 
            -
                #  | 
| 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 | 
            -
                #    | 
| 1022 | 
            -
                # | 
| 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 | 
            -
                #    | 
| 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. | 
| 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"
         |