import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { ActivityType, TerminateInstanceInAutoScalingGroupType } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link TerminateInstanceInAutoScalingGroupCommand}. */ export interface TerminateInstanceInAutoScalingGroupCommandInput extends TerminateInstanceInAutoScalingGroupType { } /** * @public * * The output of {@link TerminateInstanceInAutoScalingGroupCommand}. */ export interface TerminateInstanceInAutoScalingGroupCommandOutput extends ActivityType, __MetadataBearer { } declare const TerminateInstanceInAutoScalingGroupCommand_base: { new (input: TerminateInstanceInAutoScalingGroupCommandInput): import("@smithy/core/client").CommandImpl; new (input: TerminateInstanceInAutoScalingGroupCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

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 Manual * scaling in the Amazon EC2 Auto Scaling User Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { AutoScalingClient, TerminateInstanceInAutoScalingGroupCommand } from "@aws-sdk/client-auto-scaling"; // ES Modules import * // const { AutoScalingClient, TerminateInstanceInAutoScalingGroupCommand } = require("@aws-sdk/client-auto-scaling"); // CommonJS import * // import type { AutoScalingClientConfig } from "@aws-sdk/client-auto-scaling"; * const config = {}; // type is AutoScalingClientConfig * const client = new AutoScalingClient(config); * const input = { // TerminateInstanceInAutoScalingGroupType * InstanceId: "STRING_VALUE", // required * ShouldDecrementDesiredCapacity: true || false, // required * }; * const command = new TerminateInstanceInAutoScalingGroupCommand(input); * const response = await client.send(command); * // { // ActivityType * // Activity: { // Activity * // ActivityId: "STRING_VALUE", // required * // AutoScalingGroupName: "STRING_VALUE", // required * // Description: "STRING_VALUE", * // Cause: "STRING_VALUE", // required * // StartTime: new Date("TIMESTAMP"), // required * // EndTime: new Date("TIMESTAMP"), * // StatusCode: "PendingSpotBidPlacement" || "WaitingForSpotInstanceRequestId" || "WaitingForSpotInstanceId" || "WaitingForInstanceId" || "PreInService" || "InProgress" || "WaitingForELBConnectionDraining" || "MidLifecycleAction" || "WaitingForInstanceWarmup" || "Successful" || "Failed" || "Cancelled" || "WaitingForConnectionDraining" || "WaitingForInPlaceUpdateToStart" || "WaitingForInPlaceUpdateToFinalize" || "InPlaceUpdateInProgress", // required * // StatusMessage: "STRING_VALUE", * // Progress: Number("int"), * // Details: "STRING_VALUE", * // AutoScalingGroupState: "STRING_VALUE", * // AutoScalingGroupARN: "STRING_VALUE", * // }, * // }; * * ``` * * @param TerminateInstanceInAutoScalingGroupCommandInput - {@link TerminateInstanceInAutoScalingGroupCommandInput} * @returns {@link TerminateInstanceInAutoScalingGroupCommandOutput} * @see {@link TerminateInstanceInAutoScalingGroupCommandInput} for command's `input` shape. * @see {@link TerminateInstanceInAutoScalingGroupCommandOutput} for command's `response` shape. * @see {@link AutoScalingClientResolvedConfig | config} for AutoScalingClient's `config` shape. * * @throws {@link ResourceContentionFault} (server fault) *

You already have a pending update to an Amazon EC2 Auto Scaling resource (for example, an Auto Scaling group, * instance, or load balancer).

* * @throws {@link ScalingActivityInProgressFault} (client fault) *

The operation can't be performed because there are scaling activities in * progress.

* * @throws {@link AutoScalingServiceException} *

Base exception class for all service exceptions from AutoScaling service.

* * * @example To terminate an instance in an Auto Scaling group * ```javascript * // This example terminates the specified instance from the specified Auto Scaling group without updating the size of the group. Auto Scaling launches a replacement instance after the specified instance terminates. * const input = { * InstanceId: "i-93633f9b", * ShouldDecrementDesiredCapacity: false * }; * const command = new TerminateInstanceInAutoScalingGroupCommand(input); * const response = await client.send(command); * /* response is * { /* metadata only *\/ } * *\/ * ``` * * @public */ export declare class TerminateInstanceInAutoScalingGroupCommand extends TerminateInstanceInAutoScalingGroupCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: TerminateInstanceInAutoScalingGroupType; output: ActivityType; }; sdk: { input: TerminateInstanceInAutoScalingGroupCommandInput; output: TerminateInstanceInAutoScalingGroupCommandOutput; }; }; }