import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { DeleteRuleRequest, DeleteRuleResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link DeleteRuleCommand}. */ export interface DeleteRuleCommandInput extends DeleteRuleRequest { } /** * @public * * The output of {@link DeleteRuleCommand}. */ export interface DeleteRuleCommandOutput extends DeleteRuleResponse, __MetadataBearer { } declare const DeleteRuleCommand_base: { new (input: DeleteRuleCommandInput): import("@smithy/core/client").CommandImpl; new (input: DeleteRuleCommandInput): import("@smithy/core/client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/types").EndpointParameterInstructions; }; /** * *

This is AWS WAF Classic documentation. For * more information, see AWS * WAF Classic in the developer guide.

*

* For the latest version of AWS * WAF, use the AWS WAFV2 API and see the AWS WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints for regional and global use.

*
*

Permanently deletes a Rule. You can't delete a Rule if it's still used in any WebACL * objects or if it still includes any predicates, such as ByteMatchSet objects.

*

If you just want to remove a Rule from a WebACL, use UpdateWebACL.

*

To permanently delete a Rule from AWS WAF, perform the following steps:

*
    *
  1. *

    Update the Rule to remove predicates, if any. For more information, see UpdateRule.

    *
  2. *
  3. *

    Use GetChangeToken to get the change token that you provide in the ChangeToken parameter of a * DeleteRule request.

    *
  4. *
  5. *

    Submit a DeleteRule request.

    *
  6. *
* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { WAFRegionalClient, DeleteRuleCommand } from "@aws-sdk/client-waf-regional"; // ES Modules import * // const { WAFRegionalClient, DeleteRuleCommand } = require("@aws-sdk/client-waf-regional"); // CommonJS import * // import type { WAFRegionalClientConfig } from "@aws-sdk/client-waf-regional"; * const config = {}; // type is WAFRegionalClientConfig * const client = new WAFRegionalClient(config); * const input = { // DeleteRuleRequest * RuleId: "STRING_VALUE", // required * ChangeToken: "STRING_VALUE", // required * }; * const command = new DeleteRuleCommand(input); * const response = await client.send(command); * // { // DeleteRuleResponse * // ChangeToken: "STRING_VALUE", * // }; * * ``` * * @param DeleteRuleCommandInput - {@link DeleteRuleCommandInput} * @returns {@link DeleteRuleCommandOutput} * @see {@link DeleteRuleCommandInput} for command's `input` shape. * @see {@link DeleteRuleCommandOutput} for command's `response` shape. * @see {@link WAFRegionalClientResolvedConfig | config} for WAFRegionalClient's `config` shape. * * @throws {@link WAFInternalErrorException} (server fault) *

The operation failed because of a system problem, even though the request was valid. Retry your request.

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

The operation failed because you tried to create, update, or delete an object by using an invalid account identifier.

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

The operation failed because you tried to delete an object that isn't empty. For example:

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

The operation failed because the referenced object doesn't exist.

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

The operation failed because you tried to delete an object that is still in use. For example:

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

The operation failed because you tried to create, update, or delete an object by using a change token that has already been used.

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

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

* * @throws {@link WAFRegionalServiceException} *

Base exception class for all service exceptions from WAFRegional service.

* * * @example To delete a rule * ```javascript * // The following example deletes a rule with the ID WAFRule-1-Example. * const input = { * ChangeToken: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", * RuleId: "WAFRule-1-Example" * }; * const command = new DeleteRuleCommand(input); * const response = await client.send(command); * /* response is * { * ChangeToken: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" * } * *\/ * ``` * * @public */ export declare class DeleteRuleCommand extends DeleteRuleCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: DeleteRuleRequest; output: DeleteRuleResponse; }; sdk: { input: DeleteRuleCommandInput; output: DeleteRuleCommandOutput; }; }; }