aws-sdk-computeoptimizer 1.34.0 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2718a575580c615691a5d00f12a9488453f78a13b1767d26c0eb9304f4df05b1
4
- data.tar.gz: 7b35bde9b37994545e96aea0b87e937406629c46b17761711d9b0a25d72c5263
3
+ metadata.gz: b68204fd661f1889eba77a4701d4e5b588d63c0e82988461988dffa32019076f
4
+ data.tar.gz: a66797eab250ed6082d70cc6e9fdeb1669098f4cc6d56ff8cbaf4196b904c8b0
5
5
  SHA512:
6
- metadata.gz: 6d3c82defe250d0850cb6550ef31d6952f2d3ca58f7fb54a352393299319903d4628273b1b3191909456c3a13da5711f7f7ea11439b14ba3b78783bc0655ee92
7
- data.tar.gz: aa67ba9f612489ceedc93d0aaf600ea12381e9e3dcdaf98e35de3a244d760f8c4227b7dbfbda4dd60b5e63aefaf8186a5fdd650eb31317cc102747241fe8407e
6
+ metadata.gz: 26180c3484f669a9caed27c8387bc5eeac742f8e32340a68afe6913029369f239c943d26a8d4cb38599a6aa359c637665fe489d4dc763e7d461aad39f422d428
7
+ data.tar.gz: 5c92d70b55535c4401f7f60403ba10d357c5803a731839f9ebf10cfb11ee7507e4adef5ee0f4d8b78c22a4f38e658e8825a40f89d76d9bd52f5e99ce15c69a28
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
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
+
9
+ 1.35.0 (2022-11-29)
10
+ ------------------
11
+
12
+ * Feature - Adds support for a new recommendation preference that makes it possible for customers to optimize their EC2 recommendations by utilizing an external metrics ingestion service to provide metrics.
13
+
4
14
  1.34.0 (2022-10-25)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.34.0
1
+ 1.36.0
@@ -418,21 +418,17 @@ module Aws::ComputeOptimizer
418
418
  # @option params [required, Array<String>] :recommendation_preference_names
419
419
  # The name of the recommendation preference to delete.
420
420
  #
421
- # Enhanced infrastructure metrics (`EnhancedInfrastructureMetrics`) is
422
- # the only feature that can be activated through preferences. Therefore,
423
- # it is also the only recommendation preference that can be deleted.
424
- #
425
421
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
426
422
  #
427
423
  # @example Request syntax with placeholder values
428
424
  #
429
425
  # resp = client.delete_recommendation_preferences({
430
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
426
+ # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService
431
427
  # scope: {
432
428
  # name: "Organization", # accepts Organization, AccountId, ResourceArn
433
429
  # value: "ScopeValue",
434
430
  # },
435
- # recommendation_preference_names: ["EnhancedInfrastructureMetrics"], # required, accepts EnhancedInfrastructureMetrics, InferredWorkloadTypes
431
+ # recommendation_preference_names: ["EnhancedInfrastructureMetrics"], # required, accepts EnhancedInfrastructureMetrics, InferredWorkloadTypes, ExternalMetricsPreference
436
432
  # })
437
433
  #
438
434
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DeleteRecommendationPreferences AWS API Documentation
@@ -479,6 +475,8 @@ module Aws::ComputeOptimizer
479
475
  # * {Types::DescribeRecommendationExportJobsResponse#recommendation_export_jobs #recommendation_export_jobs} => Array&lt;Types::RecommendationExportJob&gt;
480
476
  # * {Types::DescribeRecommendationExportJobsResponse#next_token #next_token} => String
481
477
  #
478
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
479
+ #
482
480
  # @example Request syntax with placeholder values
483
481
  #
484
482
  # resp = client.describe_recommendation_export_jobs({
@@ -500,7 +498,7 @@ module Aws::ComputeOptimizer
500
498
  # resp.recommendation_export_jobs[0].destination.s3.bucket #=> String
501
499
  # resp.recommendation_export_jobs[0].destination.s3.key #=> String
502
500
  # resp.recommendation_export_jobs[0].destination.s3.metadata_key #=> String
503
- # 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"
504
502
  # resp.recommendation_export_jobs[0].status #=> String, one of "Queued", "InProgress", "Complete", "Failed"
505
503
  # resp.recommendation_export_jobs[0].creation_timestamp #=> Time
506
504
  # resp.recommendation_export_jobs[0].last_updated_timestamp #=> Time
@@ -892,7 +890,7 @@ module Aws::ComputeOptimizer
892
890
  # values: ["FilterValue"],
893
891
  # },
894
892
  # ],
895
- # fields_to_export: ["AccountId"], # accepts AccountId, InstanceArn, InstanceName, Finding, FindingReasonCodes, LookbackPeriodInDays, CurrentInstanceType, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsInstanceType, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPlatformDifferences, RecommendationOptionsPerformanceRisk, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationsSourcesRecommendationSourceArn, RecommendationsSourcesRecommendationSourceType, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, EffectiveRecommendationPreferencesCpuVendorArchitectures, EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics, EffectiveRecommendationPreferencesInferredWorkloadTypes, InferredWorkloadTypes, RecommendationOptionsMigrationEffort
893
+ # fields_to_export: ["AccountId"], # accepts AccountId, InstanceArn, InstanceName, Finding, FindingReasonCodes, LookbackPeriodInDays, CurrentInstanceType, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsInstanceType, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPlatformDifferences, RecommendationOptionsPerformanceRisk, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationsSourcesRecommendationSourceArn, RecommendationsSourcesRecommendationSourceType, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, EffectiveRecommendationPreferencesCpuVendorArchitectures, EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics, EffectiveRecommendationPreferencesInferredWorkloadTypes, InferredWorkloadTypes, RecommendationOptionsMigrationEffort, EffectiveRecommendationPreferencesExternalMetricsSource
896
894
  # s3_destination_config: { # required
897
895
  # bucket: "DestinationBucket",
898
896
  # key_prefix: "DestinationKeyPrefix",
@@ -920,6 +918,136 @@ module Aws::ComputeOptimizer
920
918
  req.send_request(options)
921
919
  end
922
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
+
923
1051
  # Exports optimization recommendations for Lambda functions.
924
1052
  #
925
1053
  # Recommendations are exported in a comma-separated values (.csv) file,
@@ -1157,6 +1285,7 @@ module Aws::ComputeOptimizer
1157
1285
  # resp.auto_scaling_group_recommendations[0].effective_recommendation_preferences.cpu_vendor_architectures[0] #=> String, one of "AWS_ARM64", "CURRENT"
1158
1286
  # resp.auto_scaling_group_recommendations[0].effective_recommendation_preferences.enhanced_infrastructure_metrics #=> String, one of "Active", "Inactive"
1159
1287
  # resp.auto_scaling_group_recommendations[0].effective_recommendation_preferences.inferred_workload_types #=> String, one of "Active", "Inactive"
1288
+ # resp.auto_scaling_group_recommendations[0].effective_recommendation_preferences.external_metrics_preference.source #=> String, one of "Datadog", "Dynatrace", "NewRelic", "Instana"
1160
1289
  # resp.auto_scaling_group_recommendations[0].inferred_workload_types #=> Array
1161
1290
  # resp.auto_scaling_group_recommendations[0].inferred_workload_types[0] #=> String, one of "AmazonEmr", "ApacheCassandra", "ApacheHadoop", "Memcached", "Nginx", "PostgreSql", "Redis"
1162
1291
  # resp.errors #=> Array
@@ -1379,13 +1508,14 @@ module Aws::ComputeOptimizer
1379
1508
  # resp.instance_recommendations[0].recommendation_options[0].migration_effort #=> String, one of "VeryLow", "Low", "Medium", "High"
1380
1509
  # resp.instance_recommendations[0].recommendation_sources #=> Array
1381
1510
  # resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_arn #=> String
1382
- # 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"
1383
1512
  # resp.instance_recommendations[0].last_refresh_timestamp #=> Time
1384
1513
  # resp.instance_recommendations[0].current_performance_risk #=> String, one of "VeryLow", "Low", "Medium", "High"
1385
1514
  # resp.instance_recommendations[0].effective_recommendation_preferences.cpu_vendor_architectures #=> Array
1386
1515
  # resp.instance_recommendations[0].effective_recommendation_preferences.cpu_vendor_architectures[0] #=> String, one of "AWS_ARM64", "CURRENT"
1387
1516
  # resp.instance_recommendations[0].effective_recommendation_preferences.enhanced_infrastructure_metrics #=> String, one of "Active", "Inactive"
1388
1517
  # resp.instance_recommendations[0].effective_recommendation_preferences.inferred_workload_types #=> String, one of "Active", "Inactive"
1518
+ # resp.instance_recommendations[0].effective_recommendation_preferences.external_metrics_preference.source #=> String, one of "Datadog", "Dynatrace", "NewRelic", "Instana"
1389
1519
  # resp.instance_recommendations[0].inferred_workload_types #=> Array
1390
1520
  # resp.instance_recommendations[0].inferred_workload_types[0] #=> String, one of "AmazonEmr", "ApacheCassandra", "ApacheHadoop", "Memcached", "Nginx", "PostgreSql", "Redis"
1391
1521
  # resp.errors #=> Array
@@ -1475,6 +1605,183 @@ module Aws::ComputeOptimizer
1475
1605
  req.send_request(options)
1476
1606
  end
1477
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
+
1478
1785
  # Returns the recommendation preferences that are in effect for a given
1479
1786
  # resource, such as enhanced infrastructure metrics. Considers all
1480
1787
  # applicable preferences that you might have set at the resource,
@@ -1492,6 +1799,7 @@ module Aws::ComputeOptimizer
1492
1799
  # @return [Types::GetEffectiveRecommendationPreferencesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1493
1800
  #
1494
1801
  # * {Types::GetEffectiveRecommendationPreferencesResponse#enhanced_infrastructure_metrics #enhanced_infrastructure_metrics} => String
1802
+ # * {Types::GetEffectiveRecommendationPreferencesResponse#external_metrics_preference #external_metrics_preference} => Types::ExternalMetricsPreference
1495
1803
  #
1496
1804
  # @example Request syntax with placeholder values
1497
1805
  #
@@ -1502,6 +1810,7 @@ module Aws::ComputeOptimizer
1502
1810
  # @example Response structure
1503
1811
  #
1504
1812
  # resp.enhanced_infrastructure_metrics #=> String, one of "Active", "Inactive"
1813
+ # resp.external_metrics_preference.source #=> String, one of "Datadog", "Dynatrace", "NewRelic", "Instana"
1505
1814
  #
1506
1815
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferences AWS API Documentation
1507
1816
  #
@@ -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,9 +2104,10 @@ 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"
2110
+ # resp.recommendation_preferences_details[0].external_metrics_preference.source #=> String, one of "Datadog", "Dynatrace", "NewRelic", "Instana"
1795
2111
  #
1796
2112
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationPreferences AWS API Documentation
1797
2113
  #
@@ -1818,6 +2134,9 @@ module Aws::ComputeOptimizer
1818
2134
  # * Lambda functions in an account that are `NotOptimized`, or
1819
2135
  # `Optimized`.
1820
2136
  #
2137
+ # * Amazon ECS services in an account that are `Underprovisioned`,
2138
+ # `Overprovisioned`, or `Optimized`.
2139
+ #
1821
2140
  # @option params [Array<String>] :account_ids
1822
2141
  # The ID of the Amazon Web Services account for which to return
1823
2142
  # recommendation summaries.
@@ -1843,6 +2162,8 @@ module Aws::ComputeOptimizer
1843
2162
  # * {Types::GetRecommendationSummariesResponse#next_token #next_token} => String
1844
2163
  # * {Types::GetRecommendationSummariesResponse#recommendation_summaries #recommendation_summaries} => Array&lt;Types::RecommendationSummary&gt;
1845
2164
  #
2165
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2166
+ #
1846
2167
  # @example Request syntax with placeholder values
1847
2168
  #
1848
2169
  # resp = client.get_recommendation_summaries({
@@ -1861,7 +2182,7 @@ module Aws::ComputeOptimizer
1861
2182
  # resp.recommendation_summaries[0].summaries[0].reason_code_summaries #=> Array
1862
2183
  # resp.recommendation_summaries[0].summaries[0].reason_code_summaries[0].name #=> String, one of "MemoryOverprovisioned", "MemoryUnderprovisioned"
1863
2184
  # resp.recommendation_summaries[0].summaries[0].reason_code_summaries[0].value #=> Float
1864
- # 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"
1865
2186
  # resp.recommendation_summaries[0].account_id #=> String
1866
2187
  # resp.recommendation_summaries[0].savings_opportunity.savings_opportunity_percentage #=> Float
1867
2188
  # resp.recommendation_summaries[0].savings_opportunity.estimated_monthly_savings.currency #=> String, one of "USD", "CNY"
@@ -1962,18 +2283,38 @@ module Aws::ComputeOptimizer
1962
2283
  #
1963
2284
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/inferred-workload-types.html
1964
2285
  #
2286
+ # @option params [Types::ExternalMetricsPreference] :external_metrics_preference
2287
+ # The provider of the external metrics recommendation preference to
2288
+ # create or update.
2289
+ #
2290
+ # Specify a valid provider in the `source` field to activate the
2291
+ # preference. To delete this preference, see the
2292
+ # DeleteRecommendationPreferences action.
2293
+ #
2294
+ # This preference can only be set for the `Ec2Instance` resource type.
2295
+ #
2296
+ # For more information, see [External metrics ingestion][1] in the
2297
+ # *Compute Optimizer User Guide*.
2298
+ #
2299
+ #
2300
+ #
2301
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/external-metrics-ingestion.html
2302
+ #
1965
2303
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1966
2304
  #
1967
2305
  # @example Request syntax with placeholder values
1968
2306
  #
1969
2307
  # resp = client.put_recommendation_preferences({
1970
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
2308
+ # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable, EcsService
1971
2309
  # scope: {
1972
2310
  # name: "Organization", # accepts Organization, AccountId, ResourceArn
1973
2311
  # value: "ScopeValue",
1974
2312
  # },
1975
2313
  # enhanced_infrastructure_metrics: "Active", # accepts Active, Inactive
1976
2314
  # inferred_workload_types: "Active", # accepts Active, Inactive
2315
+ # external_metrics_preference: {
2316
+ # source: "Datadog", # accepts Datadog, Dynatrace, NewRelic, Instana
2317
+ # },
1977
2318
  # })
1978
2319
  #
1979
2320
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferences AWS API Documentation
@@ -2074,7 +2415,7 @@ module Aws::ComputeOptimizer
2074
2415
  params: params,
2075
2416
  config: config)
2076
2417
  context[:gem_name] = 'aws-sdk-computeoptimizer'
2077
- context[:gem_version] = '1.34.0'
2418
+ context[:gem_version] = '1.36.0'
2078
2419
  Seahorse::Client::Request.new(handlers, context)
2079
2420
  end
2080
2421