import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { PurchaseReservedNodeOfferingMessage, PurchaseReservedNodeOfferingResult } from "../models/models_1"; import type { RedshiftClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link PurchaseReservedNodeOfferingCommand}. */ export interface PurchaseReservedNodeOfferingCommandInput extends PurchaseReservedNodeOfferingMessage { } /** * @public * * The output of {@link PurchaseReservedNodeOfferingCommand}. */ export interface PurchaseReservedNodeOfferingCommandOutput extends PurchaseReservedNodeOfferingResult, __MetadataBearer { } declare const PurchaseReservedNodeOfferingCommand_base: { new (input: PurchaseReservedNodeOfferingCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: PurchaseReservedNodeOfferingCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Allows you to purchase reserved nodes. Amazon Redshift offers a predefined set of * reserved node offerings. You can purchase one or more of the offerings. You can call the * DescribeReservedNodeOfferings API to obtain the available reserved * node offerings. You can call this API by providing a specific reserved node offering and * the number of nodes you want to reserve.

*

* For more information about reserved node offerings, go to * Purchasing Reserved Nodes * in the Amazon Redshift Cluster Management Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RedshiftClient, PurchaseReservedNodeOfferingCommand } from "@aws-sdk/client-redshift"; // ES Modules import * // const { RedshiftClient, PurchaseReservedNodeOfferingCommand } = require("@aws-sdk/client-redshift"); // CommonJS import * // import type { RedshiftClientConfig } from "@aws-sdk/client-redshift"; * const config = {}; // type is RedshiftClientConfig * const client = new RedshiftClient(config); * const input = { // PurchaseReservedNodeOfferingMessage * ReservedNodeOfferingId: "STRING_VALUE", // required * NodeCount: Number("int"), * }; * const command = new PurchaseReservedNodeOfferingCommand(input); * const response = await client.send(command); * // { // PurchaseReservedNodeOfferingResult * // ReservedNode: { // ReservedNode * // ReservedNodeId: "STRING_VALUE", * // ReservedNodeOfferingId: "STRING_VALUE", * // NodeType: "STRING_VALUE", * // StartTime: new Date("TIMESTAMP"), * // Duration: Number("int"), * // FixedPrice: Number("double"), * // UsagePrice: Number("double"), * // CurrencyCode: "STRING_VALUE", * // NodeCount: Number("int"), * // State: "STRING_VALUE", * // OfferingType: "STRING_VALUE", * // RecurringCharges: [ // RecurringChargeList * // { // RecurringCharge * // RecurringChargeAmount: Number("double"), * // RecurringChargeFrequency: "STRING_VALUE", * // }, * // ], * // ReservedNodeOfferingType: "Regular" || "Upgradable", * // }, * // }; * * ``` * * @param PurchaseReservedNodeOfferingCommandInput - {@link PurchaseReservedNodeOfferingCommandInput} * @returns {@link PurchaseReservedNodeOfferingCommandOutput} * @see {@link PurchaseReservedNodeOfferingCommandInput} for command's `input` shape. * @see {@link PurchaseReservedNodeOfferingCommandOutput} for command's `response` shape. * @see {@link RedshiftClientResolvedConfig | config} for RedshiftClient's `config` shape. * * @throws {@link ReservedNodeAlreadyExistsFault} (client fault) *

User already has a reservation with the given identifier.

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

Specified offering does not exist.

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

Request would exceed the user's compute node quota. * For information about increasing your quota, go to Limits in Amazon Redshift * in the Amazon Redshift Cluster Management Guide. *

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

The requested operation isn't supported.

* * @throws {@link RedshiftServiceException} *

Base exception class for all service exceptions from Redshift service.

* * * @public */ export declare class PurchaseReservedNodeOfferingCommand extends PurchaseReservedNodeOfferingCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: PurchaseReservedNodeOfferingMessage; output: PurchaseReservedNodeOfferingResult; }; sdk: { input: PurchaseReservedNodeOfferingCommandInput; output: PurchaseReservedNodeOfferingCommandOutput; }; }; }