/* * 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: /// ///
  1. /// /// (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. /// ///
  2. /// /// (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. /// ///
  3. /// /// (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. /// ///
  4. /// /// Create the lifecycle hook. Specify whether the hook is used when the instances launch /// or terminate. /// ///
  5. /// /// If you need more time, record the lifecycle action heartbeat to keep the instance /// in a wait state. /// ///
  6. /// /// 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: /// ///
  1. /// /// (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. /// ///
  2. /// /// (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. /// ///
  3. /// /// (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. /// ///
  4. /// /// Create the lifecycle hook. Specify whether the hook is used when the instances /// launch or terminate. /// ///
  5. /// /// If you need more time, record the lifecycle action heartbeat to keep the instance /// in a wait state using the RecordLifecycleActionHeartbeat API call. /// ///
  6. /// /// 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: /// ///
  1. /// /// (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. /// ///
  2. /// /// (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. /// ///
  3. /// /// (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. /// ///
  4. /// /// Create the lifecycle hook. Specify whether the hook is used when the instances launch /// or terminate. /// ///
  5. /// /// If you need more time, record the lifecycle action heartbeat to keep the instance /// in a wait state. /// ///
  6. /// /// 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 } }