/* * 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 } }