import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { DisassociateWebACLRequest, DisassociateWebACLResponse } from "../models/models_0"; import type { ServiceInputTypes, ServiceOutputTypes, WAFV2ClientResolvedConfig } from "../WAFV2Client"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link DisassociateWebACLCommand}. */ export interface DisassociateWebACLCommandInput extends DisassociateWebACLRequest { } /** * @public * * The output of {@link DisassociateWebACLCommand}. */ export interface DisassociateWebACLCommandOutput extends DisassociateWebACLResponse, __MetadataBearer { } declare const DisassociateWebACLCommand_base: { new (input: DisassociateWebACLCommandInput): import("@smithy/smithy-client").CommandImpl; new (input: DisassociateWebACLCommandInput): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Disassociates the specified resource from its web ACL * association, if it has one.

*

Use this for all resource types except for Amazon CloudFront distributions. For Amazon CloudFront, call UpdateDistribution for the distribution and provide an empty web ACL ID. For information, see UpdateDistribution in the Amazon CloudFront API Reference.

*

* Required permissions for customer-managed IAM policies *

*

This call requires permissions that are specific to the protected resource type. * For details, see Permissions for DisassociateWebACL in the WAF Developer Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { WAFV2Client, DisassociateWebACLCommand } from "@aws-sdk/client-wafv2"; // ES Modules import * // const { WAFV2Client, DisassociateWebACLCommand } = require("@aws-sdk/client-wafv2"); // CommonJS import * // import type { WAFV2ClientConfig } from "@aws-sdk/client-wafv2"; * const config = {}; // type is WAFV2ClientConfig * const client = new WAFV2Client(config); * const input = { // DisassociateWebACLRequest * ResourceArn: "STRING_VALUE", // required * }; * const command = new DisassociateWebACLCommand(input); * const response = await client.send(command); * // {}; * * ``` * * @param DisassociateWebACLCommandInput - {@link DisassociateWebACLCommandInput} * @returns {@link DisassociateWebACLCommandOutput} * @see {@link DisassociateWebACLCommandInput} for command's `input` shape. * @see {@link DisassociateWebACLCommandOutput} for command's `response` shape. * @see {@link WAFV2ClientResolvedConfig | config} for WAFV2Client's `config` shape. * * @throws {@link WAFInternalErrorException} (server fault) *

Your request is valid, but WAF couldn’t perform the operation because of a system * problem. Retry your request.

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

The operation isn't valid.

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

The operation failed because WAF didn't recognize a parameter in the request. For * example:

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

WAF couldn’t perform the operation because your resource doesn't exist. * If you've just created a resource that you're using in this operation, you might * just need to wait a few minutes. It can take from a few seconds to a number of minutes * for changes to propagate.

* * @throws {@link WAFV2ServiceException} *

Base exception class for all service exceptions from WAFV2 service.

* * * @public */ export declare class DisassociateWebACLCommand extends DisassociateWebACLCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: DisassociateWebACLRequest; output: {}; }; sdk: { input: DisassociateWebACLCommandInput; output: DisassociateWebACLCommandOutput; }; }; }