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.
@@ -286,6 +286,56 @@ module Aws::ComputeOptimizer
286
286
  include Aws::Structure
287
287
  end
288
288
 
289
+ # Describes the container configurations within the tasks of your Amazon
290
+ # ECS service.
291
+ #
292
+ # @!attribute [rw] container_name
293
+ # The name of the container.
294
+ # @return [String]
295
+ #
296
+ # @!attribute [rw] memory_size_configuration
297
+ # The memory size configurations for the container.
298
+ # @return [Types::MemorySizeConfiguration]
299
+ #
300
+ # @!attribute [rw] cpu
301
+ # The number of CPU units reserved for the container.
302
+ # @return [Integer]
303
+ #
304
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ContainerConfiguration AWS API Documentation
305
+ #
306
+ class ContainerConfiguration < Struct.new(
307
+ :container_name,
308
+ :memory_size_configuration,
309
+ :cpu)
310
+ SENSITIVE = []
311
+ include Aws::Structure
312
+ end
313
+
314
+ # The CPU and memory recommendations for a container within the tasks of
315
+ # your Amazon ECS service.
316
+ #
317
+ # @!attribute [rw] container_name
318
+ # The name of the container.
319
+ # @return [String]
320
+ #
321
+ # @!attribute [rw] memory_size_configuration
322
+ # The recommended memory size configurations for the container.
323
+ # @return [Types::MemorySizeConfiguration]
324
+ #
325
+ # @!attribute [rw] cpu
326
+ # The recommended number of CPU units reserved for the container.
327
+ # @return [Integer]
328
+ #
329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ContainerRecommendation AWS API Documentation
330
+ #
331
+ class ContainerRecommendation < Struct.new(
332
+ :container_name,
333
+ :memory_size_configuration,
334
+ :cpu)
335
+ SENSITIVE = []
336
+ include Aws::Structure
337
+ end
338
+
289
339
  # Describes the performance risk ratings for a given resource type.
290
340
  #
291
341
  # Resources with a `high` or `medium` rating are at risk of not meeting
@@ -323,18 +373,6 @@ module Aws::ComputeOptimizer
323
373
  include Aws::Structure
324
374
  end
325
375
 
326
- # @note When making an API call, you may pass DeleteRecommendationPreferencesRequest
327
- # data as a hash:
328
- #
329
- # {
330
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
331
- # scope: {
332
- # name: "Organization", # accepts Organization, AccountId, ResourceArn
333
- # value: "ScopeValue",
334
- # },
335
- # recommendation_preference_names: ["EnhancedInfrastructureMetrics"], # required, accepts EnhancedInfrastructureMetrics, InferredWorkloadTypes
336
- # }
337
- #
338
376
  # @!attribute [rw] resource_type
339
377
  # The target resource type of the recommendation preference to delete.
340
378
  #
@@ -366,11 +404,6 @@ module Aws::ComputeOptimizer
366
404
  #
367
405
  # @!attribute [rw] recommendation_preference_names
368
406
  # The name of the recommendation preference to delete.
369
- #
370
- # Enhanced infrastructure metrics (`EnhancedInfrastructureMetrics`) is
371
- # the only feature that can be activated through preferences.
372
- # Therefore, it is also the only recommendation preference that can be
373
- # deleted.
374
407
  # @return [Array<String>]
375
408
  #
376
409
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/DeleteRecommendationPreferencesRequest AWS API Documentation
@@ -387,21 +420,6 @@ module Aws::ComputeOptimizer
387
420
  #
388
421
  class DeleteRecommendationPreferencesResponse < Aws::EmptyStructure; end
389
422
 
390
- # @note When making an API call, you may pass DescribeRecommendationExportJobsRequest
391
- # data as a hash:
392
- #
393
- # {
394
- # job_ids: ["JobId"],
395
- # filters: [
396
- # {
397
- # name: "ResourceType", # accepts ResourceType, JobStatus
398
- # values: ["FilterValue"],
399
- # },
400
- # ],
401
- # next_token: "NextToken",
402
- # max_results: 1,
403
- # }
404
- #
405
423
  # @!attribute [rw] job_ids
406
424
  # The identification numbers of the export jobs to return.
407
425
  #
@@ -470,14 +488,6 @@ module Aws::ComputeOptimizer
470
488
  # GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
471
489
  # actions.
472
490
  #
473
- # @note When making an API call, you may pass EBSFilter
474
- # data as a hash:
475
- #
476
- # {
477
- # name: "Finding", # accepts Finding
478
- # values: ["FilterValue"],
479
- # }
480
- #
481
491
  # @!attribute [rw] name
482
492
  # The name of the filter.
483
493
  #
@@ -568,6 +578,401 @@ module Aws::ComputeOptimizer
568
578
  include Aws::Structure
569
579
  end
570
580
 
581
+ # Describes the projected metrics of an Amazon ECS service
582
+ # recommendation option.
583
+ #
584
+ # To determine the performance difference between your current ECS
585
+ # service and the recommended option, compare the metric data of your
586
+ # service against its projected metric data.
587
+ #
588
+ # @!attribute [rw] name
589
+ # The name of the projected metric.
590
+ #
591
+ # The following metrics are available:
592
+ #
593
+ # * `CPU` — The percentage of allocated compute units that are
594
+ # currently in use on the ECS service tasks.
595
+ #
596
+ # * `Memory` — The percentage of memory that is currently in use on
597
+ # the ECS service tasks.
598
+ # @return [String]
599
+ #
600
+ # @!attribute [rw] timestamps
601
+ # The timestamps of the projected metric.
602
+ # @return [Array<Time>]
603
+ #
604
+ # @!attribute [rw] upper_bound_values
605
+ # The upper bound values for the projected metric.
606
+ # @return [Array<Float>]
607
+ #
608
+ # @!attribute [rw] lower_bound_values
609
+ # The lower bound values for the projected metric.
610
+ # @return [Array<Float>]
611
+ #
612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSServiceProjectedMetric AWS API Documentation
613
+ #
614
+ class ECSServiceProjectedMetric < Struct.new(
615
+ :name,
616
+ :timestamps,
617
+ :upper_bound_values,
618
+ :lower_bound_values)
619
+ SENSITIVE = []
620
+ include Aws::Structure
621
+ end
622
+
623
+ # Describes the projected utilization metrics of an Amazon ECS service
624
+ # recommendation option.
625
+ #
626
+ # To determine the performance difference between your current ECS
627
+ # service and the recommended option, compare the utilization metric
628
+ # data of your service against its projected utilization metric data.
629
+ #
630
+ # @!attribute [rw] name
631
+ # The name of the projected utilization metric.
632
+ #
633
+ # The following utilization metrics are available:
634
+ #
635
+ # * `CPU` — The percentage of allocated compute units that are
636
+ # currently in use on the ECS service tasks.
637
+ #
638
+ # * `Memory` — The percentage of memory that is currently in use on
639
+ # the ECS service tasks.
640
+ # @return [String]
641
+ #
642
+ # @!attribute [rw] statistic
643
+ # The statistic of the projected utilization metric.
644
+ #
645
+ # The Compute Optimizer API, Command Line Interface (CLI), and SDKs
646
+ # return utilization metrics using only the `Maximum` statistic, which
647
+ # is the highest value observed during the specified period.
648
+ #
649
+ # The Compute Optimizer console displays graphs for some utilization
650
+ # metrics using the `Average` statistic, which is the value of `Sum` /
651
+ # `SampleCount` during the specified period. For more information, see
652
+ # [Viewing resource recommendations][1] in the *Compute Optimizer User
653
+ # Guide*. You can also get averaged utilization metric data for your
654
+ # resources using Amazon CloudWatch. For more information, see the
655
+ # [Amazon CloudWatch User Guide][2].
656
+ #
657
+ #
658
+ #
659
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html
660
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html
661
+ # @return [String]
662
+ #
663
+ # @!attribute [rw] lower_bound_value
664
+ # The lower bound values for the projected utilization metrics.
665
+ # @return [Float]
666
+ #
667
+ # @!attribute [rw] upper_bound_value
668
+ # The upper bound values for the projected utilization metrics.
669
+ # @return [Float]
670
+ #
671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSServiceProjectedUtilizationMetric AWS API Documentation
672
+ #
673
+ class ECSServiceProjectedUtilizationMetric < Struct.new(
674
+ :name,
675
+ :statistic,
676
+ :lower_bound_value,
677
+ :upper_bound_value)
678
+ SENSITIVE = []
679
+ include Aws::Structure
680
+ end
681
+
682
+ # Describes an Amazon ECS service recommendation.
683
+ #
684
+ # @!attribute [rw] service_arn
685
+ # The Amazon Resource Name (ARN) of the current ECS service.
686
+ #
687
+ # The following is the format of the ARN:
688
+ #
689
+ # `arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name`
690
+ # @return [String]
691
+ #
692
+ # @!attribute [rw] account_id
693
+ # The Amazon Web Services account ID of the ECS service.
694
+ # @return [String]
695
+ #
696
+ # @!attribute [rw] current_service_configuration
697
+ # The configuration of the current ECS service.
698
+ # @return [Types::ServiceConfiguration]
699
+ #
700
+ # @!attribute [rw] utilization_metrics
701
+ # An array of objects that describe the utilization metrics of the ECS
702
+ # service.
703
+ # @return [Array<Types::ECSServiceUtilizationMetric>]
704
+ #
705
+ # @!attribute [rw] lookback_period_in_days
706
+ # The number of days the ECS service utilization metrics were
707
+ # analyzed.
708
+ # @return [Float]
709
+ #
710
+ # @!attribute [rw] launch_type
711
+ # The launch type the ECS service is using.
712
+ #
713
+ # <note markdown="1"> Compute Optimizer only supports the Fargate launch type.
714
+ #
715
+ # </note>
716
+ # @return [String]
717
+ #
718
+ # @!attribute [rw] last_refresh_timestamp
719
+ # The timestamp of when the ECS service recommendation was last
720
+ # generated.
721
+ # @return [Time]
722
+ #
723
+ # @!attribute [rw] finding
724
+ # The finding classification of an ECS service.
725
+ #
726
+ # Findings for ECS services include:
727
+ #
728
+ # * <b> <code>Underprovisioned</code> </b> — When Compute Optimizer
729
+ # detects that there’s not enough memory or CPU, an ECS service is
730
+ # considered under-provisioned. An under-provisioned ECS service
731
+ # might result in poor application performance.
732
+ #
733
+ # * <b> <code>Overprovisioned</code> </b> — When Compute Optimizer
734
+ # detects that there’s excessive memory or CPU, an ECS service is
735
+ # considered over-provisioned. An over-provisioned ECS service might
736
+ # result in additional infrastructure costs.
737
+ #
738
+ # * <b> <code>Optimized</code> </b> — When both the CPU and memory of
739
+ # your ECS service meet the performance requirements of your
740
+ # workload, the service is considered optimized.
741
+ # @return [String]
742
+ #
743
+ # @!attribute [rw] finding_reason_codes
744
+ # The reason for the finding classification of an ECS service.
745
+ #
746
+ # Finding reason codes for ECS services include:
747
+ #
748
+ # * <b> <code>CPUUnderprovisioned</code> </b> — The ECS service CPU
749
+ # configuration can be sized up to enhance the performance of your
750
+ # workload. This is identified by analyzing the `CPUUtilization`
751
+ # metric of the current service during the look-back period.
752
+ #
753
+ # * <b> <code>CPUOverprovisioned</code> </b> — The ECS service CPU
754
+ # configuration can be sized down while still meeting the
755
+ # performance requirements of your workload. This is identified by
756
+ # analyzing the `CPUUtilization` metric of the current service
757
+ # during the look-back period.
758
+ #
759
+ # * <b> <code>MemoryUnderprovisioned</code> </b> — The ECS service
760
+ # memory configuration can be sized up to enhance the performance of
761
+ # your workload. This is identified by analyzing the
762
+ # `MemoryUtilization` metric of the current service during the
763
+ # look-back period.
764
+ #
765
+ # * <b> <code>MemoryOverprovisioned</code> </b> — The ECS service
766
+ # memory configuration can be sized down while still meeting the
767
+ # performance requirements of your workload. This is identified by
768
+ # analyzing the `MemoryUtilization` metric of the current service
769
+ # during the look-back period.
770
+ # @return [Array<String>]
771
+ #
772
+ # @!attribute [rw] service_recommendation_options
773
+ # An array of objects that describe the recommendation options for the
774
+ # ECS service.
775
+ # @return [Array<Types::ECSServiceRecommendationOption>]
776
+ #
777
+ # @!attribute [rw] current_performance_risk
778
+ # The risk of the current ECS service not meeting the performance
779
+ # needs of its workloads. The higher the risk, the more likely the
780
+ # current service can't meet the performance requirements of its
781
+ # workload.
782
+ # @return [String]
783
+ #
784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSServiceRecommendation AWS API Documentation
785
+ #
786
+ class ECSServiceRecommendation < Struct.new(
787
+ :service_arn,
788
+ :account_id,
789
+ :current_service_configuration,
790
+ :utilization_metrics,
791
+ :lookback_period_in_days,
792
+ :launch_type,
793
+ :last_refresh_timestamp,
794
+ :finding,
795
+ :finding_reason_codes,
796
+ :service_recommendation_options,
797
+ :current_performance_risk)
798
+ SENSITIVE = []
799
+ include Aws::Structure
800
+ end
801
+
802
+ # Describes a filter that returns a more specific list of Amazon ECS
803
+ # service recommendations. Use this filter with the
804
+ # GetECSServiceRecommendations action.
805
+ #
806
+ # @!attribute [rw] name
807
+ # The name of the filter.
808
+ #
809
+ # Specify `Finding` to return recommendations with a specific finding
810
+ # classification.
811
+ #
812
+ # Specify `FindingReasonCode` to return recommendations with a
813
+ # specific finding reason code.
814
+ # @return [String]
815
+ #
816
+ # @!attribute [rw] values
817
+ # The value of the filter.
818
+ #
819
+ # The valid values for this parameter are as follows:
820
+ #
821
+ # * If you specify the `name` parameter as `Finding`, specify
822
+ # `Optimized`, `NotOptimized`, or `Unavailable`.
823
+ #
824
+ # * If you specify the `name` parameter as `FindingReasonCode`,
825
+ # specify `CPUUnderprovisioned`, `CPUOverprovisioned`,
826
+ # `MemoryUnderprovisioned`, or `MemoryOverprovisioned`.
827
+ # @return [Array<String>]
828
+ #
829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSServiceRecommendationFilter AWS API Documentation
830
+ #
831
+ class ECSServiceRecommendationFilter < Struct.new(
832
+ :name,
833
+ :values)
834
+ SENSITIVE = []
835
+ include Aws::Structure
836
+ end
837
+
838
+ # Describes the recommendation options for an Amazon ECS service.
839
+ #
840
+ # @!attribute [rw] memory
841
+ # The memory size of the ECS service recommendation option.
842
+ # @return [Integer]
843
+ #
844
+ # @!attribute [rw] cpu
845
+ # The CPU size of the ECS service recommendation option.
846
+ # @return [Integer]
847
+ #
848
+ # @!attribute [rw] savings_opportunity
849
+ # Describes the savings opportunity for recommendations of a given
850
+ # resource type or for the recommendation option of an individual
851
+ # resource.
852
+ #
853
+ # Savings opportunity represents the estimated monthly savings you can
854
+ # achieve by implementing a given Compute Optimizer recommendation.
855
+ #
856
+ # Savings opportunity data requires that you opt in to Cost Explorer,
857
+ # as well as activate **Receive Amazon EC2 resource recommendations**
858
+ # in the Cost Explorer preferences page. That creates a connection
859
+ # between Cost Explorer and Compute Optimizer. With this connection,
860
+ # Cost Explorer generates savings estimates considering the price of
861
+ # existing resources, the price of recommended resources, and
862
+ # historical usage data. Estimated monthly savings reflects the
863
+ # projected dollar savings associated with each of the recommendations
864
+ # generated. For more information, see [Enabling Cost Explorer][1] and
865
+ # [Optimizing your cost with Rightsizing Recommendations][2] in the
866
+ # *Cost Management User Guide*.
867
+ #
868
+ #
869
+ #
870
+ # [1]: https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html
871
+ # [2]: https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html
872
+ # @return [Types::SavingsOpportunity]
873
+ #
874
+ # @!attribute [rw] projected_utilization_metrics
875
+ # An array of objects that describe the projected utilization metrics
876
+ # of the ECS service recommendation option.
877
+ # @return [Array<Types::ECSServiceProjectedUtilizationMetric>]
878
+ #
879
+ # @!attribute [rw] container_recommendations
880
+ # The CPU and memory size recommendations for the containers within
881
+ # the task of your ECS service.
882
+ # @return [Array<Types::ContainerRecommendation>]
883
+ #
884
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSServiceRecommendationOption AWS API Documentation
885
+ #
886
+ class ECSServiceRecommendationOption < Struct.new(
887
+ :memory,
888
+ :cpu,
889
+ :savings_opportunity,
890
+ :projected_utilization_metrics,
891
+ :container_recommendations)
892
+ SENSITIVE = []
893
+ include Aws::Structure
894
+ end
895
+
896
+ # Describes the projected metrics of an Amazon ECS service
897
+ # recommendation option.
898
+ #
899
+ # To determine the performance difference between your current ECS
900
+ # service and the recommended option, compare the metric data of your
901
+ # service against its projected metric data.
902
+ #
903
+ # @!attribute [rw] recommended_cpu_units
904
+ # The recommended CPU size for the ECS service.
905
+ # @return [Integer]
906
+ #
907
+ # @!attribute [rw] recommended_memory_size
908
+ # The recommended memory size for the ECS service.
909
+ # @return [Integer]
910
+ #
911
+ # @!attribute [rw] projected_metrics
912
+ # An array of objects that describe the projected metric.
913
+ # @return [Array<Types::ECSServiceProjectedMetric>]
914
+ #
915
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSServiceRecommendedOptionProjectedMetric AWS API Documentation
916
+ #
917
+ class ECSServiceRecommendedOptionProjectedMetric < Struct.new(
918
+ :recommended_cpu_units,
919
+ :recommended_memory_size,
920
+ :projected_metrics)
921
+ SENSITIVE = []
922
+ include Aws::Structure
923
+ end
924
+
925
+ # Describes the utilization metric of an Amazon ECS service.
926
+ #
927
+ # To determine the performance difference between your current ECS
928
+ # service and the recommended option, compare the utilization metric
929
+ # data of your service against its projected utilization metric data.
930
+ #
931
+ # @!attribute [rw] name
932
+ # The name of the utilization metric.
933
+ #
934
+ # The following utilization metrics are available:
935
+ #
936
+ # * `Cpu` — The amount of CPU units that are used in the service.
937
+ #
938
+ # * `Memory` — The amount of memory that is used in the service.
939
+ # @return [String]
940
+ #
941
+ # @!attribute [rw] statistic
942
+ # The statistic of the utilization metric.
943
+ #
944
+ # The Compute Optimizer API, Command Line Interface (CLI), and SDKs
945
+ # return utilization metrics using only the `Maximum` statistic, which
946
+ # is the highest value observed during the specified period.
947
+ #
948
+ # The Compute Optimizer console displays graphs for some utilization
949
+ # metrics using the `Average` statistic, which is the value of `Sum` /
950
+ # `SampleCount` during the specified period. For more information, see
951
+ # [Viewing resource recommendations][1] in the *Compute Optimizer User
952
+ # Guide*. You can also get averaged utilization metric data for your
953
+ # resources using Amazon CloudWatch. For more information, see the
954
+ # [Amazon CloudWatch User Guide][2].
955
+ #
956
+ #
957
+ #
958
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/viewing-recommendations.html
959
+ # [2]: https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html
960
+ # @return [String]
961
+ #
962
+ # @!attribute [rw] value
963
+ # The value of the utilization metric.
964
+ # @return [Float]
965
+ #
966
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ECSServiceUtilizationMetric AWS API Documentation
967
+ #
968
+ class ECSServiceUtilizationMetric < Struct.new(
969
+ :name,
970
+ :statistic,
971
+ :value)
972
+ SENSITIVE = []
973
+ include Aws::Structure
974
+ end
975
+
571
976
  # Describes the effective recommendation preferences for a resource.
572
977
  #
573
978
  # @!attribute [rw] cpu_vendor_architectures
@@ -616,12 +1021,23 @@ module Aws::ComputeOptimizer
616
1021
  # it's not yet applied to recommendations.
617
1022
  # @return [String]
618
1023
  #
1024
+ # @!attribute [rw] external_metrics_preference
1025
+ # An object that describes the external metrics recommendation
1026
+ # preference.
1027
+ #
1028
+ # If the preference is applied in the latest recommendation refresh,
1029
+ # an object with a valid `source` value appears in the response. If
1030
+ # the preference isn't applied to the recommendations already, then
1031
+ # this object doesn't appear in the response.
1032
+ # @return [Types::ExternalMetricsPreference]
1033
+ #
619
1034
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/EffectiveRecommendationPreferences AWS API Documentation
620
1035
  #
621
1036
  class EffectiveRecommendationPreferences < Struct.new(
622
1037
  :cpu_vendor_architectures,
623
1038
  :enhanced_infrastructure_metrics,
624
- :inferred_workload_types)
1039
+ :inferred_workload_types,
1040
+ :external_metrics_preference)
625
1041
  SENSITIVE = []
626
1042
  include Aws::Structure
627
1043
  end
@@ -630,14 +1046,6 @@ module Aws::ComputeOptimizer
630
1046
  # enrollment statuses. Use this filter with the
631
1047
  # GetEnrollmentStatusesForOrganization action.
632
1048
  #
633
- # @note When making an API call, you may pass EnrollmentFilter
634
- # data as a hash:
635
- #
636
- # {
637
- # name: "Status", # accepts Status
638
- # values: ["FilterValue"],
639
- # }
640
- #
641
1049
  # @!attribute [rw] name
642
1050
  # The name of the filter.
643
1051
  #
@@ -688,29 +1096,6 @@ module Aws::ComputeOptimizer
688
1096
  include Aws::Structure
689
1097
  end
690
1098
 
691
- # @note When making an API call, you may pass ExportAutoScalingGroupRecommendationsRequest
692
- # data as a hash:
693
- #
694
- # {
695
- # account_ids: ["AccountId"],
696
- # filters: [
697
- # {
698
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
699
- # values: ["FilterValue"],
700
- # },
701
- # ],
702
- # fields_to_export: ["AccountId"], # accepts AccountId, AutoScalingGroupArn, AutoScalingGroupName, Finding, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, LookbackPeriodInDays, CurrentConfigurationInstanceType, CurrentConfigurationDesiredCapacity, CurrentConfigurationMinSize, CurrentConfigurationMaxSize, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsConfigurationInstanceType, RecommendationOptionsConfigurationDesiredCapacity, RecommendationOptionsConfigurationMinSize, RecommendationOptionsConfigurationMaxSize, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPerformanceRisk, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, EffectiveRecommendationPreferencesCpuVendorArchitectures, EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics, EffectiveRecommendationPreferencesInferredWorkloadTypes, InferredWorkloadTypes, RecommendationOptionsMigrationEffort
703
- # s3_destination_config: { # required
704
- # bucket: "DestinationBucket",
705
- # key_prefix: "DestinationKeyPrefix",
706
- # },
707
- # file_format: "Csv", # accepts Csv
708
- # include_member_accounts: false,
709
- # recommendation_preferences: {
710
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
711
- # },
712
- # }
713
- #
714
1099
  # @!attribute [rw] account_ids
715
1100
  # The IDs of the Amazon Web Services accounts for which to export Auto
716
1101
  # Scaling group recommendations.
@@ -851,26 +1236,6 @@ module Aws::ComputeOptimizer
851
1236
  include Aws::Structure
852
1237
  end
853
1238
 
854
- # @note When making an API call, you may pass ExportEBSVolumeRecommendationsRequest
855
- # data as a hash:
856
- #
857
- # {
858
- # account_ids: ["AccountId"],
859
- # filters: [
860
- # {
861
- # name: "Finding", # accepts Finding
862
- # values: ["FilterValue"],
863
- # },
864
- # ],
865
- # fields_to_export: ["AccountId"], # accepts AccountId, VolumeArn, Finding, UtilizationMetricsVolumeReadOpsPerSecondMaximum, UtilizationMetricsVolumeWriteOpsPerSecondMaximum, UtilizationMetricsVolumeReadBytesPerSecondMaximum, UtilizationMetricsVolumeWriteBytesPerSecondMaximum, LookbackPeriodInDays, CurrentConfigurationVolumeType, CurrentConfigurationVolumeBaselineIOPS, CurrentConfigurationVolumeBaselineThroughput, CurrentConfigurationVolumeBurstIOPS, CurrentConfigurationVolumeBurstThroughput, CurrentConfigurationVolumeSize, CurrentMonthlyPrice, RecommendationOptionsConfigurationVolumeType, RecommendationOptionsConfigurationVolumeBaselineIOPS, RecommendationOptionsConfigurationVolumeBaselineThroughput, RecommendationOptionsConfigurationVolumeBurstIOPS, RecommendationOptionsConfigurationVolumeBurstThroughput, RecommendationOptionsConfigurationVolumeSize, RecommendationOptionsMonthlyPrice, RecommendationOptionsPerformanceRisk, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue
866
- # s3_destination_config: { # required
867
- # bucket: "DestinationBucket",
868
- # key_prefix: "DestinationKeyPrefix",
869
- # },
870
- # file_format: "Csv", # accepts Csv
871
- # include_member_accounts: false,
872
- # }
873
- #
874
1239
  # @!attribute [rw] account_ids
875
1240
  # The IDs of the Amazon Web Services accounts for which to export
876
1241
  # Amazon EBS volume recommendations.
@@ -905,13 +1270,131 @@ module Aws::ComputeOptimizer
905
1270
  # @return [Array<String>]
906
1271
  #
907
1272
  # @!attribute [rw] s3_destination_config
908
- # Describes the destination Amazon Simple Storage Service (Amazon S3)
909
- # bucket name and key prefix for a recommendations export job.
1273
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
1274
+ # bucket name and key prefix for a recommendations export job.
1275
+ #
1276
+ # You must create the destination Amazon S3 bucket for your
1277
+ # recommendations export before you create the export job. Compute
1278
+ # Optimizer does not create the S3 bucket for you. After you create
1279
+ # the S3 bucket, ensure that it has the required permission policy to
1280
+ # allow Compute Optimizer to write the export file to it. If you plan
1281
+ # to specify an object prefix when you create the export job, you must
1282
+ # include the object prefix in the policy that you add to the S3
1283
+ # bucket. For more information, see [Amazon S3 Bucket Policy for
1284
+ # Compute Optimizer][1] in the *Compute Optimizer User Guide*.
1285
+ #
1286
+ #
1287
+ #
1288
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
1289
+ # @return [Types::S3DestinationConfig]
1290
+ #
1291
+ # @!attribute [rw] file_format
1292
+ # The format of the export file.
1293
+ #
1294
+ # The only export file format currently supported is `Csv`.
1295
+ # @return [String]
1296
+ #
1297
+ # @!attribute [rw] include_member_accounts
1298
+ # Indicates whether to include recommendations for resources in all
1299
+ # member accounts of the organization if your account is the
1300
+ # management account of an organization.
1301
+ #
1302
+ # The member accounts must also be opted in to Compute Optimizer, and
1303
+ # trusted access for Compute Optimizer must be enabled in the
1304
+ # organization account. For more information, see [Compute Optimizer
1305
+ # and Amazon Web Services Organizations trusted access][1] in the
1306
+ # *Compute Optimizer User Guide*.
1307
+ #
1308
+ # Recommendations for member accounts of the organization are not
1309
+ # included in the export file if this parameter is omitted.
1310
+ #
1311
+ # This parameter cannot be specified together with the account IDs
1312
+ # parameter. The parameters are mutually exclusive.
1313
+ #
1314
+ # Recommendations for member accounts are not included in the export
1315
+ # if this parameter, or the account IDs parameter, is omitted.
1316
+ #
1317
+ #
1318
+ #
1319
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
1320
+ # @return [Boolean]
1321
+ #
1322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendationsRequest AWS API Documentation
1323
+ #
1324
+ class ExportEBSVolumeRecommendationsRequest < Struct.new(
1325
+ :account_ids,
1326
+ :filters,
1327
+ :fields_to_export,
1328
+ :s3_destination_config,
1329
+ :file_format,
1330
+ :include_member_accounts)
1331
+ SENSITIVE = []
1332
+ include Aws::Structure
1333
+ end
1334
+
1335
+ # @!attribute [rw] job_id
1336
+ # The identification number of the export job.
1337
+ #
1338
+ # Use the DescribeRecommendationExportJobs action, and specify the job
1339
+ # ID to view the status of an export job.
1340
+ # @return [String]
1341
+ #
1342
+ # @!attribute [rw] s3_destination
1343
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
1344
+ # bucket name and object keys of a recommendations export file, and
1345
+ # its associated metadata file.
1346
+ # @return [Types::S3Destination]
1347
+ #
1348
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendationsResponse AWS API Documentation
1349
+ #
1350
+ class ExportEBSVolumeRecommendationsResponse < Struct.new(
1351
+ :job_id,
1352
+ :s3_destination)
1353
+ SENSITIVE = []
1354
+ include Aws::Structure
1355
+ end
1356
+
1357
+ # @!attribute [rw] account_ids
1358
+ # The IDs of the Amazon Web Services accounts for which to export
1359
+ # instance recommendations.
1360
+ #
1361
+ # If your account is the management account of an organization, use
1362
+ # this parameter to specify the member account for which you want to
1363
+ # export recommendations.
1364
+ #
1365
+ # This parameter cannot be specified together with the include member
1366
+ # accounts parameter. The parameters are mutually exclusive.
1367
+ #
1368
+ # Recommendations for member accounts are not included in the export
1369
+ # if this parameter, or the include member accounts parameter, is
1370
+ # omitted.
1371
+ #
1372
+ # You can specify multiple account IDs per request.
1373
+ # @return [Array<String>]
1374
+ #
1375
+ # @!attribute [rw] filters
1376
+ # An array of objects to specify a filter that exports a more specific
1377
+ # set of instance recommendations.
1378
+ # @return [Array<Types::Filter>]
1379
+ #
1380
+ # @!attribute [rw] fields_to_export
1381
+ # The recommendations data to include in the export file. For more
1382
+ # information about the fields that can be exported, see [Exported
1383
+ # files][1] in the *Compute Optimizer User Guide*.
1384
+ #
1385
+ #
1386
+ #
1387
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
1388
+ # @return [Array<String>]
1389
+ #
1390
+ # @!attribute [rw] s3_destination_config
1391
+ # An object to specify the destination Amazon Simple Storage Service
1392
+ # (Amazon S3) bucket name and key prefix for the export job.
910
1393
  #
911
1394
  # You must create the destination Amazon S3 bucket for your
912
1395
  # recommendations export before you create the export job. Compute
913
1396
  # Optimizer does not create the S3 bucket for you. After you create
914
- # the S3 bucket, ensure that it has the required permission policy to
1397
+ # the S3 bucket, ensure that it has the required permissions policy to
915
1398
  # allow Compute Optimizer to write the export file to it. If you plan
916
1399
  # to specify an object prefix when you create the export job, you must
917
1400
  # include the object prefix in the policy that you add to the S3
@@ -943,9 +1426,6 @@ module Aws::ComputeOptimizer
943
1426
  # Recommendations for member accounts of the organization are not
944
1427
  # included in the export file if this parameter is omitted.
945
1428
  #
946
- # This parameter cannot be specified together with the account IDs
947
- # parameter. The parameters are mutually exclusive.
948
- #
949
1429
  # Recommendations for member accounts are not included in the export
950
1430
  # if this parameter, or the account IDs parameter, is omitted.
951
1431
  #
@@ -954,15 +1434,21 @@ module Aws::ComputeOptimizer
954
1434
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
955
1435
  # @return [Boolean]
956
1436
  #
957
- # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendationsRequest AWS API Documentation
1437
+ # @!attribute [rw] recommendation_preferences
1438
+ # An object to specify the preferences for the Amazon EC2 instance
1439
+ # recommendations to export.
1440
+ # @return [Types::RecommendationPreferences]
958
1441
  #
959
- class ExportEBSVolumeRecommendationsRequest < Struct.new(
1442
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendationsRequest AWS API Documentation
1443
+ #
1444
+ class ExportEC2InstanceRecommendationsRequest < Struct.new(
960
1445
  :account_ids,
961
1446
  :filters,
962
1447
  :fields_to_export,
963
1448
  :s3_destination_config,
964
1449
  :file_format,
965
- :include_member_accounts)
1450
+ :include_member_accounts,
1451
+ :recommendation_preferences)
966
1452
  SENSITIVE = []
967
1453
  include Aws::Structure
968
1454
  end
@@ -975,65 +1461,41 @@ module Aws::ComputeOptimizer
975
1461
  # @return [String]
976
1462
  #
977
1463
  # @!attribute [rw] s3_destination
978
- # Describes the destination Amazon Simple Storage Service (Amazon S3)
979
- # bucket name and object keys of a recommendations export file, and
980
- # its associated metadata file.
1464
+ # An object that describes the destination Amazon S3 bucket of a
1465
+ # recommendations export file.
981
1466
  # @return [Types::S3Destination]
982
1467
  #
983
- # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEBSVolumeRecommendationsResponse AWS API Documentation
1468
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendationsResponse AWS API Documentation
984
1469
  #
985
- class ExportEBSVolumeRecommendationsResponse < Struct.new(
1470
+ class ExportEC2InstanceRecommendationsResponse < Struct.new(
986
1471
  :job_id,
987
1472
  :s3_destination)
988
1473
  SENSITIVE = []
989
1474
  include Aws::Structure
990
1475
  end
991
1476
 
992
- # @note When making an API call, you may pass ExportEC2InstanceRecommendationsRequest
993
- # data as a hash:
994
- #
995
- # {
996
- # account_ids: ["AccountId"],
997
- # filters: [
998
- # {
999
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
1000
- # values: ["FilterValue"],
1001
- # },
1002
- # ],
1003
- # 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
1004
- # s3_destination_config: { # required
1005
- # bucket: "DestinationBucket",
1006
- # key_prefix: "DestinationKeyPrefix",
1007
- # },
1008
- # file_format: "Csv", # accepts Csv
1009
- # include_member_accounts: false,
1010
- # recommendation_preferences: {
1011
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
1012
- # },
1013
- # }
1014
- #
1015
1477
  # @!attribute [rw] account_ids
1016
- # The IDs of the Amazon Web Services accounts for which to export
1017
- # instance recommendations.
1478
+ # The Amazon Web Services account IDs for the export ECS service
1479
+ # recommendations.
1018
1480
  #
1019
- # If your account is the management account of an organization, use
1020
- # this parameter to specify the member account for which you want to
1021
- # export recommendations.
1481
+ # If your account is the management account or the delegated
1482
+ # administrator of an organization, use this parameter to specify the
1483
+ # member account you want to export recommendations to.
1022
1484
  #
1023
- # This parameter cannot be specified together with the include member
1485
+ # This parameter can't be specified together with the include member
1024
1486
  # accounts parameter. The parameters are mutually exclusive.
1025
1487
  #
1026
- # Recommendations for member accounts are not included in the export
1027
- # if this parameter, or the include member accounts parameter, is
1028
- # omitted.
1488
+ # If this parameter or the include member accounts parameter is
1489
+ # omitted, the recommendations for member accounts aren't included in
1490
+ # the export.
1029
1491
  #
1030
1492
  # You can specify multiple account IDs per request.
1031
1493
  # @return [Array<String>]
1032
1494
  #
1033
1495
  # @!attribute [rw] filters
1034
1496
  # An array of objects to specify a filter that exports a more specific
1035
- # set of instance recommendations.
1036
- # @return [Array<Types::Filter>]
1497
+ # set of ECS service recommendations.
1498
+ # @return [Array<Types::ECSServiceRecommendationFilter>]
1037
1499
  #
1038
1500
  # @!attribute [rw] fields_to_export
1039
1501
  # The recommendations data to include in the export file. For more
@@ -1046,13 +1508,13 @@ module Aws::ComputeOptimizer
1046
1508
  # @return [Array<String>]
1047
1509
  #
1048
1510
  # @!attribute [rw] s3_destination_config
1049
- # An object to specify the destination Amazon Simple Storage Service
1050
- # (Amazon S3) bucket name and key prefix for the export job.
1511
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
1512
+ # bucket name and key prefix for a recommendations export job.
1051
1513
  #
1052
1514
  # You must create the destination Amazon S3 bucket for your
1053
1515
  # recommendations export before you create the export job. Compute
1054
1516
  # Optimizer does not create the S3 bucket for you. After you create
1055
- # the S3 bucket, ensure that it has the required permissions policy to
1517
+ # the S3 bucket, ensure that it has the required permission policy to
1056
1518
  # allow Compute Optimizer to write the export file to it. If you plan
1057
1519
  # to specify an object prefix when you create the export job, you must
1058
1520
  # include the object prefix in the policy that you add to the S3
@@ -1067,13 +1529,14 @@ module Aws::ComputeOptimizer
1067
1529
  # @!attribute [rw] file_format
1068
1530
  # The format of the export file.
1069
1531
  #
1070
- # The only export file format currently supported is `Csv`.
1532
+ # The CSV file is the only export file format currently supported.
1071
1533
  # @return [String]
1072
1534
  #
1073
1535
  # @!attribute [rw] include_member_accounts
1074
- # Indicates whether to include recommendations for resources in all
1075
- # member accounts of the organization if your account is the
1076
- # management account of an organization.
1536
+ # If your account is the management account or the delegated
1537
+ # administrator of an organization, this parameter indicates whether
1538
+ # to include recommendations for resources in all member accounts of
1539
+ # the organization.
1077
1540
  #
1078
1541
  # The member accounts must also be opted in to Compute Optimizer, and
1079
1542
  # trusted access for Compute Optimizer must be enabled in the
@@ -1081,32 +1544,26 @@ module Aws::ComputeOptimizer
1081
1544
  # and Amazon Web Services Organizations trusted access][1] in the
1082
1545
  # *Compute Optimizer User Guide*.
1083
1546
  #
1084
- # Recommendations for member accounts of the organization are not
1085
- # included in the export file if this parameter is omitted.
1547
+ # If this parameter is omitted, recommendations for member accounts of
1548
+ # the organization aren't included in the export file.
1086
1549
  #
1087
- # Recommendations for member accounts are not included in the export
1088
- # if this parameter, or the account IDs parameter, is omitted.
1550
+ # If this parameter or the account ID parameter is omitted,
1551
+ # recommendations for member accounts aren't included in the export.
1089
1552
  #
1090
1553
  #
1091
1554
  #
1092
1555
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
1093
1556
  # @return [Boolean]
1094
1557
  #
1095
- # @!attribute [rw] recommendation_preferences
1096
- # An object to specify the preferences for the Amazon EC2 instance
1097
- # recommendations to export.
1098
- # @return [Types::RecommendationPreferences]
1099
- #
1100
- # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendationsRequest AWS API Documentation
1558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportECSServiceRecommendationsRequest AWS API Documentation
1101
1559
  #
1102
- class ExportEC2InstanceRecommendationsRequest < Struct.new(
1560
+ class ExportECSServiceRecommendationsRequest < Struct.new(
1103
1561
  :account_ids,
1104
1562
  :filters,
1105
1563
  :fields_to_export,
1106
1564
  :s3_destination_config,
1107
1565
  :file_format,
1108
- :include_member_accounts,
1109
- :recommendation_preferences)
1566
+ :include_member_accounts)
1110
1567
  SENSITIVE = []
1111
1568
  include Aws::Structure
1112
1569
  end
@@ -1114,44 +1571,25 @@ module Aws::ComputeOptimizer
1114
1571
  # @!attribute [rw] job_id
1115
1572
  # The identification number of the export job.
1116
1573
  #
1117
- # Use the DescribeRecommendationExportJobs action, and specify the job
1118
- # ID to view the status of an export job.
1574
+ # To view the status of an export job, use the
1575
+ # DescribeRecommendationExportJobs action and specify the job ID.
1119
1576
  # @return [String]
1120
1577
  #
1121
1578
  # @!attribute [rw] s3_destination
1122
- # An object that describes the destination Amazon S3 bucket of a
1123
- # recommendations export file.
1579
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
1580
+ # bucket name and object keys of a recommendations export file, and
1581
+ # its associated metadata file.
1124
1582
  # @return [Types::S3Destination]
1125
1583
  #
1126
- # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportEC2InstanceRecommendationsResponse AWS API Documentation
1584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportECSServiceRecommendationsResponse AWS API Documentation
1127
1585
  #
1128
- class ExportEC2InstanceRecommendationsResponse < Struct.new(
1586
+ class ExportECSServiceRecommendationsResponse < Struct.new(
1129
1587
  :job_id,
1130
1588
  :s3_destination)
1131
1589
  SENSITIVE = []
1132
1590
  include Aws::Structure
1133
1591
  end
1134
1592
 
1135
- # @note When making an API call, you may pass ExportLambdaFunctionRecommendationsRequest
1136
- # data as a hash:
1137
- #
1138
- # {
1139
- # account_ids: ["AccountId"],
1140
- # filters: [
1141
- # {
1142
- # name: "Finding", # accepts Finding, FindingReasonCode
1143
- # values: ["FilterValue"],
1144
- # },
1145
- # ],
1146
- # fields_to_export: ["AccountId"], # accepts AccountId, FunctionArn, FunctionVersion, Finding, FindingReasonCodes, NumberOfInvocations, UtilizationMetricsDurationMaximum, UtilizationMetricsDurationAverage, UtilizationMetricsMemoryMaximum, UtilizationMetricsMemoryAverage, LookbackPeriodInDays, CurrentConfigurationMemorySize, CurrentConfigurationTimeout, CurrentCostTotal, CurrentCostAverage, RecommendationOptionsConfigurationMemorySize, RecommendationOptionsCostLow, RecommendationOptionsCostHigh, RecommendationOptionsProjectedUtilizationMetricsDurationLowerBound, RecommendationOptionsProjectedUtilizationMetricsDurationUpperBound, RecommendationOptionsProjectedUtilizationMetricsDurationExpected, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue
1147
- # s3_destination_config: { # required
1148
- # bucket: "DestinationBucket",
1149
- # key_prefix: "DestinationKeyPrefix",
1150
- # },
1151
- # file_format: "Csv", # accepts Csv
1152
- # include_member_accounts: false,
1153
- # }
1154
- #
1155
1593
  # @!attribute [rw] account_ids
1156
1594
  # The IDs of the Amazon Web Services accounts for which to export
1157
1595
  # Lambda function recommendations.
@@ -1270,6 +1708,21 @@ module Aws::ComputeOptimizer
1270
1708
  include Aws::Structure
1271
1709
  end
1272
1710
 
1711
+ # Describes the external metrics preferences for EC2 rightsizing
1712
+ # recommendations.
1713
+ #
1714
+ # @!attribute [rw] source
1715
+ # Contains the source options for external metrics preferences.
1716
+ # @return [String]
1717
+ #
1718
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExternalMetricsPreference AWS API Documentation
1719
+ #
1720
+ class ExternalMetricsPreference < Struct.new(
1721
+ :source)
1722
+ SENSITIVE = []
1723
+ include Aws::Structure
1724
+ end
1725
+
1273
1726
  # Describes a filter that returns a more specific list of
1274
1727
  # recommendations. Use this filter with the
1275
1728
  # GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
@@ -1280,14 +1733,6 @@ module Aws::ComputeOptimizer
1280
1733
  # GetLambdaFunctionRecommendations action, and `JobFilter` with the
1281
1734
  # DescribeRecommendationExportJobs action.
1282
1735
  #
1283
- # @note When making an API call, you may pass Filter
1284
- # data as a hash:
1285
- #
1286
- # {
1287
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
1288
- # values: ["FilterValue"],
1289
- # }
1290
- #
1291
1736
  # @!attribute [rw] name
1292
1737
  # The name of the filter.
1293
1738
  #
@@ -1411,25 +1856,6 @@ module Aws::ComputeOptimizer
1411
1856
  include Aws::Structure
1412
1857
  end
1413
1858
 
1414
- # @note When making an API call, you may pass GetAutoScalingGroupRecommendationsRequest
1415
- # data as a hash:
1416
- #
1417
- # {
1418
- # account_ids: ["AccountId"],
1419
- # auto_scaling_group_arns: ["AutoScalingGroupArn"],
1420
- # next_token: "NextToken",
1421
- # max_results: 1,
1422
- # filters: [
1423
- # {
1424
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
1425
- # values: ["FilterValue"],
1426
- # },
1427
- # ],
1428
- # recommendation_preferences: {
1429
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
1430
- # },
1431
- # }
1432
- #
1433
1859
  # @!attribute [rw] account_ids
1434
1860
  # The ID of the Amazon Web Services account for which to return Auto
1435
1861
  # Scaling group recommendations.
@@ -1512,22 +1938,6 @@ module Aws::ComputeOptimizer
1512
1938
  include Aws::Structure
1513
1939
  end
1514
1940
 
1515
- # @note When making an API call, you may pass GetEBSVolumeRecommendationsRequest
1516
- # data as a hash:
1517
- #
1518
- # {
1519
- # volume_arns: ["VolumeArn"],
1520
- # next_token: "NextToken",
1521
- # max_results: 1,
1522
- # filters: [
1523
- # {
1524
- # name: "Finding", # accepts Finding
1525
- # values: ["FilterValue"],
1526
- # },
1527
- # ],
1528
- # account_ids: ["AccountId"],
1529
- # }
1530
- #
1531
1941
  # @!attribute [rw] volume_arns
1532
1942
  # The Amazon Resource Name (ARN) of the volumes for which to return
1533
1943
  # recommendations.
@@ -1602,25 +2012,6 @@ module Aws::ComputeOptimizer
1602
2012
  include Aws::Structure
1603
2013
  end
1604
2014
 
1605
- # @note When making an API call, you may pass GetEC2InstanceRecommendationsRequest
1606
- # data as a hash:
1607
- #
1608
- # {
1609
- # instance_arns: ["InstanceArn"],
1610
- # next_token: "NextToken",
1611
- # max_results: 1,
1612
- # filters: [
1613
- # {
1614
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
1615
- # values: ["FilterValue"],
1616
- # },
1617
- # ],
1618
- # account_ids: ["AccountId"],
1619
- # recommendation_preferences: {
1620
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
1621
- # },
1622
- # }
1623
- #
1624
2015
  # @!attribute [rw] instance_arns
1625
2016
  # The Amazon Resource Name (ARN) of the instances for which to return
1626
2017
  # recommendations.
@@ -1701,20 +2092,6 @@ module Aws::ComputeOptimizer
1701
2092
  include Aws::Structure
1702
2093
  end
1703
2094
 
1704
- # @note When making an API call, you may pass GetEC2RecommendationProjectedMetricsRequest
1705
- # data as a hash:
1706
- #
1707
- # {
1708
- # instance_arn: "InstanceArn", # required
1709
- # stat: "Maximum", # required, accepts Maximum, Average
1710
- # period: 1, # required
1711
- # start_time: Time.now, # required
1712
- # end_time: Time.now, # required
1713
- # recommendation_preferences: {
1714
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
1715
- # },
1716
- # }
1717
- #
1718
2095
  # @!attribute [rw] instance_arn
1719
2096
  # The Amazon Resource Name (ARN) of the instances for which to return
1720
2097
  # recommendation projected metrics.
@@ -1766,13 +2143,126 @@ module Aws::ComputeOptimizer
1766
2143
  include Aws::Structure
1767
2144
  end
1768
2145
 
1769
- # @note When making an API call, you may pass GetEffectiveRecommendationPreferencesRequest
1770
- # data as a hash:
2146
+ # @!attribute [rw] service_arn
2147
+ # The ARN that identifies the ECS service.
2148
+ #
2149
+ # The following is the format of the ARN:
2150
+ #
2151
+ # `arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name`
2152
+ # @return [String]
2153
+ #
2154
+ # @!attribute [rw] stat
2155
+ # The statistic of the projected metrics.
2156
+ # @return [String]
2157
+ #
2158
+ # @!attribute [rw] period
2159
+ # The granularity, in seconds, of the projected metrics data points.
2160
+ # @return [Integer]
2161
+ #
2162
+ # @!attribute [rw] start_time
2163
+ # The timestamp of the first projected metrics data point to return.
2164
+ # @return [Time]
2165
+ #
2166
+ # @!attribute [rw] end_time
2167
+ # The timestamp of the last projected metrics data point to return.
2168
+ # @return [Time]
2169
+ #
2170
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendationProjectedMetricsRequest AWS API Documentation
2171
+ #
2172
+ class GetECSServiceRecommendationProjectedMetricsRequest < Struct.new(
2173
+ :service_arn,
2174
+ :stat,
2175
+ :period,
2176
+ :start_time,
2177
+ :end_time)
2178
+ SENSITIVE = []
2179
+ include Aws::Structure
2180
+ end
2181
+
2182
+ # @!attribute [rw] recommended_option_projected_metrics
2183
+ # An array of objects that describes the projected metrics.
2184
+ # @return [Array<Types::ECSServiceRecommendedOptionProjectedMetric>]
2185
+ #
2186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendationProjectedMetricsResponse AWS API Documentation
2187
+ #
2188
+ class GetECSServiceRecommendationProjectedMetricsResponse < Struct.new(
2189
+ :recommended_option_projected_metrics)
2190
+ SENSITIVE = []
2191
+ include Aws::Structure
2192
+ end
2193
+
2194
+ # @!attribute [rw] service_arns
2195
+ # The ARN that identifies the ECS service.
1771
2196
  #
1772
- # {
1773
- # resource_arn: "ResourceArn", # required
1774
- # }
2197
+ # The following is the format of the ARN:
1775
2198
  #
2199
+ # `arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name`
2200
+ # @return [Array<String>]
2201
+ #
2202
+ # @!attribute [rw] next_token
2203
+ # The token to advance to the next page of ECS service
2204
+ # recommendations.
2205
+ # @return [String]
2206
+ #
2207
+ # @!attribute [rw] max_results
2208
+ # The maximum number of ECS service recommendations to return with a
2209
+ # single request.
2210
+ #
2211
+ # To retrieve the remaining results, make another request with the
2212
+ # returned `nextToken` value.
2213
+ # @return [Integer]
2214
+ #
2215
+ # @!attribute [rw] filters
2216
+ # An array of objects to specify a filter that returns a more specific
2217
+ # list of ECS service recommendations.
2218
+ # @return [Array<Types::ECSServiceRecommendationFilter>]
2219
+ #
2220
+ # @!attribute [rw] account_ids
2221
+ # Return the ECS service recommendations to the specified Amazon Web
2222
+ # Services account IDs.
2223
+ #
2224
+ # If your account is the management account or the delegated
2225
+ # administrator of an organization, use this parameter to return the
2226
+ # ECS service recommendations to specific member accounts.
2227
+ #
2228
+ # You can only specify one account ID per request.
2229
+ # @return [Array<String>]
2230
+ #
2231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendationsRequest AWS API Documentation
2232
+ #
2233
+ class GetECSServiceRecommendationsRequest < Struct.new(
2234
+ :service_arns,
2235
+ :next_token,
2236
+ :max_results,
2237
+ :filters,
2238
+ :account_ids)
2239
+ SENSITIVE = []
2240
+ include Aws::Structure
2241
+ end
2242
+
2243
+ # @!attribute [rw] next_token
2244
+ # The token to advance to the next page of ECS service
2245
+ # recommendations.
2246
+ # @return [String]
2247
+ #
2248
+ # @!attribute [rw] ecs_service_recommendations
2249
+ # An array of objects that describe the ECS service recommendations.
2250
+ # @return [Array<Types::ECSServiceRecommendation>]
2251
+ #
2252
+ # @!attribute [rw] errors
2253
+ # An array of objects that describe errors of the request.
2254
+ # @return [Array<Types::GetRecommendationError>]
2255
+ #
2256
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetECSServiceRecommendationsResponse AWS API Documentation
2257
+ #
2258
+ class GetECSServiceRecommendationsResponse < Struct.new(
2259
+ :next_token,
2260
+ :ecs_service_recommendations,
2261
+ :errors)
2262
+ SENSITIVE = []
2263
+ include Aws::Structure
2264
+ end
2265
+
1776
2266
  # @!attribute [rw] resource_arn
1777
2267
  # The Amazon Resource Name (ARN) of the resource for which to confirm
1778
2268
  # effective recommendation preferences. Only EC2 instance and Auto
@@ -1810,10 +2300,34 @@ module Aws::ComputeOptimizer
1810
2300
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
1811
2301
  # @return [String]
1812
2302
  #
2303
+ # @!attribute [rw] external_metrics_preference
2304
+ # The provider of the external metrics recommendation preference.
2305
+ # Considers all applicable preferences that you might have set at the
2306
+ # account and organization level.
2307
+ #
2308
+ # If the preference is applied in the latest recommendation refresh,
2309
+ # an object with a valid `source` value appears in the response. If
2310
+ # the preference isn't applied to the recommendations already, then
2311
+ # this object doesn't appear in the response.
2312
+ #
2313
+ # To validate whether the preference is applied to your last generated
2314
+ # set of recommendations, review the
2315
+ # `effectiveRecommendationPreferences` value in the response of the
2316
+ # GetEC2InstanceRecommendations actions.
2317
+ #
2318
+ # For more information, see [Enhanced infrastructure metrics][1] in
2319
+ # the *Compute Optimizer User Guide*.
2320
+ #
2321
+ #
2322
+ #
2323
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/external-metrics-ingestion.html
2324
+ # @return [Types::ExternalMetricsPreference]
2325
+ #
1813
2326
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferencesResponse AWS API Documentation
1814
2327
  #
1815
2328
  class GetEffectiveRecommendationPreferencesResponse < Struct.new(
1816
- :enhanced_infrastructure_metrics)
2329
+ :enhanced_infrastructure_metrics,
2330
+ :external_metrics_preference)
1817
2331
  SENSITIVE = []
1818
2332
  include Aws::Structure
1819
2333
  end
@@ -1864,20 +2378,6 @@ module Aws::ComputeOptimizer
1864
2378
  include Aws::Structure
1865
2379
  end
1866
2380
 
1867
- # @note When making an API call, you may pass GetEnrollmentStatusesForOrganizationRequest
1868
- # data as a hash:
1869
- #
1870
- # {
1871
- # filters: [
1872
- # {
1873
- # name: "Status", # accepts Status
1874
- # values: ["FilterValue"],
1875
- # },
1876
- # ],
1877
- # next_token: "NextToken",
1878
- # max_results: 1,
1879
- # }
1880
- #
1881
2381
  # @!attribute [rw] filters
1882
2382
  # An array of objects to specify a filter that returns a more specific
1883
2383
  # list of account enrollment statuses.
@@ -1929,22 +2429,6 @@ module Aws::ComputeOptimizer
1929
2429
  include Aws::Structure
1930
2430
  end
1931
2431
 
1932
- # @note When making an API call, you may pass GetLambdaFunctionRecommendationsRequest
1933
- # data as a hash:
1934
- #
1935
- # {
1936
- # function_arns: ["FunctionArn"],
1937
- # account_ids: ["AccountId"],
1938
- # filters: [
1939
- # {
1940
- # name: "Finding", # accepts Finding, FindingReasonCode
1941
- # values: ["FilterValue"],
1942
- # },
1943
- # ],
1944
- # next_token: "NextToken",
1945
- # max_results: 1,
1946
- # }
1947
- #
1948
2432
  # @!attribute [rw] function_arns
1949
2433
  # The Amazon Resource Name (ARN) of the functions for which to return
1950
2434
  # recommendations.
@@ -2051,19 +2535,6 @@ module Aws::ComputeOptimizer
2051
2535
  include Aws::Structure
2052
2536
  end
2053
2537
 
2054
- # @note When making an API call, you may pass GetRecommendationPreferencesRequest
2055
- # data as a hash:
2056
- #
2057
- # {
2058
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
2059
- # scope: {
2060
- # name: "Organization", # accepts Organization, AccountId, ResourceArn
2061
- # value: "ScopeValue",
2062
- # },
2063
- # next_token: "NextToken",
2064
- # max_results: 1,
2065
- # }
2066
- #
2067
2538
  # @!attribute [rw] resource_type
2068
2539
  # The target resource type of the recommendation preference for which
2069
2540
  # to return preferences.
@@ -2138,15 +2609,6 @@ module Aws::ComputeOptimizer
2138
2609
  include Aws::Structure
2139
2610
  end
2140
2611
 
2141
- # @note When making an API call, you may pass GetRecommendationSummariesRequest
2142
- # data as a hash:
2143
- #
2144
- # {
2145
- # account_ids: ["AccountId"],
2146
- # next_token: "NextToken",
2147
- # max_results: 1,
2148
- # }
2149
- #
2150
2612
  # @!attribute [rw] account_ids
2151
2613
  # The ID of the Amazon Web Services account for which to return
2152
2614
  # recommendation summaries.
@@ -2691,14 +3153,6 @@ module Aws::ComputeOptimizer
2691
3153
  # GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
2692
3154
  # actions.
2693
3155
  #
2694
- # @note When making an API call, you may pass JobFilter
2695
- # data as a hash:
2696
- #
2697
- # {
2698
- # name: "ResourceType", # accepts ResourceType, JobStatus
2699
- # values: ["FilterValue"],
2700
- # }
2701
- #
2702
3156
  # @!attribute [rw] name
2703
3157
  # The name of the filter.
2704
3158
  #
@@ -2944,14 +3398,6 @@ module Aws::ComputeOptimizer
2944
3398
  # `Filter` with the GetAutoScalingGroupRecommendations and
2945
3399
  # GetEC2InstanceRecommendations actions.
2946
3400
  #
2947
- # @note When making an API call, you may pass LambdaFunctionRecommendationFilter
2948
- # data as a hash:
2949
- #
2950
- # {
2951
- # name: "Finding", # accepts Finding, FindingReasonCode
2952
- # values: ["FilterValue"],
2953
- # }
2954
- #
2955
3401
  # @!attribute [rw] name
2956
3402
  # The name of the filter.
2957
3403
  #
@@ -3047,6 +3493,25 @@ module Aws::ComputeOptimizer
3047
3493
  include Aws::Structure
3048
3494
  end
3049
3495
 
3496
+ # The memory size configurations of a container.
3497
+ #
3498
+ # @!attribute [rw] memory
3499
+ # The amount of memory in the container.
3500
+ # @return [Integer]
3501
+ #
3502
+ # @!attribute [rw] memory_reservation
3503
+ # The limit of memory reserve for the container.
3504
+ # @return [Integer]
3505
+ #
3506
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/MemorySizeConfiguration AWS API Documentation
3507
+ #
3508
+ class MemorySizeConfiguration < Struct.new(
3509
+ :memory,
3510
+ :memory_reservation)
3511
+ SENSITIVE = []
3512
+ include Aws::Structure
3513
+ end
3514
+
3050
3515
  # The request must contain either a valid (registered) Amazon Web
3051
3516
  # Services access key ID or X.509 certificate.
3052
3517
  #
@@ -3149,19 +3614,6 @@ module Aws::ComputeOptimizer
3149
3614
  include Aws::Structure
3150
3615
  end
3151
3616
 
3152
- # @note When making an API call, you may pass PutRecommendationPreferencesRequest
3153
- # data as a hash:
3154
- #
3155
- # {
3156
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
3157
- # scope: {
3158
- # name: "Organization", # accepts Organization, AccountId, ResourceArn
3159
- # value: "ScopeValue",
3160
- # },
3161
- # enhanced_infrastructure_metrics: "Active", # accepts Active, Inactive
3162
- # inferred_workload_types: "Active", # accepts Active, Inactive
3163
- # }
3164
- #
3165
3617
  # @!attribute [rw] resource_type
3166
3618
  # The target resource type of the recommendation preference to create.
3167
3619
  #
@@ -3238,13 +3690,32 @@ module Aws::ComputeOptimizer
3238
3690
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/inferred-workload-types.html
3239
3691
  # @return [String]
3240
3692
  #
3693
+ # @!attribute [rw] external_metrics_preference
3694
+ # The provider of the external metrics recommendation preference to
3695
+ # create or update.
3696
+ #
3697
+ # Specify a valid provider in the `source` field to activate the
3698
+ # preference. To delete this preference, see the
3699
+ # DeleteRecommendationPreferences action.
3700
+ #
3701
+ # This preference can only be set for the `Ec2Instance` resource type.
3702
+ #
3703
+ # For more information, see [External metrics ingestion][1] in the
3704
+ # *Compute Optimizer User Guide*.
3705
+ #
3706
+ #
3707
+ #
3708
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/external-metrics-ingestion.html
3709
+ # @return [Types::ExternalMetricsPreference]
3710
+ #
3241
3711
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/PutRecommendationPreferencesRequest AWS API Documentation
3242
3712
  #
3243
3713
  class PutRecommendationPreferencesRequest < Struct.new(
3244
3714
  :resource_type,
3245
3715
  :scope,
3246
3716
  :enhanced_infrastructure_metrics,
3247
- :inferred_workload_types)
3717
+ :inferred_workload_types,
3718
+ :external_metrics_preference)
3248
3719
  SENSITIVE = []
3249
3720
  include Aws::Structure
3250
3721
  end
@@ -3327,13 +3798,6 @@ module Aws::ComputeOptimizer
3327
3798
  # a GetAutoScalingGroupRecommendations, GetEC2InstanceRecommendations,
3328
3799
  # and GetEC2RecommendationProjectedMetrics request.
3329
3800
  #
3330
- # @note When making an API call, you may pass RecommendationPreferences
3331
- # data as a hash:
3332
- #
3333
- # {
3334
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
3335
- # }
3336
- #
3337
3801
  # @!attribute [rw] cpu_vendor_architectures
3338
3802
  # Specifies the CPU vendor and architecture for Amazon EC2 instance
3339
3803
  # and Auto Scaling group recommendations.
@@ -3391,9 +3855,10 @@ module Aws::ComputeOptimizer
3391
3855
  # The status of the enhanced infrastructure metrics recommendation
3392
3856
  # preference.
3393
3857
  #
3394
- # A status of `Active` confirms that the preference is applied in the
3395
- # latest recommendation refresh, and a status of `Inactive` confirms
3396
- # that it's not yet applied to recommendations.
3858
+ # When the recommendations page is refreshed, a status of `Active`
3859
+ # confirms that the preference is applied to the recommendations, and
3860
+ # a status of `Inactive` confirms that the preference isn't yet
3861
+ # applied to recommendations.
3397
3862
  #
3398
3863
  # For more information, see [Enhanced infrastructure metrics][1] in
3399
3864
  # the *Compute Optimizer User Guide*.
@@ -3406,18 +3871,30 @@ module Aws::ComputeOptimizer
3406
3871
  # @!attribute [rw] inferred_workload_types
3407
3872
  # The status of the inferred workload types recommendation preference.
3408
3873
  #
3409
- # A status of `Active` confirms that the preference is applied in the
3410
- # latest recommendation refresh. A status of `Inactive` confirms that
3411
- # it's not yet applied to recommendations.
3874
+ # When the recommendations page is refreshed, a status of `Active`
3875
+ # confirms that the preference is applied to the recommendations, and
3876
+ # a status of `Inactive` confirms that the preference isn't yet
3877
+ # applied to recommendations.
3412
3878
  # @return [String]
3413
3879
  #
3880
+ # @!attribute [rw] external_metrics_preference
3881
+ # An object that describes the external metrics recommendation
3882
+ # preference.
3883
+ #
3884
+ # If the preference is applied in the latest recommendation refresh,
3885
+ # an object with a valid `source` value appears in the response. If
3886
+ # the preference isn't applied to the recommendations already, then
3887
+ # this object doesn't appear in the response.
3888
+ # @return [Types::ExternalMetricsPreference]
3889
+ #
3414
3890
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/RecommendationPreferencesDetail AWS API Documentation
3415
3891
  #
3416
3892
  class RecommendationPreferencesDetail < Struct.new(
3417
3893
  :scope,
3418
3894
  :resource_type,
3419
3895
  :enhanced_infrastructure_metrics,
3420
- :inferred_workload_types)
3896
+ :inferred_workload_types,
3897
+ :external_metrics_preference)
3421
3898
  SENSITIVE = []
3422
3899
  include Aws::Structure
3423
3900
  end
@@ -3586,14 +4063,6 @@ module Aws::ComputeOptimizer
3586
4063
  #
3587
4064
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
3588
4065
  #
3589
- # @note When making an API call, you may pass S3DestinationConfig
3590
- # data as a hash:
3591
- #
3592
- # {
3593
- # bucket: "DestinationBucket",
3594
- # key_prefix: "DestinationKeyPrefix",
3595
- # }
3596
- #
3597
4066
  # @!attribute [rw] bucket
3598
4067
  # The name of the Amazon S3 bucket to use as the destination for an
3599
4068
  # export job.
@@ -3681,14 +4150,6 @@ module Aws::ComputeOptimizer
3681
4150
  #
3682
4151
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
3683
4152
  #
3684
- # @note When making an API call, you may pass Scope
3685
- # data as a hash:
3686
- #
3687
- # {
3688
- # name: "Organization", # accepts Organization, AccountId, ResourceArn
3689
- # value: "ScopeValue",
3690
- # }
3691
- #
3692
4153
  # @!attribute [rw] name
3693
4154
  # The name of the scope.
3694
4155
  #
@@ -3732,6 +4193,63 @@ module Aws::ComputeOptimizer
3732
4193
  include Aws::Structure
3733
4194
  end
3734
4195
 
4196
+ # The Amazon ECS service configurations used for recommendations.
4197
+ #
4198
+ # @!attribute [rw] memory
4199
+ # The amount of memory used by the tasks in the ECS service.
4200
+ # @return [Integer]
4201
+ #
4202
+ # @!attribute [rw] cpu
4203
+ # The number of CPU units used by the tasks in the ECS service.
4204
+ # @return [Integer]
4205
+ #
4206
+ # @!attribute [rw] container_configurations
4207
+ # The container configurations within a task of an ECS service.
4208
+ # @return [Array<Types::ContainerConfiguration>]
4209
+ #
4210
+ # @!attribute [rw] auto_scaling_configuration
4211
+ # Describes the Auto Scaling configuration methods for an Amazon ECS
4212
+ # service. This affects the generated recommendations. For example, if
4213
+ # Auto Scaling is configured on a ECS service’s CPU, then Compute
4214
+ # Optimizer doesn’t generate CPU size recommendations.
4215
+ #
4216
+ # The Auto Scaling configuration methods include:
4217
+ #
4218
+ # * `TARGET_TRACKING_SCALING_CPU` — If the ECS service is configured
4219
+ # to use target scaling on CPU, Compute Optimizer doesn't generate
4220
+ # CPU recommendations.
4221
+ #
4222
+ # * `TARGET_TRACKING_SCALING_MEMORY` — If the ECS service is
4223
+ # configured to use target scaling on memory, Compute Optimizer
4224
+ # doesn't generate memory recommendations.
4225
+ #
4226
+ # For more information about step scaling and target scaling, see [
4227
+ # Step scaling policies for Application Auto Scaling][1] and [ Target
4228
+ # tracking scaling policies for Application Auto Scaling][2] in the
4229
+ # *Application Auto Scaling User Guide*.
4230
+ #
4231
+ #
4232
+ #
4233
+ # [1]: https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html
4234
+ # [2]: https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html
4235
+ # @return [String]
4236
+ #
4237
+ # @!attribute [rw] task_definition_arn
4238
+ # The task definition ARN used by the tasks in the ECS service.
4239
+ # @return [String]
4240
+ #
4241
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ServiceConfiguration AWS API Documentation
4242
+ #
4243
+ class ServiceConfiguration < Struct.new(
4244
+ :memory,
4245
+ :cpu,
4246
+ :container_configurations,
4247
+ :auto_scaling_configuration,
4248
+ :task_definition_arn)
4249
+ SENSITIVE = []
4250
+ include Aws::Structure
4251
+ end
4252
+
3735
4253
  # The request has failed due to a temporary failure of the server.
3736
4254
  #
3737
4255
  # @!attribute [rw] message
@@ -3782,14 +4300,6 @@ module Aws::ComputeOptimizer
3782
4300
  include Aws::Structure
3783
4301
  end
3784
4302
 
3785
- # @note When making an API call, you may pass UpdateEnrollmentStatusRequest
3786
- # data as a hash:
3787
- #
3788
- # {
3789
- # status: "Active", # required, accepts Active, Inactive, Pending, Failed
3790
- # include_member_accounts: false,
3791
- # }
3792
- #
3793
4303
  # @!attribute [rw] status
3794
4304
  # The new enrollment status of the account.
3795
4305
  #