aws-sdk-computeoptimizer 1.5.0 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ee197b282d0fd73c3170b8d200344661e34cbda4221fd47832975f86cd72e182
4
- data.tar.gz: 9a340d589d0726c77c3c7b3bdd8c326db9caae1fe3b6fb512027df55ce0173e6
3
+ metadata.gz: 498e8b38dc082c018f02d93d8d850aea61628741f4a8761e9a7e09a971e7b348
4
+ data.tar.gz: 8f94fcd7017e18944848f5690f9e124c9224b127dfc20680c6586575dadd91e2
5
5
  SHA512:
6
- metadata.gz: d9867b22bd192b10973679b58fd3834bd790ee4aaee59898f02475a154da78a7ed26b65dbc6c3b1874e19ba99049ca9484995125d872ada9a1b72d96ffc3f365
7
- data.tar.gz: c6dd53f46727ccd67be54fccf12227987bd161620e9d66046bb3661b11f34637df57dbdab1d8098bbdb5cdb1c3880e5dc3f699605100db2e68084857c76903bf
6
+ metadata.gz: be632931c4103d2323a6914c0bbfd7d03c6faeda70861ed11036f472aaf6456463ba8b9605435e769798dea7613562b7c8cd53e5154377c085ba1a6f96326cbf
7
+ data.tar.gz: ed6bffbc0d018c6b78281bc3505d47741623189b1c8c76e81c180f27bede1c0065747825b423897b617f9d8a1f5b7d29dddb6148bd08787816e0ccf1e4269be3
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -44,9 +45,9 @@ require_relative 'aws-sdk-computeoptimizer/customizations'
44
45
  #
45
46
  # See {Errors} for more information.
46
47
  #
47
- # @service
48
+ # @!group service
48
49
  module Aws::ComputeOptimizer
49
50
 
50
- GEM_VERSION = '1.5.0'
51
+ GEM_VERSION = '1.10.0'
51
52
 
52
53
  end
@@ -85,13 +85,28 @@ module Aws::ComputeOptimizer
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::ComputeOptimizer
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -413,7 +428,7 @@ module Aws::ComputeOptimizer
413
428
  # The IDs of the AWS accounts for which to export Auto Scaling group
414
429
  # recommendations.
415
430
  #
416
- # If your account is the master account of an organization, use this
431
+ # If your account is the management account of an organization, use this
417
432
  # parameter to specify the member accounts for which you want to export
418
433
  # recommendations.
419
434
  #
@@ -430,7 +445,13 @@ module Aws::ComputeOptimizer
430
445
  # set of Auto Scaling group recommendations.
431
446
  #
432
447
  # @option params [Array<String>] :fields_to_export
433
- # The recommendations data to include in the export file.
448
+ # The recommendations data to include in the export file. For more
449
+ # information about the fields that can be exported, see [Exported
450
+ # files][1] in the *Compute Optimizer User Guide*.
451
+ #
452
+ #
453
+ #
454
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
434
455
  #
435
456
  # @option params [required, Types::S3DestinationConfig] :s3_destination_config
436
457
  # An object to specify the destination Amazon Simple Storage Service
@@ -457,7 +478,7 @@ module Aws::ComputeOptimizer
457
478
  #
458
479
  # @option params [Boolean] :include_member_accounts
459
480
  # Indicates whether to include recommendations for resources in all
460
- # member accounts of the organization if your account is the master
481
+ # member accounts of the organization if your account is the management
461
482
  # account of an organization.
462
483
  #
463
484
  # The member accounts must also be opted in to Compute Optimizer.
@@ -486,7 +507,7 @@ module Aws::ComputeOptimizer
486
507
  # values: ["FilterValue"],
487
508
  # },
488
509
  # ],
489
- # fields_to_export: ["AccountId"], # accepts AccountId, AutoScalingGroupArn, AutoScalingGroupName, Finding, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, 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
510
+ # fields_to_export: ["AccountId"], # accepts AccountId, AutoScalingGroupArn, AutoScalingGroupName, Finding, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, 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
490
511
  # s3_destination_config: { # required
491
512
  # bucket: "DestinationBucket",
492
513
  # key_prefix: "DestinationKeyPrefix",
@@ -530,7 +551,7 @@ module Aws::ComputeOptimizer
530
551
  # The IDs of the AWS accounts for which to export instance
531
552
  # recommendations.
532
553
  #
533
- # If your account is the master account of an organization, use this
554
+ # If your account is the management account of an organization, use this
534
555
  # parameter to specify the member accounts for which you want to export
535
556
  # recommendations.
536
557
  #
@@ -547,7 +568,13 @@ module Aws::ComputeOptimizer
547
568
  # set of instance recommendations.
548
569
  #
549
570
  # @option params [Array<String>] :fields_to_export
550
- # The recommendations data to include in the export file.
571
+ # The recommendations data to include in the export file. For more
572
+ # information about the fields that can be exported, see [Exported
573
+ # files][1] in the *Compute Optimizer User Guide*.
574
+ #
575
+ #
576
+ #
577
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/exporting-recommendations.html#exported-files
551
578
  #
552
579
  # @option params [required, Types::S3DestinationConfig] :s3_destination_config
553
580
  # An object to specify the destination Amazon Simple Storage Service
@@ -574,7 +601,7 @@ module Aws::ComputeOptimizer
574
601
  #
575
602
  # @option params [Boolean] :include_member_accounts
576
603
  # Indicates whether to include recommendations for resources in all
577
- # member accounts of the organization if your account is the master
604
+ # member accounts of the organization if your account is the management
578
605
  # account of an organization.
579
606
  #
580
607
  # The member accounts must also be opted in to Compute Optimizer.
@@ -600,7 +627,7 @@ module Aws::ComputeOptimizer
600
627
  # values: ["FilterValue"],
601
628
  # },
602
629
  # ],
603
- # fields_to_export: ["AccountId"], # accepts AccountId, InstanceArn, InstanceName, Finding, LookbackPeriodInDays, CurrentInstanceType, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsInstanceType, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPerformanceRisk, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationsSourcesRecommendationSourceArn, RecommendationsSourcesRecommendationSourceType, LastRefreshTimestamp
630
+ # fields_to_export: ["AccountId"], # accepts AccountId, InstanceArn, InstanceName, Finding, LookbackPeriodInDays, CurrentInstanceType, UtilizationMetricsCpuMaximum, UtilizationMetricsMemoryMaximum, UtilizationMetricsEbsReadOpsPerSecondMaximum, UtilizationMetricsEbsWriteOpsPerSecondMaximum, UtilizationMetricsEbsReadBytesPerSecondMaximum, UtilizationMetricsEbsWriteBytesPerSecondMaximum, CurrentOnDemandPrice, CurrentStandardOneYearNoUpfrontReservedPrice, CurrentStandardThreeYearNoUpfrontReservedPrice, CurrentVCpus, CurrentMemory, CurrentStorage, CurrentNetwork, RecommendationOptionsInstanceType, RecommendationOptionsProjectedUtilizationMetricsCpuMaximum, RecommendationOptionsProjectedUtilizationMetricsMemoryMaximum, RecommendationOptionsPerformanceRisk, RecommendationOptionsVcpus, RecommendationOptionsMemory, RecommendationOptionsStorage, RecommendationOptionsNetwork, RecommendationOptionsOnDemandPrice, RecommendationOptionsStandardOneYearNoUpfrontReservedPrice, RecommendationOptionsStandardThreeYearNoUpfrontReservedPrice, RecommendationsSourcesRecommendationSourceArn, RecommendationsSourcesRecommendationSourceType, LastRefreshTimestamp
604
631
  # s3_destination_config: { # required
605
632
  # bucket: "DestinationBucket",
606
633
  # key_prefix: "DestinationKeyPrefix",
@@ -627,24 +654,20 @@ module Aws::ComputeOptimizer
627
654
 
628
655
  # Returns Auto Scaling group recommendations.
629
656
  #
630
- # AWS Compute Optimizer currently generates recommendations for Auto
631
- # Scaling groups that are configured to run instances of the M, C, R, T,
632
- # and X instance families. The service does not generate recommendations
633
- # for Auto Scaling groups that have a scaling policy attached to them,
634
- # or that do not have the same values for desired, minimum, and maximum
635
- # capacity. In order for Compute Optimizer to analyze your Auto Scaling
636
- # groups, they must be of a fixed size. For more information, see the
637
- # [AWS Compute Optimizer User Guide][1].
657
+ # AWS Compute Optimizer generates recommendations for Amazon EC2 Auto
658
+ # Scaling groups that meet a specific set of requirements. For more
659
+ # information, see the [Supported resources and requirements][1] in the
660
+ # *AWS Compute Optimizer User Guide*.
638
661
  #
639
662
  #
640
663
  #
641
- # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/what-is.html
664
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html
642
665
  #
643
666
  # @option params [Array<String>] :account_ids
644
667
  # The IDs of the AWS accounts for which to return Auto Scaling group
645
668
  # recommendations.
646
669
  #
647
- # If your account is the master account of an organization, use this
670
+ # If your account is the management account of an organization, use this
648
671
  # parameter to specify the member accounts for which you want to return
649
672
  # Auto Scaling group recommendations.
650
673
  #
@@ -699,7 +722,7 @@ module Aws::ComputeOptimizer
699
722
  # resp.auto_scaling_group_recommendations[0].auto_scaling_group_name #=> String
700
723
  # resp.auto_scaling_group_recommendations[0].finding #=> String, one of "Underprovisioned", "Overprovisioned", "Optimized", "NotOptimized"
701
724
  # resp.auto_scaling_group_recommendations[0].utilization_metrics #=> Array
702
- # resp.auto_scaling_group_recommendations[0].utilization_metrics[0].name #=> String, one of "Cpu", "Memory"
725
+ # resp.auto_scaling_group_recommendations[0].utilization_metrics[0].name #=> String, one of "Cpu", "Memory", "EBS_READ_OPS_PER_SECOND", "EBS_WRITE_OPS_PER_SECOND", "EBS_READ_BYTES_PER_SECOND", "EBS_WRITE_BYTES_PER_SECOND"
703
726
  # resp.auto_scaling_group_recommendations[0].utilization_metrics[0].statistic #=> String, one of "Maximum", "Average"
704
727
  # resp.auto_scaling_group_recommendations[0].utilization_metrics[0].value #=> Float
705
728
  # resp.auto_scaling_group_recommendations[0].look_back_period_in_days #=> Float
@@ -713,7 +736,7 @@ module Aws::ComputeOptimizer
713
736
  # resp.auto_scaling_group_recommendations[0].recommendation_options[0].configuration.max_size #=> Integer
714
737
  # resp.auto_scaling_group_recommendations[0].recommendation_options[0].configuration.instance_type #=> String
715
738
  # resp.auto_scaling_group_recommendations[0].recommendation_options[0].projected_utilization_metrics #=> Array
716
- # resp.auto_scaling_group_recommendations[0].recommendation_options[0].projected_utilization_metrics[0].name #=> String, one of "Cpu", "Memory"
739
+ # resp.auto_scaling_group_recommendations[0].recommendation_options[0].projected_utilization_metrics[0].name #=> String, one of "Cpu", "Memory", "EBS_READ_OPS_PER_SECOND", "EBS_WRITE_OPS_PER_SECOND", "EBS_READ_BYTES_PER_SECOND", "EBS_WRITE_BYTES_PER_SECOND"
717
740
  # resp.auto_scaling_group_recommendations[0].recommendation_options[0].projected_utilization_metrics[0].statistic #=> String, one of "Maximum", "Average"
718
741
  # resp.auto_scaling_group_recommendations[0].recommendation_options[0].projected_utilization_metrics[0].value #=> Float
719
742
  # resp.auto_scaling_group_recommendations[0].recommendation_options[0].performance_risk #=> Float
@@ -733,16 +756,119 @@ module Aws::ComputeOptimizer
733
756
  req.send_request(options)
734
757
  end
735
758
 
759
+ # Returns Amazon Elastic Block Store (Amazon EBS) volume
760
+ # recommendations.
761
+ #
762
+ # AWS Compute Optimizer generates recommendations for Amazon EBS volumes
763
+ # that meet a specific set of requirements. For more information, see
764
+ # the [Supported resources and requirements][1] in the *AWS Compute
765
+ # Optimizer User Guide*.
766
+ #
767
+ #
768
+ #
769
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html
770
+ #
771
+ # @option params [Array<String>] :volume_arns
772
+ # The Amazon Resource Name (ARN) of the volumes for which to return
773
+ # recommendations.
774
+ #
775
+ # @option params [String] :next_token
776
+ # The token to advance to the next page of volume recommendations.
777
+ #
778
+ # @option params [Integer] :max_results
779
+ # The maximum number of volume recommendations to return with a single
780
+ # request.
781
+ #
782
+ # To retrieve the remaining results, make another request with the
783
+ # returned `NextToken` value.
784
+ #
785
+ # @option params [Array<Types::EBSFilter>] :filters
786
+ # An array of objects that describe a filter that returns a more
787
+ # specific list of volume recommendations.
788
+ #
789
+ # @option params [Array<String>] :account_ids
790
+ # The IDs of the AWS accounts for which to return volume
791
+ # recommendations.
792
+ #
793
+ # If your account is the management account of an organization, use this
794
+ # parameter to specify the member accounts for which you want to return
795
+ # volume recommendations.
796
+ #
797
+ # Only one account ID can be specified per request.
798
+ #
799
+ # @return [Types::GetEBSVolumeRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
800
+ #
801
+ # * {Types::GetEBSVolumeRecommendationsResponse#next_token #next_token} => String
802
+ # * {Types::GetEBSVolumeRecommendationsResponse#volume_recommendations #volume_recommendations} => Array&lt;Types::VolumeRecommendation&gt;
803
+ # * {Types::GetEBSVolumeRecommendationsResponse#errors #errors} => Array&lt;Types::GetRecommendationError&gt;
804
+ #
805
+ # @example Request syntax with placeholder values
806
+ #
807
+ # resp = client.get_ebs_volume_recommendations({
808
+ # volume_arns: ["VolumeArn"],
809
+ # next_token: "NextToken",
810
+ # max_results: 1,
811
+ # filters: [
812
+ # {
813
+ # name: "Finding", # accepts Finding
814
+ # values: ["FilterValue"],
815
+ # },
816
+ # ],
817
+ # account_ids: ["AccountId"],
818
+ # })
819
+ #
820
+ # @example Response structure
821
+ #
822
+ # resp.next_token #=> String
823
+ # resp.volume_recommendations #=> Array
824
+ # resp.volume_recommendations[0].volume_arn #=> String
825
+ # resp.volume_recommendations[0].account_id #=> String
826
+ # resp.volume_recommendations[0].current_configuration.volume_type #=> String
827
+ # resp.volume_recommendations[0].current_configuration.volume_size #=> Integer
828
+ # resp.volume_recommendations[0].current_configuration.volume_baseline_iops #=> Integer
829
+ # resp.volume_recommendations[0].current_configuration.volume_burst_iops #=> Integer
830
+ # resp.volume_recommendations[0].current_configuration.volume_baseline_throughput #=> Integer
831
+ # resp.volume_recommendations[0].current_configuration.volume_burst_throughput #=> Integer
832
+ # resp.volume_recommendations[0].finding #=> String, one of "Optimized", "NotOptimized"
833
+ # resp.volume_recommendations[0].utilization_metrics #=> Array
834
+ # resp.volume_recommendations[0].utilization_metrics[0].name #=> String, one of "VolumeReadOpsPerSecond", "VolumeWriteOpsPerSecond", "VolumeReadBytesPerSecond", "VolumeWriteBytesPerSecond"
835
+ # resp.volume_recommendations[0].utilization_metrics[0].statistic #=> String, one of "Maximum", "Average"
836
+ # resp.volume_recommendations[0].utilization_metrics[0].value #=> Float
837
+ # resp.volume_recommendations[0].look_back_period_in_days #=> Float
838
+ # resp.volume_recommendations[0].volume_recommendation_options #=> Array
839
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_type #=> String
840
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_size #=> Integer
841
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_baseline_iops #=> Integer
842
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_burst_iops #=> Integer
843
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_baseline_throughput #=> Integer
844
+ # resp.volume_recommendations[0].volume_recommendation_options[0].configuration.volume_burst_throughput #=> Integer
845
+ # resp.volume_recommendations[0].volume_recommendation_options[0].performance_risk #=> Float
846
+ # resp.volume_recommendations[0].volume_recommendation_options[0].rank #=> Integer
847
+ # resp.volume_recommendations[0].last_refresh_timestamp #=> Time
848
+ # resp.errors #=> Array
849
+ # resp.errors[0].identifier #=> String
850
+ # resp.errors[0].code #=> String
851
+ # resp.errors[0].message #=> String
852
+ #
853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetEBSVolumeRecommendations AWS API Documentation
854
+ #
855
+ # @overload get_ebs_volume_recommendations(params = {})
856
+ # @param [Hash] params ({})
857
+ def get_ebs_volume_recommendations(params = {}, options = {})
858
+ req = build_request(:get_ebs_volume_recommendations, params)
859
+ req.send_request(options)
860
+ end
861
+
736
862
  # Returns Amazon EC2 instance recommendations.
737
863
  #
738
- # AWS Compute Optimizer currently generates recommendations for Amazon
739
- # Elastic Compute Cloud (Amazon EC2) and Amazon EC2 Auto Scaling. It
740
- # generates recommendations for M, C, R, T, and X instance families. For
741
- # more information, see the [AWS Compute Optimizer User Guide][1].
864
+ # AWS Compute Optimizer generates recommendations for Amazon Elastic
865
+ # Compute Cloud (Amazon EC2) instances that meet a specific set of
866
+ # requirements. For more information, see the [Supported resources and
867
+ # requirements][1] in the *AWS Compute Optimizer User Guide*.
742
868
  #
743
869
  #
744
870
  #
745
- # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/what-is.html
871
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html
746
872
  #
747
873
  # @option params [Array<String>] :instance_arns
748
874
  # The Amazon Resource Name (ARN) of the instances for which to return
@@ -766,7 +892,7 @@ module Aws::ComputeOptimizer
766
892
  # The IDs of the AWS accounts for which to return instance
767
893
  # recommendations.
768
894
  #
769
- # If your account is the master account of an organization, use this
895
+ # If your account is the management account of an organization, use this
770
896
  # parameter to specify the member accounts for which you want to return
771
897
  # instance recommendations.
772
898
  #
@@ -803,21 +929,21 @@ module Aws::ComputeOptimizer
803
929
  # resp.instance_recommendations[0].current_instance_type #=> String
804
930
  # resp.instance_recommendations[0].finding #=> String, one of "Underprovisioned", "Overprovisioned", "Optimized", "NotOptimized"
805
931
  # resp.instance_recommendations[0].utilization_metrics #=> Array
806
- # resp.instance_recommendations[0].utilization_metrics[0].name #=> String, one of "Cpu", "Memory"
932
+ # resp.instance_recommendations[0].utilization_metrics[0].name #=> String, one of "Cpu", "Memory", "EBS_READ_OPS_PER_SECOND", "EBS_WRITE_OPS_PER_SECOND", "EBS_READ_BYTES_PER_SECOND", "EBS_WRITE_BYTES_PER_SECOND"
807
933
  # resp.instance_recommendations[0].utilization_metrics[0].statistic #=> String, one of "Maximum", "Average"
808
934
  # resp.instance_recommendations[0].utilization_metrics[0].value #=> Float
809
935
  # resp.instance_recommendations[0].look_back_period_in_days #=> Float
810
936
  # resp.instance_recommendations[0].recommendation_options #=> Array
811
937
  # resp.instance_recommendations[0].recommendation_options[0].instance_type #=> String
812
938
  # resp.instance_recommendations[0].recommendation_options[0].projected_utilization_metrics #=> Array
813
- # resp.instance_recommendations[0].recommendation_options[0].projected_utilization_metrics[0].name #=> String, one of "Cpu", "Memory"
939
+ # resp.instance_recommendations[0].recommendation_options[0].projected_utilization_metrics[0].name #=> String, one of "Cpu", "Memory", "EBS_READ_OPS_PER_SECOND", "EBS_WRITE_OPS_PER_SECOND", "EBS_READ_BYTES_PER_SECOND", "EBS_WRITE_BYTES_PER_SECOND"
814
940
  # resp.instance_recommendations[0].recommendation_options[0].projected_utilization_metrics[0].statistic #=> String, one of "Maximum", "Average"
815
941
  # resp.instance_recommendations[0].recommendation_options[0].projected_utilization_metrics[0].value #=> Float
816
942
  # resp.instance_recommendations[0].recommendation_options[0].performance_risk #=> Float
817
943
  # resp.instance_recommendations[0].recommendation_options[0].rank #=> Integer
818
944
  # resp.instance_recommendations[0].recommendation_sources #=> Array
819
945
  # resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_arn #=> String
820
- # resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_type #=> String, one of "Ec2Instance", "AutoScalingGroup"
946
+ # resp.instance_recommendations[0].recommendation_sources[0].recommendation_source_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume"
821
947
  # resp.instance_recommendations[0].last_refresh_timestamp #=> Time
822
948
  # resp.errors #=> Array
823
949
  # resp.errors[0].identifier #=> String
@@ -836,6 +962,18 @@ module Aws::ComputeOptimizer
836
962
  # Returns the projected utilization metrics of Amazon EC2 instance
837
963
  # recommendations.
838
964
  #
965
+ # <note markdown="1"> The `Cpu` and `Memory` metrics are the only projected utilization
966
+ # metrics returned when you run this action. Additionally, the `Memory`
967
+ # metric is returned only for resources that have the unified CloudWatch
968
+ # agent installed on them. For more information, see [Enabling Memory
969
+ # Utilization with the CloudWatch Agent][1].
970
+ #
971
+ # </note>
972
+ #
973
+ #
974
+ #
975
+ # [1]: https://docs.aws.amazon.com/compute-optimizer/latest/ug/metrics.html#cw-agent
976
+ #
839
977
  # @option params [required, String] :instance_arn
840
978
  # The Amazon Resource Name (ARN) of the instances for which to return
841
979
  # recommendation projected metrics.
@@ -872,7 +1010,7 @@ module Aws::ComputeOptimizer
872
1010
  # resp.recommended_option_projected_metrics[0].recommended_instance_type #=> String
873
1011
  # resp.recommended_option_projected_metrics[0].rank #=> Integer
874
1012
  # resp.recommended_option_projected_metrics[0].projected_metrics #=> Array
875
- # resp.recommended_option_projected_metrics[0].projected_metrics[0].name #=> String, one of "Cpu", "Memory"
1013
+ # resp.recommended_option_projected_metrics[0].projected_metrics[0].name #=> String, one of "Cpu", "Memory", "EBS_READ_OPS_PER_SECOND", "EBS_WRITE_OPS_PER_SECOND", "EBS_READ_BYTES_PER_SECOND", "EBS_WRITE_BYTES_PER_SECOND"
876
1014
  # resp.recommended_option_projected_metrics[0].projected_metrics[0].timestamps #=> Array
877
1015
  # resp.recommended_option_projected_metrics[0].projected_metrics[0].timestamps[0] #=> Time
878
1016
  # resp.recommended_option_projected_metrics[0].projected_metrics[0].values #=> Array
@@ -890,9 +1028,9 @@ module Aws::ComputeOptimizer
890
1028
  # Returns the enrollment (opt in) status of an account to the AWS
891
1029
  # Compute Optimizer service.
892
1030
  #
893
- # If the account is the master account of an organization, this action
894
- # also confirms the enrollment status of member accounts within the
895
- # organization.
1031
+ # If the account is the management account of an organization, this
1032
+ # action also confirms the enrollment status of member accounts within
1033
+ # the organization.
896
1034
  #
897
1035
  # @return [Types::GetEnrollmentStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
898
1036
  #
@@ -926,7 +1064,7 @@ module Aws::ComputeOptimizer
926
1064
  # The IDs of the AWS accounts for which to return recommendation
927
1065
  # summaries.
928
1066
  #
929
- # If your account is the master account of an organization, use this
1067
+ # If your account is the management account of an organization, use this
930
1068
  # parameter to specify the member accounts for which you want to return
931
1069
  # recommendation summaries.
932
1070
  #
@@ -962,7 +1100,7 @@ module Aws::ComputeOptimizer
962
1100
  # resp.recommendation_summaries[0].summaries #=> Array
963
1101
  # resp.recommendation_summaries[0].summaries[0].name #=> String, one of "Underprovisioned", "Overprovisioned", "Optimized", "NotOptimized"
964
1102
  # resp.recommendation_summaries[0].summaries[0].value #=> Float
965
- # resp.recommendation_summaries[0].recommendation_resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup"
1103
+ # resp.recommendation_summaries[0].recommendation_resource_type #=> String, one of "Ec2Instance", "AutoScalingGroup", "EbsVolume"
966
1104
  # resp.recommendation_summaries[0].account_id #=> String
967
1105
  #
968
1106
  # @see http://docs.aws.amazon.com/goto/WebAPI/compute-optimizer-2019-11-01/GetRecommendationSummaries AWS API Documentation
@@ -977,8 +1115,8 @@ module Aws::ComputeOptimizer
977
1115
  # Updates the enrollment (opt in) status of an account to the AWS
978
1116
  # Compute Optimizer service.
979
1117
  #
980
- # If the account is a master account of an organization, this action can
981
- # also be used to enroll member accounts within the organization.
1118
+ # If the account is a management account of an organization, this action
1119
+ # can also be used to enroll member accounts within the organization.
982
1120
  #
983
1121
  # @option params [required, String] :status
984
1122
  # The new enrollment status of the account.
@@ -988,7 +1126,7 @@ module Aws::ComputeOptimizer
988
1126
  #
989
1127
  # @option params [Boolean] :include_member_accounts
990
1128
  # Indicates whether to enroll member accounts of the organization if the
991
- # your account is the master account of an organization.
1129
+ # your account is the management account of an organization.
992
1130
  #
993
1131
  # @return [Types::UpdateEnrollmentStatusResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
994
1132
  #
@@ -1029,7 +1167,7 @@ module Aws::ComputeOptimizer
1029
1167
  params: params,
1030
1168
  config: config)
1031
1169
  context[:gem_name] = 'aws-sdk-computeoptimizer'
1032
- context[:gem_version] = '1.5.0'
1170
+ context[:gem_version] = '1.10.0'
1033
1171
  Seahorse::Client::Request.new(handlers, context)
1034
1172
  end
1035
1173
 
@@ -33,6 +33,13 @@ module Aws::ComputeOptimizer
33
33
  DestinationBucket = Shapes::StringShape.new(name: 'DestinationBucket')
34
34
  DestinationKey = Shapes::StringShape.new(name: 'DestinationKey')
35
35
  DestinationKeyPrefix = Shapes::StringShape.new(name: 'DestinationKeyPrefix')
36
+ EBSFilter = Shapes::StructureShape.new(name: 'EBSFilter')
37
+ EBSFilterName = Shapes::StringShape.new(name: 'EBSFilterName')
38
+ EBSFilters = Shapes::ListShape.new(name: 'EBSFilters')
39
+ EBSFinding = Shapes::StringShape.new(name: 'EBSFinding')
40
+ EBSMetricName = Shapes::StringShape.new(name: 'EBSMetricName')
41
+ EBSUtilizationMetric = Shapes::StructureShape.new(name: 'EBSUtilizationMetric')
42
+ EBSUtilizationMetrics = Shapes::ListShape.new(name: 'EBSUtilizationMetrics')
36
43
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
37
44
  ExportAutoScalingGroupRecommendationsRequest = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsRequest')
38
45
  ExportAutoScalingGroupRecommendationsResponse = Shapes::StructureShape.new(name: 'ExportAutoScalingGroupRecommendationsResponse')
@@ -53,6 +60,8 @@ module Aws::ComputeOptimizer
53
60
  Finding = Shapes::StringShape.new(name: 'Finding')
54
61
  GetAutoScalingGroupRecommendationsRequest = Shapes::StructureShape.new(name: 'GetAutoScalingGroupRecommendationsRequest')
55
62
  GetAutoScalingGroupRecommendationsResponse = Shapes::StructureShape.new(name: 'GetAutoScalingGroupRecommendationsResponse')
63
+ GetEBSVolumeRecommendationsRequest = Shapes::StructureShape.new(name: 'GetEBSVolumeRecommendationsRequest')
64
+ GetEBSVolumeRecommendationsResponse = Shapes::StructureShape.new(name: 'GetEBSVolumeRecommendationsResponse')
56
65
  GetEC2InstanceRecommendationsRequest = Shapes::StructureShape.new(name: 'GetEC2InstanceRecommendationsRequest')
57
66
  GetEC2InstanceRecommendationsResponse = Shapes::StructureShape.new(name: 'GetEC2InstanceRecommendationsResponse')
58
67
  GetEC2RecommendationProjectedMetricsRequest = Shapes::StructureShape.new(name: 'GetEC2RecommendationProjectedMetricsRequest')
@@ -132,6 +141,19 @@ module Aws::ComputeOptimizer
132
141
  UpdateEnrollmentStatusResponse = Shapes::StructureShape.new(name: 'UpdateEnrollmentStatusResponse')
133
142
  UtilizationMetric = Shapes::StructureShape.new(name: 'UtilizationMetric')
134
143
  UtilizationMetrics = Shapes::ListShape.new(name: 'UtilizationMetrics')
144
+ VolumeArn = Shapes::StringShape.new(name: 'VolumeArn')
145
+ VolumeArns = Shapes::ListShape.new(name: 'VolumeArns')
146
+ VolumeBaselineIOPS = Shapes::IntegerShape.new(name: 'VolumeBaselineIOPS')
147
+ VolumeBaselineThroughput = Shapes::IntegerShape.new(name: 'VolumeBaselineThroughput')
148
+ VolumeBurstIOPS = Shapes::IntegerShape.new(name: 'VolumeBurstIOPS')
149
+ VolumeBurstThroughput = Shapes::IntegerShape.new(name: 'VolumeBurstThroughput')
150
+ VolumeConfiguration = Shapes::StructureShape.new(name: 'VolumeConfiguration')
151
+ VolumeRecommendation = Shapes::StructureShape.new(name: 'VolumeRecommendation')
152
+ VolumeRecommendationOption = Shapes::StructureShape.new(name: 'VolumeRecommendationOption')
153
+ VolumeRecommendationOptions = Shapes::ListShape.new(name: 'VolumeRecommendationOptions')
154
+ VolumeRecommendations = Shapes::ListShape.new(name: 'VolumeRecommendations')
155
+ VolumeSize = Shapes::IntegerShape.new(name: 'VolumeSize')
156
+ VolumeType = Shapes::StringShape.new(name: 'VolumeType')
135
157
 
136
158
  AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
137
159
  AccessDeniedException.struct_class = Types::AccessDeniedException
@@ -177,6 +199,19 @@ module Aws::ComputeOptimizer
177
199
  DescribeRecommendationExportJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
178
200
  DescribeRecommendationExportJobsResponse.struct_class = Types::DescribeRecommendationExportJobsResponse
179
201
 
202
+ EBSFilter.add_member(:name, Shapes::ShapeRef.new(shape: EBSFilterName, location_name: "name"))
203
+ EBSFilter.add_member(:values, Shapes::ShapeRef.new(shape: FilterValues, location_name: "values"))
204
+ EBSFilter.struct_class = Types::EBSFilter
205
+
206
+ EBSFilters.member = Shapes::ShapeRef.new(shape: EBSFilter)
207
+
208
+ EBSUtilizationMetric.add_member(:name, Shapes::ShapeRef.new(shape: EBSMetricName, location_name: "name"))
209
+ EBSUtilizationMetric.add_member(:statistic, Shapes::ShapeRef.new(shape: MetricStatistic, location_name: "statistic"))
210
+ EBSUtilizationMetric.add_member(:value, Shapes::ShapeRef.new(shape: MetricValue, location_name: "value"))
211
+ EBSUtilizationMetric.struct_class = Types::EBSUtilizationMetric
212
+
213
+ EBSUtilizationMetrics.member = Shapes::ShapeRef.new(shape: EBSUtilizationMetric)
214
+
180
215
  ExportAutoScalingGroupRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
181
216
  ExportAutoScalingGroupRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: Filters, location_name: "filters"))
182
217
  ExportAutoScalingGroupRecommendationsRequest.add_member(:fields_to_export, Shapes::ShapeRef.new(shape: ExportableAutoScalingGroupFields, location_name: "fieldsToExport"))
@@ -228,6 +263,18 @@ module Aws::ComputeOptimizer
228
263
  GetAutoScalingGroupRecommendationsResponse.add_member(:errors, Shapes::ShapeRef.new(shape: GetRecommendationErrors, location_name: "errors"))
229
264
  GetAutoScalingGroupRecommendationsResponse.struct_class = Types::GetAutoScalingGroupRecommendationsResponse
230
265
 
266
+ GetEBSVolumeRecommendationsRequest.add_member(:volume_arns, Shapes::ShapeRef.new(shape: VolumeArns, location_name: "volumeArns"))
267
+ GetEBSVolumeRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
268
+ GetEBSVolumeRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
269
+ GetEBSVolumeRecommendationsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: EBSFilters, location_name: "filters"))
270
+ GetEBSVolumeRecommendationsRequest.add_member(:account_ids, Shapes::ShapeRef.new(shape: AccountIds, location_name: "accountIds"))
271
+ GetEBSVolumeRecommendationsRequest.struct_class = Types::GetEBSVolumeRecommendationsRequest
272
+
273
+ GetEBSVolumeRecommendationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
274
+ GetEBSVolumeRecommendationsResponse.add_member(:volume_recommendations, Shapes::ShapeRef.new(shape: VolumeRecommendations, location_name: "volumeRecommendations"))
275
+ GetEBSVolumeRecommendationsResponse.add_member(:errors, Shapes::ShapeRef.new(shape: GetRecommendationErrors, location_name: "errors"))
276
+ GetEBSVolumeRecommendationsResponse.struct_class = Types::GetEBSVolumeRecommendationsResponse
277
+
231
278
  GetEC2InstanceRecommendationsRequest.add_member(:instance_arns, Shapes::ShapeRef.new(shape: InstanceArns, location_name: "instanceArns"))
232
279
  GetEC2InstanceRecommendationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
233
280
  GetEC2InstanceRecommendationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "maxResults"))
@@ -403,6 +450,35 @@ module Aws::ComputeOptimizer
403
450
 
404
451
  UtilizationMetrics.member = Shapes::ShapeRef.new(shape: UtilizationMetric)
405
452
 
453
+ VolumeArns.member = Shapes::ShapeRef.new(shape: VolumeArn)
454
+
455
+ VolumeConfiguration.add_member(:volume_type, Shapes::ShapeRef.new(shape: VolumeType, location_name: "volumeType"))
456
+ VolumeConfiguration.add_member(:volume_size, Shapes::ShapeRef.new(shape: VolumeSize, location_name: "volumeSize"))
457
+ VolumeConfiguration.add_member(:volume_baseline_iops, Shapes::ShapeRef.new(shape: VolumeBaselineIOPS, location_name: "volumeBaselineIOPS"))
458
+ VolumeConfiguration.add_member(:volume_burst_iops, Shapes::ShapeRef.new(shape: VolumeBurstIOPS, location_name: "volumeBurstIOPS"))
459
+ VolumeConfiguration.add_member(:volume_baseline_throughput, Shapes::ShapeRef.new(shape: VolumeBaselineThroughput, location_name: "volumeBaselineThroughput"))
460
+ VolumeConfiguration.add_member(:volume_burst_throughput, Shapes::ShapeRef.new(shape: VolumeBurstThroughput, location_name: "volumeBurstThroughput"))
461
+ VolumeConfiguration.struct_class = Types::VolumeConfiguration
462
+
463
+ VolumeRecommendation.add_member(:volume_arn, Shapes::ShapeRef.new(shape: VolumeArn, location_name: "volumeArn"))
464
+ VolumeRecommendation.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "accountId"))
465
+ VolumeRecommendation.add_member(:current_configuration, Shapes::ShapeRef.new(shape: VolumeConfiguration, location_name: "currentConfiguration"))
466
+ VolumeRecommendation.add_member(:finding, Shapes::ShapeRef.new(shape: EBSFinding, location_name: "finding"))
467
+ VolumeRecommendation.add_member(:utilization_metrics, Shapes::ShapeRef.new(shape: EBSUtilizationMetrics, location_name: "utilizationMetrics"))
468
+ VolumeRecommendation.add_member(:look_back_period_in_days, Shapes::ShapeRef.new(shape: LookBackPeriodInDays, location_name: "lookBackPeriodInDays"))
469
+ VolumeRecommendation.add_member(:volume_recommendation_options, Shapes::ShapeRef.new(shape: VolumeRecommendationOptions, location_name: "volumeRecommendationOptions"))
470
+ VolumeRecommendation.add_member(:last_refresh_timestamp, Shapes::ShapeRef.new(shape: LastRefreshTimestamp, location_name: "lastRefreshTimestamp"))
471
+ VolumeRecommendation.struct_class = Types::VolumeRecommendation
472
+
473
+ VolumeRecommendationOption.add_member(:configuration, Shapes::ShapeRef.new(shape: VolumeConfiguration, location_name: "configuration"))
474
+ VolumeRecommendationOption.add_member(:performance_risk, Shapes::ShapeRef.new(shape: PerformanceRisk, location_name: "performanceRisk"))
475
+ VolumeRecommendationOption.add_member(:rank, Shapes::ShapeRef.new(shape: Rank, location_name: "rank"))
476
+ VolumeRecommendationOption.struct_class = Types::VolumeRecommendationOption
477
+
478
+ VolumeRecommendationOptions.member = Shapes::ShapeRef.new(shape: VolumeRecommendationOption)
479
+
480
+ VolumeRecommendations.member = Shapes::ShapeRef.new(shape: VolumeRecommendation)
481
+
406
482
 
407
483
  # @api private
408
484
  API = Seahorse::Model::Api.new.tap do |api|
@@ -486,6 +562,22 @@ module Aws::ComputeOptimizer
486
562
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
487
563
  end)
488
564
 
565
+ api.add_operation(:get_ebs_volume_recommendations, Seahorse::Model::Operation.new.tap do |o|
566
+ o.name = "GetEBSVolumeRecommendations"
567
+ o.http_method = "POST"
568
+ o.http_request_uri = "/"
569
+ o.input = Shapes::ShapeRef.new(shape: GetEBSVolumeRecommendationsRequest)
570
+ o.output = Shapes::ShapeRef.new(shape: GetEBSVolumeRecommendationsResponse)
571
+ o.errors << Shapes::ShapeRef.new(shape: OptInRequiredException)
572
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
573
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
574
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
575
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterValueException)
576
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
577
+ o.errors << Shapes::ShapeRef.new(shape: MissingAuthenticationToken)
578
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
579
+ end)
580
+
489
581
  api.add_operation(:get_ec2_instance_recommendations, Seahorse::Model::Operation.new.tap do |o|
490
582
  o.name = "GetEC2InstanceRecommendations"
491
583
  o.http_method = "POST"