aws-sdk-computeoptimizer 1.35.0 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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, ExternalMetricsPreference
336
- # }
337
- #
338
376
  # @!attribute [rw] resource_type
339
377
  # The target resource type of the recommendation preference to delete.
340
378
  #
@@ -382,21 +420,6 @@ module Aws::ComputeOptimizer
382
420
  #
383
421
  class DeleteRecommendationPreferencesResponse < Aws::EmptyStructure; end
384
422
 
385
- # @note When making an API call, you may pass DescribeRecommendationExportJobsRequest
386
- # data as a hash:
387
- #
388
- # {
389
- # job_ids: ["JobId"],
390
- # filters: [
391
- # {
392
- # name: "ResourceType", # accepts ResourceType, JobStatus
393
- # values: ["FilterValue"],
394
- # },
395
- # ],
396
- # next_token: "NextToken",
397
- # max_results: 1,
398
- # }
399
- #
400
423
  # @!attribute [rw] job_ids
401
424
  # The identification numbers of the export jobs to return.
402
425
  #
@@ -465,14 +488,6 @@ module Aws::ComputeOptimizer
465
488
  # GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
466
489
  # actions.
467
490
  #
468
- # @note When making an API call, you may pass EBSFilter
469
- # data as a hash:
470
- #
471
- # {
472
- # name: "Finding", # accepts Finding
473
- # values: ["FilterValue"],
474
- # }
475
- #
476
491
  # @!attribute [rw] name
477
492
  # The name of the filter.
478
493
  #
@@ -563,6 +578,401 @@ module Aws::ComputeOptimizer
563
578
  include Aws::Structure
564
579
  end
565
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
+
566
976
  # Describes the effective recommendation preferences for a resource.
567
977
  #
568
978
  # @!attribute [rw] cpu_vendor_architectures
@@ -636,14 +1046,6 @@ module Aws::ComputeOptimizer
636
1046
  # enrollment statuses. Use this filter with the
637
1047
  # GetEnrollmentStatusesForOrganization action.
638
1048
  #
639
- # @note When making an API call, you may pass EnrollmentFilter
640
- # data as a hash:
641
- #
642
- # {
643
- # name: "Status", # accepts Status
644
- # values: ["FilterValue"],
645
- # }
646
- #
647
1049
  # @!attribute [rw] name
648
1050
  # The name of the filter.
649
1051
  #
@@ -694,29 +1096,6 @@ module Aws::ComputeOptimizer
694
1096
  include Aws::Structure
695
1097
  end
696
1098
 
697
- # @note When making an API call, you may pass ExportAutoScalingGroupRecommendationsRequest
698
- # data as a hash:
699
- #
700
- # {
701
- # account_ids: ["AccountId"],
702
- # filters: [
703
- # {
704
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
705
- # values: ["FilterValue"],
706
- # },
707
- # ],
708
- # 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
709
- # s3_destination_config: { # required
710
- # bucket: "DestinationBucket",
711
- # key_prefix: "DestinationKeyPrefix",
712
- # },
713
- # file_format: "Csv", # accepts Csv
714
- # include_member_accounts: false,
715
- # recommendation_preferences: {
716
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
717
- # },
718
- # }
719
- #
720
1099
  # @!attribute [rw] account_ids
721
1100
  # The IDs of the Amazon Web Services accounts for which to export Auto
722
1101
  # Scaling group recommendations.
@@ -857,26 +1236,6 @@ module Aws::ComputeOptimizer
857
1236
  include Aws::Structure
858
1237
  end
859
1238
 
860
- # @note When making an API call, you may pass ExportEBSVolumeRecommendationsRequest
861
- # data as a hash:
862
- #
863
- # {
864
- # account_ids: ["AccountId"],
865
- # filters: [
866
- # {
867
- # name: "Finding", # accepts Finding
868
- # values: ["FilterValue"],
869
- # },
870
- # ],
871
- # 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
872
- # s3_destination_config: { # required
873
- # bucket: "DestinationBucket",
874
- # key_prefix: "DestinationKeyPrefix",
875
- # },
876
- # file_format: "Csv", # accepts Csv
877
- # include_member_accounts: false,
878
- # }
879
- #
880
1239
  # @!attribute [rw] account_ids
881
1240
  # The IDs of the Amazon Web Services accounts for which to export
882
1241
  # Amazon EBS volume recommendations.
@@ -995,29 +1354,6 @@ module Aws::ComputeOptimizer
995
1354
  include Aws::Structure
996
1355
  end
997
1356
 
998
- # @note When making an API call, you may pass ExportEC2InstanceRecommendationsRequest
999
- # data as a hash:
1000
- #
1001
- # {
1002
- # account_ids: ["AccountId"],
1003
- # filters: [
1004
- # {
1005
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
1006
- # values: ["FilterValue"],
1007
- # },
1008
- # ],
1009
- # fields_to_export: ["AccountId"], # accepts AccountId, InstanceArn, InstanceName, Finding, FindingReasonCodes, LookbackPeriodInDays, CurrentInstanceType, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, UtilizationMetricsDiskReadOpsPerSecondMaximum, UtilizationMetricsDiskWriteOpsPerSecondMaximum, UtilizationMetricsDiskReadBytesPerSecondMaximum, UtilizationMetricsDiskWriteBytesPerSecondMaximum, UtilizationMetricsNetworkInBytesPerSecondMaximum, UtilizationMetricsNetworkOutBytesPerSecondMaximum, UtilizationMetricsNetworkPacketsInPerSecondMaximum, UtilizationMetricsNetworkPacketsOutPerSecondMaximum, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsInstanceType, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPlatformDifferences, RecommendationOptionsPerformanceRisk, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationsSourcesRecommendationSourceArn, RecommendationsSourcesRecommendationSourceType, LastRefreshTimestamp, CurrentPerformanceRisk, RecommendationOptionsSavingsOpportunityPercentage, RecommendationOptionsEstimatedMonthlySavingsCurrency, RecommendationOptionsEstimatedMonthlySavingsValue, EffectiveRecommendationPreferencesCpuVendorArchitectures, EffectiveRecommendationPreferencesEnhancedInfrastructureMetrics, EffectiveRecommendationPreferencesInferredWorkloadTypes, InferredWorkloadTypes, RecommendationOptionsMigrationEffort, EffectiveRecommendationPreferencesExternalMetricsSource
1010
- # s3_destination_config: { # required
1011
- # bucket: "DestinationBucket",
1012
- # key_prefix: "DestinationKeyPrefix",
1013
- # },
1014
- # file_format: "Csv", # accepts Csv
1015
- # include_member_accounts: false,
1016
- # recommendation_preferences: {
1017
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
1018
- # },
1019
- # }
1020
- #
1021
1357
  # @!attribute [rw] account_ids
1022
1358
  # The IDs of the Amazon Web Services accounts for which to export
1023
1359
  # instance recommendations.
@@ -1138,26 +1474,122 @@ module Aws::ComputeOptimizer
1138
1474
  include Aws::Structure
1139
1475
  end
1140
1476
 
1141
- # @note When making an API call, you may pass ExportLambdaFunctionRecommendationsRequest
1142
- # data as a hash:
1143
- #
1144
- # {
1145
- # account_ids: ["AccountId"],
1146
- # filters: [
1147
- # {
1148
- # name: "Finding", # accepts Finding, FindingReasonCode
1149
- # values: ["FilterValue"],
1150
- # },
1151
- # ],
1152
- # 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
1153
- # s3_destination_config: { # required
1154
- # bucket: "DestinationBucket",
1155
- # key_prefix: "DestinationKeyPrefix",
1156
- # },
1157
- # file_format: "Csv", # accepts Csv
1158
- # include_member_accounts: false,
1159
- # }
1477
+ # @!attribute [rw] account_ids
1478
+ # The Amazon Web Services account IDs for the export ECS service
1479
+ # recommendations.
1480
+ #
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.
1484
+ #
1485
+ # This parameter can't be specified together with the include member
1486
+ # accounts parameter. The parameters are mutually exclusive.
1487
+ #
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.
1491
+ #
1492
+ # You can specify multiple account IDs per request.
1493
+ # @return [Array<String>]
1494
+ #
1495
+ # @!attribute [rw] filters
1496
+ # An array of objects to specify a filter that exports a more specific
1497
+ # set of ECS service recommendations.
1498
+ # @return [Array<Types::ECSServiceRecommendationFilter>]
1499
+ #
1500
+ # @!attribute [rw] fields_to_export
1501
+ # The recommendations data to include in the export file. For more
1502
+ # information about the fields that can be exported, see [Exported
1503
+ # files][1] in the *Compute Optimizer User Guide*.
1504
+ #
1505
+ #
1506
+ #
1507
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
1508
+ # @return [Array<String>]
1509
+ #
1510
+ # @!attribute [rw] s3_destination_config
1511
+ # Describes the destination Amazon Simple Storage Service (Amazon S3)
1512
+ # bucket name and key prefix for a recommendations export job.
1513
+ #
1514
+ # You must create the destination Amazon S3 bucket for your
1515
+ # recommendations export before you create the export job. Compute
1516
+ # Optimizer does not create the S3 bucket for you. After you create
1517
+ # the S3 bucket, ensure that it has the required permission policy to
1518
+ # allow Compute Optimizer to write the export file to it. If you plan
1519
+ # to specify an object prefix when you create the export job, you must
1520
+ # include the object prefix in the policy that you add to the S3
1521
+ # bucket. For more information, see [Amazon S3 Bucket Policy for
1522
+ # Compute Optimizer][1] in the *Compute Optimizer User Guide*.
1523
+ #
1524
+ #
1525
+ #
1526
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
1527
+ # @return [Types::S3DestinationConfig]
1528
+ #
1529
+ # @!attribute [rw] file_format
1530
+ # The format of the export file.
1531
+ #
1532
+ # The CSV file is the only export file format currently supported.
1533
+ # @return [String]
1160
1534
  #
1535
+ # @!attribute [rw] include_member_accounts
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.
1540
+ #
1541
+ # The member accounts must also be opted in to Compute Optimizer, and
1542
+ # trusted access for Compute Optimizer must be enabled in the
1543
+ # organization account. For more information, see [Compute Optimizer
1544
+ # and Amazon Web Services Organizations trusted access][1] in the
1545
+ # *Compute Optimizer User Guide*.
1546
+ #
1547
+ # If this parameter is omitted, recommendations for member accounts of
1548
+ # the organization aren't included in the export file.
1549
+ #
1550
+ # If this parameter or the account ID parameter is omitted,
1551
+ # recommendations for member accounts aren't included in the export.
1552
+ #
1553
+ #
1554
+ #
1555
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/security-iam.html#trusted-service-access
1556
+ # @return [Boolean]
1557
+ #
1558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportECSServiceRecommendationsRequest AWS API Documentation
1559
+ #
1560
+ class ExportECSServiceRecommendationsRequest < Struct.new(
1561
+ :account_ids,
1562
+ :filters,
1563
+ :fields_to_export,
1564
+ :s3_destination_config,
1565
+ :file_format,
1566
+ :include_member_accounts)
1567
+ SENSITIVE = []
1568
+ include Aws::Structure
1569
+ end
1570
+
1571
+ # @!attribute [rw] job_id
1572
+ # The identification number of the export job.
1573
+ #
1574
+ # To view the status of an export job, use the
1575
+ # DescribeRecommendationExportJobs action and specify the job ID.
1576
+ # @return [String]
1577
+ #
1578
+ # @!attribute [rw] s3_destination
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.
1582
+ # @return [Types::S3Destination]
1583
+ #
1584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ExportECSServiceRecommendationsResponse AWS API Documentation
1585
+ #
1586
+ class ExportECSServiceRecommendationsResponse < Struct.new(
1587
+ :job_id,
1588
+ :s3_destination)
1589
+ SENSITIVE = []
1590
+ include Aws::Structure
1591
+ end
1592
+
1161
1593
  # @!attribute [rw] account_ids
1162
1594
  # The IDs of the Amazon Web Services accounts for which to export
1163
1595
  # Lambda function recommendations.
@@ -1279,13 +1711,6 @@ module Aws::ComputeOptimizer
1279
1711
  # Describes the external metrics preferences for EC2 rightsizing
1280
1712
  # recommendations.
1281
1713
  #
1282
- # @note When making an API call, you may pass ExternalMetricsPreference
1283
- # data as a hash:
1284
- #
1285
- # {
1286
- # source: "Datadog", # accepts Datadog, Dynatrace, NewRelic, Instana
1287
- # }
1288
- #
1289
1714
  # @!attribute [rw] source
1290
1715
  # Contains the source options for external metrics preferences.
1291
1716
  # @return [String]
@@ -1308,14 +1733,6 @@ module Aws::ComputeOptimizer
1308
1733
  # GetLambdaFunctionRecommendations action, and `JobFilter` with the
1309
1734
  # DescribeRecommendationExportJobs action.
1310
1735
  #
1311
- # @note When making an API call, you may pass Filter
1312
- # data as a hash:
1313
- #
1314
- # {
1315
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
1316
- # values: ["FilterValue"],
1317
- # }
1318
- #
1319
1736
  # @!attribute [rw] name
1320
1737
  # The name of the filter.
1321
1738
  #
@@ -1439,25 +1856,6 @@ module Aws::ComputeOptimizer
1439
1856
  include Aws::Structure
1440
1857
  end
1441
1858
 
1442
- # @note When making an API call, you may pass GetAutoScalingGroupRecommendationsRequest
1443
- # data as a hash:
1444
- #
1445
- # {
1446
- # account_ids: ["AccountId"],
1447
- # auto_scaling_group_arns: ["AutoScalingGroupArn"],
1448
- # next_token: "NextToken",
1449
- # max_results: 1,
1450
- # filters: [
1451
- # {
1452
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
1453
- # values: ["FilterValue"],
1454
- # },
1455
- # ],
1456
- # recommendation_preferences: {
1457
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
1458
- # },
1459
- # }
1460
- #
1461
1859
  # @!attribute [rw] account_ids
1462
1860
  # The ID of the Amazon Web Services account for which to return Auto
1463
1861
  # Scaling group recommendations.
@@ -1540,22 +1938,6 @@ module Aws::ComputeOptimizer
1540
1938
  include Aws::Structure
1541
1939
  end
1542
1940
 
1543
- # @note When making an API call, you may pass GetEBSVolumeRecommendationsRequest
1544
- # data as a hash:
1545
- #
1546
- # {
1547
- # volume_arns: ["VolumeArn"],
1548
- # next_token: "NextToken",
1549
- # max_results: 1,
1550
- # filters: [
1551
- # {
1552
- # name: "Finding", # accepts Finding
1553
- # values: ["FilterValue"],
1554
- # },
1555
- # ],
1556
- # account_ids: ["AccountId"],
1557
- # }
1558
- #
1559
1941
  # @!attribute [rw] volume_arns
1560
1942
  # The Amazon Resource Name (ARN) of the volumes for which to return
1561
1943
  # recommendations.
@@ -1630,25 +2012,6 @@ module Aws::ComputeOptimizer
1630
2012
  include Aws::Structure
1631
2013
  end
1632
2014
 
1633
- # @note When making an API call, you may pass GetEC2InstanceRecommendationsRequest
1634
- # data as a hash:
1635
- #
1636
- # {
1637
- # instance_arns: ["InstanceArn"],
1638
- # next_token: "NextToken",
1639
- # max_results: 1,
1640
- # filters: [
1641
- # {
1642
- # name: "Finding", # accepts Finding, FindingReasonCodes, RecommendationSourceType
1643
- # values: ["FilterValue"],
1644
- # },
1645
- # ],
1646
- # account_ids: ["AccountId"],
1647
- # recommendation_preferences: {
1648
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
1649
- # },
1650
- # }
1651
- #
1652
2015
  # @!attribute [rw] instance_arns
1653
2016
  # The Amazon Resource Name (ARN) of the instances for which to return
1654
2017
  # recommendations.
@@ -1729,20 +2092,6 @@ module Aws::ComputeOptimizer
1729
2092
  include Aws::Structure
1730
2093
  end
1731
2094
 
1732
- # @note When making an API call, you may pass GetEC2RecommendationProjectedMetricsRequest
1733
- # data as a hash:
1734
- #
1735
- # {
1736
- # instance_arn: "InstanceArn", # required
1737
- # stat: "Maximum", # required, accepts Maximum, Average
1738
- # period: 1, # required
1739
- # start_time: Time.now, # required
1740
- # end_time: Time.now, # required
1741
- # recommendation_preferences: {
1742
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
1743
- # },
1744
- # }
1745
- #
1746
2095
  # @!attribute [rw] instance_arn
1747
2096
  # The Amazon Resource Name (ARN) of the instances for which to return
1748
2097
  # recommendation projected metrics.
@@ -1794,13 +2143,126 @@ module Aws::ComputeOptimizer
1794
2143
  include Aws::Structure
1795
2144
  end
1796
2145
 
1797
- # @note When making an API call, you may pass GetEffectiveRecommendationPreferencesRequest
1798
- # 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]
1799
2153
  #
1800
- # {
1801
- # resource_arn: "ResourceArn", # required
1802
- # }
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]
1803
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.
2196
+ #
2197
+ # The following is the format of the ARN:
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
+
1804
2266
  # @!attribute [rw] resource_arn
1805
2267
  # The Amazon Resource Name (ARN) of the resource for which to confirm
1806
2268
  # effective recommendation preferences. Only EC2 instance and Auto
@@ -1858,7 +2320,7 @@ module Aws::ComputeOptimizer
1858
2320
  #
1859
2321
  #
1860
2322
  #
1861
- # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
2323
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/external-metrics-ingestion.html
1862
2324
  # @return [Types::ExternalMetricsPreference]
1863
2325
  #
1864
2326
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEffectiveRecommendationPreferencesResponse AWS API Documentation
@@ -1916,20 +2378,6 @@ module Aws::ComputeOptimizer
1916
2378
  include Aws::Structure
1917
2379
  end
1918
2380
 
1919
- # @note When making an API call, you may pass GetEnrollmentStatusesForOrganizationRequest
1920
- # data as a hash:
1921
- #
1922
- # {
1923
- # filters: [
1924
- # {
1925
- # name: "Status", # accepts Status
1926
- # values: ["FilterValue"],
1927
- # },
1928
- # ],
1929
- # next_token: "NextToken",
1930
- # max_results: 1,
1931
- # }
1932
- #
1933
2381
  # @!attribute [rw] filters
1934
2382
  # An array of objects to specify a filter that returns a more specific
1935
2383
  # list of account enrollment statuses.
@@ -1981,22 +2429,6 @@ module Aws::ComputeOptimizer
1981
2429
  include Aws::Structure
1982
2430
  end
1983
2431
 
1984
- # @note When making an API call, you may pass GetLambdaFunctionRecommendationsRequest
1985
- # data as a hash:
1986
- #
1987
- # {
1988
- # function_arns: ["FunctionArn"],
1989
- # account_ids: ["AccountId"],
1990
- # filters: [
1991
- # {
1992
- # name: "Finding", # accepts Finding, FindingReasonCode
1993
- # values: ["FilterValue"],
1994
- # },
1995
- # ],
1996
- # next_token: "NextToken",
1997
- # max_results: 1,
1998
- # }
1999
- #
2000
2432
  # @!attribute [rw] function_arns
2001
2433
  # The Amazon Resource Name (ARN) of the functions for which to return
2002
2434
  # recommendations.
@@ -2103,19 +2535,6 @@ module Aws::ComputeOptimizer
2103
2535
  include Aws::Structure
2104
2536
  end
2105
2537
 
2106
- # @note When making an API call, you may pass GetRecommendationPreferencesRequest
2107
- # data as a hash:
2108
- #
2109
- # {
2110
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
2111
- # scope: {
2112
- # name: "Organization", # accepts Organization, AccountId, ResourceArn
2113
- # value: "ScopeValue",
2114
- # },
2115
- # next_token: "NextToken",
2116
- # max_results: 1,
2117
- # }
2118
- #
2119
2538
  # @!attribute [rw] resource_type
2120
2539
  # The target resource type of the recommendation preference for which
2121
2540
  # to return preferences.
@@ -2190,15 +2609,6 @@ module Aws::ComputeOptimizer
2190
2609
  include Aws::Structure
2191
2610
  end
2192
2611
 
2193
- # @note When making an API call, you may pass GetRecommendationSummariesRequest
2194
- # data as a hash:
2195
- #
2196
- # {
2197
- # account_ids: ["AccountId"],
2198
- # next_token: "NextToken",
2199
- # max_results: 1,
2200
- # }
2201
- #
2202
2612
  # @!attribute [rw] account_ids
2203
2613
  # The ID of the Amazon Web Services account for which to return
2204
2614
  # recommendation summaries.
@@ -2743,14 +3153,6 @@ module Aws::ComputeOptimizer
2743
3153
  # GetAutoScalingGroupRecommendations and GetEC2InstanceRecommendations
2744
3154
  # actions.
2745
3155
  #
2746
- # @note When making an API call, you may pass JobFilter
2747
- # data as a hash:
2748
- #
2749
- # {
2750
- # name: "ResourceType", # accepts ResourceType, JobStatus
2751
- # values: ["FilterValue"],
2752
- # }
2753
- #
2754
3156
  # @!attribute [rw] name
2755
3157
  # The name of the filter.
2756
3158
  #
@@ -2996,14 +3398,6 @@ module Aws::ComputeOptimizer
2996
3398
  # `Filter` with the GetAutoScalingGroupRecommendations and
2997
3399
  # GetEC2InstanceRecommendations actions.
2998
3400
  #
2999
- # @note When making an API call, you may pass LambdaFunctionRecommendationFilter
3000
- # data as a hash:
3001
- #
3002
- # {
3003
- # name: "Finding", # accepts Finding, FindingReasonCode
3004
- # values: ["FilterValue"],
3005
- # }
3006
- #
3007
3401
  # @!attribute [rw] name
3008
3402
  # The name of the filter.
3009
3403
  #
@@ -3099,6 +3493,25 @@ module Aws::ComputeOptimizer
3099
3493
  include Aws::Structure
3100
3494
  end
3101
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
+
3102
3515
  # The request must contain either a valid (registered) Amazon Web
3103
3516
  # Services access key ID or X.509 certificate.
3104
3517
  #
@@ -3201,22 +3614,6 @@ module Aws::ComputeOptimizer
3201
3614
  include Aws::Structure
3202
3615
  end
3203
3616
 
3204
- # @note When making an API call, you may pass PutRecommendationPreferencesRequest
3205
- # data as a hash:
3206
- #
3207
- # {
3208
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
3209
- # scope: {
3210
- # name: "Organization", # accepts Organization, AccountId, ResourceArn
3211
- # value: "ScopeValue",
3212
- # },
3213
- # enhanced_infrastructure_metrics: "Active", # accepts Active, Inactive
3214
- # inferred_workload_types: "Active", # accepts Active, Inactive
3215
- # external_metrics_preference: {
3216
- # source: "Datadog", # accepts Datadog, Dynatrace, NewRelic, Instana
3217
- # },
3218
- # }
3219
- #
3220
3617
  # @!attribute [rw] resource_type
3221
3618
  # The target resource type of the recommendation preference to create.
3222
3619
  #
@@ -3401,13 +3798,6 @@ module Aws::ComputeOptimizer
3401
3798
  # a GetAutoScalingGroupRecommendations, GetEC2InstanceRecommendations,
3402
3799
  # and GetEC2RecommendationProjectedMetrics request.
3403
3800
  #
3404
- # @note When making an API call, you may pass RecommendationPreferences
3405
- # data as a hash:
3406
- #
3407
- # {
3408
- # cpu_vendor_architectures: ["AWS_ARM64"], # accepts AWS_ARM64, CURRENT
3409
- # }
3410
- #
3411
3801
  # @!attribute [rw] cpu_vendor_architectures
3412
3802
  # Specifies the CPU vendor and architecture for Amazon EC2 instance
3413
3803
  # and Auto Scaling group recommendations.
@@ -3673,14 +4063,6 @@ module Aws::ComputeOptimizer
3673
4063
  #
3674
4064
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/create-s3-bucket-policy-for-compute-optimizer.html
3675
4065
  #
3676
- # @note When making an API call, you may pass S3DestinationConfig
3677
- # data as a hash:
3678
- #
3679
- # {
3680
- # bucket: "DestinationBucket",
3681
- # key_prefix: "DestinationKeyPrefix",
3682
- # }
3683
- #
3684
4066
  # @!attribute [rw] bucket
3685
4067
  # The name of the Amazon S3 bucket to use as the destination for an
3686
4068
  # export job.
@@ -3768,14 +4150,6 @@ module Aws::ComputeOptimizer
3768
4150
  #
3769
4151
  # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/enhanced-infrastructure-metrics.html
3770
4152
  #
3771
- # @note When making an API call, you may pass Scope
3772
- # data as a hash:
3773
- #
3774
- # {
3775
- # name: "Organization", # accepts Organization, AccountId, ResourceArn
3776
- # value: "ScopeValue",
3777
- # }
3778
- #
3779
4153
  # @!attribute [rw] name
3780
4154
  # The name of the scope.
3781
4155
  #
@@ -3819,6 +4193,63 @@ module Aws::ComputeOptimizer
3819
4193
  include Aws::Structure
3820
4194
  end
3821
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
+
3822
4253
  # The request has failed due to a temporary failure of the server.
3823
4254
  #
3824
4255
  # @!attribute [rw] message
@@ -3869,14 +4300,6 @@ module Aws::ComputeOptimizer
3869
4300
  include Aws::Structure
3870
4301
  end
3871
4302
 
3872
- # @note When making an API call, you may pass UpdateEnrollmentStatusRequest
3873
- # data as a hash:
3874
- #
3875
- # {
3876
- # status: "Active", # required, accepts Active, Inactive, Pending, Failed
3877
- # include_member_accounts: false,
3878
- # }
3879
- #
3880
4303
  # @!attribute [rw] status
3881
4304
  # The new enrollment status of the account.
3882
4305
  #