aws-sdk-computeoptimizer 1.34.0 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
  #