import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { UpdateIPSetRequest, UpdateIPSetResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link UpdateIPSetCommand}. */ export interface UpdateIPSetCommandInput extends UpdateIPSetRequest { } /** * @public * * The output of {@link UpdateIPSetCommand}. */ export interface UpdateIPSetCommandOutput extends UpdateIPSetResponse, __MetadataBearer { } declare const UpdateIPSetCommand_base: { new (input: UpdateIPSetCommandInput): import("@smithy/core/client").CommandImpl; new (input: UpdateIPSetCommandInput): 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.

*
*

Inserts or deletes IPSetDescriptor objects in an * IPSet. For each IPSetDescriptor object, you specify the following * values:

* *

AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS * WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. For more * information about CIDR notation, see the Wikipedia entry Classless * Inter-Domain Routing.

*

IPv6 addresses can be represented using any of the following formats:

* *

You use an IPSet to specify which web requests you want to allow or * block based on the IP addresses that the requests originated from. For example, if you're * receiving a lot of requests from one or a small number of IP addresses and you want to * block the requests, you can create an IPSet that specifies those IP addresses, * and then configure AWS WAF to block the requests.

*

To create and configure an IPSet, perform the following steps:

*
    *
  1. *

    Submit a CreateIPSet request.

    *
  2. *
  3. *

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

    *
  4. *
  5. *

    Submit an UpdateIPSet request to specify the IP addresses that you * want AWS WAF to watch for.

    *
  6. *
*

When you update an IPSet, you specify the IP addresses that you want to * add and/or the IP addresses that you want to delete. If you want to change an IP address, * you delete the existing IP address and add the new one.

*

You can insert a maximum of 1000 addresses in a single * request.

*

For more information about how to use the AWS WAF API to allow or block HTTP * requests, see the AWS WAF * Developer Guide.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { WAFRegionalClient, UpdateIPSetCommand } from "@aws-sdk/client-waf-regional"; // ES Modules import * // const { WAFRegionalClient, UpdateIPSetCommand } = 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 = { // UpdateIPSetRequest * IPSetId: "STRING_VALUE", // required * ChangeToken: "STRING_VALUE", // required * Updates: [ // IPSetUpdates // required * { // IPSetUpdate * Action: "INSERT" || "DELETE", // required * IPSetDescriptor: { // IPSetDescriptor * Type: "IPV4" || "IPV6", // required * Value: "STRING_VALUE", // required * }, * }, * ], * }; * const command = new UpdateIPSetCommand(input); * const response = await client.send(command); * // { // UpdateIPSetResponse * // ChangeToken: "STRING_VALUE", * // }; * * ``` * * @param UpdateIPSetCommandInput - {@link UpdateIPSetCommandInput} * @returns {@link UpdateIPSetCommandOutput} * @see {@link UpdateIPSetCommandInput} for command's `input` shape. * @see {@link UpdateIPSetCommandOutput} 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 WAFInvalidOperationException} (client fault) *

The operation failed because there was nothing to do. For example:

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

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

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

The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create * for an AWS account. For more information, see * Limits in the AWS WAF Developer Guide.

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

The operation failed because you tried to add an object to or delete an object from another object that doesn't exist. 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 WAFRegionalServiceException} *

Base exception class for all service exceptions from WAFRegional service.

* * * @example To update an IP set * ```javascript * // The following example deletes an IPSetDescriptor object in an IP match set with the ID example1ds3t-46da-4fdb-b8d5-abc321j569j5. * const input = { * ChangeToken: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", * IPSetId: "example1ds3t-46da-4fdb-b8d5-abc321j569j5", * Updates: [ * { * Action: "DELETE", * IPSetDescriptor: { * Type: "IPV4", * Value: "192.0.2.44/32" * } * } * ] * }; * const command = new UpdateIPSetCommand(input); * const response = await client.send(command); * /* response is * { * ChangeToken: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f" * } * *\/ * ``` * * @public */ export declare class UpdateIPSetCommand extends UpdateIPSetCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: UpdateIPSetRequest; output: UpdateIPSetResponse; }; sdk: { input: UpdateIPSetCommandInput; output: UpdateIPSetCommandOutput; }; }; }