aws-sdk-computeoptimizer 1.5.0 → 1.10.0

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