import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { AttachInstancesQuery } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link AttachInstancesCommand}. */ export interface AttachInstancesCommandInput extends AttachInstancesQuery { } /** * @public * * The output of {@link AttachInstancesCommand}. */ export interface AttachInstancesCommandOutput extends __MetadataBearer { } declare const AttachInstancesCommand_base: { new (input: AttachInstancesCommandInput): import("@smithy/core/client").CommandImpl; new (input: AttachInstancesCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

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 Detach * or attach instances 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, AttachInstancesCommand } from "@aws-sdk/client-auto-scaling"; // ES Modules import * // const { AutoScalingClient, AttachInstancesCommand } = 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 = { // AttachInstancesQuery * InstanceIds: [ // InstanceIds * "STRING_VALUE", * ], * AutoScalingGroupName: "STRING_VALUE", // required * }; * const command = new AttachInstancesCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param AttachInstancesCommandInput - {@link AttachInstancesCommandInput} * @returns {@link AttachInstancesCommandOutput} * @see {@link AttachInstancesCommandInput} for command's `input` shape. * @see {@link AttachInstancesCommandOutput} 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 ServiceLinkedRoleFailure} (server fault) *

The service-linked role is not yet ready for use.

* * @throws {@link AutoScalingServiceException} *

Base exception class for all service exceptions from AutoScaling service.

* * * @example To attach an instance to an Auto Scaling group * ```javascript * // This example attaches the specified instance to the specified Auto Scaling group. * const input = { * AutoScalingGroupName: "my-auto-scaling-group", * InstanceIds: [ * "i-93633f9b" * ] * }; * const command = new AttachInstancesCommand(input); * const response = await client.send(command); * /* response is * { /* metadata only *\/ } * *\/ * ``` * * @public */ export declare class AttachInstancesCommand extends AttachInstancesCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: AttachInstancesQuery; output: {}; }; sdk: { input: AttachInstancesCommandInput; output: AttachInstancesCommandOutput; }; }; }