import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { DeleteAcceleratorRequest } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link DeleteAcceleratorCommand}. */ export interface DeleteAcceleratorCommandInput extends DeleteAcceleratorRequest { } /** * @public * * The output of {@link DeleteAcceleratorCommand}. */ export interface DeleteAcceleratorCommandOutput extends __MetadataBearer { } declare const DeleteAcceleratorCommand_base: { new (input: DeleteAcceleratorCommandInput): import("@smithy/core/client").CommandImpl; new (input: DeleteAcceleratorCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** *

Delete an accelerator. Before you can delete an accelerator, you must disable it and remove all dependent resources * (listeners and endpoint groups). To disable the accelerator, update the accelerator to set Enabled to false.

* *

When you create an accelerator, by default, Global Accelerator provides you with a set of two static IP addresses. * Alternatively, you can bring your own IP address ranges to Global Accelerator and assign IP addresses from those ranges. *

*

The IP addresses are assigned to your accelerator for as long as it exists, even if you disable the accelerator and * it no longer accepts or routes traffic. However, when you delete an accelerator, you lose the * static IP addresses that are assigned to the accelerator, so you can no longer route traffic by using them. * As a best practice, ensure that you have permissions in place to avoid inadvertently deleting accelerators. You * can use IAM policies with Global Accelerator to limit the users who have permissions to delete an accelerator. For more information, * see Identity and access management in * the Global Accelerator Developer Guide.

*
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { GlobalAcceleratorClient, DeleteAcceleratorCommand } from "@aws-sdk/client-global-accelerator"; // ES Modules import * // const { GlobalAcceleratorClient, DeleteAcceleratorCommand } = require("@aws-sdk/client-global-accelerator"); // CommonJS import * // import type { GlobalAcceleratorClientConfig } from "@aws-sdk/client-global-accelerator"; * const config = {}; // type is GlobalAcceleratorClientConfig * const client = new GlobalAcceleratorClient(config); * const input = { // DeleteAcceleratorRequest * AcceleratorArn: "STRING_VALUE", // required * }; * const command = new DeleteAcceleratorCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param DeleteAcceleratorCommandInput - {@link DeleteAcceleratorCommandInput} * @returns {@link DeleteAcceleratorCommandOutput} * @see {@link DeleteAcceleratorCommandInput} for command's `input` shape. * @see {@link DeleteAcceleratorCommandOutput} for command's `response` shape. * @see {@link GlobalAcceleratorClientResolvedConfig | config} for GlobalAcceleratorClient's `config` shape. * * @throws {@link AcceleratorNotDisabledException} (client fault) *

The accelerator that you specified could not be disabled.

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

The accelerator that you specified doesn't exist.

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

The accelerator that you specified has a listener associated with it. You must remove all dependent resources from an * accelerator before you can delete it.

* * @throws {@link InternalServiceErrorException} (server fault) *

There was an internal error for Global Accelerator.

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

An argument that you specified is invalid.

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

There's already a transaction in progress. Another transaction can't be processed.

* * @throws {@link GlobalAcceleratorServiceException} *

Base exception class for all service exceptions from GlobalAccelerator service.

* * * @public */ export declare class DeleteAcceleratorCommand extends DeleteAcceleratorCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: DeleteAcceleratorRequest; output: {}; }; sdk: { input: DeleteAcceleratorCommandInput; output: DeleteAcceleratorCommandOutput; }; }; }