aws-sdk-computeoptimizer 1.35.0 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -286,6 +286,56 @@ module Aws::ComputeOptimizer
286
286
  include Aws::Structure
287
287
  end
288
288
 
289
+ # Describes the container configurations within the tasks of your Amazon
290
+ # ECS service.
291
+ #
292
+ # @!attribute [rw] container_name
293
+ # The name of the container.
294
+ # @return [String]
295
+ #
296
+ # @!attribute [rw] memory_size_configuration
297
+ # The memory size configurations for the container.
298
+ # @return [Types::MemorySizeConfiguration]
299
+ #
300
+ # @!attribute [rw] cpu
301
+ # The number of CPU units reserved for the container.
302
+ # @return [Integer]
303
+ #
304
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ContainerConfiguration AWS API Documentation
305
+ #
306
+ class ContainerConfiguration < Struct.new(
307
+ :container_name,
308
+ :memory_size_configuration,
309
+ :cpu)
310
+ SENSITIVE = []
311
+ include Aws::Structure
312
+ end
313
+
314
+ # The CPU and memory recommendations for a container within the tasks of
315
+ # your Amazon ECS service.
316
+ #
317
+ # @!attribute [rw] container_name
318
+ # The name of the container.
319
+ # @return [String]
320
+ #
321
+ # @!attribute [rw] memory_size_configuration
322
+ # The recommended memory size configurations for the container.
323
+ # @return [Types::MemorySizeConfiguration]
324
+ #
325
+ # @!attribute [rw] cpu
326
+ # The recommended number of CPU units reserved for the container.
327
+ # @return [Integer]
328
+ #
329
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/ContainerRecommendation AWS API Documentation
330
+ #
331
+ class ContainerRecommendation < Struct.new(
332
+ :container_name,
333
+ :memory_size_configuration,
334
+ :cpu)
335
+ SENSITIVE = []
336
+ include Aws::Structure
337
+ end
338
+
289
339
  # Describes the performance risk ratings for a given resource type.
290
340
  #
291
341
  # Resources with a `high` or `medium` rating are at risk of not meeting
@@ -323,18 +373,6 @@ module Aws::ComputeOptimizer
323
373
  include Aws::Structure
324
374
  end
325
375
 
326
- # @note When making an API call, you may pass DeleteRecommendationPreferencesRequest
327
- # data as a hash:
328
- #
329
- # {
330
- # resource_type: "Ec2Instance", # required, accepts Ec2Instance, AutoScalingGroup, EbsVolume, LambdaFunction, NotApplicable
331
- # scope: {
332
- # name: "Organization", # accepts Organization, AccountId, ResourceArn
333
- # value: "ScopeValue",
334
- # },
335
- # recommendation_preference_names: ["EnhancedInfrastructureMetrics"], # required, accepts EnhancedInfrastructureMetrics, InferredWorkloadTypes, 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
  #