/*
* 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.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Net;
using Amazon.ComputeOptimizer.Model;
using Amazon.ComputeOptimizer.Model.Internal.MarshallTransformations;
using Amazon.ComputeOptimizer.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.ComputeOptimizer
{
///
/// Implementation 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 class AmazonComputeOptimizerClient : AmazonServiceClient, IAmazonComputeOptimizer
{
private static IServiceMetadata serviceMetadata = new AmazonComputeOptimizerMetadata();
#region Constructors
///
/// Constructs AmazonComputeOptimizerClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
public AmazonComputeOptimizerClient()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonComputeOptimizerConfig()) { }
///
/// Constructs AmazonComputeOptimizerClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The region to connect.
public AmazonComputeOptimizerClient(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonComputeOptimizerConfig{RegionEndpoint = region}) { }
///
/// Constructs AmazonComputeOptimizerClient with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The AmazonComputeOptimizerClient Configuration Object
public AmazonComputeOptimizerClient(AmazonComputeOptimizerConfig config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonComputeOptimizerClient with AWS Credentials
///
/// AWS Credentials
public AmazonComputeOptimizerClient(AWSCredentials credentials)
: this(credentials, new AmazonComputeOptimizerConfig())
{
}
///
/// Constructs AmazonComputeOptimizerClient with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonComputeOptimizerClient(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonComputeOptimizerConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonComputeOptimizerClient with AWS Credentials and an
/// AmazonComputeOptimizerClient Configuration object.
///
/// AWS Credentials
/// The AmazonComputeOptimizerClient Configuration Object
public AmazonComputeOptimizerClient(AWSCredentials credentials, AmazonComputeOptimizerConfig clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonComputeOptimizerClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonComputeOptimizerClient(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonComputeOptimizerConfig())
{
}
///
/// Constructs AmazonComputeOptimizerClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonComputeOptimizerClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonComputeOptimizerConfig() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonComputeOptimizerClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonComputeOptimizerClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonComputeOptimizerClient Configuration Object
public AmazonComputeOptimizerClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonComputeOptimizerConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonComputeOptimizerClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonComputeOptimizerClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonComputeOptimizerConfig())
{
}
///
/// Constructs AmazonComputeOptimizerClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The region to connect.
public AmazonComputeOptimizerClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonComputeOptimizerConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonComputeOptimizerClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonComputeOptimizerClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonComputeOptimizerClient Configuration Object
public AmazonComputeOptimizerClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonComputeOptimizerConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
{
}
#endregion
#if AWS_ASYNC_ENUMERABLES_API
private IComputeOptimizerPaginatorFactory _paginators;
///
/// Paginators for the service
///
public IComputeOptimizerPaginatorFactory Paginators
{
get
{
if (this._paginators == null)
{
this._paginators = new ComputeOptimizerPaginatorFactory(this);
}
return this._paginators;
}
}
#endif
#region Overrides
///
/// Creates the signer for the service.
///
protected override AbstractAWSSigner CreateSigner()
{
return new AWS4Signer();
}
///
/// Customizes the runtime pipeline.
///
/// Runtime pipeline for the current client.
protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
{
pipeline.RemoveHandler();
pipeline.AddHandlerAfter(new AmazonComputeOptimizerEndpointResolver());
}
///
/// Capture metadata for the service.
///
protected override IServiceMetadata ServiceMetadata
{
get
{
return serviceMetadata;
}
}
#endregion
#region Dispose
///
/// Disposes the service client.
///
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
#endregion
#region DeleteRecommendationPreferences
internal virtual DeleteRecommendationPreferencesResponse DeleteRecommendationPreferences(DeleteRecommendationPreferencesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteRecommendationPreferencesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteRecommendationPreferencesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task DeleteRecommendationPreferencesAsync(DeleteRecommendationPreferencesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteRecommendationPreferencesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteRecommendationPreferencesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeRecommendationExportJobs
internal virtual DescribeRecommendationExportJobsResponse DescribeRecommendationExportJobs(DescribeRecommendationExportJobsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeRecommendationExportJobsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeRecommendationExportJobsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task DescribeRecommendationExportJobsAsync(DescribeRecommendationExportJobsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeRecommendationExportJobsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeRecommendationExportJobsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ExportAutoScalingGroupRecommendations
internal virtual ExportAutoScalingGroupRecommendationsResponse ExportAutoScalingGroupRecommendations(ExportAutoScalingGroupRecommendationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportAutoScalingGroupRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportAutoScalingGroupRecommendationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task ExportAutoScalingGroupRecommendationsAsync(ExportAutoScalingGroupRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportAutoScalingGroupRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportAutoScalingGroupRecommendationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ExportEBSVolumeRecommendations
internal virtual ExportEBSVolumeRecommendationsResponse ExportEBSVolumeRecommendations(ExportEBSVolumeRecommendationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportEBSVolumeRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportEBSVolumeRecommendationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task ExportEBSVolumeRecommendationsAsync(ExportEBSVolumeRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportEBSVolumeRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportEBSVolumeRecommendationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ExportEC2InstanceRecommendations
internal virtual ExportEC2InstanceRecommendationsResponse ExportEC2InstanceRecommendations(ExportEC2InstanceRecommendationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportEC2InstanceRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportEC2InstanceRecommendationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task ExportEC2InstanceRecommendationsAsync(ExportEC2InstanceRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportEC2InstanceRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportEC2InstanceRecommendationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ExportECSServiceRecommendations
internal virtual ExportECSServiceRecommendationsResponse ExportECSServiceRecommendations(ExportECSServiceRecommendationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportECSServiceRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportECSServiceRecommendationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task ExportECSServiceRecommendationsAsync(ExportECSServiceRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportECSServiceRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportECSServiceRecommendationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ExportLambdaFunctionRecommendations
internal virtual ExportLambdaFunctionRecommendationsResponse ExportLambdaFunctionRecommendations(ExportLambdaFunctionRecommendationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportLambdaFunctionRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportLambdaFunctionRecommendationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task ExportLambdaFunctionRecommendationsAsync(ExportLambdaFunctionRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ExportLambdaFunctionRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExportLambdaFunctionRecommendationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetAutoScalingGroupRecommendations
internal virtual GetAutoScalingGroupRecommendationsResponse GetAutoScalingGroupRecommendations(GetAutoScalingGroupRecommendationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAutoScalingGroupRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAutoScalingGroupRecommendationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetAutoScalingGroupRecommendationsAsync(GetAutoScalingGroupRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetAutoScalingGroupRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetAutoScalingGroupRecommendationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetEBSVolumeRecommendations
internal virtual GetEBSVolumeRecommendationsResponse GetEBSVolumeRecommendations(GetEBSVolumeRecommendationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEBSVolumeRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEBSVolumeRecommendationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetEBSVolumeRecommendationsAsync(GetEBSVolumeRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEBSVolumeRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEBSVolumeRecommendationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetEC2InstanceRecommendations
internal virtual GetEC2InstanceRecommendationsResponse GetEC2InstanceRecommendations(GetEC2InstanceRecommendationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEC2InstanceRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEC2InstanceRecommendationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetEC2InstanceRecommendationsAsync(GetEC2InstanceRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEC2InstanceRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEC2InstanceRecommendationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetEC2RecommendationProjectedMetrics
internal virtual GetEC2RecommendationProjectedMetricsResponse GetEC2RecommendationProjectedMetrics(GetEC2RecommendationProjectedMetricsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEC2RecommendationProjectedMetricsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEC2RecommendationProjectedMetricsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetEC2RecommendationProjectedMetricsAsync(GetEC2RecommendationProjectedMetricsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEC2RecommendationProjectedMetricsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEC2RecommendationProjectedMetricsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetECSServiceRecommendationProjectedMetrics
internal virtual GetECSServiceRecommendationProjectedMetricsResponse GetECSServiceRecommendationProjectedMetrics(GetECSServiceRecommendationProjectedMetricsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetECSServiceRecommendationProjectedMetricsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetECSServiceRecommendationProjectedMetricsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetECSServiceRecommendationProjectedMetricsAsync(GetECSServiceRecommendationProjectedMetricsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetECSServiceRecommendationProjectedMetricsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetECSServiceRecommendationProjectedMetricsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetECSServiceRecommendations
internal virtual GetECSServiceRecommendationsResponse GetECSServiceRecommendations(GetECSServiceRecommendationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetECSServiceRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetECSServiceRecommendationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetECSServiceRecommendationsAsync(GetECSServiceRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetECSServiceRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetECSServiceRecommendationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetEffectiveRecommendationPreferences
internal virtual GetEffectiveRecommendationPreferencesResponse GetEffectiveRecommendationPreferences(GetEffectiveRecommendationPreferencesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEffectiveRecommendationPreferencesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEffectiveRecommendationPreferencesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetEffectiveRecommendationPreferencesAsync(GetEffectiveRecommendationPreferencesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEffectiveRecommendationPreferencesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEffectiveRecommendationPreferencesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetEnrollmentStatus
internal virtual GetEnrollmentStatusResponse GetEnrollmentStatus(GetEnrollmentStatusRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEnrollmentStatusRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEnrollmentStatusResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetEnrollmentStatusAsync(GetEnrollmentStatusRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEnrollmentStatusRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEnrollmentStatusResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetEnrollmentStatusesForOrganization
internal virtual GetEnrollmentStatusesForOrganizationResponse GetEnrollmentStatusesForOrganization(GetEnrollmentStatusesForOrganizationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEnrollmentStatusesForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEnrollmentStatusesForOrganizationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetEnrollmentStatusesForOrganizationAsync(GetEnrollmentStatusesForOrganizationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetEnrollmentStatusesForOrganizationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetEnrollmentStatusesForOrganizationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetLambdaFunctionRecommendations
internal virtual GetLambdaFunctionRecommendationsResponse GetLambdaFunctionRecommendations(GetLambdaFunctionRecommendationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetLambdaFunctionRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetLambdaFunctionRecommendationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetLambdaFunctionRecommendationsAsync(GetLambdaFunctionRecommendationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetLambdaFunctionRecommendationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetLambdaFunctionRecommendationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetRecommendationPreferences
internal virtual GetRecommendationPreferencesResponse GetRecommendationPreferences(GetRecommendationPreferencesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRecommendationPreferencesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRecommendationPreferencesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetRecommendationPreferencesAsync(GetRecommendationPreferencesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRecommendationPreferencesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRecommendationPreferencesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetRecommendationSummaries
internal virtual GetRecommendationSummariesResponse GetRecommendationSummaries(GetRecommendationSummariesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRecommendationSummariesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRecommendationSummariesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task GetRecommendationSummariesAsync(GetRecommendationSummariesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRecommendationSummariesRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRecommendationSummariesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutRecommendationPreferences
internal virtual PutRecommendationPreferencesResponse PutRecommendationPreferences(PutRecommendationPreferencesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutRecommendationPreferencesRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutRecommendationPreferencesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task PutRecommendationPreferencesAsync(PutRecommendationPreferencesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutRecommendationPreferencesRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutRecommendationPreferencesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateEnrollmentStatus
internal virtual UpdateEnrollmentStatusResponse UpdateEnrollmentStatus(UpdateEnrollmentStatusRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateEnrollmentStatusRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateEnrollmentStatusResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// 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
public virtual Task UpdateEnrollmentStatusAsync(UpdateEnrollmentStatusRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateEnrollmentStatusRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateEnrollmentStatusResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
}
}