import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateSizeConstraintSetRequest, CreateSizeConstraintSetResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateSizeConstraintSetCommand}. */ export interface CreateSizeConstraintSetCommandInput extends CreateSizeConstraintSetRequest { } /** * @public * * The output of {@link CreateSizeConstraintSetCommand}. */ export interface CreateSizeConstraintSetCommandOutput extends CreateSizeConstraintSetResponse, __MetadataBearer { } declare const CreateSizeConstraintSetCommand_base: { new (input: CreateSizeConstraintSetCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateSizeConstraintSetCommandInput): 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.

*
*

Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet to identify the part of a * web request that you want AWS WAF to check for length, such as the length of the User-Agent header or the length of the query string. * For example, you can create a SizeConstraintSet that matches any requests that have a query string that is longer than 100 bytes. * You can then configure AWS WAF to reject those requests.

*

To create and configure a SizeConstraintSet, perform the following steps:

*
    *
  1. *

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

    *
  2. *
  3. *

    Submit a CreateSizeConstraintSet request.

    *
  4. *
  5. *

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

    *
  6. *
  7. *

    Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect * (for example, the header or the URI) and the value that you want AWS WAF to watch for.

    *
  8. *
*

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, CreateSizeConstraintSetCommand } from "@aws-sdk/client-waf-regional"; // ES Modules import * // const { WAFRegionalClient, CreateSizeConstraintSetCommand } = 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 = { // CreateSizeConstraintSetRequest * Name: "STRING_VALUE", // required * ChangeToken: "STRING_VALUE", // required * }; * const command = new CreateSizeConstraintSetCommand(input); * const response = await client.send(command); * // { // CreateSizeConstraintSetResponse * // SizeConstraintSet: { // SizeConstraintSet * // SizeConstraintSetId: "STRING_VALUE", // required * // Name: "STRING_VALUE", * // SizeConstraints: [ // SizeConstraints // required * // { // SizeConstraint * // FieldToMatch: { // FieldToMatch * // Type: "URI" || "QUERY_STRING" || "HEADER" || "METHOD" || "BODY" || "SINGLE_QUERY_ARG" || "ALL_QUERY_ARGS", // required * // Data: "STRING_VALUE", * // }, * // TextTransformation: "NONE" || "COMPRESS_WHITE_SPACE" || "HTML_ENTITY_DECODE" || "LOWERCASE" || "CMD_LINE" || "URL_DECODE", // required * // ComparisonOperator: "EQ" || "NE" || "LE" || "LT" || "GE" || "GT", // required * // Size: Number("long"), // required * // }, * // ], * // }, * // ChangeToken: "STRING_VALUE", * // }; * * ``` * * @param CreateSizeConstraintSetCommandInput - {@link CreateSizeConstraintSetCommandInput} * @returns {@link CreateSizeConstraintSetCommandOutput} * @see {@link CreateSizeConstraintSetCommandInput} for command's `input` shape. * @see {@link CreateSizeConstraintSetCommandOutput} for command's `response` shape. * @see {@link WAFRegionalClientResolvedConfig | config} for WAFRegionalClient's `config` shape. * * @throws {@link WAFDisallowedNameException} (client fault) *

The name specified is invalid.

* * @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 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 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 create a size constraint * ```javascript * // The following example creates size constraint set named MySampleSizeConstraintSet. * const input = { * ChangeToken: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", * Name: "MySampleSizeConstraintSet" * }; * const command = new CreateSizeConstraintSetCommand(input); * const response = await client.send(command); * /* response is * { * ChangeToken: "abcd12f2-46da-4fdb-b8d5-fbd4c466928f", * SizeConstraintSet: { * Name: "MySampleSizeConstraintSet", * SizeConstraintSetId: "example1ds3t-46da-4fdb-b8d5-abc321j569j5", * SizeConstraints: [ * { * ComparisonOperator: "GT", * FieldToMatch: { * Type: "QUERY_STRING" * }, * Size: 0, * TextTransformation: "NONE" * } * ] * } * } * *\/ * ``` * * @public */ export declare class CreateSizeConstraintSetCommand extends CreateSizeConstraintSetCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateSizeConstraintSetRequest; output: CreateSizeConstraintSetResponse; }; sdk: { input: CreateSizeConstraintSetCommandInput; output: CreateSizeConstraintSetCommandOutput; }; }; }