import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { CreateGeoMatchSetRequest, CreateGeoMatchSetResponse } from "../models/models_0"; /** * @public */ export type { __MetadataBearer }; /** * @public * * The input for {@link CreateGeoMatchSetCommand}. */ export interface CreateGeoMatchSetCommandInput extends CreateGeoMatchSetRequest { } /** * @public * * The output of {@link CreateGeoMatchSetCommand}. */ export interface CreateGeoMatchSetCommandOutput extends CreateGeoMatchSetResponse, __MetadataBearer { } declare const CreateGeoMatchSetCommand_base: { new (input: CreateGeoMatchSetCommandInput): import("@smithy/core/client").CommandImpl; new (input: CreateGeoMatchSetCommandInput): 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 an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country * that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet that contains those countries and then configure AWS WAF to block the requests.

*

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

*
    *
  1. *

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

    *
  2. *
  3. *

    Submit a CreateGeoMatchSet request.

    *
  4. *
  5. *

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

    *
  6. *
  7. *

    Submit an UpdateGeoMatchSetSet request to specify the countries 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, CreateGeoMatchSetCommand } from "@aws-sdk/client-waf-regional"; // ES Modules import * // const { WAFRegionalClient, CreateGeoMatchSetCommand } = 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 = { // CreateGeoMatchSetRequest * Name: "STRING_VALUE", // required * ChangeToken: "STRING_VALUE", // required * }; * const command = new CreateGeoMatchSetCommand(input); * const response = await client.send(command); * // { // CreateGeoMatchSetResponse * // GeoMatchSet: { // GeoMatchSet * // GeoMatchSetId: "STRING_VALUE", // required * // Name: "STRING_VALUE", * // GeoMatchConstraints: [ // GeoMatchConstraints // required * // { // GeoMatchConstraint * // Type: "Country", // required * // Value: "AF" || "AX" || "AL" || "DZ" || "AS" || "AD" || "AO" || "AI" || "AQ" || "AG" || "AR" || "AM" || "AW" || "AU" || "AT" || "AZ" || "BS" || "BH" || "BD" || "BB" || "BY" || "BE" || "BZ" || "BJ" || "BM" || "BT" || "BO" || "BQ" || "BA" || "BW" || "BV" || "BR" || "IO" || "BN" || "BG" || "BF" || "BI" || "KH" || "CM" || "CA" || "CV" || "KY" || "CF" || "TD" || "CL" || "CN" || "CX" || "CC" || "CO" || "KM" || "CG" || "CD" || "CK" || "CR" || "CI" || "HR" || "CU" || "CW" || "CY" || "CZ" || "DK" || "DJ" || "DM" || "DO" || "EC" || "EG" || "SV" || "GQ" || "ER" || "EE" || "ET" || "FK" || "FO" || "FJ" || "FI" || "FR" || "GF" || "PF" || "TF" || "GA" || "GM" || "GE" || "DE" || "GH" || "GI" || "GR" || "GL" || "GD" || "GP" || "GU" || "GT" || "GG" || "GN" || "GW" || "GY" || "HT" || "HM" || "VA" || "HN" || "HK" || "HU" || "IS" || "IN" || "ID" || "IR" || "IQ" || "IE" || "IM" || "IL" || "IT" || "JM" || "JP" || "JE" || "JO" || "KZ" || "KE" || "KI" || "KP" || "KR" || "KW" || "KG" || "LA" || "LV" || "LB" || "LS" || "LR" || "LY" || "LI" || "LT" || "LU" || "MO" || "MK" || "MG" || "MW" || "MY" || "MV" || "ML" || "MT" || "MH" || "MQ" || "MR" || "MU" || "YT" || "MX" || "FM" || "MD" || "MC" || "MN" || "ME" || "MS" || "MA" || "MZ" || "MM" || "NA" || "NR" || "NP" || "NL" || "NC" || "NZ" || "NI" || "NE" || "NG" || "NU" || "NF" || "MP" || "NO" || "OM" || "PK" || "PW" || "PS" || "PA" || "PG" || "PY" || "PE" || "PH" || "PN" || "PL" || "PT" || "PR" || "QA" || "RE" || "RO" || "RU" || "RW" || "BL" || "SH" || "KN" || "LC" || "MF" || "PM" || "VC" || "WS" || "SM" || "ST" || "SA" || "SN" || "RS" || "SC" || "SL" || "SG" || "SX" || "SK" || "SI" || "SB" || "SO" || "ZA" || "GS" || "SS" || "ES" || "LK" || "SD" || "SR" || "SJ" || "SZ" || "SE" || "CH" || "SY" || "TW" || "TJ" || "TZ" || "TH" || "TL" || "TG" || "TK" || "TO" || "TT" || "TN" || "TR" || "TM" || "TC" || "TV" || "UG" || "UA" || "AE" || "GB" || "US" || "UM" || "UY" || "UZ" || "VU" || "VE" || "VN" || "VG" || "VI" || "WF" || "EH" || "YE" || "ZM" || "ZW", // required * // }, * // ], * // }, * // ChangeToken: "STRING_VALUE", * // }; * * ``` * * @param CreateGeoMatchSetCommandInput - {@link CreateGeoMatchSetCommandInput} * @returns {@link CreateGeoMatchSetCommandOutput} * @see {@link CreateGeoMatchSetCommandInput} for command's `input` shape. * @see {@link CreateGeoMatchSetCommandOutput} 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.

* * * @public */ export declare class CreateGeoMatchSetCommand extends CreateGeoMatchSetCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: CreateGeoMatchSetRequest; output: CreateGeoMatchSetResponse; }; sdk: { input: CreateGeoMatchSetCommandInput; output: CreateGeoMatchSetCommandOutput; }; }; }