/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the compute-optimizer-2019-11-01.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.ComputeOptimizer.Model;
namespace Amazon.ComputeOptimizer
{
///
/// Interface for accessing ComputeOptimizer
///
/// Compute Optimizer is a service that analyzes the configuration and utilization metrics
/// of your Amazon Web Services compute resources, such as Amazon EC2 instances, Amazon
/// EC2 Auto Scaling groups, Lambda functions, Amazon EBS volumes, and Amazon ECS services
/// on Fargate. It reports whether your resources are optimal, and generates optimization
/// recommendations to reduce the cost and improve the performance of your workloads.
/// Compute Optimizer also provides recent utilization metric data, in addition to projected
/// utilization metric data for the recommendations, which you can use to evaluate which
/// recommendation provides the best price-performance trade-off. The analysis of your
/// usage patterns can help you decide when to move or resize your running resources,
/// and still meet your performance and capacity requirements. For more information about
/// Compute Optimizer, including the required permissions to use the service, see the
/// Compute Optimizer
/// User Guide.
///
public partial interface IAmazonComputeOptimizer : IAmazonService, IDisposable
{
#if AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
IComputeOptimizerPaginatorFactory Paginators { get; }
#endif
#region DeleteRecommendationPreferences
///
/// Deletes a recommendation preference, such as enhanced infrastructure metrics.
///
///
///
/// For more information, see Activating
/// enhanced infrastructure metrics in the Compute Optimizer User Guide.
///
///
/// Container for the necessary parameters to execute the DeleteRecommendationPreferences service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteRecommendationPreferences service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// A resource that is required for the action doesn't exist.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for DeleteRecommendationPreferences Operation
Task DeleteRecommendationPreferencesAsync(DeleteRecommendationPreferencesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DescribeRecommendationExportJobs
///
/// Describes recommendation export jobs created in the last seven days.
///
///
///
/// Use the ExportAutoScalingGroupRecommendations or ExportEC2InstanceRecommendations
/// actions to request an export of your recommendations. Then use the DescribeRecommendationExportJobs
/// action to view your export jobs.
///
///
/// Container for the necessary parameters to execute the DescribeRecommendationExportJobs service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeRecommendationExportJobs service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// A resource that is required for the action doesn't exist.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for DescribeRecommendationExportJobs Operation
Task DescribeRecommendationExportJobsAsync(DescribeRecommendationExportJobsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ExportAutoScalingGroupRecommendations
///
/// Exports optimization recommendations for Auto Scaling groups.
///
///
///
/// Recommendations are exported in a comma-separated values (.csv) file, and its metadata
/// in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple
/// Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting
/// Recommendations in the Compute Optimizer User Guide.
///
///
///
/// You can have only one Auto Scaling group export job in progress per Amazon Web Services
/// Region.
///
///
/// Container for the necessary parameters to execute the ExportAutoScalingGroupRecommendations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ExportAutoScalingGroupRecommendations service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request exceeds a limit of the service.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for ExportAutoScalingGroupRecommendations Operation
Task ExportAutoScalingGroupRecommendationsAsync(ExportAutoScalingGroupRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ExportEBSVolumeRecommendations
///
/// Exports optimization recommendations for Amazon EBS volumes.
///
///
///
/// Recommendations are exported in a comma-separated values (.csv) file, and its metadata
/// in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple
/// Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting
/// Recommendations in the Compute Optimizer User Guide.
///
///
///
/// You can have only one Amazon EBS volume export job in progress per Amazon Web Services
/// Region.
///
///
/// Container for the necessary parameters to execute the ExportEBSVolumeRecommendations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ExportEBSVolumeRecommendations service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request exceeds a limit of the service.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for ExportEBSVolumeRecommendations Operation
Task ExportEBSVolumeRecommendationsAsync(ExportEBSVolumeRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ExportEC2InstanceRecommendations
///
/// Exports optimization recommendations for Amazon EC2 instances.
///
///
///
/// Recommendations are exported in a comma-separated values (.csv) file, and its metadata
/// in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple
/// Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting
/// Recommendations in the Compute Optimizer User Guide.
///
///
///
/// You can have only one Amazon EC2 instance export job in progress per Amazon Web Services
/// Region.
///
///
/// Container for the necessary parameters to execute the ExportEC2InstanceRecommendations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ExportEC2InstanceRecommendations service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request exceeds a limit of the service.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for ExportEC2InstanceRecommendations Operation
Task ExportEC2InstanceRecommendationsAsync(ExportEC2InstanceRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ExportECSServiceRecommendations
///
/// Exports optimization recommendations for Amazon ECS services on Fargate.
///
///
///
/// Recommendations are exported in a CSV file, and its metadata in a JSON file, to an
/// existing Amazon Simple Storage Service (Amazon S3) bucket that you specify. For more
/// information, see Exporting
/// Recommendations in the Compute Optimizer User Guide.
///
///
///
/// You can only have one Amazon ECS service export job in progress per Amazon Web Services
/// Region.
///
///
/// Container for the necessary parameters to execute the ExportECSServiceRecommendations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ExportECSServiceRecommendations service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request exceeds a limit of the service.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for ExportECSServiceRecommendations Operation
Task ExportECSServiceRecommendationsAsync(ExportECSServiceRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ExportLambdaFunctionRecommendations
///
/// Exports optimization recommendations for Lambda functions.
///
///
///
/// Recommendations are exported in a comma-separated values (.csv) file, and its metadata
/// in a JavaScript Object Notation (JSON) (.json) file, to an existing Amazon Simple
/// Storage Service (Amazon S3) bucket that you specify. For more information, see Exporting
/// Recommendations in the Compute Optimizer User Guide.
///
///
///
/// You can have only one Lambda function export job in progress per Amazon Web Services
/// Region.
///
///
/// Container for the necessary parameters to execute the ExportLambdaFunctionRecommendations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ExportLambdaFunctionRecommendations service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request exceeds a limit of the service.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for ExportLambdaFunctionRecommendations Operation
Task ExportLambdaFunctionRecommendationsAsync(ExportLambdaFunctionRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetAutoScalingGroupRecommendations
///
/// Returns Auto Scaling group recommendations.
///
///
///
/// Compute Optimizer generates recommendations for Amazon EC2 Auto Scaling groups that
/// meet a specific set of requirements. For more information, see the Supported
/// resources and requirements in the Compute Optimizer User Guide.
///
///
/// Container for the necessary parameters to execute the GetAutoScalingGroupRecommendations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAutoScalingGroupRecommendations service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// A resource that is required for the action doesn't exist.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetAutoScalingGroupRecommendations Operation
Task GetAutoScalingGroupRecommendationsAsync(GetAutoScalingGroupRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetEBSVolumeRecommendations
///
/// Returns Amazon Elastic Block Store (Amazon EBS) volume recommendations.
///
///
///
/// Compute Optimizer generates recommendations for Amazon EBS volumes that meet a specific
/// set of requirements. For more information, see the Supported
/// resources and requirements in the Compute Optimizer User Guide.
///
///
/// Container for the necessary parameters to execute the GetEBSVolumeRecommendations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetEBSVolumeRecommendations service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// A resource that is required for the action doesn't exist.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetEBSVolumeRecommendations Operation
Task GetEBSVolumeRecommendationsAsync(GetEBSVolumeRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetEC2InstanceRecommendations
///
/// Returns Amazon EC2 instance recommendations.
///
///
///
/// Compute Optimizer generates recommendations for Amazon Elastic Compute Cloud (Amazon
/// EC2) instances that meet a specific set of requirements. For more information, see
/// the Supported
/// resources and requirements in the Compute Optimizer User Guide.
///
///
/// Container for the necessary parameters to execute the GetEC2InstanceRecommendations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetEC2InstanceRecommendations service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// A resource that is required for the action doesn't exist.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetEC2InstanceRecommendations Operation
Task GetEC2InstanceRecommendationsAsync(GetEC2InstanceRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetEC2RecommendationProjectedMetrics
///
/// Returns the projected utilization metrics of Amazon EC2 instance recommendations.
///
///
///
/// The Cpu
and Memory
metrics are the only projected utilization
/// metrics returned when you run this action. Additionally, the Memory
metric
/// is returned only for resources that have the unified CloudWatch agent installed on
/// them. For more information, see Enabling
/// Memory Utilization with the CloudWatch Agent.
///
///
///
/// Container for the necessary parameters to execute the GetEC2RecommendationProjectedMetrics service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetEC2RecommendationProjectedMetrics service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// A resource that is required for the action doesn't exist.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetEC2RecommendationProjectedMetrics Operation
Task GetEC2RecommendationProjectedMetricsAsync(GetEC2RecommendationProjectedMetricsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetECSServiceRecommendationProjectedMetrics
///
/// Returns the projected metrics of Amazon ECS service recommendations.
///
/// Container for the necessary parameters to execute the GetECSServiceRecommendationProjectedMetrics service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetECSServiceRecommendationProjectedMetrics service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// A resource that is required for the action doesn't exist.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetECSServiceRecommendationProjectedMetrics Operation
Task GetECSServiceRecommendationProjectedMetricsAsync(GetECSServiceRecommendationProjectedMetricsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetECSServiceRecommendations
///
/// Returns Amazon ECS service recommendations.
///
///
///
/// Compute Optimizer generates recommendations for Amazon ECS services on Fargate that
/// meet a specific set of requirements. For more information, see the Supported
/// resources and requirements in the Compute Optimizer User Guide.
///
///
/// Container for the necessary parameters to execute the GetECSServiceRecommendations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetECSServiceRecommendations service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// A resource that is required for the action doesn't exist.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetECSServiceRecommendations Operation
Task GetECSServiceRecommendationsAsync(GetECSServiceRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetEffectiveRecommendationPreferences
///
/// Returns the recommendation preferences that are in effect for a given resource, such
/// as enhanced infrastructure metrics. Considers all applicable preferences that you
/// might have set at the resource, account, and organization level.
///
///
///
/// When you create a recommendation preference, you can set its status to Active
/// or Inactive
. Use this action to view the recommendation preferences that
/// are in effect, or Active
.
///
///
/// Container for the necessary parameters to execute the GetEffectiveRecommendationPreferences service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetEffectiveRecommendationPreferences service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// A resource that is required for the action doesn't exist.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetEffectiveRecommendationPreferences Operation
Task GetEffectiveRecommendationPreferencesAsync(GetEffectiveRecommendationPreferencesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetEnrollmentStatus
///
/// Returns the enrollment (opt in) status of an account to the Compute Optimizer service.
///
///
///
/// If the account is the management account of an organization, this action also confirms
/// the enrollment status of member accounts of the organization. Use the GetEnrollmentStatusesForOrganization
/// action to get detailed information about the enrollment status of member accounts
/// of an organization.
///
///
/// Container for the necessary parameters to execute the GetEnrollmentStatus service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetEnrollmentStatus service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetEnrollmentStatus Operation
Task GetEnrollmentStatusAsync(GetEnrollmentStatusRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetEnrollmentStatusesForOrganization
///
/// Returns the Compute Optimizer enrollment (opt-in) status of organization member accounts,
/// if your account is an organization management account.
///
///
///
/// To get the enrollment status of standalone accounts, use the GetEnrollmentStatus
/// action.
///
///
/// Container for the necessary parameters to execute the GetEnrollmentStatusesForOrganization service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetEnrollmentStatusesForOrganization service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetEnrollmentStatusesForOrganization Operation
Task GetEnrollmentStatusesForOrganizationAsync(GetEnrollmentStatusesForOrganizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetLambdaFunctionRecommendations
///
/// Returns Lambda function recommendations.
///
///
///
/// Compute Optimizer generates recommendations for functions that meet a specific set
/// of requirements. For more information, see the Supported
/// resources and requirements in the Compute Optimizer User Guide.
///
///
/// Container for the necessary parameters to execute the GetLambdaFunctionRecommendations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetLambdaFunctionRecommendations service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request exceeds a limit of the service.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetLambdaFunctionRecommendations Operation
Task GetLambdaFunctionRecommendationsAsync(GetLambdaFunctionRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetRecommendationPreferences
///
/// Returns existing recommendation preferences, such as enhanced infrastructure metrics.
///
///
///
/// Use the scope
parameter to specify which preferences to return. You can
/// specify to return preferences for an organization, a specific account ID, or a specific
/// EC2 instance or Auto Scaling group Amazon Resource Name (ARN).
///
///
///
/// For more information, see Activating
/// enhanced infrastructure metrics in the Compute Optimizer User Guide.
///
///
/// Container for the necessary parameters to execute the GetRecommendationPreferences service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetRecommendationPreferences service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// A resource that is required for the action doesn't exist.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetRecommendationPreferences Operation
Task GetRecommendationPreferencesAsync(GetRecommendationPreferencesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetRecommendationSummaries
///
/// Returns the optimization findings for an account.
///
///
///
/// It returns the number of:
///
/// -
///
/// Amazon EC2 instances in an account that are
Underprovisioned
, Overprovisioned
,
/// or Optimized
.
///
/// -
///
/// Auto Scaling groups in an account that are
NotOptimized
, or Optimized
.
///
/// -
///
/// Amazon EBS volumes in an account that are
NotOptimized
, or Optimized
.
///
/// -
///
/// Lambda functions in an account that are
NotOptimized
, or Optimized
.
///
/// -
///
/// Amazon ECS services in an account that are
Underprovisioned
, Overprovisioned
,
/// or Optimized
.
///
///
///
/// Container for the necessary parameters to execute the GetRecommendationSummaries service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetRecommendationSummaries service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for GetRecommendationSummaries Operation
Task GetRecommendationSummariesAsync(GetRecommendationSummariesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region PutRecommendationPreferences
///
/// Creates a new recommendation preference or updates an existing recommendation preference,
/// such as enhanced infrastructure metrics.
///
///
///
/// For more information, see Activating
/// enhanced infrastructure metrics in the Compute Optimizer User Guide.
///
///
/// Container for the necessary parameters to execute the PutRecommendationPreferences service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutRecommendationPreferences service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The account is not opted in to Compute Optimizer.
///
///
/// A resource that is required for the action doesn't exist.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for PutRecommendationPreferences Operation
Task PutRecommendationPreferencesAsync(PutRecommendationPreferencesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateEnrollmentStatus
///
/// Updates the enrollment (opt in and opt out) status of an account to the Compute Optimizer
/// service.
///
///
///
/// If the account is a management account of an organization, this action can also be
/// used to enroll member accounts of the organization.
///
///
///
/// You must have the appropriate permissions to opt in to Compute Optimizer, to view
/// its recommendations, and to opt out. For more information, see Controlling
/// access with Amazon Web Services Identity and Access Management in the Compute
/// Optimizer User Guide.
///
///
///
/// When you opt in, Compute Optimizer automatically creates a service-linked role in
/// your account to access its data. For more information, see Using
/// Service-Linked Roles for Compute Optimizer in the Compute Optimizer User Guide.
///
///
/// Container for the necessary parameters to execute the UpdateEnrollmentStatus service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateEnrollmentStatus service method, as returned by ComputeOptimizer.
///
/// You do not have sufficient access to perform this action.
///
///
/// An internal error has occurred. Try your call again.
///
///
/// The value supplied for the input parameter is out of range or not valid.
///
///
/// The request must contain either a valid (registered) Amazon Web Services access key
/// ID or X.509 certificate.
///
///
/// The request has failed due to a temporary failure of the server.
///
///
/// The request was denied due to request throttling.
///
/// REST API Reference for UpdateEnrollmentStatus Operation
Task UpdateEnrollmentStatusAsync(UpdateEnrollmentStatusRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}