CreateRegexMatchSet - Amazon WAFV2
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

CreateRegexMatchSet

Note

This is Amazon WAF Classic documentation. For more information, see Amazon WAF Classic in the developer guide.

For the latest version of Amazon WAF , use the Amazon WAFV2 API and see the Amazon WAF Developer Guide. With the latest version, Amazon WAF has a single set of endpoints for regional and global use.

Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request that you want Amazon WAF to inspect, such as the values of the User-Agent header or the query string. For example, you can create a RegexMatchSet that contains a RegexMatchTuple that looks for any requests with User-Agent headers that match a RegexPatternSet with pattern B[a@]dB[o0]t. You can then configure Amazon WAF to reject those requests.

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

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

  2. Submit a CreateRegexMatchSet request.

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

  4. Submit an UpdateRegexMatchSet request to specify the part of the request that you want Amazon WAF to inspect (for example, the header or the URI path) and the value, using a RegexPatternSet, that you want Amazon WAF to watch for.

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

Request Syntax

{ "ChangeToken": "string", "Name": "string" }

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

The request accepts the following data in JSON format.

ChangeToken

The value returned by the most recent call to GetChangeToken.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: .*\S.*

Required: Yes

Name

A friendly name or description of the RegexMatchSet. You can't change Name after you create a RegexMatchSet.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: .*\S.*

Required: Yes

Response Syntax

{ "ChangeToken": "string", "RegexMatchSet": { "Name": "string", "RegexMatchSetId": "string", "RegexMatchTuples": [ { "FieldToMatch": { "Data": "string", "Type": "string" }, "RegexPatternSetId": "string", "TextTransformation": "string" } ] } }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

ChangeToken

The ChangeToken that you used to submit the CreateRegexMatchSet request. You can also use this value to query the status of the request. For more information, see GetChangeTokenStatus.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: .*\S.*

RegexMatchSet

A RegexMatchSet that contains no RegexMatchTuple objects.

Type: RegexMatchSet object

Errors

For information about the errors that are common to all actions, see Common Errors.

WAFDisallowedNameException

The name specified is invalid.

HTTP Status Code: 400

WAFInternalErrorException

The operation failed because of a system problem, even though the request was valid. Retry your request.

HTTP Status Code: 500

WAFLimitsExceededException

The operation exceeds a resource limit, for example, the maximum number of WebACL objects that you can create for an Amazon Web Services account. For more information, see Amazon WAF Classic quotas in the Amazon WAF Developer Guide.

HTTP Status Code: 400

WAFStaleDataException

The operation failed because you tried to create, update, or delete an object by using a change token that has already been used.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific Amazon SDKs, see the following: