/*
* 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 autoscaling-2011-01-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.AutoScaling.Model;
using Amazon.AutoScaling.Model.Internal.MarshallTransformations;
using Amazon.AutoScaling.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.AutoScaling
{
///
/// Implementation for accessing AutoScaling
///
/// Amazon EC2 Auto Scaling
///
/// Amazon EC2 Auto Scaling is designed to automatically launch and terminate EC2 instances
/// based on user-defined scaling policies, scheduled actions, and health checks.
///
///
///
/// For more information, see the Amazon
/// EC2 Auto Scaling User Guide and the Amazon
/// EC2 Auto Scaling API Reference.
///
///
public partial class AmazonAutoScalingClient : AmazonServiceClient, IAmazonAutoScaling
{
private static IServiceMetadata serviceMetadata = new AmazonAutoScalingMetadata();
#region Constructors
///
/// Constructs AmazonAutoScalingClient 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 AmazonAutoScalingClient()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonAutoScalingConfig()) { }
///
/// Constructs AmazonAutoScalingClient 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 AmazonAutoScalingClient(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonAutoScalingConfig{RegionEndpoint = region}) { }
///
/// Constructs AmazonAutoScalingClient 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 AmazonAutoScalingClient Configuration Object
public AmazonAutoScalingClient(AmazonAutoScalingConfig config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonAutoScalingClient with AWS Credentials
///
/// AWS Credentials
public AmazonAutoScalingClient(AWSCredentials credentials)
: this(credentials, new AmazonAutoScalingConfig())
{
}
///
/// Constructs AmazonAutoScalingClient with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonAutoScalingClient(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonAutoScalingConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonAutoScalingClient with AWS Credentials and an
/// AmazonAutoScalingClient Configuration object.
///
/// AWS Credentials
/// The AmazonAutoScalingClient Configuration Object
public AmazonAutoScalingClient(AWSCredentials credentials, AmazonAutoScalingConfig clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonAutoScalingClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonAutoScalingConfig())
{
}
///
/// Constructs AmazonAutoScalingClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonAutoScalingConfig() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonAutoScalingClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonAutoScalingClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonAutoScalingClient Configuration Object
public AmazonAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonAutoScalingConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonAutoScalingClient with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonAutoScalingConfig())
{
}
///
/// Constructs AmazonAutoScalingClient 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 AmazonAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonAutoScalingConfig{RegionEndpoint = region})
{
}
///
/// Constructs AmazonAutoScalingClient with AWS Access Key ID, AWS Secret Key and an
/// AmazonAutoScalingClient Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonAutoScalingClient Configuration Object
public AmazonAutoScalingClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonAutoScalingConfig clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
{
}
#endregion
#if AWS_ASYNC_ENUMERABLES_API
private IAutoScalingPaginatorFactory _paginators;
///
/// Paginators for the service
///
public IAutoScalingPaginatorFactory Paginators
{
get
{
if (this._paginators == null)
{
this._paginators = new AutoScalingPaginatorFactory(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 AmazonAutoScalingEndpointResolver());
}
///
/// 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 AttachInstances
internal virtual AttachInstancesResponse AttachInstances(AttachInstancesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = AttachInstancesRequestMarshaller.Instance;
options.ResponseUnmarshaller = AttachInstancesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Attaches one or more EC2 instances to the specified Auto Scaling group.
///
///
///
/// When you attach instances, Amazon EC2 Auto Scaling increases the desired capacity
/// of the group by the number of instances being attached. If the number of instances
/// being attached plus the desired capacity of the group exceeds the maximum size of
/// the group, the operation fails.
///
///
///
/// If there is a Classic Load Balancer attached to your Auto Scaling group, the instances
/// are also registered with the load balancer. If there are target groups attached to
/// your Auto Scaling group, the instances are also registered with the target groups.
///
///
///
/// For more information, see Attach
/// EC2 instances to your Auto Scaling group in the Amazon EC2 Auto Scaling User
/// Guide.
///
///
/// Container for the necessary parameters to execute the AttachInstances service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the AttachInstances service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The service-linked role is not yet ready for use.
///
/// REST API Reference for AttachInstances Operation
public virtual Task AttachInstancesAsync(AttachInstancesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = AttachInstancesRequestMarshaller.Instance;
options.ResponseUnmarshaller = AttachInstancesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region AttachLoadBalancers
internal virtual AttachLoadBalancersResponse AttachLoadBalancers(AttachLoadBalancersRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = AttachLoadBalancersRequestMarshaller.Instance;
options.ResponseUnmarshaller = AttachLoadBalancersResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
///
///
/// This API operation is superseded by AttachTrafficSources, which can attach
/// multiple traffic sources types. We recommend using AttachTrafficSources
/// to simplify how you manage traffic sources. However, we continue to support AttachLoadBalancers
.
/// You can use both the original AttachLoadBalancers
API operation and AttachTrafficSources
/// on the same Auto Scaling group.
///
///
///
/// Attaches one or more Classic Load Balancers to the specified Auto Scaling group. Amazon
/// EC2 Auto Scaling registers the running instances with these Classic Load Balancers.
///
///
///
/// To describe the load balancers for an Auto Scaling group, call the DescribeLoadBalancers
/// API. To detach a load balancer from the Auto Scaling group, call the DetachLoadBalancers
/// API.
///
///
///
/// This operation is additive and does not detach existing Classic Load Balancers or
/// target groups from the Auto Scaling group.
///
///
///
/// For more information, see Use
/// Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling
/// group in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the AttachLoadBalancers service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the AttachLoadBalancers service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The service-linked role is not yet ready for use.
///
/// REST API Reference for AttachLoadBalancers Operation
public virtual Task AttachLoadBalancersAsync(AttachLoadBalancersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = AttachLoadBalancersRequestMarshaller.Instance;
options.ResponseUnmarshaller = AttachLoadBalancersResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region AttachLoadBalancerTargetGroups
internal virtual AttachLoadBalancerTargetGroupsResponse AttachLoadBalancerTargetGroups(AttachLoadBalancerTargetGroupsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = AttachLoadBalancerTargetGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = AttachLoadBalancerTargetGroupsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
///
///
/// This API operation is superseded by AttachTrafficSources, which can attach
/// multiple traffic sources types. We recommend using AttachTrafficSources
/// to simplify how you manage traffic sources. However, we continue to support AttachLoadBalancerTargetGroups
.
/// You can use both the original AttachLoadBalancerTargetGroups
API operation
/// and AttachTrafficSources
on the same Auto Scaling group.
///
///
///
/// Attaches one or more target groups to the specified Auto Scaling group.
///
///
///
/// This operation is used with the following load balancer types:
///
/// -
///
/// Application Load Balancer - Operates at the application layer (layer 7) and supports
/// HTTP and HTTPS.
///
///
-
///
/// Network Load Balancer - Operates at the transport layer (layer 4) and supports TCP,
/// TLS, and UDP.
///
///
-
///
/// Gateway Load Balancer - Operates at the network layer (layer 3).
///
///
///
/// To describe the target groups for an Auto Scaling group, call the DescribeLoadBalancerTargetGroups
/// API. To detach the target group from the Auto Scaling group, call the DetachLoadBalancerTargetGroups
/// API.
///
///
///
/// This operation is additive and does not detach existing target groups or Classic Load
/// Balancers from the Auto Scaling group.
///
///
///
/// For more information, see Use
/// Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling
/// group in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the AttachLoadBalancerTargetGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the AttachLoadBalancerTargetGroups service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The service-linked role is not yet ready for use.
///
/// REST API Reference for AttachLoadBalancerTargetGroups Operation
public virtual Task AttachLoadBalancerTargetGroupsAsync(AttachLoadBalancerTargetGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = AttachLoadBalancerTargetGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = AttachLoadBalancerTargetGroupsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region AttachTrafficSources
internal virtual AttachTrafficSourcesResponse AttachTrafficSources(AttachTrafficSourcesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = AttachTrafficSourcesRequestMarshaller.Instance;
options.ResponseUnmarshaller = AttachTrafficSourcesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Attaches one or more traffic sources to the specified Auto Scaling group.
///
///
///
/// You can use any of the following as traffic sources for an Auto Scaling group:
///
/// -
///
/// Application Load Balancer
///
///
-
///
/// Classic Load Balancer
///
///
-
///
/// Gateway Load Balancer
///
///
-
///
/// Network Load Balancer
///
///
-
///
/// VPC Lattice
///
///
///
/// This operation is additive and does not detach existing traffic sources from the Auto
/// Scaling group.
///
///
///
/// After the operation completes, use the DescribeTrafficSources API to return
/// details about the state of the attachments between traffic sources and your Auto Scaling
/// group. To detach a traffic source from the Auto Scaling group, call the DetachTrafficSources
/// API.
///
///
/// Container for the necessary parameters to execute the AttachTrafficSources service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the AttachTrafficSources service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The service-linked role is not yet ready for use.
///
/// REST API Reference for AttachTrafficSources Operation
public virtual Task AttachTrafficSourcesAsync(AttachTrafficSourcesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = AttachTrafficSourcesRequestMarshaller.Instance;
options.ResponseUnmarshaller = AttachTrafficSourcesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region BatchDeleteScheduledAction
internal virtual BatchDeleteScheduledActionResponse BatchDeleteScheduledAction(BatchDeleteScheduledActionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = BatchDeleteScheduledActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = BatchDeleteScheduledActionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes one or more scheduled actions for the specified Auto Scaling group.
///
/// Container for the necessary parameters to execute the BatchDeleteScheduledAction service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the BatchDeleteScheduledAction service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for BatchDeleteScheduledAction Operation
public virtual Task BatchDeleteScheduledActionAsync(BatchDeleteScheduledActionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = BatchDeleteScheduledActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = BatchDeleteScheduledActionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region BatchPutScheduledUpdateGroupAction
internal virtual BatchPutScheduledUpdateGroupActionResponse BatchPutScheduledUpdateGroupAction(BatchPutScheduledUpdateGroupActionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = BatchPutScheduledUpdateGroupActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = BatchPutScheduledUpdateGroupActionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates or updates one or more scheduled scaling actions for an Auto Scaling group.
///
/// Container for the necessary parameters to execute the BatchPutScheduledUpdateGroupAction service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the BatchPutScheduledUpdateGroupAction service method, as returned by AutoScaling.
///
/// You already have an Auto Scaling group or launch configuration with this name.
///
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for BatchPutScheduledUpdateGroupAction Operation
public virtual Task BatchPutScheduledUpdateGroupActionAsync(BatchPutScheduledUpdateGroupActionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = BatchPutScheduledUpdateGroupActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = BatchPutScheduledUpdateGroupActionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CancelInstanceRefresh
internal virtual CancelInstanceRefreshResponse CancelInstanceRefresh(CancelInstanceRefreshRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CancelInstanceRefreshRequestMarshaller.Instance;
options.ResponseUnmarshaller = CancelInstanceRefreshResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Cancels an instance refresh or rollback that is in progress. If an instance refresh
/// or rollback is not in progress, an ActiveInstanceRefreshNotFound
error
/// occurs.
///
///
///
/// This operation is part of the instance
/// refresh feature in Amazon EC2 Auto Scaling, which helps you update instances in
/// your Auto Scaling group after you make configuration changes.
///
///
///
/// When you cancel an instance refresh, this does not roll back any changes that it made.
/// Use the RollbackInstanceRefresh API to roll back instead.
///
///
/// Container for the necessary parameters to execute the CancelInstanceRefresh service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CancelInstanceRefresh service method, as returned by AutoScaling.
///
/// The request failed because an active instance refresh or rollback for the specified
/// Auto Scaling group was not found.
///
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for CancelInstanceRefresh Operation
public virtual Task CancelInstanceRefreshAsync(CancelInstanceRefreshRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CancelInstanceRefreshRequestMarshaller.Instance;
options.ResponseUnmarshaller = CancelInstanceRefreshResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CompleteLifecycleAction
internal virtual CompleteLifecycleActionResponse CompleteLifecycleAction(CompleteLifecycleActionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CompleteLifecycleActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = CompleteLifecycleActionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Completes the lifecycle action for the specified token or instance with the specified
/// result.
///
///
///
/// This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling
/// group:
///
/// -
///
/// (Optional) Create a launch template or launch configuration with a user data script
/// that runs while an instance is in a wait state due to a lifecycle hook.
///
///
-
///
/// (Optional) Create a Lambda function and a rule that allows Amazon EventBridge to invoke
/// your Lambda function when an instance is put into a wait state due to a lifecycle
/// hook.
///
///
-
///
/// (Optional) Create a notification target and an IAM role. The target can be either
/// an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling
/// to publish lifecycle notifications to the target.
///
///
-
///
/// Create the lifecycle hook. Specify whether the hook is used when the instances launch
/// or terminate.
///
///
-
///
/// If you need more time, record the lifecycle action heartbeat to keep the instance
/// in a wait state.
///
///
-
///
/// If you finish before the timeout period ends, send a callback by using the CompleteLifecycleAction
/// API call.
///
///
///
/// For more information, see Complete
/// a lifecycle action in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the CompleteLifecycleAction service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CompleteLifecycleAction service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for CompleteLifecycleAction Operation
public virtual Task CompleteLifecycleActionAsync(CompleteLifecycleActionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CompleteLifecycleActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = CompleteLifecycleActionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateAutoScalingGroup
internal virtual CreateAutoScalingGroupResponse CreateAutoScalingGroup(CreateAutoScalingGroupRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateAutoScalingGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateAutoScalingGroupResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// We strongly recommend using a launch template when calling this operation to ensure
/// full functionality for Amazon EC2 Auto Scaling and Amazon EC2.
///
///
///
/// Creates an Auto Scaling group with the specified name and attributes.
///
///
///
/// If you exceed your maximum limit of Auto Scaling groups, the call fails. To query
/// this limit, call the DescribeAccountLimits API. For information about updating
/// this limit, see Quotas
/// for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// For introductory exercises for creating an Auto Scaling group, see Getting
/// started with Amazon EC2 Auto Scaling and Tutorial:
/// Set up a scaled and load-balanced application in the Amazon EC2 Auto Scaling
/// User Guide. For more information, see Auto
/// Scaling groups in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// Every Auto Scaling group has three size properties (DesiredCapacity
,
/// MaxSize
, and MinSize
). Usually, you set these sizes based
/// on a specific number of instances. However, if you configure a mixed instances policy
/// that defines weights for the instance types, you must specify these sizes with the
/// same units that you use for weighting instances.
///
///
/// Container for the necessary parameters to execute the CreateAutoScalingGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateAutoScalingGroup service method, as returned by AutoScaling.
///
/// You already have an Auto Scaling group or launch configuration with this name.
///
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The service-linked role is not yet ready for use.
///
/// REST API Reference for CreateAutoScalingGroup Operation
public virtual Task CreateAutoScalingGroupAsync(CreateAutoScalingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateAutoScalingGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateAutoScalingGroupResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateLaunchConfiguration
internal virtual CreateLaunchConfigurationResponse CreateLaunchConfiguration(CreateLaunchConfigurationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateLaunchConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateLaunchConfigurationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates a launch configuration.
///
///
///
/// If you exceed your maximum limit of launch configurations, the call fails. To query
/// this limit, call the DescribeAccountLimits API. For information about updating
/// this limit, see Quotas
/// for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// For more information, see Launch
/// configurations in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group
/// using either a launch template or a launch configuration. We strongly recommend that
/// you do not use launch configurations. They do not provide full functionality for Amazon
/// EC2 Auto Scaling or Amazon EC2. For information about using launch templates, see
/// Launch
/// templates in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// Container for the necessary parameters to execute the CreateLaunchConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateLaunchConfiguration service method, as returned by AutoScaling.
///
/// You already have an Auto Scaling group or launch configuration with this name.
///
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for CreateLaunchConfiguration Operation
public virtual Task CreateLaunchConfigurationAsync(CreateLaunchConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateLaunchConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateLaunchConfigurationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateOrUpdateTags
internal virtual CreateOrUpdateTagsResponse CreateOrUpdateTags(CreateOrUpdateTagsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateOrUpdateTagsRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateOrUpdateTagsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates or updates tags for the specified Auto Scaling group.
///
///
///
/// When you specify a tag with a key that already exists, the operation overwrites the
/// previous tag definition, and you do not get an error message.
///
///
///
/// For more information, see Tag
/// Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the CreateOrUpdateTags service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateOrUpdateTags service method, as returned by AutoScaling.
///
/// You already have an Auto Scaling group or launch configuration with this name.
///
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The operation can't be performed because the resource is in use.
///
/// REST API Reference for CreateOrUpdateTags Operation
public virtual Task CreateOrUpdateTagsAsync(CreateOrUpdateTagsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateOrUpdateTagsRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateOrUpdateTagsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteAutoScalingGroup
internal virtual DeleteAutoScalingGroupResponse DeleteAutoScalingGroup(DeleteAutoScalingGroupRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteAutoScalingGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteAutoScalingGroupResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified Auto Scaling group.
///
///
///
/// If the group has instances or scaling activities in progress, you must specify the
/// option to force the deletion in order for it to succeed. The force delete operation
/// will also terminate the EC2 instances. If the group has a warm pool, the force delete
/// option also deletes the warm pool.
///
///
///
/// To remove instances from the Auto Scaling group before deleting it, call the DetachInstances
/// API with the list of instances and the option to decrement the desired capacity. This
/// ensures that Amazon EC2 Auto Scaling does not launch replacement instances.
///
///
///
/// To terminate all instances before deleting the Auto Scaling group, call the UpdateAutoScalingGroup
/// API and set the minimum size and desired capacity of the Auto Scaling group to zero.
///
///
///
/// If the group has scaling policies, deleting the group deletes the policies, the underlying
/// alarm actions, and any alarm that no longer has an associated action.
///
///
///
/// For more information, see Delete
/// your Auto Scaling infrastructure in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DeleteAutoScalingGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteAutoScalingGroup service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The operation can't be performed because the resource is in use.
///
///
/// The operation can't be performed because there are scaling activities in progress.
///
/// REST API Reference for DeleteAutoScalingGroup Operation
public virtual Task DeleteAutoScalingGroupAsync(DeleteAutoScalingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteAutoScalingGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteAutoScalingGroupResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteLaunchConfiguration
internal virtual DeleteLaunchConfigurationResponse DeleteLaunchConfiguration(DeleteLaunchConfigurationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteLaunchConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteLaunchConfigurationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified launch configuration.
///
///
///
/// The launch configuration must not be attached to an Auto Scaling group. When this
/// call completes, the launch configuration is no longer available for use.
///
///
/// Container for the necessary parameters to execute the DeleteLaunchConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteLaunchConfiguration service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The operation can't be performed because the resource is in use.
///
/// REST API Reference for DeleteLaunchConfiguration Operation
public virtual Task DeleteLaunchConfigurationAsync(DeleteLaunchConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteLaunchConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteLaunchConfigurationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteLifecycleHook
internal virtual DeleteLifecycleHookResponse DeleteLifecycleHook(DeleteLifecycleHookRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteLifecycleHookRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteLifecycleHookResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified lifecycle hook.
///
///
///
/// If there are any outstanding lifecycle actions, they are completed first (ABANDON
/// for launching instances, CONTINUE
for terminating instances).
///
///
/// Container for the necessary parameters to execute the DeleteLifecycleHook service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteLifecycleHook service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DeleteLifecycleHook Operation
public virtual Task DeleteLifecycleHookAsync(DeleteLifecycleHookRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteLifecycleHookRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteLifecycleHookResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteNotificationConfiguration
internal virtual DeleteNotificationConfigurationResponse DeleteNotificationConfiguration(DeleteNotificationConfigurationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteNotificationConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteNotificationConfigurationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified notification.
///
/// Container for the necessary parameters to execute the DeleteNotificationConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteNotificationConfiguration service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DeleteNotificationConfiguration Operation
public virtual Task DeleteNotificationConfigurationAsync(DeleteNotificationConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteNotificationConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteNotificationConfigurationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeletePolicy
internal virtual DeletePolicyResponse DeletePolicy(DeletePolicyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeletePolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeletePolicyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified scaling policy.
///
///
///
/// Deleting either a step scaling policy or a simple scaling policy deletes the underlying
/// alarm action, but does not delete the alarm, even if it no longer has an associated
/// action.
///
///
///
/// For more information, see Deleting
/// a scaling policy in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DeletePolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeletePolicy service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The service-linked role is not yet ready for use.
///
/// REST API Reference for DeletePolicy Operation
public virtual Task DeletePolicyAsync(DeletePolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeletePolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeletePolicyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteScheduledAction
internal virtual DeleteScheduledActionResponse DeleteScheduledAction(DeleteScheduledActionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteScheduledActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteScheduledActionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified scheduled action.
///
/// Container for the necessary parameters to execute the DeleteScheduledAction service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteScheduledAction service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DeleteScheduledAction Operation
public virtual Task DeleteScheduledActionAsync(DeleteScheduledActionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteScheduledActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteScheduledActionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteTags
internal virtual DeleteTagsResponse DeleteTags(DeleteTagsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteTagsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteTagsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified tags.
///
/// Container for the necessary parameters to execute the DeleteTags service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteTags service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The operation can't be performed because the resource is in use.
///
/// REST API Reference for DeleteTags Operation
public virtual Task DeleteTagsAsync(DeleteTagsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteTagsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteTagsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteWarmPool
internal virtual DeleteWarmPoolResponse DeleteWarmPool(DeleteWarmPoolRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteWarmPoolRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteWarmPoolResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the warm pool for the specified Auto Scaling group.
///
///
///
/// For more information, see Warm
/// pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DeleteWarmPool service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteWarmPool service method, as returned by AutoScaling.
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The operation can't be performed because the resource is in use.
///
///
/// The operation can't be performed because there are scaling activities in progress.
///
/// REST API Reference for DeleteWarmPool Operation
public virtual Task DeleteWarmPoolAsync(DeleteWarmPoolRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteWarmPoolRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteWarmPoolResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeAccountLimits
internal virtual DescribeAccountLimitsResponse DescribeAccountLimits()
{
return DescribeAccountLimits(new DescribeAccountLimitsRequest());
}
internal virtual DescribeAccountLimitsResponse DescribeAccountLimits(DescribeAccountLimitsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAccountLimitsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAccountLimitsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Describes the current Amazon EC2 Auto Scaling resource quotas for your account.
///
///
///
/// When you establish an Amazon Web Services account, the account has initial quotas
/// on the maximum number of Auto Scaling groups and launch configurations that you can
/// create in a given Region. For more information, see Quotas
/// for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAccountLimits service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeAccountLimits Operation
public virtual Task DescribeAccountLimitsAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeAccountLimitsAsync(new DescribeAccountLimitsRequest(), cancellationToken);
}
///
/// Describes the current Amazon EC2 Auto Scaling resource quotas for your account.
///
///
///
/// When you establish an Amazon Web Services account, the account has initial quotas
/// on the maximum number of Auto Scaling groups and launch configurations that you can
/// create in a given Region. For more information, see Quotas
/// for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DescribeAccountLimits service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAccountLimits service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeAccountLimits Operation
public virtual Task DescribeAccountLimitsAsync(DescribeAccountLimitsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAccountLimitsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAccountLimitsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeAdjustmentTypes
internal virtual DescribeAdjustmentTypesResponse DescribeAdjustmentTypes()
{
return DescribeAdjustmentTypes(new DescribeAdjustmentTypesRequest());
}
internal virtual DescribeAdjustmentTypesResponse DescribeAdjustmentTypes(DescribeAdjustmentTypesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAdjustmentTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAdjustmentTypesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Describes the available adjustment types for step scaling and simple scaling policies.
///
///
///
/// The following adjustment types are supported:
///
/// -
///
///
ChangeInCapacity
///
/// -
///
///
ExactCapacity
///
/// -
///
///
PercentChangeInCapacity
///
///
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAdjustmentTypes service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeAdjustmentTypes Operation
public virtual Task DescribeAdjustmentTypesAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeAdjustmentTypesAsync(new DescribeAdjustmentTypesRequest(), cancellationToken);
}
///
/// Describes the available adjustment types for step scaling and simple scaling policies.
///
///
///
/// The following adjustment types are supported:
///
/// -
///
///
ChangeInCapacity
///
/// -
///
///
ExactCapacity
///
/// -
///
///
PercentChangeInCapacity
///
///
///
/// Container for the necessary parameters to execute the DescribeAdjustmentTypes service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAdjustmentTypes service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeAdjustmentTypes Operation
public virtual Task DescribeAdjustmentTypesAsync(DescribeAdjustmentTypesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAdjustmentTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAdjustmentTypesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeAutoScalingGroups
internal virtual DescribeAutoScalingGroupsResponse DescribeAutoScalingGroups()
{
return DescribeAutoScalingGroups(new DescribeAutoScalingGroupsRequest());
}
internal virtual DescribeAutoScalingGroupsResponse DescribeAutoScalingGroups(DescribeAutoScalingGroupsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAutoScalingGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAutoScalingGroupsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about the Auto Scaling groups in the account and Region.
///
///
///
/// If you specify Auto Scaling group names, the output includes information for only
/// the specified Auto Scaling groups. If you specify filters, the output includes information
/// for only those Auto Scaling groups that meet the filter criteria. If you do not specify
/// group names or filters, the output includes information for all Auto Scaling groups.
///
///
///
///
/// This operation also returns information about instances in Auto Scaling groups. To
/// retrieve information about the instances in a warm pool, you must call the DescribeWarmPool
/// API.
///
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAutoScalingGroups service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeAutoScalingGroups Operation
public virtual Task DescribeAutoScalingGroupsAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeAutoScalingGroupsAsync(new DescribeAutoScalingGroupsRequest(), cancellationToken);
}
///
/// Gets information about the Auto Scaling groups in the account and Region.
///
///
///
/// If you specify Auto Scaling group names, the output includes information for only
/// the specified Auto Scaling groups. If you specify filters, the output includes information
/// for only those Auto Scaling groups that meet the filter criteria. If you do not specify
/// group names or filters, the output includes information for all Auto Scaling groups.
///
///
///
///
/// This operation also returns information about instances in Auto Scaling groups. To
/// retrieve information about the instances in a warm pool, you must call the DescribeWarmPool
/// API.
///
///
/// Container for the necessary parameters to execute the DescribeAutoScalingGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAutoScalingGroups service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeAutoScalingGroups Operation
public virtual Task DescribeAutoScalingGroupsAsync(DescribeAutoScalingGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAutoScalingGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAutoScalingGroupsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeAutoScalingInstances
internal virtual DescribeAutoScalingInstancesResponse DescribeAutoScalingInstances()
{
return DescribeAutoScalingInstances(new DescribeAutoScalingInstancesRequest());
}
internal virtual DescribeAutoScalingInstancesResponse DescribeAutoScalingInstances(DescribeAutoScalingInstancesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAutoScalingInstancesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAutoScalingInstancesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about the Auto Scaling instances in the account and Region.
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAutoScalingInstances service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeAutoScalingInstances Operation
public virtual Task DescribeAutoScalingInstancesAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeAutoScalingInstancesAsync(new DescribeAutoScalingInstancesRequest(), cancellationToken);
}
///
/// Gets information about the Auto Scaling instances in the account and Region.
///
/// Container for the necessary parameters to execute the DescribeAutoScalingInstances service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAutoScalingInstances service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeAutoScalingInstances Operation
public virtual Task DescribeAutoScalingInstancesAsync(DescribeAutoScalingInstancesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAutoScalingInstancesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAutoScalingInstancesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeAutoScalingNotificationTypes
internal virtual DescribeAutoScalingNotificationTypesResponse DescribeAutoScalingNotificationTypes()
{
return DescribeAutoScalingNotificationTypes(new DescribeAutoScalingNotificationTypesRequest());
}
internal virtual DescribeAutoScalingNotificationTypesResponse DescribeAutoScalingNotificationTypes(DescribeAutoScalingNotificationTypesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAutoScalingNotificationTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAutoScalingNotificationTypesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Describes the notification types that are supported by Amazon EC2 Auto Scaling.
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAutoScalingNotificationTypes service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeAutoScalingNotificationTypes Operation
public virtual Task DescribeAutoScalingNotificationTypesAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeAutoScalingNotificationTypesAsync(new DescribeAutoScalingNotificationTypesRequest(), cancellationToken);
}
///
/// Describes the notification types that are supported by Amazon EC2 Auto Scaling.
///
/// Container for the necessary parameters to execute the DescribeAutoScalingNotificationTypes service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAutoScalingNotificationTypes service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeAutoScalingNotificationTypes Operation
public virtual Task DescribeAutoScalingNotificationTypesAsync(DescribeAutoScalingNotificationTypesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAutoScalingNotificationTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAutoScalingNotificationTypesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeInstanceRefreshes
internal virtual DescribeInstanceRefreshesResponse DescribeInstanceRefreshes(DescribeInstanceRefreshesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeInstanceRefreshesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeInstanceRefreshesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about the instance refreshes for the specified Auto Scaling group.
///
///
///
/// This operation is part of the instance
/// refresh feature in Amazon EC2 Auto Scaling, which helps you update instances in
/// your Auto Scaling group after you make configuration changes.
///
///
///
/// To help you determine the status of an instance refresh, Amazon EC2 Auto Scaling returns
/// information about the instance refreshes you previously initiated, including their
/// status, start time, end time, the percentage of the instance refresh that is complete,
/// and the number of instances remaining to update before the instance refresh is complete.
/// If a rollback is initiated while an instance refresh is in progress, Amazon EC2 Auto
/// Scaling also returns information about the rollback of the instance refresh.
///
///
/// Container for the necessary parameters to execute the DescribeInstanceRefreshes service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeInstanceRefreshes service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeInstanceRefreshes Operation
public virtual Task DescribeInstanceRefreshesAsync(DescribeInstanceRefreshesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeInstanceRefreshesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeInstanceRefreshesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeLaunchConfigurations
internal virtual DescribeLaunchConfigurationsResponse DescribeLaunchConfigurations()
{
return DescribeLaunchConfigurations(new DescribeLaunchConfigurationsRequest());
}
internal virtual DescribeLaunchConfigurationsResponse DescribeLaunchConfigurations(DescribeLaunchConfigurationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeLaunchConfigurationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeLaunchConfigurationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about the launch configurations in the account and Region.
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeLaunchConfigurations service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeLaunchConfigurations Operation
public virtual Task DescribeLaunchConfigurationsAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeLaunchConfigurationsAsync(new DescribeLaunchConfigurationsRequest(), cancellationToken);
}
///
/// Gets information about the launch configurations in the account and Region.
///
/// Container for the necessary parameters to execute the DescribeLaunchConfigurations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeLaunchConfigurations service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeLaunchConfigurations Operation
public virtual Task DescribeLaunchConfigurationsAsync(DescribeLaunchConfigurationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeLaunchConfigurationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeLaunchConfigurationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeLifecycleHooks
internal virtual DescribeLifecycleHooksResponse DescribeLifecycleHooks(DescribeLifecycleHooksRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeLifecycleHooksRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeLifecycleHooksResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about the lifecycle hooks for the specified Auto Scaling group.
///
/// Container for the necessary parameters to execute the DescribeLifecycleHooks service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeLifecycleHooks service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeLifecycleHooks Operation
public virtual Task DescribeLifecycleHooksAsync(DescribeLifecycleHooksRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeLifecycleHooksRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeLifecycleHooksResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeLifecycleHookTypes
internal virtual DescribeLifecycleHookTypesResponse DescribeLifecycleHookTypes(DescribeLifecycleHookTypesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeLifecycleHookTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeLifecycleHookTypesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Describes the available types of lifecycle hooks.
///
///
///
/// The following hook types are supported:
///
/// -
///
///
autoscaling:EC2_INSTANCE_LAUNCHING
///
/// -
///
///
autoscaling:EC2_INSTANCE_TERMINATING
///
///
///
/// Container for the necessary parameters to execute the DescribeLifecycleHookTypes service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeLifecycleHookTypes service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeLifecycleHookTypes Operation
public virtual Task DescribeLifecycleHookTypesAsync(DescribeLifecycleHookTypesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeLifecycleHookTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeLifecycleHookTypesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeLoadBalancers
internal virtual DescribeLoadBalancersResponse DescribeLoadBalancers(DescribeLoadBalancersRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeLoadBalancersRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeLoadBalancersResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
///
///
/// This API operation is superseded by DescribeTrafficSources, which can describe
/// multiple traffic sources types. We recommend using DescribeTrafficSources
/// to simplify how you manage traffic sources. However, we continue to support DescribeLoadBalancers
.
/// You can use both the original DescribeLoadBalancers
API operation and
/// DescribeTrafficSources
on the same Auto Scaling group.
///
///
///
/// Gets information about the load balancers for the specified Auto Scaling group.
///
///
///
/// This operation describes only Classic Load Balancers. If you have Application Load
/// Balancers, Network Load Balancers, or Gateway Load Balancers, use the DescribeLoadBalancerTargetGroups
/// API instead.
///
///
///
/// To determine the attachment status of the load balancer, use the State
/// element in the response. When you attach a load balancer to an Auto Scaling group,
/// the initial State
value is Adding
. The state transitions
/// to Added
after all Auto Scaling instances are registered with the load
/// balancer. If Elastic Load Balancing health checks are enabled for the Auto Scaling
/// group, the state transitions to InService
after at least one Auto Scaling
/// instance passes the health check. When the load balancer is in the InService
/// state, Amazon EC2 Auto Scaling can terminate and replace any instances that are reported
/// as unhealthy. If no registered instances pass the health checks, the load balancer
/// doesn't enter the InService
state.
///
///
///
/// Load balancers also have an InService
state if you attach them in the
/// CreateAutoScalingGroup API call. If your load balancer state is InService
,
/// but it is not working properly, check the scaling activities by calling DescribeScalingActivities
/// and take any corrective actions necessary.
///
///
///
/// For help with failed health checks, see Troubleshooting
/// Amazon EC2 Auto Scaling: Health checks in the Amazon EC2 Auto Scaling User
/// Guide. For more information, see Use
/// Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling
/// group in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DescribeLoadBalancers service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeLoadBalancers service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeLoadBalancers Operation
public virtual Task DescribeLoadBalancersAsync(DescribeLoadBalancersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeLoadBalancersRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeLoadBalancersResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeLoadBalancerTargetGroups
internal virtual DescribeLoadBalancerTargetGroupsResponse DescribeLoadBalancerTargetGroups(DescribeLoadBalancerTargetGroupsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeLoadBalancerTargetGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeLoadBalancerTargetGroupsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
///
///
/// This API operation is superseded by DescribeTrafficSources, which can describe
/// multiple traffic sources types. We recommend using DetachTrafficSources
/// to simplify how you manage traffic sources. However, we continue to support DescribeLoadBalancerTargetGroups
.
/// You can use both the original DescribeLoadBalancerTargetGroups
API operation
/// and DescribeTrafficSources
on the same Auto Scaling group.
///
///
///
/// Gets information about the Elastic Load Balancing target groups for the specified
/// Auto Scaling group.
///
///
///
/// To determine the attachment status of the target group, use the State
/// element in the response. When you attach a target group to an Auto Scaling group,
/// the initial State
value is Adding
. The state transitions
/// to Added
after all Auto Scaling instances are registered with the target
/// group. If Elastic Load Balancing health checks are enabled for the Auto Scaling group,
/// the state transitions to InService
after at least one Auto Scaling instance
/// passes the health check. When the target group is in the InService
state,
/// Amazon EC2 Auto Scaling can terminate and replace any instances that are reported
/// as unhealthy. If no registered instances pass the health checks, the target group
/// doesn't enter the InService
state.
///
///
///
/// Target groups also have an InService
state if you attach them in the
/// CreateAutoScalingGroup API call. If your target group state is InService
,
/// but it is not working properly, check the scaling activities by calling DescribeScalingActivities
/// and take any corrective actions necessary.
///
///
///
/// For help with failed health checks, see Troubleshooting
/// Amazon EC2 Auto Scaling: Health checks in the Amazon EC2 Auto Scaling User
/// Guide. For more information, see Use
/// Elastic Load Balancing to distribute traffic across the instances in your Auto Scaling
/// group in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// You can use this operation to describe target groups that were attached by using AttachLoadBalancerTargetGroups,
/// but not for target groups that were attached by using AttachTrafficSources.
///
///
///
/// Container for the necessary parameters to execute the DescribeLoadBalancerTargetGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeLoadBalancerTargetGroups service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeLoadBalancerTargetGroups Operation
public virtual Task DescribeLoadBalancerTargetGroupsAsync(DescribeLoadBalancerTargetGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeLoadBalancerTargetGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeLoadBalancerTargetGroupsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeMetricCollectionTypes
internal virtual DescribeMetricCollectionTypesResponse DescribeMetricCollectionTypes()
{
return DescribeMetricCollectionTypes(new DescribeMetricCollectionTypesRequest());
}
internal virtual DescribeMetricCollectionTypesResponse DescribeMetricCollectionTypes(DescribeMetricCollectionTypesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeMetricCollectionTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeMetricCollectionTypesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Describes the available CloudWatch metrics for Amazon EC2 Auto Scaling.
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeMetricCollectionTypes service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeMetricCollectionTypes Operation
public virtual Task DescribeMetricCollectionTypesAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeMetricCollectionTypesAsync(new DescribeMetricCollectionTypesRequest(), cancellationToken);
}
///
/// Describes the available CloudWatch metrics for Amazon EC2 Auto Scaling.
///
/// Container for the necessary parameters to execute the DescribeMetricCollectionTypes service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeMetricCollectionTypes service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeMetricCollectionTypes Operation
public virtual Task DescribeMetricCollectionTypesAsync(DescribeMetricCollectionTypesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeMetricCollectionTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeMetricCollectionTypesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeNotificationConfigurations
internal virtual DescribeNotificationConfigurationsResponse DescribeNotificationConfigurations()
{
return DescribeNotificationConfigurations(new DescribeNotificationConfigurationsRequest());
}
internal virtual DescribeNotificationConfigurationsResponse DescribeNotificationConfigurations(DescribeNotificationConfigurationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeNotificationConfigurationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeNotificationConfigurationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about the Amazon SNS notifications that are configured for one or
/// more Auto Scaling groups.
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeNotificationConfigurations service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeNotificationConfigurations Operation
public virtual Task DescribeNotificationConfigurationsAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeNotificationConfigurationsAsync(new DescribeNotificationConfigurationsRequest(), cancellationToken);
}
///
/// Gets information about the Amazon SNS notifications that are configured for one or
/// more Auto Scaling groups.
///
/// Container for the necessary parameters to execute the DescribeNotificationConfigurations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeNotificationConfigurations service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeNotificationConfigurations Operation
public virtual Task DescribeNotificationConfigurationsAsync(DescribeNotificationConfigurationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeNotificationConfigurationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeNotificationConfigurationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribePolicies
internal virtual DescribePoliciesResponse DescribePolicies()
{
return DescribePolicies(new DescribePoliciesRequest());
}
internal virtual DescribePoliciesResponse DescribePolicies(DescribePoliciesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribePoliciesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribePoliciesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about the scaling policies in the account and Region.
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribePolicies service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The service-linked role is not yet ready for use.
///
/// REST API Reference for DescribePolicies Operation
public virtual Task DescribePoliciesAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribePoliciesAsync(new DescribePoliciesRequest(), cancellationToken);
}
///
/// Gets information about the scaling policies in the account and Region.
///
/// Container for the necessary parameters to execute the DescribePolicies service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribePolicies service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The service-linked role is not yet ready for use.
///
/// REST API Reference for DescribePolicies Operation
public virtual Task DescribePoliciesAsync(DescribePoliciesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribePoliciesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribePoliciesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeScalingActivities
internal virtual DescribeScalingActivitiesResponse DescribeScalingActivities()
{
return DescribeScalingActivities(new DescribeScalingActivitiesRequest());
}
internal virtual DescribeScalingActivitiesResponse DescribeScalingActivities(DescribeScalingActivitiesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScalingActivitiesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScalingActivitiesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about the scaling activities in the account and Region.
///
///
///
/// When scaling events occur, you see a record of the scaling activity in the scaling
/// activities. For more information, see Verifying
/// a scaling activity for an Auto Scaling group in the Amazon EC2 Auto Scaling
/// User Guide.
///
///
///
/// If the scaling event succeeds, the value of the StatusCode
element in
/// the response is Successful
. If an attempt to launch instances failed,
/// the StatusCode
value is Failed
or Cancelled
/// and the StatusMessage
element in the response indicates the cause of
/// the failure. For help interpreting the StatusMessage
, see Troubleshooting
/// Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScalingActivities service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeScalingActivities Operation
public virtual Task DescribeScalingActivitiesAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeScalingActivitiesAsync(new DescribeScalingActivitiesRequest(), cancellationToken);
}
///
/// Gets information about the scaling activities in the account and Region.
///
///
///
/// When scaling events occur, you see a record of the scaling activity in the scaling
/// activities. For more information, see Verifying
/// a scaling activity for an Auto Scaling group in the Amazon EC2 Auto Scaling
/// User Guide.
///
///
///
/// If the scaling event succeeds, the value of the StatusCode
element in
/// the response is Successful
. If an attempt to launch instances failed,
/// the StatusCode
value is Failed
or Cancelled
/// and the StatusMessage
element in the response indicates the cause of
/// the failure. For help interpreting the StatusMessage
, see Troubleshooting
/// Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DescribeScalingActivities service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScalingActivities service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeScalingActivities Operation
public virtual Task DescribeScalingActivitiesAsync(DescribeScalingActivitiesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScalingActivitiesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScalingActivitiesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeScalingProcessTypes
internal virtual DescribeScalingProcessTypesResponse DescribeScalingProcessTypes()
{
return DescribeScalingProcessTypes(new DescribeScalingProcessTypesRequest());
}
internal virtual DescribeScalingProcessTypesResponse DescribeScalingProcessTypes(DescribeScalingProcessTypesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScalingProcessTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScalingProcessTypesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Describes the scaling process types for use with the ResumeProcesses and SuspendProcesses
/// APIs.
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScalingProcessTypes service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeScalingProcessTypes Operation
public virtual Task DescribeScalingProcessTypesAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeScalingProcessTypesAsync(new DescribeScalingProcessTypesRequest(), cancellationToken);
}
///
/// Describes the scaling process types for use with the ResumeProcesses and SuspendProcesses
/// APIs.
///
/// Container for the necessary parameters to execute the DescribeScalingProcessTypes service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScalingProcessTypes service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeScalingProcessTypes Operation
public virtual Task DescribeScalingProcessTypesAsync(DescribeScalingProcessTypesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScalingProcessTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScalingProcessTypesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeScheduledActions
internal virtual DescribeScheduledActionsResponse DescribeScheduledActions()
{
return DescribeScheduledActions(new DescribeScheduledActionsRequest());
}
internal virtual DescribeScheduledActionsResponse DescribeScheduledActions(DescribeScheduledActionsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScheduledActionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScheduledActionsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about the scheduled actions that haven't run or that have not reached
/// their end time.
///
///
///
/// To describe the scaling activities for scheduled actions that have already run, call
/// the DescribeScalingActivities API.
///
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScheduledActions service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeScheduledActions Operation
public virtual Task DescribeScheduledActionsAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeScheduledActionsAsync(new DescribeScheduledActionsRequest(), cancellationToken);
}
///
/// Gets information about the scheduled actions that haven't run or that have not reached
/// their end time.
///
///
///
/// To describe the scaling activities for scheduled actions that have already run, call
/// the DescribeScalingActivities API.
///
///
/// Container for the necessary parameters to execute the DescribeScheduledActions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeScheduledActions service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeScheduledActions Operation
public virtual Task DescribeScheduledActionsAsync(DescribeScheduledActionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeScheduledActionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeScheduledActionsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeTags
internal virtual DescribeTagsResponse DescribeTags()
{
return DescribeTags(new DescribeTagsRequest());
}
internal virtual DescribeTagsResponse DescribeTags(DescribeTagsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeTagsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeTagsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Describes the specified tags.
///
///
///
/// You can use filters to limit the results. For example, you can query for the tags
/// for a specific Auto Scaling group. You can specify multiple values for a filter. A
/// tag must match at least one of the specified values for it to be included in the results.
///
///
///
/// You can also specify multiple filters. The result includes information for a particular
/// tag only if it matches all the filters. If there's no match, no special message is
/// returned.
///
///
///
/// For more information, see Tag
/// Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeTags service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeTags Operation
public virtual Task DescribeTagsAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeTagsAsync(new DescribeTagsRequest(), cancellationToken);
}
///
/// Describes the specified tags.
///
///
///
/// You can use filters to limit the results. For example, you can query for the tags
/// for a specific Auto Scaling group. You can specify multiple values for a filter. A
/// tag must match at least one of the specified values for it to be included in the results.
///
///
///
/// You can also specify multiple filters. The result includes information for a particular
/// tag only if it matches all the filters. If there's no match, no special message is
/// returned.
///
///
///
/// For more information, see Tag
/// Auto Scaling groups and instances in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DescribeTags service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeTags service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeTags Operation
public virtual Task DescribeTagsAsync(DescribeTagsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeTagsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeTagsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeTerminationPolicyTypes
internal virtual DescribeTerminationPolicyTypesResponse DescribeTerminationPolicyTypes()
{
return DescribeTerminationPolicyTypes(new DescribeTerminationPolicyTypesRequest());
}
internal virtual DescribeTerminationPolicyTypesResponse DescribeTerminationPolicyTypes(DescribeTerminationPolicyTypesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeTerminationPolicyTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeTerminationPolicyTypesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Describes the termination policies supported by Amazon EC2 Auto Scaling.
///
///
///
/// For more information, see Work
/// with Amazon EC2 Auto Scaling termination policies in the Amazon EC2 Auto Scaling
/// User Guide.
///
///
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeTerminationPolicyTypes service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeTerminationPolicyTypes Operation
public virtual Task DescribeTerminationPolicyTypesAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
return DescribeTerminationPolicyTypesAsync(new DescribeTerminationPolicyTypesRequest(), cancellationToken);
}
///
/// Describes the termination policies supported by Amazon EC2 Auto Scaling.
///
///
///
/// For more information, see Work
/// with Amazon EC2 Auto Scaling termination policies in the Amazon EC2 Auto Scaling
/// User Guide.
///
///
/// Container for the necessary parameters to execute the DescribeTerminationPolicyTypes service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeTerminationPolicyTypes service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeTerminationPolicyTypes Operation
public virtual Task DescribeTerminationPolicyTypesAsync(DescribeTerminationPolicyTypesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeTerminationPolicyTypesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeTerminationPolicyTypesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeTrafficSources
internal virtual DescribeTrafficSourcesResponse DescribeTrafficSources(DescribeTrafficSourcesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeTrafficSourcesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeTrafficSourcesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about the traffic sources for the specified Auto Scaling group.
///
///
///
/// You can optionally provide a traffic source type. If you provide a traffic source
/// type, then the results only include that traffic source type.
///
///
///
/// If you do not provide a traffic source type, then the results include all the traffic
/// sources for the specified Auto Scaling group.
///
///
/// Container for the necessary parameters to execute the DescribeTrafficSources service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeTrafficSources service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeTrafficSources Operation
public virtual Task DescribeTrafficSourcesAsync(DescribeTrafficSourcesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeTrafficSourcesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeTrafficSourcesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeWarmPool
internal virtual DescribeWarmPoolResponse DescribeWarmPool(DescribeWarmPoolRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeWarmPoolRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeWarmPoolResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets information about a warm pool and its instances.
///
///
///
/// For more information, see Warm
/// pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the DescribeWarmPool service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeWarmPool service method, as returned by AutoScaling.
///
/// The NextToken
value is not valid.
///
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DescribeWarmPool Operation
public virtual Task DescribeWarmPoolAsync(DescribeWarmPoolRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeWarmPoolRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeWarmPoolResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DetachInstances
internal virtual DetachInstancesResponse DetachInstances(DetachInstancesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DetachInstancesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DetachInstancesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Removes one or more instances from the specified Auto Scaling group.
///
///
///
/// After the instances are detached, you can manage them independent of the Auto Scaling
/// group.
///
///
///
/// If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto
/// Scaling launches instances to replace the ones that are detached.
///
///
///
/// If there is a Classic Load Balancer attached to the Auto Scaling group, the instances
/// are deregistered from the load balancer. If there are target groups attached to the
/// Auto Scaling group, the instances are deregistered from the target groups.
///
///
///
/// For more information, see Detach
/// EC2 instances from your Auto Scaling group in the Amazon EC2 Auto Scaling User
/// Guide.
///
///
/// Container for the necessary parameters to execute the DetachInstances service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DetachInstances service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DetachInstances Operation
public virtual Task DetachInstancesAsync(DetachInstancesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DetachInstancesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DetachInstancesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DetachLoadBalancers
internal virtual DetachLoadBalancersResponse DetachLoadBalancers(DetachLoadBalancersRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DetachLoadBalancersRequestMarshaller.Instance;
options.ResponseUnmarshaller = DetachLoadBalancersResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
///
///
/// This API operation is superseded by DetachTrafficSources, which can detach
/// multiple traffic sources types. We recommend using DetachTrafficSources
/// to simplify how you manage traffic sources. However, we continue to support DetachLoadBalancers
.
/// You can use both the original DetachLoadBalancers
API operation and DetachTrafficSources
/// on the same Auto Scaling group.
///
///
///
/// Detaches one or more Classic Load Balancers from the specified Auto Scaling group.
///
///
///
/// This operation detaches only Classic Load Balancers. If you have Application Load
/// Balancers, Network Load Balancers, or Gateway Load Balancers, use the DetachLoadBalancerTargetGroups
/// API instead.
///
///
///
/// When you detach a load balancer, it enters the Removing
state while deregistering
/// the instances in the group. When all instances are deregistered, then you can no longer
/// describe the load balancer using the DescribeLoadBalancers API call. The instances
/// remain running.
///
///
/// Container for the necessary parameters to execute the DetachLoadBalancers service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DetachLoadBalancers service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DetachLoadBalancers Operation
public virtual Task DetachLoadBalancersAsync(DetachLoadBalancersRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DetachLoadBalancersRequestMarshaller.Instance;
options.ResponseUnmarshaller = DetachLoadBalancersResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DetachLoadBalancerTargetGroups
internal virtual DetachLoadBalancerTargetGroupsResponse DetachLoadBalancerTargetGroups(DetachLoadBalancerTargetGroupsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DetachLoadBalancerTargetGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DetachLoadBalancerTargetGroupsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
///
///
/// This API operation is superseded by DetachTrafficSources, which can detach
/// multiple traffic sources types. We recommend using DetachTrafficSources
/// to simplify how you manage traffic sources. However, we continue to support DetachLoadBalancerTargetGroups
.
/// You can use both the original DetachLoadBalancerTargetGroups
API operation
/// and DetachTrafficSources
on the same Auto Scaling group.
///
///
///
/// Detaches one or more target groups from the specified Auto Scaling group.
///
///
///
/// When you detach a target group, it enters the Removing
state while deregistering
/// the instances in the group. When all instances are deregistered, then you can no longer
/// describe the target group using the DescribeLoadBalancerTargetGroups API call.
/// The instances remain running.
///
///
///
/// You can use this operation to detach target groups that were attached by using AttachLoadBalancerTargetGroups,
/// but not for target groups that were attached by using AttachTrafficSources.
///
///
///
/// Container for the necessary parameters to execute the DetachLoadBalancerTargetGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DetachLoadBalancerTargetGroups service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DetachLoadBalancerTargetGroups Operation
public virtual Task DetachLoadBalancerTargetGroupsAsync(DetachLoadBalancerTargetGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DetachLoadBalancerTargetGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DetachLoadBalancerTargetGroupsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DetachTrafficSources
internal virtual DetachTrafficSourcesResponse DetachTrafficSources(DetachTrafficSourcesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DetachTrafficSourcesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DetachTrafficSourcesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Detaches one or more traffic sources from the specified Auto Scaling group.
///
///
///
/// When you detach a traffic source, it enters the Removing
state while
/// deregistering the instances in the group. When all instances are deregistered, then
/// you can no longer describe the traffic source using the DescribeTrafficSources
/// API call. The instances continue to run.
///
///
/// Container for the necessary parameters to execute the DetachTrafficSources service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DetachTrafficSources service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DetachTrafficSources Operation
public virtual Task DetachTrafficSourcesAsync(DetachTrafficSourcesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DetachTrafficSourcesRequestMarshaller.Instance;
options.ResponseUnmarshaller = DetachTrafficSourcesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DisableMetricsCollection
internal virtual DisableMetricsCollectionResponse DisableMetricsCollection(DisableMetricsCollectionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DisableMetricsCollectionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DisableMetricsCollectionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Disables group metrics collection for the specified Auto Scaling group.
///
/// Container for the necessary parameters to execute the DisableMetricsCollection service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisableMetricsCollection service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for DisableMetricsCollection Operation
public virtual Task DisableMetricsCollectionAsync(DisableMetricsCollectionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DisableMetricsCollectionRequestMarshaller.Instance;
options.ResponseUnmarshaller = DisableMetricsCollectionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region EnableMetricsCollection
internal virtual EnableMetricsCollectionResponse EnableMetricsCollection(EnableMetricsCollectionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = EnableMetricsCollectionRequestMarshaller.Instance;
options.ResponseUnmarshaller = EnableMetricsCollectionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Enables group metrics collection for the specified Auto Scaling group.
///
///
///
/// You can use these metrics to track changes in an Auto Scaling group and to set alarms
/// on threshold values. You can view group metrics using the Amazon EC2 Auto Scaling
/// console or the CloudWatch console. For more information, see Monitor
/// CloudWatch metrics for your Auto Scaling groups and instances in the Amazon
/// EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the EnableMetricsCollection service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the EnableMetricsCollection service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for EnableMetricsCollection Operation
public virtual Task EnableMetricsCollectionAsync(EnableMetricsCollectionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = EnableMetricsCollectionRequestMarshaller.Instance;
options.ResponseUnmarshaller = EnableMetricsCollectionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region EnterStandby
internal virtual EnterStandbyResponse EnterStandby(EnterStandbyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = EnterStandbyRequestMarshaller.Instance;
options.ResponseUnmarshaller = EnterStandbyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Moves the specified instances into the standby state.
///
///
///
/// If you choose to decrement the desired capacity of the Auto Scaling group, the instances
/// can enter standby as long as the desired capacity of the Auto Scaling group after
/// the instances are placed into standby is equal to or greater than the minimum capacity
/// of the group.
///
///
///
/// If you choose not to decrement the desired capacity of the Auto Scaling group, the
/// Auto Scaling group launches new instances to replace the instances on standby.
///
///
///
/// For more information, see Temporarily
/// removing instances from your Auto Scaling group in the Amazon EC2 Auto Scaling
/// User Guide.
///
///
/// Container for the necessary parameters to execute the EnterStandby service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the EnterStandby service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for EnterStandby Operation
public virtual Task EnterStandbyAsync(EnterStandbyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = EnterStandbyRequestMarshaller.Instance;
options.ResponseUnmarshaller = EnterStandbyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ExecutePolicy
internal virtual ExecutePolicyResponse ExecutePolicy(ExecutePolicyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ExecutePolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExecutePolicyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Executes the specified policy. This can be useful for testing the design of your scaling
/// policy.
///
/// Container for the necessary parameters to execute the ExecutePolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ExecutePolicy service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The operation can't be performed because there are scaling activities in progress.
///
/// REST API Reference for ExecutePolicy Operation
public virtual Task ExecutePolicyAsync(ExecutePolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ExecutePolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExecutePolicyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ExitStandby
internal virtual ExitStandbyResponse ExitStandby(ExitStandbyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ExitStandbyRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExitStandbyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Moves the specified instances out of the standby state.
///
///
///
/// After you put the instances back in service, the desired capacity is incremented.
///
///
///
/// For more information, see Temporarily
/// removing instances from your Auto Scaling group in the Amazon EC2 Auto Scaling
/// User Guide.
///
///
/// Container for the necessary parameters to execute the ExitStandby service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ExitStandby service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for ExitStandby Operation
public virtual Task ExitStandbyAsync(ExitStandbyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ExitStandbyRequestMarshaller.Instance;
options.ResponseUnmarshaller = ExitStandbyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetPredictiveScalingForecast
internal virtual GetPredictiveScalingForecastResponse GetPredictiveScalingForecast(GetPredictiveScalingForecastRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetPredictiveScalingForecastRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetPredictiveScalingForecastResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the forecast data for a predictive scaling policy.
///
///
///
/// Load forecasts are predictions of the hourly load values using historical load data
/// from CloudWatch and an analysis of historical trends. Capacity forecasts are represented
/// as predicted values for the minimum capacity that is needed on an hourly basis, based
/// on the hourly load forecast.
///
///
///
/// A minimum of 24 hours of data is required to create the initial forecasts. However,
/// having a full 14 days of historical data results in more accurate forecasts.
///
///
///
/// For more information, see Predictive
/// scaling for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the GetPredictiveScalingForecast service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetPredictiveScalingForecast service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for GetPredictiveScalingForecast Operation
public virtual Task GetPredictiveScalingForecastAsync(GetPredictiveScalingForecastRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetPredictiveScalingForecastRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetPredictiveScalingForecastResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutLifecycleHook
internal virtual PutLifecycleHookResponse PutLifecycleHook(PutLifecycleHookRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutLifecycleHookRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutLifecycleHookResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates or updates a lifecycle hook for the specified Auto Scaling group.
///
///
///
/// Lifecycle hooks let you create solutions that are aware of events in the Auto Scaling
/// instance lifecycle, and then perform a custom action on instances when the corresponding
/// lifecycle event occurs.
///
///
///
/// This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling
/// group:
///
/// -
///
/// (Optional) Create a launch template or launch configuration with a user data script
/// that runs while an instance is in a wait state due to a lifecycle hook.
///
///
-
///
/// (Optional) Create a Lambda function and a rule that allows Amazon EventBridge to invoke
/// your Lambda function when an instance is put into a wait state due to a lifecycle
/// hook.
///
///
-
///
/// (Optional) Create a notification target and an IAM role. The target can be either
/// an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling
/// to publish lifecycle notifications to the target.
///
///
-
///
/// Create the lifecycle hook. Specify whether the hook is used when the instances
/// launch or terminate.
///
///
-
///
/// If you need more time, record the lifecycle action heartbeat to keep the instance
/// in a wait state using the RecordLifecycleActionHeartbeat API call.
///
///
-
///
/// If you finish before the timeout period ends, send a callback by using the CompleteLifecycleAction
/// API call.
///
///
///
/// For more information, see Amazon
/// EC2 Auto Scaling lifecycle hooks in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// If you exceed your maximum limit of lifecycle hooks, which by default is 50 per Auto
/// Scaling group, the call fails.
///
///
///
/// You can view the lifecycle hooks for an Auto Scaling group using the DescribeLifecycleHooks
/// API call. If you are no longer using a lifecycle hook, you can delete it by calling
/// the DeleteLifecycleHook API.
///
///
/// Container for the necessary parameters to execute the PutLifecycleHook service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutLifecycleHook service method, as returned by AutoScaling.
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for PutLifecycleHook Operation
public virtual Task PutLifecycleHookAsync(PutLifecycleHookRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutLifecycleHookRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutLifecycleHookResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutNotificationConfiguration
internal virtual PutNotificationConfigurationResponse PutNotificationConfiguration(PutNotificationConfigurationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutNotificationConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutNotificationConfigurationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Configures an Auto Scaling group to send notifications when specified events take
/// place. Subscribers to the specified topic can have messages delivered to an endpoint
/// such as a web server or an email address.
///
///
///
/// This configuration overwrites any existing configuration.
///
///
///
/// For more information, see Getting
/// Amazon SNS notifications when your Auto Scaling group scales in the Amazon
/// EC2 Auto Scaling User Guide.
///
///
///
/// If you exceed your maximum limit of SNS topics, which is 10 per Auto Scaling group,
/// the call fails.
///
///
/// Container for the necessary parameters to execute the PutNotificationConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutNotificationConfiguration service method, as returned by AutoScaling.
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The service-linked role is not yet ready for use.
///
/// REST API Reference for PutNotificationConfiguration Operation
public virtual Task PutNotificationConfigurationAsync(PutNotificationConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutNotificationConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutNotificationConfigurationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutScalingPolicy
internal virtual PutScalingPolicyResponse PutScalingPolicy(PutScalingPolicyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutScalingPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutScalingPolicyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates or updates a scaling policy for an Auto Scaling group. Scaling policies are
/// used to scale an Auto Scaling group based on configurable metrics. If no policies
/// are defined, the dynamic scaling and predictive scaling features are not used.
///
///
///
/// For more information about using dynamic scaling, see Target
/// tracking scaling policies and Step
/// and simple scaling policies in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// For more information about using predictive scaling, see Predictive
/// scaling for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// You can view the scaling policies for an Auto Scaling group using the DescribePolicies
/// API call. If you are no longer using a scaling policy, you can delete it by calling
/// the DeletePolicy API.
///
///
/// Container for the necessary parameters to execute the PutScalingPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutScalingPolicy service method, as returned by AutoScaling.
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The service-linked role is not yet ready for use.
///
/// REST API Reference for PutScalingPolicy Operation
public virtual Task PutScalingPolicyAsync(PutScalingPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutScalingPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutScalingPolicyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutScheduledUpdateGroupAction
internal virtual PutScheduledUpdateGroupActionResponse PutScheduledUpdateGroupAction(PutScheduledUpdateGroupActionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutScheduledUpdateGroupActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutScheduledUpdateGroupActionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates or updates a scheduled scaling action for an Auto Scaling group.
///
///
///
/// For more information, see Scheduled
/// scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// You can view the scheduled actions for an Auto Scaling group using the DescribeScheduledActions
/// API call. If you are no longer using a scheduled action, you can delete it by calling
/// the DeleteScheduledAction API.
///
///
///
/// If you try to schedule your action in the past, Amazon EC2 Auto Scaling returns an
/// error message.
///
///
/// Container for the necessary parameters to execute the PutScheduledUpdateGroupAction service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutScheduledUpdateGroupAction service method, as returned by AutoScaling.
///
/// You already have an Auto Scaling group or launch configuration with this name.
///
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for PutScheduledUpdateGroupAction Operation
public virtual Task PutScheduledUpdateGroupActionAsync(PutScheduledUpdateGroupActionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutScheduledUpdateGroupActionRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutScheduledUpdateGroupActionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutWarmPool
internal virtual PutWarmPoolResponse PutWarmPool(PutWarmPoolRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutWarmPoolRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutWarmPoolResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates or updates a warm pool for the specified Auto Scaling group. A warm pool is
/// a pool of pre-initialized EC2 instances that sits alongside the Auto Scaling group.
/// Whenever your application needs to scale out, the Auto Scaling group can draw on the
/// warm pool to meet its new desired capacity. For more information and example configurations,
/// see Warm
/// pools for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// This operation must be called from the Region in which the Auto Scaling group was
/// created. This operation cannot be called on an Auto Scaling group that has a mixed
/// instances policy or a launch template or launch configuration that requests Spot Instances.
///
///
///
/// You can view the instances in the warm pool using the DescribeWarmPool API
/// call. If you are no longer using a warm pool, you can delete it by calling the DeleteWarmPool
/// API.
///
///
/// Container for the necessary parameters to execute the PutWarmPool service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutWarmPool service method, as returned by AutoScaling.
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for PutWarmPool Operation
public virtual Task PutWarmPoolAsync(PutWarmPoolRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutWarmPoolRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutWarmPoolResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region RecordLifecycleActionHeartbeat
internal virtual RecordLifecycleActionHeartbeatResponse RecordLifecycleActionHeartbeat(RecordLifecycleActionHeartbeatRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = RecordLifecycleActionHeartbeatRequestMarshaller.Instance;
options.ResponseUnmarshaller = RecordLifecycleActionHeartbeatResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Records a heartbeat for the lifecycle action associated with the specified token or
/// instance. This extends the timeout by the length of time defined using the PutLifecycleHook
/// API call.
///
///
///
/// This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling
/// group:
///
/// -
///
/// (Optional) Create a launch template or launch configuration with a user data script
/// that runs while an instance is in a wait state due to a lifecycle hook.
///
///
-
///
/// (Optional) Create a Lambda function and a rule that allows Amazon EventBridge to invoke
/// your Lambda function when an instance is put into a wait state due to a lifecycle
/// hook.
///
///
-
///
/// (Optional) Create a notification target and an IAM role. The target can be either
/// an Amazon SQS queue or an Amazon SNS topic. The role allows Amazon EC2 Auto Scaling
/// to publish lifecycle notifications to the target.
///
///
-
///
/// Create the lifecycle hook. Specify whether the hook is used when the instances launch
/// or terminate.
///
///
-
///
/// If you need more time, record the lifecycle action heartbeat to keep the instance
/// in a wait state.
///
///
-
///
/// If you finish before the timeout period ends, send a callback by using the CompleteLifecycleAction
/// API call.
///
///
///
/// For more information, see Amazon
/// EC2 Auto Scaling lifecycle hooks in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the RecordLifecycleActionHeartbeat service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the RecordLifecycleActionHeartbeat service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for RecordLifecycleActionHeartbeat Operation
public virtual Task RecordLifecycleActionHeartbeatAsync(RecordLifecycleActionHeartbeatRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = RecordLifecycleActionHeartbeatRequestMarshaller.Instance;
options.ResponseUnmarshaller = RecordLifecycleActionHeartbeatResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ResumeProcesses
internal virtual ResumeProcessesResponse ResumeProcesses(ResumeProcessesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ResumeProcessesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ResumeProcessesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Resumes the specified suspended auto scaling processes, or all suspended process,
/// for the specified Auto Scaling group.
///
///
///
/// For more information, see Suspending
/// and resuming scaling processes in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the ResumeProcesses service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ResumeProcesses service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The operation can't be performed because the resource is in use.
///
/// REST API Reference for ResumeProcesses Operation
public virtual Task ResumeProcessesAsync(ResumeProcessesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ResumeProcessesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ResumeProcessesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region RollbackInstanceRefresh
internal virtual RollbackInstanceRefreshResponse RollbackInstanceRefresh(RollbackInstanceRefreshRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = RollbackInstanceRefreshRequestMarshaller.Instance;
options.ResponseUnmarshaller = RollbackInstanceRefreshResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Cancels an instance refresh that is in progress and rolls back any changes that it
/// made. Amazon EC2 Auto Scaling replaces any instances that were replaced during the
/// instance refresh. This restores your Auto Scaling group to the configuration that
/// it was using before the start of the instance refresh.
///
///
///
/// This operation is part of the instance
/// refresh feature in Amazon EC2 Auto Scaling, which helps you update instances in
/// your Auto Scaling group after you make configuration changes.
///
///
///
/// A rollback is not supported in the following situations:
///
/// -
///
/// There is no desired configuration specified for the instance refresh.
///
///
-
///
/// The Auto Scaling group has a launch template that uses an Amazon Web Services Systems
/// Manager parameter instead of an AMI ID for the
ImageId
property.
///
/// -
///
/// The Auto Scaling group uses the launch template's
$Latest
or $Default
/// version.
///
///
///
/// When you receive a successful response from this operation, Amazon EC2 Auto Scaling
/// immediately begins replacing instances. You can check the status of this operation
/// through the DescribeInstanceRefreshes API operation.
///
///
/// Container for the necessary parameters to execute the RollbackInstanceRefresh service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the RollbackInstanceRefresh service method, as returned by AutoScaling.
///
/// The request failed because an active instance refresh or rollback for the specified
/// Auto Scaling group was not found.
///
///
/// The request failed because a desired configuration was not found or an incompatible
/// launch template (uses a Systems Manager parameter instead of an AMI ID) or launch
/// template version ($Latest
or $Default
) is present on the
/// Auto Scaling group.
///
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for RollbackInstanceRefresh Operation
public virtual Task RollbackInstanceRefreshAsync(RollbackInstanceRefreshRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = RollbackInstanceRefreshRequestMarshaller.Instance;
options.ResponseUnmarshaller = RollbackInstanceRefreshResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region SetDesiredCapacity
internal virtual SetDesiredCapacityResponse SetDesiredCapacity(SetDesiredCapacityRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = SetDesiredCapacityRequestMarshaller.Instance;
options.ResponseUnmarshaller = SetDesiredCapacityResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Sets the size of the specified Auto Scaling group.
///
///
///
/// If a scale-in activity occurs as a result of a new DesiredCapacity
value
/// that is lower than the current size of the group, the Auto Scaling group uses its
/// termination policy to determine which instances to terminate.
///
///
///
/// For more information, see Manual
/// scaling in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the SetDesiredCapacity service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the SetDesiredCapacity service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The operation can't be performed because there are scaling activities in progress.
///
/// REST API Reference for SetDesiredCapacity Operation
public virtual Task SetDesiredCapacityAsync(SetDesiredCapacityRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = SetDesiredCapacityRequestMarshaller.Instance;
options.ResponseUnmarshaller = SetDesiredCapacityResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region SetInstanceHealth
internal virtual SetInstanceHealthResponse SetInstanceHealth(SetInstanceHealthRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = SetInstanceHealthRequestMarshaller.Instance;
options.ResponseUnmarshaller = SetInstanceHealthResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Sets the health status of the specified instance.
///
///
///
/// For more information, see Health
/// checks for Auto Scaling instances in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the SetInstanceHealth service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the SetInstanceHealth service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for SetInstanceHealth Operation
public virtual Task SetInstanceHealthAsync(SetInstanceHealthRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = SetInstanceHealthRequestMarshaller.Instance;
options.ResponseUnmarshaller = SetInstanceHealthResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region SetInstanceProtection
internal virtual SetInstanceProtectionResponse SetInstanceProtection(SetInstanceProtectionRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = SetInstanceProtectionRequestMarshaller.Instance;
options.ResponseUnmarshaller = SetInstanceProtectionResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Updates the instance protection settings of the specified instances. This operation
/// cannot be called on instances in a warm pool.
///
///
///
/// For more information about preventing instances that are part of an Auto Scaling group
/// from terminating on scale in, see Using
/// instance scale-in protection in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// If you exceed your maximum limit of instance IDs, which is 50 per Auto Scaling group,
/// the call fails.
///
///
/// Container for the necessary parameters to execute the SetInstanceProtection service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the SetInstanceProtection service method, as returned by AutoScaling.
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for SetInstanceProtection Operation
public virtual Task SetInstanceProtectionAsync(SetInstanceProtectionRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = SetInstanceProtectionRequestMarshaller.Instance;
options.ResponseUnmarshaller = SetInstanceProtectionResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region StartInstanceRefresh
internal virtual StartInstanceRefreshResponse StartInstanceRefresh(StartInstanceRefreshRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = StartInstanceRefreshRequestMarshaller.Instance;
options.ResponseUnmarshaller = StartInstanceRefreshResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Starts an instance refresh. During an instance refresh, Amazon EC2 Auto Scaling performs
/// a rolling update of instances in an Auto Scaling group. Instances are terminated first
/// and then replaced, which temporarily reduces the capacity available within your Auto
/// Scaling group.
///
///
///
/// This operation is part of the instance
/// refresh feature in Amazon EC2 Auto Scaling, which helps you update instances in
/// your Auto Scaling group. This feature is helpful, for example, when you have a new
/// AMI or a new user data script. You just need to create a new launch template that
/// specifies the new AMI or user data script. Then start an instance refresh to immediately
/// begin the process of updating instances in the group.
///
///
///
/// If successful, the request's response contains a unique ID that you can use to track
/// the progress of the instance refresh. To query its status, call the DescribeInstanceRefreshes
/// API. To describe the instance refreshes that have already run, call the DescribeInstanceRefreshes
/// API. To cancel an instance refresh that is in progress, use the CancelInstanceRefresh
/// API.
///
///
///
/// An instance refresh might fail for several reasons, such as EC2 launch failures, misconfigured
/// health checks, or not ignoring or allowing the termination of instances that are in
/// Standby
state or protected from scale in. You can monitor for failed
/// EC2 launches using the scaling activities. To find the scaling activities, call the
/// DescribeScalingActivities API.
///
///
///
/// If you enable auto rollback, your Auto Scaling group will be rolled back automatically
/// when the instance refresh fails. You can enable this feature before starting an instance
/// refresh by specifying the AutoRollback
property in the instance refresh
/// preferences. Otherwise, to roll back an instance refresh before it finishes, use the
/// RollbackInstanceRefresh API.
///
///
/// Container for the necessary parameters to execute the StartInstanceRefresh service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the StartInstanceRefresh service method, as returned by AutoScaling.
///
/// The request failed because an active instance refresh already exists for the specified
/// Auto Scaling group.
///
///
/// You have already reached a limit for your Amazon EC2 Auto Scaling resources (for example,
/// Auto Scaling groups, launch configurations, or lifecycle hooks). For more information,
/// see DescribeAccountLimits
/// in the Amazon EC2 Auto Scaling API Reference.
///
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
/// REST API Reference for StartInstanceRefresh Operation
public virtual Task StartInstanceRefreshAsync(StartInstanceRefreshRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = StartInstanceRefreshRequestMarshaller.Instance;
options.ResponseUnmarshaller = StartInstanceRefreshResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region SuspendProcesses
internal virtual SuspendProcessesResponse SuspendProcesses(SuspendProcessesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = SuspendProcessesRequestMarshaller.Instance;
options.ResponseUnmarshaller = SuspendProcessesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Suspends the specified auto scaling processes, or all processes, for the specified
/// Auto Scaling group.
///
///
///
/// If you suspend either the Launch
or Terminate
process types,
/// it can prevent other process types from functioning properly. For more information,
/// see Suspending
/// and resuming scaling processes in the Amazon EC2 Auto Scaling User Guide.
///
///
///
/// To resume processes that have been suspended, call the ResumeProcesses API.
///
///
/// Container for the necessary parameters to execute the SuspendProcesses service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the SuspendProcesses service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The operation can't be performed because the resource is in use.
///
/// REST API Reference for SuspendProcesses Operation
public virtual Task SuspendProcessesAsync(SuspendProcessesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = SuspendProcessesRequestMarshaller.Instance;
options.ResponseUnmarshaller = SuspendProcessesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region TerminateInstanceInAutoScalingGroup
internal virtual TerminateInstanceInAutoScalingGroupResponse TerminateInstanceInAutoScalingGroup(TerminateInstanceInAutoScalingGroupRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = TerminateInstanceInAutoScalingGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = TerminateInstanceInAutoScalingGroupResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Terminates the specified instance and optionally adjusts the desired group size. This
/// operation cannot be called on instances in a warm pool.
///
///
///
/// This call simply makes a termination request. The instance is not terminated immediately.
/// When an instance is terminated, the instance status changes to terminated
.
/// You can't connect to or start an instance after you've terminated it.
///
///
///
/// If you do not specify the option to decrement the desired capacity, Amazon EC2 Auto
/// Scaling launches instances to replace the ones that are terminated.
///
///
///
/// By default, Amazon EC2 Auto Scaling balances instances across all Availability Zones.
/// If you decrement the desired capacity, your Auto Scaling group can become unbalanced
/// between Availability Zones. Amazon EC2 Auto Scaling tries to rebalance the group,
/// and rebalancing might terminate instances in other zones. For more information, see
/// Rebalancing
/// activities in the Amazon EC2 Auto Scaling User Guide.
///
///
/// Container for the necessary parameters to execute the TerminateInstanceInAutoScalingGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TerminateInstanceInAutoScalingGroup service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The operation can't be performed because there are scaling activities in progress.
///
/// REST API Reference for TerminateInstanceInAutoScalingGroup Operation
public virtual Task TerminateInstanceInAutoScalingGroupAsync(TerminateInstanceInAutoScalingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = TerminateInstanceInAutoScalingGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = TerminateInstanceInAutoScalingGroupResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateAutoScalingGroup
internal virtual UpdateAutoScalingGroupResponse UpdateAutoScalingGroup(UpdateAutoScalingGroupRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateAutoScalingGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateAutoScalingGroupResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// We strongly recommend that all Auto Scaling groups use launch templates to ensure
/// full functionality for Amazon EC2 Auto Scaling and Amazon EC2.
///
///
///
/// Updates the configuration for the specified Auto Scaling group.
///
///
///
/// To update an Auto Scaling group, specify the name of the group and the property that
/// you want to change. Any properties that you don't specify are not changed by this
/// update request. The new settings take effect on any scaling activities after this
/// call returns.
///
///
///
/// If you associate a new launch configuration or template with an Auto Scaling group,
/// all new instances will get the updated configuration. Existing instances continue
/// to run with the configuration that they were originally launched with. When you update
/// a group to specify a mixed instances policy instead of a launch configuration or template,
/// existing instances may be replaced to match the new purchasing options that you specified
/// in the policy. For example, if the group currently has 100% On-Demand capacity and
/// the policy specifies 50% Spot capacity, this means that half of your instances will
/// be gradually terminated and relaunched as Spot Instances. When replacing instances,
/// Amazon EC2 Auto Scaling launches new instances before terminating the old ones, so
/// that updating your group does not compromise the performance or availability of your
/// application.
///
///
///
/// Note the following about changing DesiredCapacity
, MaxSize
,
/// or MinSize
:
///
/// -
///
/// If a scale-in activity occurs as a result of a new
DesiredCapacity
value
/// that is lower than the current size of the group, the Auto Scaling group uses its
/// termination policy to determine which instances to terminate.
///
/// -
///
/// If you specify a new value for
MinSize
without specifying a value for
/// DesiredCapacity
, and the new MinSize
is larger than the
/// current size of the group, this sets the group's DesiredCapacity
to the
/// new MinSize
value.
///
/// -
///
/// If you specify a new value for
MaxSize
without specifying a value for
/// DesiredCapacity
, and the new MaxSize
is smaller than the
/// current size of the group, this sets the group's DesiredCapacity
to the
/// new MaxSize
value.
///
///
///
/// To see which properties have been set, call the DescribeAutoScalingGroups API.
/// To view the scaling policies for an Auto Scaling group, call the DescribePolicies
/// API. If the group has scaling policies, you can update them by calling the PutScalingPolicy
/// API.
///
///
/// Container for the necessary parameters to execute the UpdateAutoScalingGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateAutoScalingGroup service method, as returned by AutoScaling.
///
/// You already have a pending update to an Amazon EC2 Auto Scaling resource (for example,
/// an Auto Scaling group, instance, or load balancer).
///
///
/// The operation can't be performed because there are scaling activities in progress.
///
///
/// The service-linked role is not yet ready for use.
///
/// REST API Reference for UpdateAutoScalingGroup Operation
public virtual Task UpdateAutoScalingGroupAsync(UpdateAutoScalingGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateAutoScalingGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateAutoScalingGroupResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
}
}