@ThreadSafe @Generated(value="com.amazonaws:aws-java-sdk-code-generator") public class AmazonAutoScalingClient extends AmazonWebServiceClient implements AmazonAutoScaling
Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined policies, schedules, and health checks. Use this service in conjunction with the Amazon CloudWatch and Elastic Load Balancing services.
LOGGING_AWS_REQUEST_METRICENDPOINT_PREFIX| Constructor and Description |
|---|
AmazonAutoScalingClient()
Deprecated.
|
AmazonAutoScalingClient(AWSCredentials awsCredentials)
Deprecated.
use
AwsClientBuilder.withCredentials(AWSCredentialsProvider) for example:
AmazonAutoScalingClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build(); |
AmazonAutoScalingClient(AWSCredentials awsCredentials,
ClientConfiguration clientConfiguration)
|
AmazonAutoScalingClient(AWSCredentialsProvider awsCredentialsProvider)
Deprecated.
|
AmazonAutoScalingClient(AWSCredentialsProvider awsCredentialsProvider,
ClientConfiguration clientConfiguration)
|
AmazonAutoScalingClient(AWSCredentialsProvider awsCredentialsProvider,
ClientConfiguration clientConfiguration,
RequestMetricCollector requestMetricCollector)
|
AmazonAutoScalingClient(ClientConfiguration clientConfiguration)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
AttachInstancesResult |
attachInstances(AttachInstancesRequest request)
Attaches one or more EC2 instances to the specified Auto Scaling group.
|
AttachLoadBalancersResult |
attachLoadBalancers()
Simplified method form for invoking the AttachLoadBalancers operation.
|
AttachLoadBalancersResult |
attachLoadBalancers(AttachLoadBalancersRequest request)
Attaches one or more Classic Load Balancers to the specified Auto Scaling group.
|
AttachLoadBalancerTargetGroupsResult |
attachLoadBalancerTargetGroups(AttachLoadBalancerTargetGroupsRequest request)
Attaches one or more target groups to the specified Auto Scaling group.
|
static AmazonAutoScalingClientBuilder |
builder() |
CompleteLifecycleActionResult |
completeLifecycleAction(CompleteLifecycleActionRequest request)
Completes the lifecycle action for the specified token or instance with the specified result.
|
CreateAutoScalingGroupResult |
createAutoScalingGroup(CreateAutoScalingGroupRequest request)
Creates an Auto Scaling group with the specified name and attributes.
|
CreateLaunchConfigurationResult |
createLaunchConfiguration(CreateLaunchConfigurationRequest request)
Creates a launch configuration.
|
CreateOrUpdateTagsResult |
createOrUpdateTags(CreateOrUpdateTagsRequest request)
Creates or updates tags for the specified Auto Scaling group.
|
DeleteAutoScalingGroupResult |
deleteAutoScalingGroup(DeleteAutoScalingGroupRequest request)
Deletes the specified Auto Scaling group.
|
DeleteLaunchConfigurationResult |
deleteLaunchConfiguration(DeleteLaunchConfigurationRequest request)
Deletes the specified launch configuration.
|
DeleteLifecycleHookResult |
deleteLifecycleHook(DeleteLifecycleHookRequest request)
Deletes the specified lifecycle hook.
|
DeleteNotificationConfigurationResult |
deleteNotificationConfiguration(DeleteNotificationConfigurationRequest request)
Deletes the specified notification.
|
DeletePolicyResult |
deletePolicy(DeletePolicyRequest request)
Deletes the specified Auto Scaling policy.
|
DeleteScheduledActionResult |
deleteScheduledAction(DeleteScheduledActionRequest request)
Deletes the specified scheduled action.
|
DeleteTagsResult |
deleteTags(DeleteTagsRequest request)
Deletes the specified tags.
|
DescribeAccountLimitsResult |
describeAccountLimits()
Simplified method form for invoking the DescribeAccountLimits operation.
|
DescribeAccountLimitsResult |
describeAccountLimits(DescribeAccountLimitsRequest request)
Describes the current Auto Scaling resource limits for your AWS account.
|
DescribeAdjustmentTypesResult |
describeAdjustmentTypes()
Simplified method form for invoking the DescribeAdjustmentTypes operation.
|
DescribeAdjustmentTypesResult |
describeAdjustmentTypes(DescribeAdjustmentTypesRequest request)
Describes the policy adjustment types for use with PutScalingPolicy.
|
DescribeAutoScalingGroupsResult |
describeAutoScalingGroups()
Simplified method form for invoking the DescribeAutoScalingGroups operation.
|
DescribeAutoScalingGroupsResult |
describeAutoScalingGroups(DescribeAutoScalingGroupsRequest request)
Describes one or more Auto Scaling groups.
|
DescribeAutoScalingInstancesResult |
describeAutoScalingInstances()
Simplified method form for invoking the DescribeAutoScalingInstances operation.
|
DescribeAutoScalingInstancesResult |
describeAutoScalingInstances(DescribeAutoScalingInstancesRequest request)
Describes one or more Auto Scaling instances.
|
DescribeAutoScalingNotificationTypesResult |
describeAutoScalingNotificationTypes()
Simplified method form for invoking the DescribeAutoScalingNotificationTypes operation.
|
DescribeAutoScalingNotificationTypesResult |
describeAutoScalingNotificationTypes(DescribeAutoScalingNotificationTypesRequest request)
Describes the notification types that are supported by Auto Scaling.
|
DescribeLaunchConfigurationsResult |
describeLaunchConfigurations()
Simplified method form for invoking the DescribeLaunchConfigurations operation.
|
DescribeLaunchConfigurationsResult |
describeLaunchConfigurations(DescribeLaunchConfigurationsRequest request)
Describes one or more launch configurations.
|
DescribeLifecycleHooksResult |
describeLifecycleHooks(DescribeLifecycleHooksRequest request)
Describes the lifecycle hooks for the specified Auto Scaling group.
|
DescribeLifecycleHookTypesResult |
describeLifecycleHookTypes()
Simplified method form for invoking the DescribeLifecycleHookTypes operation.
|
DescribeLifecycleHookTypesResult |
describeLifecycleHookTypes(DescribeLifecycleHookTypesRequest request)
Describes the available types of lifecycle hooks.
|
DescribeLoadBalancersResult |
describeLoadBalancers(DescribeLoadBalancersRequest request)
Describes the load balancers for the specified Auto Scaling group.
|
DescribeLoadBalancerTargetGroupsResult |
describeLoadBalancerTargetGroups(DescribeLoadBalancerTargetGroupsRequest request)
Describes the target groups for the specified Auto Scaling group.
|
DescribeMetricCollectionTypesResult |
describeMetricCollectionTypes()
Simplified method form for invoking the DescribeMetricCollectionTypes operation.
|
DescribeMetricCollectionTypesResult |
describeMetricCollectionTypes(DescribeMetricCollectionTypesRequest request)
Describes the available CloudWatch metrics for Auto Scaling.
|
DescribeNotificationConfigurationsResult |
describeNotificationConfigurations()
Simplified method form for invoking the DescribeNotificationConfigurations operation.
|
DescribeNotificationConfigurationsResult |
describeNotificationConfigurations(DescribeNotificationConfigurationsRequest request)
Describes the notification actions associated with the specified Auto Scaling group.
|
DescribePoliciesResult |
describePolicies()
Simplified method form for invoking the DescribePolicies operation.
|
DescribePoliciesResult |
describePolicies(DescribePoliciesRequest request)
Describes the policies for the specified Auto Scaling group.
|
DescribeScalingActivitiesResult |
describeScalingActivities()
Simplified method form for invoking the DescribeScalingActivities operation.
|
DescribeScalingActivitiesResult |
describeScalingActivities(DescribeScalingActivitiesRequest request)
Describes one or more scaling activities for the specified Auto Scaling group.
|
DescribeScalingProcessTypesResult |
describeScalingProcessTypes()
Simplified method form for invoking the DescribeScalingProcessTypes operation.
|
DescribeScalingProcessTypesResult |
describeScalingProcessTypes(DescribeScalingProcessTypesRequest request)
Describes the scaling process types for use with ResumeProcesses and SuspendProcesses.
|
DescribeScheduledActionsResult |
describeScheduledActions()
Simplified method form for invoking the DescribeScheduledActions operation.
|
DescribeScheduledActionsResult |
describeScheduledActions(DescribeScheduledActionsRequest request)
Describes the actions scheduled for your Auto Scaling group that haven't run.
|
DescribeTagsResult |
describeTags()
Simplified method form for invoking the DescribeTags operation.
|
DescribeTagsResult |
describeTags(DescribeTagsRequest request)
Describes the specified tags.
|
DescribeTerminationPolicyTypesResult |
describeTerminationPolicyTypes()
Simplified method form for invoking the DescribeTerminationPolicyTypes operation.
|
DescribeTerminationPolicyTypesResult |
describeTerminationPolicyTypes(DescribeTerminationPolicyTypesRequest request)
Describes the termination policies supported by Auto Scaling.
|
DetachInstancesResult |
detachInstances(DetachInstancesRequest request)
Removes one or more instances from the specified Auto Scaling group.
|
DetachLoadBalancersResult |
detachLoadBalancers()
Simplified method form for invoking the DetachLoadBalancers operation.
|
DetachLoadBalancersResult |
detachLoadBalancers(DetachLoadBalancersRequest request)
Detaches one or more Classic Load Balancers from the specified Auto Scaling group.
|
DetachLoadBalancerTargetGroupsResult |
detachLoadBalancerTargetGroups(DetachLoadBalancerTargetGroupsRequest request)
Detaches one or more target groups from the specified Auto Scaling group.
|
DisableMetricsCollectionResult |
disableMetricsCollection(DisableMetricsCollectionRequest request)
Disables group metrics for the specified Auto Scaling group.
|
EnableMetricsCollectionResult |
enableMetricsCollection(EnableMetricsCollectionRequest request)
Enables group metrics for the specified Auto Scaling group.
|
EnterStandbyResult |
enterStandby(EnterStandbyRequest request)
Moves the specified instances into the standby state.
|
ExecutePolicyResult |
executePolicy(ExecutePolicyRequest request)
Executes the specified policy.
|
ExitStandbyResult |
exitStandby(ExitStandbyRequest request)
Moves the specified instances out of the standby state.
|
ResponseMetadata |
getCachedResponseMetadata(AmazonWebServiceRequest request)
Returns additional metadata for a previously executed successful, request, typically used for debugging issues
where a service isn't acting as expected.
|
PutLifecycleHookResult |
putLifecycleHook(PutLifecycleHookRequest request)
Creates or updates a lifecycle hook for the specified Auto Scaling Group.
|
PutNotificationConfigurationResult |
putNotificationConfiguration(PutNotificationConfigurationRequest request)
Configures an Auto Scaling group to send notifications when specified events take place.
|
PutScalingPolicyResult |
putScalingPolicy(PutScalingPolicyRequest request)
Creates or updates a policy for an Auto Scaling group.
|
PutScheduledUpdateGroupActionResult |
putScheduledUpdateGroupAction(PutScheduledUpdateGroupActionRequest request)
Creates or updates a scheduled scaling action for an Auto Scaling group.
|
RecordLifecycleActionHeartbeatResult |
recordLifecycleActionHeartbeat(RecordLifecycleActionHeartbeatRequest request)
Records a heartbeat for the lifecycle action associated with the specified token or instance.
|
ResumeProcessesResult |
resumeProcesses(ResumeProcessesRequest request)
Resumes the specified suspended Auto Scaling processes, or all suspended process, for the specified Auto Scaling
group.
|
SetDesiredCapacityResult |
setDesiredCapacity(SetDesiredCapacityRequest request)
Sets the size of the specified Auto Scaling group.
|
SetInstanceHealthResult |
setInstanceHealth(SetInstanceHealthRequest request)
Sets the health status of the specified instance.
|
SetInstanceProtectionResult |
setInstanceProtection(SetInstanceProtectionRequest request)
Updates the instance protection settings of the specified instances.
|
void |
shutdown()
Shuts down this client object, releasing any resources that might be held
open.
|
SuspendProcessesResult |
suspendProcesses(SuspendProcessesRequest request)
Suspends the specified Auto Scaling processes, or all processes, for the specified Auto Scaling group.
|
TerminateInstanceInAutoScalingGroupResult |
terminateInstanceInAutoScalingGroup(TerminateInstanceInAutoScalingGroupRequest request)
Terminates the specified instance and optionally adjusts the desired group size.
|
UpdateAutoScalingGroupResult |
updateAutoScalingGroup(UpdateAutoScalingGroupRequest request)
Updates the configuration for the specified Auto Scaling group.
|
AmazonAutoScalingWaiters |
waiters() |
addRequestHandler, addRequestHandler, configureRegion, getEndpointPrefix, getRequestMetricsCollector, getServiceName, getSignerByURI, getSignerOverride, getSignerRegionOverride, getTimeOffset, makeImmutable, removeRequestHandler, removeRequestHandler, setEndpoint, setEndpoint, setRegion, setServiceNameIntern, setSignerRegionOverride, setTimeOffset, withEndpoint, withRegion, withRegion, withTimeOffsetequals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsetEndpoint, setRegion@Deprecated public AmazonAutoScalingClient()
AmazonAutoScalingClientBuilder.defaultClient()All service calls made using this new client object are blocking, and will not return until the service call completes.
DefaultAWSCredentialsProviderChain@Deprecated public AmazonAutoScalingClient(ClientConfiguration clientConfiguration)
AwsClientBuilder.withClientConfiguration(ClientConfiguration)All service calls made using this new client object are blocking, and will not return until the service call completes.
clientConfiguration - The client configuration options controlling how this client connects to Auto Scaling (ex: proxy settings,
retry counts, etc.).DefaultAWSCredentialsProviderChain@Deprecated public AmazonAutoScalingClient(AWSCredentials awsCredentials)
AwsClientBuilder.withCredentials(AWSCredentialsProvider) for example:
AmazonAutoScalingClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();All service calls made using this new client object are blocking, and will not return until the service call completes.
awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.@Deprecated public AmazonAutoScalingClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration)
AwsClientBuilder.withCredentials(AWSCredentialsProvider) and
AwsClientBuilder.withClientConfiguration(ClientConfiguration)All service calls made using this new client object are blocking, and will not return until the service call completes.
awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.clientConfiguration - The client configuration options controlling how this client connects to Auto Scaling (ex: proxy settings,
retry counts, etc.).@Deprecated public AmazonAutoScalingClient(AWSCredentialsProvider awsCredentialsProvider)
AwsClientBuilder.withCredentials(AWSCredentialsProvider)All service calls made using this new client object are blocking, and will not return until the service call completes.
awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.@Deprecated public AmazonAutoScalingClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration)
AwsClientBuilder.withCredentials(AWSCredentialsProvider) and
AwsClientBuilder.withClientConfiguration(ClientConfiguration)All service calls made using this new client object are blocking, and will not return until the service call completes.
awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.clientConfiguration - The client configuration options controlling how this client connects to Auto Scaling (ex: proxy settings,
retry counts, etc.).@Deprecated public AmazonAutoScalingClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector)
AwsClientBuilder.withCredentials(AWSCredentialsProvider) and
AwsClientBuilder.withClientConfiguration(ClientConfiguration) and
AwsClientBuilder.withMetricsCollector(RequestMetricCollector)All service calls made using this new client object are blocking, and will not return until the service call completes.
awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.clientConfiguration - The client configuration options controlling how this client connects to Auto Scaling (ex: proxy settings,
retry counts, etc.).requestMetricCollector - optional request metric collectorpublic static AmazonAutoScalingClientBuilder builder()
public AttachInstancesResult attachInstances(AttachInstancesRequest request)
Attaches one or more EC2 instances to the specified Auto Scaling group.
When you attach instances, 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 Auto Scaling User Guide.
attachInstances in interface AmazonAutoScalingattachInstancesRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
AttachInstancesRequest request = new AttachInstancesRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withInstanceIds("i-93633f9b");
AttachInstancesResult response = client.attachInstances(request);public AttachLoadBalancerTargetGroupsResult attachLoadBalancerTargetGroups(AttachLoadBalancerTargetGroupsRequest request)
Attaches one or more target groups to the specified Auto Scaling group.
To describe the target groups for an Auto Scaling group, use DescribeLoadBalancerTargetGroups. To detach the target group from the Auto Scaling group, use DetachLoadBalancerTargetGroups.
For more information, see Attach a Load Balancer to Your Auto Scaling Group in the Auto Scaling User Guide.
attachLoadBalancerTargetGroups in interface AmazonAutoScalingattachLoadBalancerTargetGroupsRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
AttachLoadBalancerTargetGroupsRequest request = new AttachLoadBalancerTargetGroupsRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withTargetGroupARNs(
"arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067");
AttachLoadBalancerTargetGroupsResult response = client
.attachLoadBalancerTargetGroups(request);public AttachLoadBalancersResult attachLoadBalancers(AttachLoadBalancersRequest request)
Attaches one or more Classic Load Balancers to the specified Auto Scaling group.
To attach an Application Load Balancer instead, see AttachLoadBalancerTargetGroups.
To describe the load balancers for an Auto Scaling group, use DescribeLoadBalancers. To detach the load balancer from the Auto Scaling group, use DetachLoadBalancers.
For more information, see Attach a Load Balancer to Your Auto Scaling Group in the Auto Scaling User Guide.
attachLoadBalancers in interface AmazonAutoScalingattachLoadBalancersRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
AttachLoadBalancersRequest request = new AttachLoadBalancersRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withLoadBalancerNames("my-load-balancer");
AttachLoadBalancersResult response = client
.attachLoadBalancers(request);public AttachLoadBalancersResult attachLoadBalancers()
AmazonAutoScalingattachLoadBalancers in interface AmazonAutoScalingAmazonAutoScaling.attachLoadBalancers(AttachLoadBalancersRequest)public CompleteLifecycleActionResult completeLifecycleAction(CompleteLifecycleActionRequest request)
Completes the lifecycle action for the specified token or instance with the specified result.
This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:
(Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Auto Scaling launches or terminates instances.
(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 Auto Scaling to publish lifecycle notifications to the target.
Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.
If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.
If you finish before the timeout period ends, complete the lifecycle action.
For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.
completeLifecycleAction in interface AmazonAutoScalingcompleteLifecycleActionRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
CompleteLifecycleActionRequest request = new CompleteLifecycleActionRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withLifecycleActionResult("CONTINUE")
.withLifecycleActionToken(
"bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635")
.withLifecycleHookName("my-lifecycle-hook");
CompleteLifecycleActionResult response = client
.completeLifecycleAction(request);public CreateAutoScalingGroupResult createAutoScalingGroup(CreateAutoScalingGroupRequest request)
Creates an Auto Scaling group with the specified name and attributes.
If you exceed your maximum limit of Auto Scaling groups, which by default is 20 per region, the call fails. For information about viewing and updating this limit, see DescribeAccountLimits.
For more information, see Auto Scaling Groups in the Auto Scaling User Guide.
createAutoScalingGroup in interface AmazonAutoScalingcreateAutoScalingGroupRequest - AlreadyExistsException - You already have an Auto Scaling group or launch configuration with this name.LimitExceededException - You have already reached a limit for your Auto Scaling resources (for example, groups, launch
configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
CreateAutoScalingGroupRequest request = new CreateAutoScalingGroupRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withLaunchConfigurationName("my-launch-config").withMaxSize(3)
.withMinSize(1).withVPCZoneIdentifier("subnet-4176792c");
CreateAutoScalingGroupResult response = client
.createAutoScalingGroup(request);AmazonAutoScaling client = new AmazonAutoScalingClient();
CreateAutoScalingGroupRequest request = new CreateAutoScalingGroupRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withAvailabilityZones("us-west-2c")
.withHealthCheckGracePeriod(120).withHealthCheckType("ELB")
.withLaunchConfigurationName("my-launch-config")
.withLoadBalancerNames("my-load-balancer").withMaxSize(3)
.withMinSize(1);
CreateAutoScalingGroupResult response = client
.createAutoScalingGroup(request);AmazonAutoScaling client = new AmazonAutoScalingClient();
CreateAutoScalingGroupRequest request = new CreateAutoScalingGroupRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withHealthCheckGracePeriod(120)
.withHealthCheckType("ELB")
.withLaunchConfigurationName("my-launch-config")
.withMaxSize(3)
.withMinSize(1)
.withTargetGroupARNs(
"arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067")
.withVPCZoneIdentifier("subnet-4176792c, subnet-65ea5f08");
CreateAutoScalingGroupResult response = client
.createAutoScalingGroup(request);public CreateLaunchConfigurationResult createLaunchConfiguration(CreateLaunchConfigurationRequest request)
Creates a launch configuration.
If you exceed your maximum limit of launch configurations, which by default is 100 per region, the call fails. For information about viewing and updating this limit, see DescribeAccountLimits.
For more information, see Launch Configurations in the Auto Scaling User Guide.
createLaunchConfiguration in interface AmazonAutoScalingcreateLaunchConfigurationRequest - AlreadyExistsException - You already have an Auto Scaling group or launch configuration with this name.LimitExceededException - You have already reached a limit for your Auto Scaling resources (for example, groups, launch
configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
CreateLaunchConfigurationRequest request = new CreateLaunchConfigurationRequest()
.withIamInstanceProfile("my-iam-role")
.withImageId("ami-12345678").withInstanceType("m3.medium")
.withLaunchConfigurationName("my-launch-config")
.withSecurityGroups("sg-eb2af88e");
CreateLaunchConfigurationResult response = client
.createLaunchConfiguration(request);public CreateOrUpdateTagsResult createOrUpdateTags(CreateOrUpdateTagsRequest request)
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 Tagging Auto Scaling Groups and Instances in the Auto Scaling User Guide.
createOrUpdateTags in interface AmazonAutoScalingcreateOrUpdateTagsRequest - LimitExceededException - You have already reached a limit for your Auto Scaling resources (for example, groups, launch
configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.AlreadyExistsException - You already have an Auto Scaling group or launch configuration with this name.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).ResourceInUseException - The operation can't be performed because the resource is in use.AmazonAutoScaling client = new AmazonAutoScalingClient();
CreateOrUpdateTagsRequest request = new CreateOrUpdateTagsRequest()
.withTags(
new Tag().withKey("Role").withPropagateAtLaunch(true)
.withResourceId("my-auto-scaling-group")
.withResourceType("auto-scaling-group")
.withValue("WebServer"),
new Tag().withKey("Dept").withPropagateAtLaunch(true)
.withResourceId("my-auto-scaling-group")
.withResourceType("auto-scaling-group")
.withValue("Research"));
CreateOrUpdateTagsResult response = client.createOrUpdateTags(request);public DeleteAutoScalingGroupResult deleteAutoScalingGroup(DeleteAutoScalingGroupRequest request)
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.
If the group has policies, deleting the group deletes the policies, the underlying alarm actions, and any alarm that no longer has an associated action.
To remove instances from the Auto Scaling group before deleting it, call DetachInstances with the list of instances and the option to decrement the desired capacity so that Auto Scaling does not launch replacement instances.
To terminate all instances before deleting the Auto Scaling group, call UpdateAutoScalingGroup and set the minimum size and desired capacity of the Auto Scaling group to zero.
deleteAutoScalingGroup in interface AmazonAutoScalingdeleteAutoScalingGroupRequest - ScalingActivityInProgressException - The operation can't be performed because there are scaling activities in progress.ResourceInUseException - The operation can't be performed because the resource is in use.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DeleteAutoScalingGroupRequest request = new DeleteAutoScalingGroupRequest()
.withAutoScalingGroupName("my-auto-scaling-group");
DeleteAutoScalingGroupResult response = client
.deleteAutoScalingGroup(request);AmazonAutoScaling client = new AmazonAutoScalingClient();
DeleteAutoScalingGroupRequest request = new DeleteAutoScalingGroupRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withForceDelete(true);
DeleteAutoScalingGroupResult response = client
.deleteAutoScalingGroup(request);public DeleteLaunchConfigurationResult deleteLaunchConfiguration(DeleteLaunchConfigurationRequest request)
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.
deleteLaunchConfiguration in interface AmazonAutoScalingdeleteLaunchConfigurationRequest - ResourceInUseException - The operation can't be performed because the resource is in use.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DeleteLaunchConfigurationRequest request = new DeleteLaunchConfigurationRequest()
.withLaunchConfigurationName("my-launch-config");
DeleteLaunchConfigurationResult response = client
.deleteLaunchConfiguration(request);public DeleteLifecycleHookResult deleteLifecycleHook(DeleteLifecycleHookRequest request)
Deletes the specified lifecycle hook.
If there are any outstanding lifecycle actions, they are completed first (ABANDON for launching
instances, CONTINUE for terminating instances).
deleteLifecycleHook in interface AmazonAutoScalingdeleteLifecycleHookRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DeleteLifecycleHookRequest request = new DeleteLifecycleHookRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withLifecycleHookName("my-lifecycle-hook");
DeleteLifecycleHookResult response = client
.deleteLifecycleHook(request);public DeleteNotificationConfigurationResult deleteNotificationConfiguration(DeleteNotificationConfigurationRequest request)
Deletes the specified notification.
deleteNotificationConfiguration in interface AmazonAutoScalingdeleteNotificationConfigurationRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DeleteNotificationConfigurationRequest request = new DeleteNotificationConfigurationRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withTopicARN("arn:aws:sns:us-west-2:123456789012:my-sns-topic");
DeleteNotificationConfigurationResult response = client
.deleteNotificationConfiguration(request);public DeletePolicyResult deletePolicy(DeletePolicyRequest request)
Deletes the specified Auto Scaling policy.
Deleting a policy deletes the underlying alarm action, but does not delete the alarm, even if it no longer has an associated action.
deletePolicy in interface AmazonAutoScalingdeletePolicyRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DeletePolicyRequest request = new DeletePolicyRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withPolicyName("ScaleIn");
DeletePolicyResult response = client.deletePolicy(request);public DeleteScheduledActionResult deleteScheduledAction(DeleteScheduledActionRequest request)
Deletes the specified scheduled action.
deleteScheduledAction in interface AmazonAutoScalingdeleteScheduledActionRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DeleteScheduledActionRequest request = new DeleteScheduledActionRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withScheduledActionName("my-scheduled-action");
DeleteScheduledActionResult response = client
.deleteScheduledAction(request);public DeleteTagsResult deleteTags(DeleteTagsRequest request)
Deletes the specified tags.
deleteTags in interface AmazonAutoScalingdeleteTagsRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).ResourceInUseException - The operation can't be performed because the resource is in use.AmazonAutoScaling client = new AmazonAutoScalingClient();
DeleteTagsRequest request = new DeleteTagsRequest().withTags(new Tag()
.withKey("Dept").withResourceId("my-auto-scaling-group")
.withResourceType("auto-scaling-group").withValue("Research"));
DeleteTagsResult response = client.deleteTags(request);public DescribeAccountLimitsResult describeAccountLimits(DescribeAccountLimitsRequest request)
Describes the current Auto Scaling resource limits for your AWS account.
For information about requesting an increase in these limits, see AWS Service Limits in the Amazon Web Services General Reference.
describeAccountLimits in interface AmazonAutoScalingdescribeAccountLimitsRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeAccountLimitsRequest request = new DescribeAccountLimitsRequest();
DescribeAccountLimitsResult response = client
.describeAccountLimits(request);public DescribeAccountLimitsResult describeAccountLimits()
AmazonAutoScalingdescribeAccountLimits in interface AmazonAutoScalingAmazonAutoScaling.describeAccountLimits(DescribeAccountLimitsRequest)public DescribeAdjustmentTypesResult describeAdjustmentTypes(DescribeAdjustmentTypesRequest request)
Describes the policy adjustment types for use with PutScalingPolicy.
describeAdjustmentTypes in interface AmazonAutoScalingdescribeAdjustmentTypesRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeAdjustmentTypesRequest request = new DescribeAdjustmentTypesRequest();
DescribeAdjustmentTypesResult response = client
.describeAdjustmentTypes(request);public DescribeAdjustmentTypesResult describeAdjustmentTypes()
AmazonAutoScalingdescribeAdjustmentTypes in interface AmazonAutoScalingAmazonAutoScaling.describeAdjustmentTypes(DescribeAdjustmentTypesRequest)public DescribeAutoScalingGroupsResult describeAutoScalingGroups(DescribeAutoScalingGroupsRequest request)
Describes one or more Auto Scaling groups.
describeAutoScalingGroups in interface AmazonAutoScalingdescribeAutoScalingGroupsRequest - InvalidNextTokenException - The NextToken value is not valid.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeAutoScalingGroupsRequest request = new DescribeAutoScalingGroupsRequest()
.withAutoScalingGroupNames("my-auto-scaling-group");
DescribeAutoScalingGroupsResult response = client
.describeAutoScalingGroups(request);public DescribeAutoScalingGroupsResult describeAutoScalingGroups()
AmazonAutoScalingdescribeAutoScalingGroups in interface AmazonAutoScalingAmazonAutoScaling.describeAutoScalingGroups(DescribeAutoScalingGroupsRequest)public DescribeAutoScalingInstancesResult describeAutoScalingInstances(DescribeAutoScalingInstancesRequest request)
Describes one or more Auto Scaling instances.
describeAutoScalingInstances in interface AmazonAutoScalingdescribeAutoScalingInstancesRequest - InvalidNextTokenException - The NextToken value is not valid.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeAutoScalingInstancesRequest request = new DescribeAutoScalingInstancesRequest()
.withInstanceIds("i-4ba0837f");
DescribeAutoScalingInstancesResult response = client
.describeAutoScalingInstances(request);public DescribeAutoScalingInstancesResult describeAutoScalingInstances()
AmazonAutoScalingdescribeAutoScalingInstances in interface AmazonAutoScalingAmazonAutoScaling.describeAutoScalingInstances(DescribeAutoScalingInstancesRequest)public DescribeAutoScalingNotificationTypesResult describeAutoScalingNotificationTypes(DescribeAutoScalingNotificationTypesRequest request)
Describes the notification types that are supported by Auto Scaling.
describeAutoScalingNotificationTypes in interface AmazonAutoScalingdescribeAutoScalingNotificationTypesRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeAutoScalingNotificationTypesRequest request = new DescribeAutoScalingNotificationTypesRequest();
DescribeAutoScalingNotificationTypesResult response = client
.describeAutoScalingNotificationTypes(request);public DescribeAutoScalingNotificationTypesResult describeAutoScalingNotificationTypes()
AmazonAutoScalingdescribeAutoScalingNotificationTypes in interface AmazonAutoScalingAmazonAutoScaling.describeAutoScalingNotificationTypes(DescribeAutoScalingNotificationTypesRequest)public DescribeLaunchConfigurationsResult describeLaunchConfigurations(DescribeLaunchConfigurationsRequest request)
Describes one or more launch configurations.
describeLaunchConfigurations in interface AmazonAutoScalingdescribeLaunchConfigurationsRequest - InvalidNextTokenException - The NextToken value is not valid.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeLaunchConfigurationsRequest request = new DescribeLaunchConfigurationsRequest()
.withLaunchConfigurationNames("my-launch-config");
DescribeLaunchConfigurationsResult response = client
.describeLaunchConfigurations(request);public DescribeLaunchConfigurationsResult describeLaunchConfigurations()
AmazonAutoScalingdescribeLaunchConfigurations in interface AmazonAutoScalingAmazonAutoScaling.describeLaunchConfigurations(DescribeLaunchConfigurationsRequest)public DescribeLifecycleHookTypesResult describeLifecycleHookTypes(DescribeLifecycleHookTypesRequest request)
Describes the available types of lifecycle hooks.
describeLifecycleHookTypes in interface AmazonAutoScalingdescribeLifecycleHookTypesRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeLifecycleHookTypesRequest request = new DescribeLifecycleHookTypesRequest();
DescribeLifecycleHookTypesResult response = client
.describeLifecycleHookTypes(request);public DescribeLifecycleHookTypesResult describeLifecycleHookTypes()
AmazonAutoScalingdescribeLifecycleHookTypes in interface AmazonAutoScalingAmazonAutoScaling.describeLifecycleHookTypes(DescribeLifecycleHookTypesRequest)public DescribeLifecycleHooksResult describeLifecycleHooks(DescribeLifecycleHooksRequest request)
Describes the lifecycle hooks for the specified Auto Scaling group.
describeLifecycleHooks in interface AmazonAutoScalingdescribeLifecycleHooksRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeLifecycleHooksRequest request = new DescribeLifecycleHooksRequest()
.withAutoScalingGroupName("my-auto-scaling-group");
DescribeLifecycleHooksResult response = client
.describeLifecycleHooks(request);public DescribeLoadBalancerTargetGroupsResult describeLoadBalancerTargetGroups(DescribeLoadBalancerTargetGroupsRequest request)
Describes the target groups for the specified Auto Scaling group.
describeLoadBalancerTargetGroups in interface AmazonAutoScalingdescribeLoadBalancerTargetGroupsRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeLoadBalancerTargetGroupsRequest request = new DescribeLoadBalancerTargetGroupsRequest()
.withAutoScalingGroupName("my-auto-scaling-group");
DescribeLoadBalancerTargetGroupsResult response = client
.describeLoadBalancerTargetGroups(request);public DescribeLoadBalancersResult describeLoadBalancers(DescribeLoadBalancersRequest request)
Describes the load balancers for the specified Auto Scaling group.
Note that this operation describes only Classic Load Balancers. If you have Application Load Balancers, use DescribeLoadBalancerTargetGroups instead.
describeLoadBalancers in interface AmazonAutoScalingdescribeLoadBalancersRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeLoadBalancersRequest request = new DescribeLoadBalancersRequest()
.withAutoScalingGroupName("my-auto-scaling-group");
DescribeLoadBalancersResult response = client
.describeLoadBalancers(request);public DescribeMetricCollectionTypesResult describeMetricCollectionTypes(DescribeMetricCollectionTypesRequest request)
Describes the available CloudWatch metrics for Auto Scaling.
Note that the GroupStandbyInstances metric is not returned by default. You must explicitly request
this metric when calling EnableMetricsCollection.
describeMetricCollectionTypes in interface AmazonAutoScalingdescribeMetricCollectionTypesRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeMetricCollectionTypesRequest request = new DescribeMetricCollectionTypesRequest();
DescribeMetricCollectionTypesResult response = client
.describeMetricCollectionTypes(request);public DescribeMetricCollectionTypesResult describeMetricCollectionTypes()
AmazonAutoScalingdescribeMetricCollectionTypes in interface AmazonAutoScalingAmazonAutoScaling.describeMetricCollectionTypes(DescribeMetricCollectionTypesRequest)public DescribeNotificationConfigurationsResult describeNotificationConfigurations(DescribeNotificationConfigurationsRequest request)
Describes the notification actions associated with the specified Auto Scaling group.
describeNotificationConfigurations in interface AmazonAutoScalingdescribeNotificationConfigurationsRequest - InvalidNextTokenException - The NextToken value is not valid.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeNotificationConfigurationsRequest request = new DescribeNotificationConfigurationsRequest()
.withAutoScalingGroupNames("my-auto-scaling-group");
DescribeNotificationConfigurationsResult response = client
.describeNotificationConfigurations(request);public DescribeNotificationConfigurationsResult describeNotificationConfigurations()
AmazonAutoScalingdescribeNotificationConfigurations in interface AmazonAutoScalingAmazonAutoScaling.describeNotificationConfigurations(DescribeNotificationConfigurationsRequest)public DescribePoliciesResult describePolicies(DescribePoliciesRequest request)
Describes the policies for the specified Auto Scaling group.
describePolicies in interface AmazonAutoScalingdescribePoliciesRequest - InvalidNextTokenException - The NextToken value is not valid.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribePoliciesRequest request = new DescribePoliciesRequest()
.withAutoScalingGroupName("my-auto-scaling-group");
DescribePoliciesResult response = client.describePolicies(request);public DescribePoliciesResult describePolicies()
AmazonAutoScalingdescribePolicies in interface AmazonAutoScalingAmazonAutoScaling.describePolicies(DescribePoliciesRequest)public DescribeScalingActivitiesResult describeScalingActivities(DescribeScalingActivitiesRequest request)
Describes one or more scaling activities for the specified Auto Scaling group.
describeScalingActivities in interface AmazonAutoScalingdescribeScalingActivitiesRequest - InvalidNextTokenException - The NextToken value is not valid.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeScalingActivitiesRequest request = new DescribeScalingActivitiesRequest()
.withAutoScalingGroupName("my-auto-scaling-group");
DescribeScalingActivitiesResult response = client
.describeScalingActivities(request);public DescribeScalingActivitiesResult describeScalingActivities()
AmazonAutoScalingdescribeScalingActivities in interface AmazonAutoScalingAmazonAutoScaling.describeScalingActivities(DescribeScalingActivitiesRequest)public DescribeScalingProcessTypesResult describeScalingProcessTypes(DescribeScalingProcessTypesRequest request)
Describes the scaling process types for use with ResumeProcesses and SuspendProcesses.
describeScalingProcessTypes in interface AmazonAutoScalingdescribeScalingProcessTypesRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeScalingProcessTypesRequest request = new DescribeScalingProcessTypesRequest();
DescribeScalingProcessTypesResult response = client
.describeScalingProcessTypes(request);public DescribeScalingProcessTypesResult describeScalingProcessTypes()
AmazonAutoScalingdescribeScalingProcessTypes in interface AmazonAutoScalingAmazonAutoScaling.describeScalingProcessTypes(DescribeScalingProcessTypesRequest)public DescribeScheduledActionsResult describeScheduledActions(DescribeScheduledActionsRequest request)
Describes the actions scheduled for your Auto Scaling group that haven't run. To describe the actions that have already run, use DescribeScalingActivities.
describeScheduledActions in interface AmazonAutoScalingdescribeScheduledActionsRequest - InvalidNextTokenException - The NextToken value is not valid.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeScheduledActionsRequest request = new DescribeScheduledActionsRequest()
.withAutoScalingGroupName("my-auto-scaling-group");
DescribeScheduledActionsResult response = client
.describeScheduledActions(request);public DescribeScheduledActionsResult describeScheduledActions()
AmazonAutoScalingdescribeScheduledActions in interface AmazonAutoScalingAmazonAutoScaling.describeScheduledActions(DescribeScheduledActionsRequest)public DescribeTagsResult describeTags(DescribeTagsRequest request)
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.
describeTags in interface AmazonAutoScalingdescribeTagsRequest - InvalidNextTokenException - The NextToken value is not valid.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeTagsRequest request = new DescribeTagsRequest()
.withFilters(new Filter().withName("auto-scaling-group")
.withValues("my-auto-scaling-group"));
DescribeTagsResult response = client.describeTags(request);public DescribeTagsResult describeTags()
AmazonAutoScalingdescribeTags in interface AmazonAutoScalingAmazonAutoScaling.describeTags(DescribeTagsRequest)public DescribeTerminationPolicyTypesResult describeTerminationPolicyTypes(DescribeTerminationPolicyTypesRequest request)
Describes the termination policies supported by Auto Scaling.
describeTerminationPolicyTypes in interface AmazonAutoScalingdescribeTerminationPolicyTypesRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DescribeTerminationPolicyTypesRequest request = new DescribeTerminationPolicyTypesRequest();
DescribeTerminationPolicyTypesResult response = client
.describeTerminationPolicyTypes(request);public DescribeTerminationPolicyTypesResult describeTerminationPolicyTypes()
AmazonAutoScalingdescribeTerminationPolicyTypes in interface AmazonAutoScalingAmazonAutoScaling.describeTerminationPolicyTypes(DescribeTerminationPolicyTypesRequest)public DetachInstancesResult detachInstances(DetachInstancesRequest request)
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, 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 Auto Scaling User Guide.
detachInstances in interface AmazonAutoScalingdetachInstancesRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DetachInstancesRequest request = new DetachInstancesRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withInstanceIds("i-93633f9b")
.withShouldDecrementDesiredCapacity(true);
DetachInstancesResult response = client.detachInstances(request);public DetachLoadBalancerTargetGroupsResult detachLoadBalancerTargetGroups(DetachLoadBalancerTargetGroupsRequest request)
Detaches one or more target groups from the specified Auto Scaling group.
detachLoadBalancerTargetGroups in interface AmazonAutoScalingdetachLoadBalancerTargetGroupsRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DetachLoadBalancerTargetGroupsRequest request = new DetachLoadBalancerTargetGroupsRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withTargetGroupARNs(
"arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067");
DetachLoadBalancerTargetGroupsResult response = client
.detachLoadBalancerTargetGroups(request);public DetachLoadBalancersResult detachLoadBalancers(DetachLoadBalancersRequest request)
Detaches one or more Classic Load Balancers from the specified Auto Scaling group.
Note that this operation detaches only Classic Load Balancers. If you have Application Load Balancers, use DetachLoadBalancerTargetGroups 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
DescribeLoadBalancers. Note that the instances remain running.
detachLoadBalancers in interface AmazonAutoScalingdetachLoadBalancersRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DetachLoadBalancersRequest request = new DetachLoadBalancersRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withLoadBalancerNames("my-load-balancer");
DetachLoadBalancersResult response = client
.detachLoadBalancers(request);public DetachLoadBalancersResult detachLoadBalancers()
AmazonAutoScalingdetachLoadBalancers in interface AmazonAutoScalingAmazonAutoScaling.detachLoadBalancers(DetachLoadBalancersRequest)public DisableMetricsCollectionResult disableMetricsCollection(DisableMetricsCollectionRequest request)
Disables group metrics for the specified Auto Scaling group.
disableMetricsCollection in interface AmazonAutoScalingdisableMetricsCollectionRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
DisableMetricsCollectionRequest request = new DisableMetricsCollectionRequest()
.withAutoScalingGroupName("my-auto-scaling-group").withMetrics(
"GroupDesiredCapacity");
DisableMetricsCollectionResult response = client
.disableMetricsCollection(request);public EnableMetricsCollectionResult enableMetricsCollection(EnableMetricsCollectionRequest request)
Enables group metrics for the specified Auto Scaling group. For more information, see Monitoring Your Auto Scaling Groups and Instances in the Auto Scaling User Guide.
enableMetricsCollection in interface AmazonAutoScalingenableMetricsCollectionRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
EnableMetricsCollectionRequest request = new EnableMetricsCollectionRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withGranularity("1Minute");
EnableMetricsCollectionResult response = client
.enableMetricsCollection(request);public EnterStandbyResult enterStandby(EnterStandbyRequest request)
Moves the specified instances into the standby state.
For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Auto Scaling User Guide.
enterStandby in interface AmazonAutoScalingenterStandbyRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
EnterStandbyRequest request = new EnterStandbyRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withInstanceIds("i-93633f9b")
.withShouldDecrementDesiredCapacity(true);
EnterStandbyResult response = client.enterStandby(request);public ExecutePolicyResult executePolicy(ExecutePolicyRequest request)
Executes the specified policy.
executePolicy in interface AmazonAutoScalingexecutePolicyRequest - ScalingActivityInProgressException - The operation can't be performed because there are scaling activities in progress.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
ExecutePolicyRequest request = new ExecutePolicyRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withHonorCooldown(true).withPolicyName("ScaleIn");
ExecutePolicyResult response = client.executePolicy(request);public ExitStandbyResult exitStandby(ExitStandbyRequest request)
Moves the specified instances out of the standby state.
For more information, see Temporarily Removing Instances from Your Auto Scaling Group in the Auto Scaling User Guide.
exitStandby in interface AmazonAutoScalingexitStandbyRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
ExitStandbyRequest request = new ExitStandbyRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withInstanceIds("i-93633f9b");
ExitStandbyResult response = client.exitStandby(request);public PutLifecycleHookResult putLifecycleHook(PutLifecycleHookRequest request)
Creates or updates a lifecycle hook for the specified Auto Scaling Group.
A lifecycle hook tells Auto Scaling that you want to perform an action on an instance that is not actively in service; for example, either when the instance launches or before the instance terminates.
This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:
(Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Auto Scaling launches or terminates instances.
(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 Auto Scaling to publish lifecycle notifications to the target.
Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.
If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.
If you finish before the timeout period ends, complete the lifecycle action.
For more information, see Auto Scaling Lifecycle Hooks in the 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. For information about updating this limit, see AWS Service Limits in the Amazon Web Services General Reference.
putLifecycleHook in interface AmazonAutoScalingputLifecycleHookRequest - LimitExceededException - You have already reached a limit for your Auto Scaling resources (for example, groups, launch
configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
PutLifecycleHookRequest request = new PutLifecycleHookRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withLifecycleHookName("my-lifecycle-hook")
.withLifecycleTransition("autoscaling:EC2_INSTANCE_LAUNCHING")
.withNotificationTargetARN(
"arn:aws:sns:us-west-2:123456789012:my-sns-topic --role-arn")
.withRoleARN(
"arn:aws:iam::123456789012:role/my-auto-scaling-role");
PutLifecycleHookResult response = client.putLifecycleHook(request);public PutNotificationConfigurationResult putNotificationConfiguration(PutNotificationConfigurationRequest request)
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 SNS Notifications When Your Auto Scaling Group Scales in the Auto Scaling User Guide.
putNotificationConfiguration in interface AmazonAutoScalingputNotificationConfigurationRequest - LimitExceededException - You have already reached a limit for your Auto Scaling resources (for example, groups, launch
configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
PutNotificationConfigurationRequest request = new PutNotificationConfigurationRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withNotificationTypes("autoscaling:TEST_NOTIFICATION")
.withTopicARN("arn:aws:sns:us-west-2:123456789012:my-sns-topic");
PutNotificationConfigurationResult response = client
.putNotificationConfiguration(request);public PutScalingPolicyResult putScalingPolicy(PutScalingPolicyRequest request)
Creates or updates a policy for an Auto Scaling group. To update an existing policy, use the existing policy name and set the parameters you want to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request.
If you exceed your maximum limit of step adjustments, which by default is 20 per region, the call fails. For information about updating this limit, see AWS Service Limits in the Amazon Web Services General Reference.
putScalingPolicy in interface AmazonAutoScalingputScalingPolicyRequest - LimitExceededException - You have already reached a limit for your Auto Scaling resources (for example, groups, launch
configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
PutScalingPolicyRequest request = new PutScalingPolicyRequest()
.withAdjustmentType("ChangeInCapacity")
.withAutoScalingGroupName("my-auto-scaling-group")
.withPolicyName("ScaleIn").withScalingAdjustment(-1);
PutScalingPolicyResult response = client.putScalingPolicy(request);public PutScheduledUpdateGroupActionResult putScheduledUpdateGroupAction(PutScheduledUpdateGroupActionRequest request)
Creates or updates a scheduled scaling action for an Auto Scaling group. When updating a scheduled scaling action, if you leave a parameter unspecified, the corresponding value remains unchanged.
For more information, see Scheduled Scaling in the Auto Scaling User Guide.
putScheduledUpdateGroupAction in interface AmazonAutoScalingputScheduledUpdateGroupActionRequest - AlreadyExistsException - You already have an Auto Scaling group or launch configuration with this name.LimitExceededException - You have already reached a limit for your Auto Scaling resources (for example, groups, launch
configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
PutScheduledUpdateGroupActionRequest request = new PutScheduledUpdateGroupActionRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withDesiredCapacity(4)
.withEndTime(new Date("2014-05-12T08:00:00Z")).withMaxSize(6)
.withMinSize(2).withScheduledActionName("my-scheduled-action")
.withStartTime(new Date("2014-05-12T08:00:00Z"));
PutScheduledUpdateGroupActionResult response = client
.putScheduledUpdateGroupAction(request);public RecordLifecycleActionHeartbeatResult recordLifecycleActionHeartbeat(RecordLifecycleActionHeartbeatRequest request)
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 PutLifecycleHook.
This step is a part of the procedure for adding a lifecycle hook to an Auto Scaling group:
(Optional) Create a Lambda function and a rule that allows CloudWatch Events to invoke your Lambda function when Auto Scaling launches or terminates instances.
(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 Auto Scaling to publish lifecycle notifications to the target.
Create the lifecycle hook. Specify whether the hook is used when the instances launch or terminate.
If you need more time, record the lifecycle action heartbeat to keep the instance in a pending state.
If you finish before the timeout period ends, complete the lifecycle action.
For more information, see Auto Scaling Lifecycle in the Auto Scaling User Guide.
recordLifecycleActionHeartbeat in interface AmazonAutoScalingrecordLifecycleActionHeartbeatRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
RecordLifecycleActionHeartbeatRequest request = new RecordLifecycleActionHeartbeatRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withLifecycleActionToken(
"bcd2f1b8-9a78-44d3-8a7a-4dd07d7cf635")
.withLifecycleHookName("my-lifecycle-hook");
RecordLifecycleActionHeartbeatResult response = client
.recordLifecycleActionHeartbeat(request);public ResumeProcessesResult resumeProcesses(ResumeProcessesRequest request)
Resumes the specified suspended Auto Scaling processes, or all suspended process, for the specified Auto Scaling group.
For more information, see Suspending and Resuming Auto Scaling Processes in the Auto Scaling User Guide.
resumeProcesses in interface AmazonAutoScalingresumeProcessesRequest - ResourceInUseException - The operation can't be performed because the resource is in use.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
ResumeProcessesRequest request = new ResumeProcessesRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withScalingProcesses("AlarmNotification");
ResumeProcessesResult response = client.resumeProcesses(request);public SetDesiredCapacityResult setDesiredCapacity(SetDesiredCapacityRequest request)
Sets the size of the specified Auto Scaling group.
For more information about desired capacity, see What Is Auto Scaling? in the Auto Scaling User Guide.
setDesiredCapacity in interface AmazonAutoScalingsetDesiredCapacityRequest - ScalingActivityInProgressException - The operation can't be performed because there are scaling activities in progress.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
SetDesiredCapacityRequest request = new SetDesiredCapacityRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withDesiredCapacity(2).withHonorCooldown(true);
SetDesiredCapacityResult response = client.setDesiredCapacity(request);public SetInstanceHealthResult setInstanceHealth(SetInstanceHealthRequest request)
Sets the health status of the specified instance.
For more information, see Health Checks in the Auto Scaling User Guide.
setInstanceHealth in interface AmazonAutoScalingsetInstanceHealthRequest - ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
SetInstanceHealthRequest request = new SetInstanceHealthRequest()
.withHealthStatus("Unhealthy").withInstanceId("i-93633f9b");
SetInstanceHealthResult response = client.setInstanceHealth(request);public SetInstanceProtectionResult setInstanceProtection(SetInstanceProtectionRequest request)
Updates the instance protection settings of the specified instances.
For more information, see Instance Protection in the Auto Scaling User Guide.
setInstanceProtection in interface AmazonAutoScalingsetInstanceProtectionRequest - LimitExceededException - You have already reached a limit for your Auto Scaling resources (for example, groups, launch
configurations, or lifecycle hooks). For more information, see DescribeAccountLimits.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
SetInstanceProtectionRequest request = new SetInstanceProtectionRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withInstanceIds("i-93633f9b").withProtectedFromScaleIn(true);
SetInstanceProtectionResult response = client
.setInstanceProtection(request);AmazonAutoScaling client = new AmazonAutoScalingClient();
SetInstanceProtectionRequest request = new SetInstanceProtectionRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withInstanceIds("i-93633f9b").withProtectedFromScaleIn(false);
SetInstanceProtectionResult response = client
.setInstanceProtection(request);public SuspendProcessesResult suspendProcesses(SuspendProcessesRequest request)
Suspends the specified Auto Scaling processes, or all processes, for the specified Auto Scaling group.
Note that if you suspend either the Launch or Terminate process types, it can prevent
other process types from functioning properly.
To resume processes that have been suspended, use ResumeProcesses.
For more information, see Suspending and Resuming Auto Scaling Processes in the Auto Scaling User Guide.
suspendProcesses in interface AmazonAutoScalingsuspendProcessesRequest - ResourceInUseException - The operation can't be performed because the resource is in use.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
SuspendProcessesRequest request = new SuspendProcessesRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withScalingProcesses("AlarmNotification");
SuspendProcessesResult response = client.suspendProcesses(request);public TerminateInstanceInAutoScalingGroupResult terminateInstanceInAutoScalingGroup(TerminateInstanceInAutoScalingGroupRequest request)
Terminates the specified instance and optionally adjusts the desired group size.
This call simply makes a termination request. The instance is not terminated immediately.
terminateInstanceInAutoScalingGroup in interface AmazonAutoScalingterminateInstanceInAutoScalingGroupRequest - ScalingActivityInProgressException - The operation can't be performed because there are scaling activities in progress.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
TerminateInstanceInAutoScalingGroupRequest request = new TerminateInstanceInAutoScalingGroupRequest()
.withInstanceId("i-93633f9b")
.withShouldDecrementDesiredCapacity(false);
TerminateInstanceInAutoScalingGroupResult response = client
.terminateInstanceInAutoScalingGroup(request);public UpdateAutoScalingGroupResult updateAutoScalingGroup(UpdateAutoScalingGroupRequest request)
Updates the configuration for the specified Auto Scaling group.
The new settings take effect on any scaling activities after this call returns. Scaling activities that are currently in progress aren't affected.
To update an Auto Scaling group with a launch configuration with InstanceMonitoring set to
false, you must first disable the collection of group metrics. Otherwise, you will get an error. If
you have previously enabled the collection of group metrics, you can disable it using
DisableMetricsCollection.
Note the following:
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, we implicitly call
SetDesiredCapacity to set the size of the group to the new value of MinSize.
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, we implicitly call
SetDesiredCapacity to set the size of the group to the new value of MaxSize.
All other optional parameters are left unchanged if not specified.
updateAutoScalingGroup in interface AmazonAutoScalingupdateAutoScalingGroupRequest - ScalingActivityInProgressException - The operation can't be performed because there are scaling activities in progress.ResourceContentionException - You already have a pending update to an Auto Scaling resource (for example, a group, instance, or load
balancer).AmazonAutoScaling client = new AmazonAutoScalingClient();
UpdateAutoScalingGroupRequest request = new UpdateAutoScalingGroupRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withLaunchConfigurationName("new-launch-config");
UpdateAutoScalingGroupResult response = client
.updateAutoScalingGroup(request);AmazonAutoScaling client = new AmazonAutoScalingClient();
UpdateAutoScalingGroupRequest request = new UpdateAutoScalingGroupRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withMaxSize(3).withMinSize(1);
UpdateAutoScalingGroupResult response = client
.updateAutoScalingGroup(request);AmazonAutoScaling client = new AmazonAutoScalingClient();
UpdateAutoScalingGroupRequest request = new UpdateAutoScalingGroupRequest()
.withAutoScalingGroupName("my-auto-scaling-group")
.withNewInstancesProtectedFromScaleIn(true);
UpdateAutoScalingGroupResult response = client
.updateAutoScalingGroup(request);public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request)
Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing the request.
getCachedResponseMetadata in interface AmazonAutoScalingrequest - The originally executed requestpublic AmazonAutoScalingWaiters waiters()
waiters in interface AmazonAutoScalingpublic void shutdown()
AmazonWebServiceClientshutdown in interface AmazonAutoScalingshutdown in class AmazonWebServiceClientCopyright © 2013 Amazon Web Services, Inc. All Rights Reserved.