import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { EC2ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../EC2Client"; import type { CreateInterruptibleCapacityReservationAllocationRequest, CreateInterruptibleCapacityReservationAllocationResult } from "../models/models_1"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link CreateInterruptibleCapacityReservationAllocationCommand}. */ export interface CreateInterruptibleCapacityReservationAllocationCommandInput extends CreateInterruptibleCapacityReservationAllocationRequest { } /** * @public * * The output of {@link CreateInterruptibleCapacityReservationAllocationCommand}. */ export interface CreateInterruptibleCapacityReservationAllocationCommandOutput extends CreateInterruptibleCapacityReservationAllocationResult, __MetadataBearer { } declare const CreateInterruptibleCapacityReservationAllocationCommand_base: { new (input: CreateInterruptibleCapacityReservationAllocationCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: CreateInterruptibleCapacityReservationAllocationCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

* Creates an interruptible Capacity Reservation by specifying the number of unused instances you want to allocate from your source reservation. This helps you make unused capacity available for other workloads within your account while maintaining control to reclaim it. *

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { EC2Client, CreateInterruptibleCapacityReservationAllocationCommand } from "@aws-sdk/client-ec2"; // ES Modules import * // const { EC2Client, CreateInterruptibleCapacityReservationAllocationCommand } = require("@aws-sdk/client-ec2"); // CommonJS import * // import type { EC2ClientConfig } from "@aws-sdk/client-ec2"; * const config = {}; // type is EC2ClientConfig * const client = new EC2Client(config); * const input = { // CreateInterruptibleCapacityReservationAllocationRequest * CapacityReservationId: "STRING_VALUE", // required * InstanceCount: Number("int"), // required * ClientToken: "STRING_VALUE", * DryRun: true || false, * TagSpecifications: [ // TagSpecificationList * { // TagSpecification * ResourceType: "capacity-reservation" || "client-vpn-endpoint" || "customer-gateway" || "carrier-gateway" || "coip-pool" || "declarative-policies-report" || "dedicated-host" || "dhcp-options" || "egress-only-internet-gateway" || "elastic-ip" || "elastic-gpu" || "export-image-task" || "export-instance-task" || "fleet" || "fpga-image" || "host-reservation" || "image" || "image-usage-report" || "import-image-task" || "import-snapshot-task" || "instance" || "instance-event-window" || "internet-gateway" || "ipam" || "ipam-pool" || "ipam-scope" || "ipv4pool-ec2" || "ipv6pool-ec2" || "key-pair" || "launch-template" || "local-gateway" || "local-gateway-route-table" || "local-gateway-virtual-interface" || "local-gateway-virtual-interface-group" || "local-gateway-route-table-vpc-association" || "local-gateway-route-table-virtual-interface-group-association" || "natgateway" || "network-acl" || "network-interface" || "network-insights-analysis" || "network-insights-path" || "network-insights-access-scope" || "network-insights-access-scope-analysis" || "outpost-lag" || "placement-group" || "prefix-list" || "replace-root-volume-task" || "reserved-instances" || "route-table" || "security-group" || "security-group-rule" || "service-link-virtual-interface" || "snapshot" || "spot-fleet-request" || "spot-instances-request" || "subnet" || "subnet-cidr-reservation" || "traffic-mirror-filter" || "traffic-mirror-session" || "traffic-mirror-target" || "transit-gateway" || "transit-gateway-attachment" || "transit-gateway-connect-peer" || "transit-gateway-multicast-domain" || "transit-gateway-policy-table" || "transit-gateway-metering-policy" || "transit-gateway-route-table" || "transit-gateway-route-table-announcement" || "volume" || "vpc" || "vpc-endpoint" || "vpc-endpoint-connection" || "vpc-endpoint-service" || "vpc-endpoint-service-permission" || "vpc-peering-connection" || "vpn-connection" || "vpn-gateway" || "vpc-flow-log" || "capacity-reservation-fleet" || "traffic-mirror-filter-rule" || "vpc-endpoint-connection-device-type" || "verified-access-instance" || "verified-access-group" || "verified-access-endpoint" || "verified-access-policy" || "verified-access-trust-provider" || "vpn-connection-device-type" || "vpc-block-public-access-exclusion" || "vpc-encryption-control" || "route-server" || "route-server-endpoint" || "route-server-peer" || "ipam-resource-discovery" || "ipam-resource-discovery-association" || "instance-connect-endpoint" || "verified-access-endpoint-target" || "ipam-external-resource-verification-token" || "capacity-block" || "mac-modification-task" || "ipam-prefix-list-resolver" || "ipam-policy" || "ipam-prefix-list-resolver-target" || "secondary-interface" || "secondary-network" || "secondary-subnet" || "capacity-manager-data-export" || "vpn-concentrator", * Tags: [ // TagList * { // Tag * Key: "STRING_VALUE", * Value: "STRING_VALUE", * }, * ], * }, * ], * }; * const command = new CreateInterruptibleCapacityReservationAllocationCommand(input); * const response = await client.send(command); * // { // CreateInterruptibleCapacityReservationAllocationResult * // SourceCapacityReservationId: "STRING_VALUE", * // TargetInstanceCount: Number("int"), * // Status: "pending" || "active" || "updating" || "canceling" || "canceled" || "failed", * // InterruptionType: "adhoc", * // }; * * ``` * * @param CreateInterruptibleCapacityReservationAllocationCommandInput - {@link CreateInterruptibleCapacityReservationAllocationCommandInput} * @returns {@link CreateInterruptibleCapacityReservationAllocationCommandOutput} * @see {@link CreateInterruptibleCapacityReservationAllocationCommandInput} for command's `input` shape. * @see {@link CreateInterruptibleCapacityReservationAllocationCommandOutput} for command's `response` shape. * @see {@link EC2ClientResolvedConfig | config} for EC2Client's `config` shape. * * @throws {@link EC2ServiceException} *

Base exception class for all service exceptions from EC2 service.

* * * @public */ export declare class CreateInterruptibleCapacityReservationAllocationCommand extends CreateInterruptibleCapacityReservationAllocationCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateInterruptibleCapacityReservationAllocationRequest; output: CreateInterruptibleCapacityReservationAllocationResult; }; sdk: { input: CreateInterruptibleCapacityReservationAllocationCommandInput; output: CreateInterruptibleCapacityReservationAllocationCommandOutput; }; }; }