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

Creates an IPSet, which you use to identify web requests that * originate from specific IP addresses or ranges of IP addresses. For example, if you're * receiving a lot of requests from a ranges of IP addresses, you can configure WAF to * block them using an IPSet that lists those IP addresses.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { WAFV2Client, CreateIPSetCommand } from "@aws-sdk/client-wafv2"; // ES Modules import * // const { WAFV2Client, CreateIPSetCommand } = 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 = { // CreateIPSetRequest * Name: "STRING_VALUE", // required * Scope: "CLOUDFRONT" || "REGIONAL", // required * Description: "STRING_VALUE", * IPAddressVersion: "IPV4" || "IPV6", // required * Addresses: [ // IPAddresses // required * "STRING_VALUE", * ], * Tags: [ // TagList * { // Tag * Key: "STRING_VALUE", // required * Value: "STRING_VALUE", // required * }, * ], * }; * const command = new CreateIPSetCommand(input); * const response = await client.send(command); * // { // CreateIPSetResponse * // Summary: { // IPSetSummary * // Name: "STRING_VALUE", * // Id: "STRING_VALUE", * // Description: "STRING_VALUE", * // LockToken: "STRING_VALUE", * // ARN: "STRING_VALUE", * // }, * // }; * * ``` * * @param CreateIPSetCommandInput - {@link CreateIPSetCommandInput} * @returns {@link CreateIPSetCommandOutput} * @see {@link CreateIPSetCommandInput} for command's `input` shape. * @see {@link CreateIPSetCommandOutput} for command's `response` shape. * @see {@link WAFV2ClientResolvedConfig | config} for WAFV2Client's `config` shape. * * @throws {@link WAFDuplicateItemException} (client fault) *

WAF couldn’t perform the operation because the resource that you tried to save is * a duplicate of an existing one.

* * @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 WAFLimitsExceededException} (client fault) *

WAF couldn’t perform the operation because you exceeded your resource limit. For * example, the maximum number of WebACL objects that you can create for an Amazon Web Services * account. For more information, see WAF quotas in the * WAF Developer Guide.

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

WAF couldn’t save your changes because you tried to update or delete a resource * that has changed since you last retrieved it. Get the resource again, make any changes you * need to make to the new copy, and retry your operation.

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

An error occurred during the tagging operation. Retry your request.

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

WAF couldn’t perform your tagging operation because of an internal error. Retry * your request.

* * @throws {@link WAFV2ServiceException} *

Base exception class for all service exceptions from WAFV2 service.

* * * @public */ export declare class CreateIPSetCommand extends CreateIPSetCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateIPSetRequest; output: CreateIPSetResponse; }; sdk: { input: CreateIPSetCommandInput; output: CreateIPSetCommandOutput; }; }; }