import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateLaunchConfigurationType } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateLaunchConfigurationCommand}. */ export interface CreateLaunchConfigurationCommandInput extends CreateLaunchConfigurationType { } /** * @public * * The output of {@link CreateLaunchConfigurationCommand}. */ export interface CreateLaunchConfigurationCommandOutput extends __MetadataBearer { } declare const CreateLaunchConfigurationCommand_base: { new (input: CreateLaunchConfigurationCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateLaunchConfigurationCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

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.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { AutoScalingClient, CreateLaunchConfigurationCommand } from "@aws-sdk/client-auto-scaling"; // ES Modules import * // const { AutoScalingClient, CreateLaunchConfigurationCommand } = 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 = { // CreateLaunchConfigurationType * LaunchConfigurationName: "STRING_VALUE", // required * ImageId: "STRING_VALUE", * KeyName: "STRING_VALUE", * SecurityGroups: [ // SecurityGroups * "STRING_VALUE", * ], * ClassicLinkVPCId: "STRING_VALUE", * ClassicLinkVPCSecurityGroups: [ // ClassicLinkVPCSecurityGroups * "STRING_VALUE", * ], * UserData: "STRING_VALUE", * InstanceId: "STRING_VALUE", * InstanceType: "STRING_VALUE", * KernelId: "STRING_VALUE", * RamdiskId: "STRING_VALUE", * BlockDeviceMappings: [ // BlockDeviceMappings * { // BlockDeviceMapping * VirtualName: "STRING_VALUE", * DeviceName: "STRING_VALUE", // required * Ebs: { // Ebs * SnapshotId: "STRING_VALUE", * VolumeSize: Number("int"), * VolumeType: "STRING_VALUE", * DeleteOnTermination: true || false, * Iops: Number("int"), * Encrypted: true || false, * Throughput: Number("int"), * }, * NoDevice: true || false, * }, * ], * InstanceMonitoring: { // InstanceMonitoring * Enabled: true || false, * }, * SpotPrice: "STRING_VALUE", * IamInstanceProfile: "STRING_VALUE", * EbsOptimized: true || false, * AssociatePublicIpAddress: true || false, * PlacementTenancy: "STRING_VALUE", * MetadataOptions: { // InstanceMetadataOptions * HttpTokens: "optional" || "required", * HttpPutResponseHopLimit: Number("int"), * HttpEndpoint: "disabled" || "enabled", * }, * }; * const command = new CreateLaunchConfigurationCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param CreateLaunchConfigurationCommandInput - {@link CreateLaunchConfigurationCommandInput} * @returns {@link CreateLaunchConfigurationCommandOutput} * @see {@link CreateLaunchConfigurationCommandInput} for command's `input` shape. * @see {@link CreateLaunchConfigurationCommandOutput} for command's `response` shape. * @see {@link AutoScalingClientResolvedConfig | config} for AutoScalingClient's `config` shape. * * @throws {@link AlreadyExistsFault} (client fault) *

You already have an Auto Scaling group or launch configuration with this name.

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

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.

* * @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 AutoScalingServiceException} *

Base exception class for all service exceptions from AutoScaling service.

* * * @example To create a launch configuration * ```javascript * // This example creates a launch configuration. * const input = { * IamInstanceProfile: "my-iam-role", * ImageId: "ami-12345678", * InstanceType: "m3.medium", * LaunchConfigurationName: "my-launch-config", * SecurityGroups: [ * "sg-eb2af88e" * ] * }; * const command = new CreateLaunchConfigurationCommand(input); * const response = await client.send(command); * /* response is * { /* metadata only *\/ } * *\/ * ``` * * @public */ export declare class CreateLaunchConfigurationCommand extends CreateLaunchConfigurationCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateLaunchConfigurationType; output: {}; }; sdk: { input: CreateLaunchConfigurationCommandInput; output: CreateLaunchConfigurationCommandOutput; }; }; }