aws-sdk-computeoptimizer 1.35.0 → 1.36.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: a9208ba72141d857d64509d05f5fad6e620b2d260416af3de3144bbba67a5026
4
- data.tar.gz: 2933d38f6cb115fc1aa0039784ab076e480001c9165d3d767d1ce13a4e44e494
3
+ metadata.gz: b68204fd661f1889eba77a4701d4e5b588d63c0e82988461988dffa32019076f
4
+ data.tar.gz: a66797eab250ed6082d70cc6e9fdeb1669098f4cc6d56ff8cbaf4196b904c8b0
5
5
  SHA512:
6
- metadata.gz: 40ed2d1f666b87089584622964d20f10c1bb875cf3e66eda97c394665f74cd7717d664d8dc576fe0859955dc5854eb6f555dcb6c4c01736b895f66b1637a7e67
7
- data.tar.gz: 5d54f0e03324d66047820884a7eaed663277fcd2c235488944b196a60682163a05cf74c883319eb40214f6848ec29a141df1c47e6630a932ba3f5b99ba8e2e89
6
+ metadata.gz: 26180c3484f669a9caed27c8387bc5eeac742f8e32340a68afe6913029369f239c943d26a8d4cb38599a6aa359c637665fe489d4dc763e7d461aad39f422d428
7
+ data.tar.gz: 5c92d70b55535c4401f7f60403ba10d357c5803a731839f9ebf10cfb11ee7507e4adef5ee0f4d8b78c22a4f38e658e8825a40f89d76d9bd52f5e99ce15c69a28
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.36.0 (2022-12-22)
5
+ ------------------
6
+
7
+ * Feature - This release enables AWS Compute Optimizer to analyze and generate optimization recommendations for ecs services running on Fargate.
8
+
4
9
  1.35.0 (2022-11-29)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.35.0
1
+ 1.36.0
@@ -423,7 +423,7 @@ module Aws::ComputeOptimizer
423
423
  # @example Request syntax with placeholder values
424
424
  #
425
425
  # resp = client.delete_recommendation_preferences({
426
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
426
+ # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService
427
427
  # scope: {
428
428
  # name: "Organization", # accepts Organization, AccountId, ResourceArn
429
429
  # value: "ScopeValue",
@@ -475,6 +475,8 @@ module Aws::ComputeOptimizer
475
475
  # * {Types::DescribeRecommendationExportJobsResponse#recommendation_export_jobs #recommendation_export_jobs} => Array<Types::RecommendationExportJob>
476
476
  # * {Types::DescribeRecommendationExportJobsResponse#next_token #next_token} => String
477
477
  #
478
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
479
+ #
478
480
  # @example Request syntax with placeholder values
479
481
  #
480
482
  # resp = client.describe_recommendation_export_jobs({
@@ -496,7 +498,7 @@ module Aws::ComputeOptimizer
496
498
  # resp.recommendation_export_jobs[0].destination.s3.bucket #=> String
497
499
  # resp.recommendation_export_jobs[0].destination.s3.key #=> String
498
500
  # resp.recommendation_export_jobs[0].destination.s3.metadata_key #=> String
499
- # resp.recommendation_export_jobs[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable"
501
+ # resp.recommendation_export_jobs[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable", "EcsService"
500
502
  # resp.recommendation_export_jobs[0].status #=> String, one of "Queued", "InProgress", "Complete", "Failed"
501
503
  # resp.recommendation_export_jobs[0].creation_timestamp #=> Time
502
504
  # resp.recommendation_export_jobs[0].last_updated_timestamp #=> Time
@@ -916,6 +918,136 @@ module Aws::ComputeOptimizer
916
918
  req.send_request(options)
917
919
  end
918
920
 
921
+ # Exports optimization recommendations for Amazon ECS services on
922
+ # Fargate.
923
+ #
924
+ # Recommendations are exported in a CSV file, and its metadata in a JSON
925
+ # file, to an existing Amazon Simple Storage Service (Amazon S3) bucket
926
+ # that you specify. For more information, see [Exporting
927
+ # Recommendations][1] in the *Compute Optimizer User Guide*.
928
+ #
929
+ # You can only have one Amazon ECS service export job in progress per
930
+ # Amazon Web Services Region.
931
+ #
932
+ #
933
+ #
934
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html
935
+ #
936
+ # @option params [Array<String>] :account_ids
937
+ # The Amazon Web Services account IDs for the export ECS service
938
+ # recommendations.
939
+ #
940
+ # If your account is the management account or the delegated
941
+ # administrator of an organization, use this parameter to specify the
942
+ # member account you want to export recommendations to.
943
+ #
944
+ # This parameter can't be specified together with the include member
945
+ # accounts parameter. The parameters are mutually exclusive.
946
+ #
947
+ # If this parameter or the include member accounts parameter is omitted,
948
+ # the recommendations for member accounts aren't included in the
949
+ # export.
950
+ #
951
+ # You can specify multiple account IDs per request.
952
+ #
953
+ # @option params [Array<Types::ECSServiceRecommendationFilter>] :filters
954
+ # An array of objects to specify a filter that exports a more specific
955
+ # set of ECS service recommendations.
956
+ #
957
+ # @option params [Array<String>] :fields_to_export
958
+ # The recommendations data to include in the export file. For more
959
+ # information about the fields that can be exported, see [Exported
960
+ # files][1] in the *Compute Optimizer User Guide*.
961
+ #
962
+ #
963
+ #
964
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
965
+ #
966
+ # @option params [required, Types::S3DestinationConfig] :s3_destination_config
967
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
968
+ # bucket name and key prefix for a recommendations export job.
969
+ #
970
+ # You must create the destination Amazon S3 bucket for your
971
+ # recommendations export before you create the export job. Compute
972
+ # Optimizer does not create the S3 bucket for you. After you create the
973
+ # S3 bucket, ensure that it has the required permission policy to allow
974
+ # Compute Optimizer to write the export file to it. If you plan to
975
+ # specify an object prefix when you create the export job, you must
976
+ # include the object prefix in the policy that you add to the S3 bucket.
977
+ # For more information, see [Amazon S3 Bucket Policy for Compute
978
+ # Optimizer][1] in the *Compute Optimizer User Guide*.
979
+ #
980
+ #
981
+ #
982
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
983
+ #
984
+ # @option params [String] :file_format
985
+ # The format of the export file.
986
+ #
987
+ # The CSV file is the only export file format currently supported.
988
+ #
989
+ # @option params [Boolean] :include_member_accounts
990
+ # If your account is the management account or the delegated
991
+ # administrator of an organization, this parameter indicates whether to
992
+ # include recommendations for resources in all member accounts of the
993
+ # organization.
994
+ #
995
+ # The member accounts must also be opted in to Compute Optimizer, and
996
+ # trusted access for Compute Optimizer must be enabled in the
997
+ # organization account. For more information, see [Compute Optimizer and
998
+ # Amazon Web Services Organizations trusted access][1] in the *Compute
999
+ # Optimizer User Guide*.
1000
+ #
1001
+ # If this parameter is omitted, recommendations for member accounts of
1002
+ # the organization aren't included in the export file.
1003
+ #
1004
+ # If this parameter or the account ID parameter is omitted,
1005
+ # recommendations for member accounts aren't included in the export.
1006
+ #
1007
+ #
1008
+ #
1009
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
1010
+ #
1011
+ # @return [Types::ExportECSServiceRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1012
+ #
1013
+ # * {Types::ExportECSServiceRecommendationsResponse#job_id #job_id} => String
1014
+ # * {Types::ExportECSServiceRecommendationsResponse#s3_destination #s3_destination} => Types::S3Destination
1015
+ #
1016
+ # @example Request syntax with placeholder values
1017
+ #
1018
+ # resp = client.export_ecs_service_recommendations({
1019
+ # account_ids: ["AccountId"],
1020
+ # filters: [
1021
+ # {
1022
+ # name: "Finding", # accepts Finding, FindingReasonCode
1023
+ # values: ["FilterValue"],
1024
+ # },
1025
+ # ],
1026
+ # fields_to_export: ["AccountId"], # accepts AccountId, ServiceArn, LookbackPeriodInDays, LastRefreshTimestamp, LaunchType, CurrentPerformanceRisk, CurrentServiceConfigurationMemory, CurrentServiceConfigurationCpu, CurrentServiceConfigurationTaskDefinitionArn, CurrentServiceConfigurationAutoScalingConfiguration, CurrentServiceContainerConfigurations, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, Finding, FindingReasonCodes, RecommendationOptionsMemory, RecommendationOptionsCpu, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, RecommendationOptionsContainerRecommendations, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum
1027
+ # s3_destination_config: { # required
1028
+ # bucket: "DestinationBucket",
1029
+ # key_prefix: "DestinationKeyPrefix",
1030
+ # },
1031
+ # file_format: "Csv", # accepts Csv
1032
+ # include_member_accounts: false,
1033
+ # })
1034
+ #
1035
+ # @example Response structure
1036
+ #
1037
+ # resp.job_id #=> String
1038
+ # resp.s3_destination.bucket #=> String
1039
+ # resp.s3_destination.key #=> String
1040
+ # resp.s3_destination.metadata_key #=> String
1041
+ #
1042
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportECSServiceRecommendations AWS API Documentation
1043
+ #
1044
+ # @overload export_ecs_service_recommendations(params = {})
1045
+ # @param [Hash] params ({})
1046
+ def export_ecs_service_recommendations(params = {}, options = {})
1047
+ req = build_request(:export_ecs_service_recommendations, params)
1048
+ req.send_request(options)
1049
+ end
1050
+
919
1051
  # Exports optimization recommendations for Lambda functions.
920
1052
  #
921
1053
  # Recommendations are exported in a comma-separated values (.csv) file,
@@ -1376,7 +1508,7 @@ module Aws::ComputeOptimizer
1376
1508
  # resp.instance_recommendations[0].recommendation_options[0].migration_effort #=> String, one of "VeryLow", "Low", "Medium", "High"
1377
1509
  # resp.instance_recommendations[0].recommendation_sources #=> Array
1378
1510
  # resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_arn #=> String
1379
- # resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction"
1511
+ # resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "EcsService"
1380
1512
  # resp.instance_recommendations[0].last_refresh_timestamp #=> Time
1381
1513
  # resp.instance_recommendations[0].current_performance_risk #=> String, one of "VeryLow", "Low", "Medium", "High"
1382
1514
  # resp.instance_recommendations[0].effective_recommendation_preferences.cpu_vendor_architectures #=> Array
@@ -1473,6 +1605,183 @@ module Aws::ComputeOptimizer
1473
1605
  req.send_request(options)
1474
1606
  end
1475
1607
 
1608
+ # Returns the projected metrics of Amazon ECS service recommendations.
1609
+ #
1610
+ # @option params [required, String] :service_arn
1611
+ # The ARN that identifies the ECS service.
1612
+ #
1613
+ # The following is the format of the ARN:
1614
+ #
1615
+ # `arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name`
1616
+ #
1617
+ # @option params [required, String] :stat
1618
+ # The statistic of the projected metrics.
1619
+ #
1620
+ # @option params [required, Integer] :period
1621
+ # The granularity, in seconds, of the projected metrics data points.
1622
+ #
1623
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
1624
+ # The timestamp of the first projected metrics data point to return.
1625
+ #
1626
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
1627
+ # The timestamp of the last projected metrics data point to return.
1628
+ #
1629
+ # @return [Types::GetECSServiceRecommendationProjectedMetricsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1630
+ #
1631
+ # * {Types::GetECSServiceRecommendationProjectedMetricsResponse#recommended_option_projected_metrics #recommended_option_projected_metrics} => Array&lt;Types::ECSServiceRecommendedOptionProjectedMetric&gt;
1632
+ #
1633
+ # @example Request syntax with placeholder values
1634
+ #
1635
+ # resp = client.get_ecs_service_recommendation_projected_metrics({
1636
+ # service_arn: "ServiceArn", # required
1637
+ # stat: "Maximum", # required, accepts Maximum, Average
1638
+ # period: 1, # required
1639
+ # start_time: Time.now, # required
1640
+ # end_time: Time.now, # required
1641
+ # })
1642
+ #
1643
+ # @example Response structure
1644
+ #
1645
+ # resp.recommended_option_projected_metrics #=> Array
1646
+ # resp.recommended_option_projected_metrics[0].recommended_cpu_units #=> Integer
1647
+ # resp.recommended_option_projected_metrics[0].recommended_memory_size #=> Integer
1648
+ # resp.recommended_option_projected_metrics[0].projected_metrics #=> Array
1649
+ # resp.recommended_option_projected_metrics[0].projected_metrics[0].name #=> String, one of "Cpu", "Memory"
1650
+ # resp.recommended_option_projected_metrics[0].projected_metrics[0].timestamps #=> Array
1651
+ # resp.recommended_option_projected_metrics[0].projected_metrics[0].timestamps[0] #=> Time
1652
+ # resp.recommended_option_projected_metrics[0].projected_metrics[0].upper_bound_values #=> Array
1653
+ # resp.recommended_option_projected_metrics[0].projected_metrics[0].upper_bound_values[0] #=> Float
1654
+ # resp.recommended_option_projected_metrics[0].projected_metrics[0].lower_bound_values #=> Array
1655
+ # resp.recommended_option_projected_metrics[0].projected_metrics[0].lower_bound_values[0] #=> Float
1656
+ #
1657
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendationProjectedMetrics AWS API Documentation
1658
+ #
1659
+ # @overload get_ecs_service_recommendation_projected_metrics(params = {})
1660
+ # @param [Hash] params ({})
1661
+ def get_ecs_service_recommendation_projected_metrics(params = {}, options = {})
1662
+ req = build_request(:get_ecs_service_recommendation_projected_metrics, params)
1663
+ req.send_request(options)
1664
+ end
1665
+
1666
+ # Returns Amazon ECS service recommendations.
1667
+ #
1668
+ # Compute Optimizer generates recommendations for Amazon ECS services on
1669
+ # Fargate that meet a specific set of requirements. For more
1670
+ # information, see the [Supported resources and requirements][1] in the
1671
+ # *Compute Optimizer User Guide*.
1672
+ #
1673
+ #
1674
+ #
1675
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html
1676
+ #
1677
+ # @option params [Array<String>] :service_arns
1678
+ # The ARN that identifies the ECS service.
1679
+ #
1680
+ # The following is the format of the ARN:
1681
+ #
1682
+ # `arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name`
1683
+ #
1684
+ # @option params [String] :next_token
1685
+ # The token to advance to the next page of ECS service recommendations.
1686
+ #
1687
+ # @option params [Integer] :max_results
1688
+ # The maximum number of ECS service recommendations to return with a
1689
+ # single request.
1690
+ #
1691
+ # To retrieve the remaining results, make another request with the
1692
+ # returned `nextToken` value.
1693
+ #
1694
+ # @option params [Array<Types::ECSServiceRecommendationFilter>] :filters
1695
+ # An array of objects to specify a filter that returns a more specific
1696
+ # list of ECS service recommendations.
1697
+ #
1698
+ # @option params [Array<String>] :account_ids
1699
+ # Return the ECS service recommendations to the specified Amazon Web
1700
+ # Services account IDs.
1701
+ #
1702
+ # If your account is the management account or the delegated
1703
+ # administrator of an organization, use this parameter to return the ECS
1704
+ # service recommendations to specific member accounts.
1705
+ #
1706
+ # You can only specify one account ID per request.
1707
+ #
1708
+ # @return [Types::GetECSServiceRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1709
+ #
1710
+ # * {Types::GetECSServiceRecommendationsResponse#next_token #next_token} => String
1711
+ # * {Types::GetECSServiceRecommendationsResponse#ecs_service_recommendations #ecs_service_recommendations} => Array&lt;Types::ECSServiceRecommendation&gt;
1712
+ # * {Types::GetECSServiceRecommendationsResponse#errors #errors} => Array&lt;Types::GetRecommendationError&gt;
1713
+ #
1714
+ # @example Request syntax with placeholder values
1715
+ #
1716
+ # resp = client.get_ecs_service_recommendations({
1717
+ # service_arns: ["ServiceArn"],
1718
+ # next_token: "NextToken",
1719
+ # max_results: 1,
1720
+ # filters: [
1721
+ # {
1722
+ # name: "Finding", # accepts Finding, FindingReasonCode
1723
+ # values: ["FilterValue"],
1724
+ # },
1725
+ # ],
1726
+ # account_ids: ["AccountId"],
1727
+ # })
1728
+ #
1729
+ # @example Response structure
1730
+ #
1731
+ # resp.next_token #=> String
1732
+ # resp.ecs_service_recommendations #=> Array
1733
+ # resp.ecs_service_recommendations[0].service_arn #=> String
1734
+ # resp.ecs_service_recommendations[0].account_id #=> String
1735
+ # resp.ecs_service_recommendations[0].current_service_configuration.memory #=> Integer
1736
+ # resp.ecs_service_recommendations[0].current_service_configuration.cpu #=> Integer
1737
+ # resp.ecs_service_recommendations[0].current_service_configuration.container_configurations #=> Array
1738
+ # resp.ecs_service_recommendations[0].current_service_configuration.container_configurations[0].container_name #=> String
1739
+ # resp.ecs_service_recommendations[0].current_service_configuration.container_configurations[0].memory_size_configuration.memory #=> Integer
1740
+ # resp.ecs_service_recommendations[0].current_service_configuration.container_configurations[0].memory_size_configuration.memory_reservation #=> Integer
1741
+ # resp.ecs_service_recommendations[0].current_service_configuration.container_configurations[0].cpu #=> Integer
1742
+ # resp.ecs_service_recommendations[0].current_service_configuration.auto_scaling_configuration #=> String, one of "TargetTrackingScalingCpu", "TargetTrackingScalingMemory"
1743
+ # resp.ecs_service_recommendations[0].current_service_configuration.task_definition_arn #=> String
1744
+ # resp.ecs_service_recommendations[0].utilization_metrics #=> Array
1745
+ # resp.ecs_service_recommendations[0].utilization_metrics[0].name #=> String, one of "Cpu", "Memory"
1746
+ # resp.ecs_service_recommendations[0].utilization_metrics[0].statistic #=> String, one of "Maximum", "Average"
1747
+ # resp.ecs_service_recommendations[0].utilization_metrics[0].value #=> Float
1748
+ # resp.ecs_service_recommendations[0].lookback_period_in_days #=> Float
1749
+ # resp.ecs_service_recommendations[0].launch_type #=> String, one of "EC2", "Fargate"
1750
+ # resp.ecs_service_recommendations[0].last_refresh_timestamp #=> Time
1751
+ # resp.ecs_service_recommendations[0].finding #=> String, one of "Optimized", "Underprovisioned", "Overprovisioned"
1752
+ # resp.ecs_service_recommendations[0].finding_reason_codes #=> Array
1753
+ # resp.ecs_service_recommendations[0].finding_reason_codes[0] #=> String, one of "MemoryOverprovisioned", "MemoryUnderprovisioned", "CPUOverprovisioned", "CPUUnderprovisioned"
1754
+ # resp.ecs_service_recommendations[0].service_recommendation_options #=> Array
1755
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].memory #=> Integer
1756
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].cpu #=> Integer
1757
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].savings_opportunity.savings_opportunity_percentage #=> Float
1758
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].savings_opportunity.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
1759
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].savings_opportunity.estimated_monthly_savings.value #=> Float
1760
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].projected_utilization_metrics #=> Array
1761
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].projected_utilization_metrics[0].name #=> String, one of "Cpu", "Memory"
1762
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].projected_utilization_metrics[0].statistic #=> String, one of "Maximum", "Average"
1763
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].projected_utilization_metrics[0].lower_bound_value #=> Float
1764
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].projected_utilization_metrics[0].upper_bound_value #=> Float
1765
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].container_recommendations #=> Array
1766
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].container_recommendations[0].container_name #=> String
1767
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].container_recommendations[0].memory_size_configuration.memory #=> Integer
1768
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].container_recommendations[0].memory_size_configuration.memory_reservation #=> Integer
1769
+ # resp.ecs_service_recommendations[0].service_recommendation_options[0].container_recommendations[0].cpu #=> Integer
1770
+ # resp.ecs_service_recommendations[0].current_performance_risk #=> String, one of "VeryLow", "Low", "Medium", "High"
1771
+ # resp.errors #=> Array
1772
+ # resp.errors[0].identifier #=> String
1773
+ # resp.errors[0].code #=> String
1774
+ # resp.errors[0].message #=> String
1775
+ #
1776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendations AWS API Documentation
1777
+ #
1778
+ # @overload get_ecs_service_recommendations(params = {})
1779
+ # @param [Hash] params ({})
1780
+ def get_ecs_service_recommendations(params = {}, options = {})
1781
+ req = build_request(:get_ecs_service_recommendations, params)
1782
+ req.send_request(options)
1783
+ end
1784
+
1476
1785
  # Returns the recommendation preferences that are in effect for a given
1477
1786
  # resource, such as enhanced infrastructure metrics. Considers all
1478
1787
  # applicable preferences that you might have set at the resource,
@@ -1573,6 +1882,8 @@ module Aws::ComputeOptimizer
1573
1882
  # * {Types::GetEnrollmentStatusesForOrganizationResponse#account_enrollment_statuses #account_enrollment_statuses} => Array&lt;Types::AccountEnrollmentStatus&gt;
1574
1883
  # * {Types::GetEnrollmentStatusesForOrganizationResponse#next_token #next_token} => String
1575
1884
  #
1885
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1886
+ #
1576
1887
  # @example Request syntax with placeholder values
1577
1888
  #
1578
1889
  # resp = client.get_enrollment_statuses_for_organization({
@@ -1659,6 +1970,8 @@ module Aws::ComputeOptimizer
1659
1970
  # * {Types::GetLambdaFunctionRecommendationsResponse#next_token #next_token} => String
1660
1971
  # * {Types::GetLambdaFunctionRecommendationsResponse#lambda_function_recommendations #lambda_function_recommendations} => Array&lt;Types::LambdaFunctionRecommendation&gt;
1661
1972
  #
1973
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1974
+ #
1662
1975
  # @example Request syntax with placeholder values
1663
1976
  #
1664
1977
  # resp = client.get_lambda_function_recommendations({
@@ -1771,10 +2084,12 @@ module Aws::ComputeOptimizer
1771
2084
  # * {Types::GetRecommendationPreferencesResponse#next_token #next_token} => String
1772
2085
  # * {Types::GetRecommendationPreferencesResponse#recommendation_preferences_details #recommendation_preferences_details} => Array&lt;Types::RecommendationPreferencesDetail&gt;
1773
2086
  #
2087
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2088
+ #
1774
2089
  # @example Request syntax with placeholder values
1775
2090
  #
1776
2091
  # resp = client.get_recommendation_preferences({
1777
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
2092
+ # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService
1778
2093
  # scope: {
1779
2094
  # name: "Organization", # accepts Organization, AccountId, ResourceArn
1780
2095
  # value: "ScopeValue",
@@ -1789,7 +2104,7 @@ module Aws::ComputeOptimizer
1789
2104
  # resp.recommendation_preferences_details #=> Array
1790
2105
  # resp.recommendation_preferences_details[0].scope.name #=> String, one of "Organization", "AccountId", "ResourceArn"
1791
2106
  # resp.recommendation_preferences_details[0].scope.value #=> String
1792
- # resp.recommendation_preferences_details[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable"
2107
+ # resp.recommendation_preferences_details[0].resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "NotApplicable", "EcsService"
1793
2108
  # resp.recommendation_preferences_details[0].enhanced_infrastructure_metrics #=> String, one of "Active", "Inactive"
1794
2109
  # resp.recommendation_preferences_details[0].inferred_workload_types #=> String, one of "Active", "Inactive"
1795
2110
  # resp.recommendation_preferences_details[0].external_metrics_preference.source #=> String, one of "Datadog", "Dynatrace", "NewRelic", "Instana"
@@ -1819,6 +2134,9 @@ module Aws::ComputeOptimizer
1819
2134
  # * Lambda functions in an account that are `NotOptimized`, or
1820
2135
  # `Optimized`.
1821
2136
  #
2137
+ # * Amazon ECS services in an account that are `Underprovisioned`,
2138
+ # `Overprovisioned`, or `Optimized`.
2139
+ #
1822
2140
  # @option params [Array<String>] :account_ids
1823
2141
  # The ID of the Amazon Web Services account for which to return
1824
2142
  # recommendation summaries.
@@ -1844,6 +2162,8 @@ module Aws::ComputeOptimizer
1844
2162
  # * {Types::GetRecommendationSummariesResponse#next_token #next_token} => String
1845
2163
  # * {Types::GetRecommendationSummariesResponse#recommendation_summaries #recommendation_summaries} => Array&lt;Types::RecommendationSummary&gt;
1846
2164
  #
2165
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2166
+ #
1847
2167
  # @example Request syntax with placeholder values
1848
2168
  #
1849
2169
  # resp = client.get_recommendation_summaries({
@@ -1862,7 +2182,7 @@ module Aws::ComputeOptimizer
1862
2182
  # resp.recommendation_summaries[0].summaries[0].reason_code_summaries #=> Array
1863
2183
  # resp.recommendation_summaries[0].summaries[0].reason_code_summaries[0].name #=> String, one of "MemoryOverprovisioned", "MemoryUnderprovisioned"
1864
2184
  # resp.recommendation_summaries[0].summaries[0].reason_code_summaries[0].value #=> Float
1865
- # resp.recommendation_summaries[0].recommendation_resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction"
2185
+ # resp.recommendation_summaries[0].recommendation_resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume", "LambdaFunction", "EcsService"
1866
2186
  # resp.recommendation_summaries[0].account_id #=> String
1867
2187
  # resp.recommendation_summaries[0].savings_opportunity.savings_opportunity_percentage #=> Float
1868
2188
  # resp.recommendation_summaries[0].savings_opportunity.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
@@ -1985,7 +2305,7 @@ module Aws::ComputeOptimizer
1985
2305
  # @example Request syntax with placeholder values
1986
2306
  #
1987
2307
  # resp = client.put_recommendation_preferences({
1988
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
2308
+ # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService
1989
2309
  # scope: {
1990
2310
  # name: "Organization", # accepts Organization, AccountId, ResourceArn
1991
2311
  # value: "ScopeValue",
@@ -2095,7 +2415,7 @@ module Aws::ComputeOptimizer
2095
2415
  params: params,
2096
2416
  config: config)
2097
2417
  context[:gem_name] = 'aws-sdk-computeoptimizer'
2098
- context[:gem_version] = '1.35.0'
2418
+ context[:gem_version] = '1.36.0'
2099
2419
  Seahorse::Client::Request.new(handlers, context)
2100
2420
  end
2101
2421