All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.waf.model.ByteMatchTuple Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS WAF Service module holds the client classes that are used for communicating with AWS WAF Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2010-2016 Amazon.com, Inc. or its affiliates. All Rights
 * Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 *
 *  http://aws.amazon.com/apache2.0
 *
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */

package com.amazonaws.services.waf.model;

import java.io.Serializable;

/**
 * 

* The bytes (typically a string that corresponds with ASCII characters) that * you want AWS WAF to search for in web requests, the location in requests that * you want AWS WAF to search, and other settings. *

*/ public class ByteMatchTuple implements Serializable, Cloneable { /** *

* The part of a web request that you want AWS WAF to search, such as a * specified header or a query string. For more information, see * FieldToMatch. *

*/ private FieldToMatch fieldToMatch; /** *

* The value that you want AWS WAF to search for. AWS WAF searches for the * specified string in the part of web requests that you specified in * FieldToMatch. The maximum length of the value is 50 bytes. *

*

* Valid values depend on the values that you specified for * FieldToMatch: *

*
    *
  • HEADER: The value that you want AWS WAF to search for in * the request header that you specified in FieldToMatch, for * example, the value of the User-Agent or Referer * header.
  • *
  • METHOD: The HTTP method, which indicates the type of * operation specified in the request. CloudFront supports the following * methods: DELETE, GET, HEAD, * OPTIONS, PATCH, POST, and * PUT.
  • *
  • QUERY_STRING: The value that you want AWS WAF to search * for in the query string, which is the part of a URL that appears after a * ? character.
  • *
  • URI: The value that you want AWS WAF to search for in * the part of a URL that identifies a resource, for example, * /images/daily-ad.jpg.
  • *
  • BODY: The part of a request that contains any additional * data that you want to send to your web server as the HTTP request body, * such as data from a form. The request body immediately follows the * request headers. Note that only the first 8192 bytes of the * request body are forwarded to AWS WAF for inspection. To allow or block * requests based on the length of the body, you can create a size * constraint set. For more information, see CreateSizeConstraintSet. *
  • *
*

* If TargetString includes alphabetic characters A-Z and a-z, * note that the value is case sensitive. *

*

* If you're using the AWS WAF API *

*

* Specify a base64-encoded version of the value. The maximum length of the * value before you base64-encode it is 50 bytes. *

*

* For example, suppose the value of Type is * HEADER and the value of Data is * User-Agent. If you want to search the * User-Agent header for the value BadBot, you * base64-encode BadBot using MIME base64 encoding and include * the resulting value, QmFkQm90, in the value of * TargetString. *

*

* If you're using the AWS CLI or one of the AWS SDKs *

*

* The value that you want AWS WAF to search for. The SDK automatically * base64 encodes the value. *

*/ private java.nio.ByteBuffer targetString; /** *

* Text transformations eliminate some of the unusual formatting that * attackers use in web requests in an effort to bypass AWS WAF. If you * specify a transformation, AWS WAF performs the transformation on * TargetString before inspecting a request for a match. *

*

* CMD_LINE *

*

* When you're concerned that attackers are injecting an operating system * commandline command and using unusual formatting to disguise some or all * of the command, use this option to perform the following transformations: *

*
    *
  • Delete the following characters: \ " ' ^
  • *
  • Delete spaces before the following characters: / (
  • *
  • Replace the following characters with a space: , ;
  • *
  • Replace multiple spaces with one space
  • *
  • Convert uppercase letters (A-Z) to lowercase (a-z)
  • *
*

* COMPRESS_WHITE_SPACE *

*

* Use this option to replace the following characters with a space * character (decimal 32): *

*
    *
  • \f, formfeed, decimal 12
  • *
  • \t, tab, decimal 9
  • *
  • \n, newline, decimal 10
  • *
  • \r, carriage return, decimal 13
  • *
  • \v, vertical tab, decimal 11
  • *
  • non-breaking space, decimal 160
  • *
*

* COMPRESS_WHITE_SPACE also replaces multiple spaces with one * space. *

*

* HTML_ENTITY_DECODE *

*

* Use this option to replace HTML-encoded characters with unencoded * characters. HTML_ENTITY_DECODE performs the following * operations: *

*
    *
  • Replaces (ampersand)quot; with "
  • *
  • Replaces (ampersand)nbsp; with a non-breaking space, * decimal 160
  • *
  • Replaces (ampersand)lt; with a "less than" symbol
  • *
  • Replaces (ampersand)gt; with >
  • *
  • Replaces characters that are represented in hexadecimal format, * (ampersand)#xhhhh;, with the corresponding characters
  • *
  • Replaces characters that are represented in decimal format, * (ampersand)#nnnn;, with the corresponding characters
  • *
*

* LOWERCASE *

*

* Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *

*

* URL_DECODE *

*

* Use this option to decode a URL-encoded value. *

*

* NONE *

*

* Specify NONE if you don't want to perform any text * transformations. *

*/ private String textTransformation; /** *

* Within the portion of a web request that you want to search (for example, * in the query string, if any), specify where you want AWS WAF to search. * Valid values include the following: *

*

* CONTAINS *

*

* The specified part of the web request must include the value of * TargetString, but the location doesn't matter. *

*

* CONTAINS_WORD *

*

* The specified part of the web request must include the value of * TargetString, and TargetString must contain * only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In * addition, TargetString must be a word, which means one of * the following: *

*
    *
  • TargetString exactly matches the value of the specified * part of the web request, such as the value of a header.
  • *
  • TargetString is at the beginning of the specified part * of the web request and is followed by a character other than an * alphanumeric character or underscore (_), for example, * BadBot;.
  • *
  • TargetString is at the end of the specified part of the * web request and is preceded by a character other than an alphanumeric * character or underscore (_), for example, ;BadBot.
  • *
  • TargetString is in the middle of the specified part of * the web request and is preceded and followed by characters other than * alphanumeric characters or underscore (_), for example, * -BadBot;.
  • *
*

* EXACTLY *

*

* The value of the specified part of the web request must exactly match the * value of TargetString. *

*

* STARTS_WITH *

*

* The value of TargetString must appear at the beginning of * the specified part of the web request. *

*

* ENDS_WITH *

*

* The value of TargetString must appear at the end of the * specified part of the web request. *

*/ private String positionalConstraint; /** *

* The part of a web request that you want AWS WAF to search, such as a * specified header or a query string. For more information, see * FieldToMatch. *

* * @param fieldToMatch * The part of a web request that you want AWS WAF to search, such as * a specified header or a query string. For more information, see * FieldToMatch. */ public void setFieldToMatch(FieldToMatch fieldToMatch) { this.fieldToMatch = fieldToMatch; } /** *

* The part of a web request that you want AWS WAF to search, such as a * specified header or a query string. For more information, see * FieldToMatch. *

* * @return The part of a web request that you want AWS WAF to search, such * as a specified header or a query string. For more information, * see FieldToMatch. */ public FieldToMatch getFieldToMatch() { return this.fieldToMatch; } /** *

* The part of a web request that you want AWS WAF to search, such as a * specified header or a query string. For more information, see * FieldToMatch. *

* * @param fieldToMatch * The part of a web request that you want AWS WAF to search, such as * a specified header or a query string. For more information, see * FieldToMatch. * @return Returns a reference to this object so that method calls can be * chained together. */ public ByteMatchTuple withFieldToMatch(FieldToMatch fieldToMatch) { setFieldToMatch(fieldToMatch); return this; } /** *

* The value that you want AWS WAF to search for. AWS WAF searches for the * specified string in the part of web requests that you specified in * FieldToMatch. The maximum length of the value is 50 bytes. *

*

* Valid values depend on the values that you specified for * FieldToMatch: *

*
    *
  • HEADER: The value that you want AWS WAF to search for in * the request header that you specified in FieldToMatch, for * example, the value of the User-Agent or Referer * header.
  • *
  • METHOD: The HTTP method, which indicates the type of * operation specified in the request. CloudFront supports the following * methods: DELETE, GET, HEAD, * OPTIONS, PATCH, POST, and * PUT.
  • *
  • QUERY_STRING: The value that you want AWS WAF to search * for in the query string, which is the part of a URL that appears after a * ? character.
  • *
  • URI: The value that you want AWS WAF to search for in * the part of a URL that identifies a resource, for example, * /images/daily-ad.jpg.
  • *
  • BODY: The part of a request that contains any additional * data that you want to send to your web server as the HTTP request body, * such as data from a form. The request body immediately follows the * request headers. Note that only the first 8192 bytes of the * request body are forwarded to AWS WAF for inspection. To allow or block * requests based on the length of the body, you can create a size * constraint set. For more information, see CreateSizeConstraintSet. *
  • *
*

* If TargetString includes alphabetic characters A-Z and a-z, * note that the value is case sensitive. *

*

* If you're using the AWS WAF API *

*

* Specify a base64-encoded version of the value. The maximum length of the * value before you base64-encode it is 50 bytes. *

*

* For example, suppose the value of Type is * HEADER and the value of Data is * User-Agent. If you want to search the * User-Agent header for the value BadBot, you * base64-encode BadBot using MIME base64 encoding and include * the resulting value, QmFkQm90, in the value of * TargetString. *

*

* If you're using the AWS CLI or one of the AWS SDKs *

*

* The value that you want AWS WAF to search for. The SDK automatically * base64 encodes the value. *

*

* AWS SDK for Java performs a Base64 encoding on this field before sending * this request to AWS service by default. Users of the SDK should not * perform Base64 encoding on this field. *

*

* Warning: ByteBuffers returned by the SDK are mutable. Changes to the * content or position of the byte buffer will be seen by all objects that * have a reference to this object. It is recommended to call * ByteBuffer.duplicate() or ByteBuffer.asReadOnlyBuffer() before using or * reading from the buffer. This behavior will be changed in a future major * version of the SDK. *

* * @param targetString * The value that you want AWS WAF to search for. AWS WAF searches * for the specified string in the part of web requests that you * specified in FieldToMatch. The maximum length of the * value is 50 bytes.

*

* Valid values depend on the values that you specified for * FieldToMatch: *

*
    *
  • HEADER: The value that you want AWS WAF to search * for in the request header that you specified in * FieldToMatch, for example, the value of the * User-Agent or Referer header.
  • *
  • METHOD: The HTTP method, which indicates the type * of operation specified in the request. CloudFront supports the * following methods: DELETE, GET, * HEAD, OPTIONS, PATCH, * POST, and PUT.
  • *
  • QUERY_STRING: The value that you want AWS WAF to * search for in the query string, which is the part of a URL that * appears after a ? character.
  • *
  • URI: The value that you want AWS WAF to search * for in the part of a URL that identifies a resource, for example, * /images/daily-ad.jpg.
  • *
  • BODY: The part of a request that contains any * additional data that you want to send to your web server as the * HTTP request body, such as data from a form. The request body * immediately follows the request headers. Note that only the first * 8192 bytes of the request body are forwarded to AWS * WAF for inspection. To allow or block requests based on the length * of the body, you can create a size constraint set. For more * information, see CreateSizeConstraintSet.
  • *
*

* If TargetString includes alphabetic characters A-Z * and a-z, note that the value is case sensitive. *

*

* If you're using the AWS WAF API *

*

* Specify a base64-encoded version of the value. The maximum length * of the value before you base64-encode it is 50 bytes. *

*

* For example, suppose the value of Type is * HEADER and the value of Data is * User-Agent. If you want to search the * User-Agent header for the value BadBot, * you base64-encode BadBot using MIME base64 encoding * and include the resulting value, QmFkQm90, in the * value of TargetString. *

*

* If you're using the AWS CLI or one of the AWS SDKs *

*

* The value that you want AWS WAF to search for. The SDK * automatically base64 encodes the value. */ public void setTargetString(java.nio.ByteBuffer targetString) { this.targetString = targetString; } /** *

* The value that you want AWS WAF to search for. AWS WAF searches for the * specified string in the part of web requests that you specified in * FieldToMatch. The maximum length of the value is 50 bytes. *

*

* Valid values depend on the values that you specified for * FieldToMatch: *

*
    *
  • HEADER: The value that you want AWS WAF to search for in * the request header that you specified in FieldToMatch, for * example, the value of the User-Agent or Referer * header.
  • *
  • METHOD: The HTTP method, which indicates the type of * operation specified in the request. CloudFront supports the following * methods: DELETE, GET, HEAD, * OPTIONS, PATCH, POST, and * PUT.
  • *
  • QUERY_STRING: The value that you want AWS WAF to search * for in the query string, which is the part of a URL that appears after a * ? character.
  • *
  • URI: The value that you want AWS WAF to search for in * the part of a URL that identifies a resource, for example, * /images/daily-ad.jpg.
  • *
  • BODY: The part of a request that contains any additional * data that you want to send to your web server as the HTTP request body, * such as data from a form. The request body immediately follows the * request headers. Note that only the first 8192 bytes of the * request body are forwarded to AWS WAF for inspection. To allow or block * requests based on the length of the body, you can create a size * constraint set. For more information, see CreateSizeConstraintSet. *
  • *
*

* If TargetString includes alphabetic characters A-Z and a-z, * note that the value is case sensitive. *

*

* If you're using the AWS WAF API *

*

* Specify a base64-encoded version of the value. The maximum length of the * value before you base64-encode it is 50 bytes. *

*

* For example, suppose the value of Type is * HEADER and the value of Data is * User-Agent. If you want to search the * User-Agent header for the value BadBot, you * base64-encode BadBot using MIME base64 encoding and include * the resulting value, QmFkQm90, in the value of * TargetString. *

*

* If you're using the AWS CLI or one of the AWS SDKs *

*

* The value that you want AWS WAF to search for. The SDK automatically * base64 encodes the value. *

*

* {@code ByteBuffer}s are stateful. Calling their {@code get} methods * changes their {@code position}. We recommend using * {@link java.nio.ByteBuffer#asReadOnlyBuffer()} to create a read-only view * of the buffer with an independent {@code position}, and calling * {@code get} methods on this rather than directly on the returned * {@code ByteBuffer}. Doing so will ensure that anyone else using the * {@code ByteBuffer} will not be affected by changes to the {@code position} * . *

* * @return The value that you want AWS WAF to search for. AWS WAF searches * for the specified string in the part of web requests that you * specified in FieldToMatch. The maximum length of the * value is 50 bytes.

*

* Valid values depend on the values that you specified for * FieldToMatch: *

*
    *
  • HEADER: The value that you want AWS WAF to * search for in the request header that you specified in * FieldToMatch, for example, the value of the * User-Agent or Referer header.
  • *
  • METHOD: The HTTP method, which indicates the * type of operation specified in the request. CloudFront supports * the following methods: DELETE, GET, * HEAD, OPTIONS, PATCH, * POST, and PUT.
  • *
  • QUERY_STRING: The value that you want AWS WAF to * search for in the query string, which is the part of a URL that * appears after a ? character.
  • *
  • URI: The value that you want AWS WAF to search * for in the part of a URL that identifies a resource, for example, * /images/daily-ad.jpg.
  • *
  • BODY: The part of a request that contains any * additional data that you want to send to your web server as the * HTTP request body, such as data from a form. The request body * immediately follows the request headers. Note that only the first * 8192 bytes of the request body are forwarded to AWS * WAF for inspection. To allow or block requests based on the * length of the body, you can create a size constraint set. For * more information, see CreateSizeConstraintSet.
  • *
*

* If TargetString includes alphabetic characters A-Z * and a-z, note that the value is case sensitive. *

*

* If you're using the AWS WAF API *

*

* Specify a base64-encoded version of the value. The maximum length * of the value before you base64-encode it is 50 bytes. *

*

* For example, suppose the value of Type is * HEADER and the value of Data is * User-Agent. If you want to search the * User-Agent header for the value BadBot, * you base64-encode BadBot using MIME base64 encoding * and include the resulting value, QmFkQm90, in the * value of TargetString. *

*

* If you're using the AWS CLI or one of the AWS SDKs *

*

* The value that you want AWS WAF to search for. The SDK * automatically base64 encodes the value. */ public java.nio.ByteBuffer getTargetString() { return this.targetString; } /** *

* The value that you want AWS WAF to search for. AWS WAF searches for the * specified string in the part of web requests that you specified in * FieldToMatch. The maximum length of the value is 50 bytes. *

*

* Valid values depend on the values that you specified for * FieldToMatch: *

*
    *
  • HEADER: The value that you want AWS WAF to search for in * the request header that you specified in FieldToMatch, for * example, the value of the User-Agent or Referer * header.
  • *
  • METHOD: The HTTP method, which indicates the type of * operation specified in the request. CloudFront supports the following * methods: DELETE, GET, HEAD, * OPTIONS, PATCH, POST, and * PUT.
  • *
  • QUERY_STRING: The value that you want AWS WAF to search * for in the query string, which is the part of a URL that appears after a * ? character.
  • *
  • URI: The value that you want AWS WAF to search for in * the part of a URL that identifies a resource, for example, * /images/daily-ad.jpg.
  • *
  • BODY: The part of a request that contains any additional * data that you want to send to your web server as the HTTP request body, * such as data from a form. The request body immediately follows the * request headers. Note that only the first 8192 bytes of the * request body are forwarded to AWS WAF for inspection. To allow or block * requests based on the length of the body, you can create a size * constraint set. For more information, see CreateSizeConstraintSet. *
  • *
*

* If TargetString includes alphabetic characters A-Z and a-z, * note that the value is case sensitive. *

*

* If you're using the AWS WAF API *

*

* Specify a base64-encoded version of the value. The maximum length of the * value before you base64-encode it is 50 bytes. *

*

* For example, suppose the value of Type is * HEADER and the value of Data is * User-Agent. If you want to search the * User-Agent header for the value BadBot, you * base64-encode BadBot using MIME base64 encoding and include * the resulting value, QmFkQm90, in the value of * TargetString. *

*

* If you're using the AWS CLI or one of the AWS SDKs *

*

* The value that you want AWS WAF to search for. The SDK automatically * base64 encodes the value. *

* * @param targetString * The value that you want AWS WAF to search for. AWS WAF searches * for the specified string in the part of web requests that you * specified in FieldToMatch. The maximum length of the * value is 50 bytes.

*

* Valid values depend on the values that you specified for * FieldToMatch: *

*
    *
  • HEADER: The value that you want AWS WAF to search * for in the request header that you specified in * FieldToMatch, for example, the value of the * User-Agent or Referer header.
  • *
  • METHOD: The HTTP method, which indicates the type * of operation specified in the request. CloudFront supports the * following methods: DELETE, GET, * HEAD, OPTIONS, PATCH, * POST, and PUT.
  • *
  • QUERY_STRING: The value that you want AWS WAF to * search for in the query string, which is the part of a URL that * appears after a ? character.
  • *
  • URI: The value that you want AWS WAF to search * for in the part of a URL that identifies a resource, for example, * /images/daily-ad.jpg.
  • *
  • BODY: The part of a request that contains any * additional data that you want to send to your web server as the * HTTP request body, such as data from a form. The request body * immediately follows the request headers. Note that only the first * 8192 bytes of the request body are forwarded to AWS * WAF for inspection. To allow or block requests based on the length * of the body, you can create a size constraint set. For more * information, see CreateSizeConstraintSet.
  • *
*

* If TargetString includes alphabetic characters A-Z * and a-z, note that the value is case sensitive. *

*

* If you're using the AWS WAF API *

*

* Specify a base64-encoded version of the value. The maximum length * of the value before you base64-encode it is 50 bytes. *

*

* For example, suppose the value of Type is * HEADER and the value of Data is * User-Agent. If you want to search the * User-Agent header for the value BadBot, * you base64-encode BadBot using MIME base64 encoding * and include the resulting value, QmFkQm90, in the * value of TargetString. *

*

* If you're using the AWS CLI or one of the AWS SDKs *

*

* The value that you want AWS WAF to search for. The SDK * automatically base64 encodes the value. * @return Returns a reference to this object so that method calls can be * chained together. */ public ByteMatchTuple withTargetString(java.nio.ByteBuffer targetString) { setTargetString(targetString); return this; } /** *

* Text transformations eliminate some of the unusual formatting that * attackers use in web requests in an effort to bypass AWS WAF. If you * specify a transformation, AWS WAF performs the transformation on * TargetString before inspecting a request for a match. *

*

* CMD_LINE *

*

* When you're concerned that attackers are injecting an operating system * commandline command and using unusual formatting to disguise some or all * of the command, use this option to perform the following transformations: *

*
    *
  • Delete the following characters: \ " ' ^
  • *
  • Delete spaces before the following characters: / (
  • *
  • Replace the following characters with a space: , ;
  • *
  • Replace multiple spaces with one space
  • *
  • Convert uppercase letters (A-Z) to lowercase (a-z)
  • *
*

* COMPRESS_WHITE_SPACE *

*

* Use this option to replace the following characters with a space * character (decimal 32): *

*
    *
  • \f, formfeed, decimal 12
  • *
  • \t, tab, decimal 9
  • *
  • \n, newline, decimal 10
  • *
  • \r, carriage return, decimal 13
  • *
  • \v, vertical tab, decimal 11
  • *
  • non-breaking space, decimal 160
  • *
*

* COMPRESS_WHITE_SPACE also replaces multiple spaces with one * space. *

*

* HTML_ENTITY_DECODE *

*

* Use this option to replace HTML-encoded characters with unencoded * characters. HTML_ENTITY_DECODE performs the following * operations: *

*
    *
  • Replaces (ampersand)quot; with "
  • *
  • Replaces (ampersand)nbsp; with a non-breaking space, * decimal 160
  • *
  • Replaces (ampersand)lt; with a "less than" symbol
  • *
  • Replaces (ampersand)gt; with >
  • *
  • Replaces characters that are represented in hexadecimal format, * (ampersand)#xhhhh;, with the corresponding characters
  • *
  • Replaces characters that are represented in decimal format, * (ampersand)#nnnn;, with the corresponding characters
  • *
*

* LOWERCASE *

*

* Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *

*

* URL_DECODE *

*

* Use this option to decode a URL-encoded value. *

*

* NONE *

*

* Specify NONE if you don't want to perform any text * transformations. *

* * @param textTransformation * Text transformations eliminate some of the unusual formatting that * attackers use in web requests in an effort to bypass AWS WAF. If * you specify a transformation, AWS WAF performs the transformation * on TargetString before inspecting a request for a * match.

*

* CMD_LINE *

*

* When you're concerned that attackers are injecting an operating * system commandline command and using unusual formatting to * disguise some or all of the command, use this option to perform * the following transformations: *

*
    *
  • Delete the following characters: \ " ' ^
  • *
  • Delete spaces before the following characters: / (
  • *
  • Replace the following characters with a space: , ;
  • *
  • Replace multiple spaces with one space
  • *
  • Convert uppercase letters (A-Z) to lowercase (a-z)
  • *
*

* COMPRESS_WHITE_SPACE *

*

* Use this option to replace the following characters with a space * character (decimal 32): *

*
    *
  • \f, formfeed, decimal 12
  • *
  • \t, tab, decimal 9
  • *
  • \n, newline, decimal 10
  • *
  • \r, carriage return, decimal 13
  • *
  • \v, vertical tab, decimal 11
  • *
  • non-breaking space, decimal 160
  • *
*

* COMPRESS_WHITE_SPACE also replaces multiple spaces * with one space. *

*

* HTML_ENTITY_DECODE *

*

* Use this option to replace HTML-encoded characters with unencoded * characters. HTML_ENTITY_DECODE performs the following * operations: *

*
    *
  • Replaces (ampersand)quot; with "
  • *
  • Replaces (ampersand)nbsp; with a non-breaking * space, decimal 160
  • *
  • Replaces (ampersand)lt; with a "less than" symbol *
  • *
  • Replaces (ampersand)gt; with >
  • *
  • Replaces characters that are represented in hexadecimal * format, (ampersand)#xhhhh;, with the corresponding * characters
  • *
  • Replaces characters that are represented in decimal format, * (ampersand)#nnnn;, with the corresponding characters
  • *
*

* LOWERCASE *

*

* Use this option to convert uppercase letters (A-Z) to lowercase * (a-z). *

*

* URL_DECODE *

*

* Use this option to decode a URL-encoded value. *

*

* NONE *

*

* Specify NONE if you don't want to perform any text * transformations. * @see TextTransformation */ public void setTextTransformation(String textTransformation) { this.textTransformation = textTransformation; } /** *

* Text transformations eliminate some of the unusual formatting that * attackers use in web requests in an effort to bypass AWS WAF. If you * specify a transformation, AWS WAF performs the transformation on * TargetString before inspecting a request for a match. *

*

* CMD_LINE *

*

* When you're concerned that attackers are injecting an operating system * commandline command and using unusual formatting to disguise some or all * of the command, use this option to perform the following transformations: *

*
    *
  • Delete the following characters: \ " ' ^
  • *
  • Delete spaces before the following characters: / (
  • *
  • Replace the following characters with a space: , ;
  • *
  • Replace multiple spaces with one space
  • *
  • Convert uppercase letters (A-Z) to lowercase (a-z)
  • *
*

* COMPRESS_WHITE_SPACE *

*

* Use this option to replace the following characters with a space * character (decimal 32): *

*
    *
  • \f, formfeed, decimal 12
  • *
  • \t, tab, decimal 9
  • *
  • \n, newline, decimal 10
  • *
  • \r, carriage return, decimal 13
  • *
  • \v, vertical tab, decimal 11
  • *
  • non-breaking space, decimal 160
  • *
*

* COMPRESS_WHITE_SPACE also replaces multiple spaces with one * space. *

*

* HTML_ENTITY_DECODE *

*

* Use this option to replace HTML-encoded characters with unencoded * characters. HTML_ENTITY_DECODE performs the following * operations: *

*
    *
  • Replaces (ampersand)quot; with "
  • *
  • Replaces (ampersand)nbsp; with a non-breaking space, * decimal 160
  • *
  • Replaces (ampersand)lt; with a "less than" symbol
  • *
  • Replaces (ampersand)gt; with >
  • *
  • Replaces characters that are represented in hexadecimal format, * (ampersand)#xhhhh;, with the corresponding characters
  • *
  • Replaces characters that are represented in decimal format, * (ampersand)#nnnn;, with the corresponding characters
  • *
*

* LOWERCASE *

*

* Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *

*

* URL_DECODE *

*

* Use this option to decode a URL-encoded value. *

*

* NONE *

*

* Specify NONE if you don't want to perform any text * transformations. *

* * @return Text transformations eliminate some of the unusual formatting * that attackers use in web requests in an effort to bypass AWS * WAF. If you specify a transformation, AWS WAF performs the * transformation on TargetString before inspecting a * request for a match.

*

* CMD_LINE *

*

* When you're concerned that attackers are injecting an operating * system commandline command and using unusual formatting to * disguise some or all of the command, use this option to perform * the following transformations: *

*
    *
  • Delete the following characters: \ " ' ^
  • *
  • Delete spaces before the following characters: / (
  • *
  • Replace the following characters with a space: , ;
  • *
  • Replace multiple spaces with one space
  • *
  • Convert uppercase letters (A-Z) to lowercase (a-z)
  • *
*

* COMPRESS_WHITE_SPACE *

*

* Use this option to replace the following characters with a space * character (decimal 32): *

*
    *
  • \f, formfeed, decimal 12
  • *
  • \t, tab, decimal 9
  • *
  • \n, newline, decimal 10
  • *
  • \r, carriage return, decimal 13
  • *
  • \v, vertical tab, decimal 11
  • *
  • non-breaking space, decimal 160
  • *
*

* COMPRESS_WHITE_SPACE also replaces multiple spaces * with one space. *

*

* HTML_ENTITY_DECODE *

*

* Use this option to replace HTML-encoded characters with unencoded * characters. HTML_ENTITY_DECODE performs the * following operations: *

*
    *
  • Replaces (ampersand)quot; with "
  • *
  • Replaces (ampersand)nbsp; with a non-breaking * space, decimal 160
  • *
  • Replaces (ampersand)lt; with a "less than" * symbol
  • *
  • Replaces (ampersand)gt; with >
  • *
  • Replaces characters that are represented in hexadecimal * format, (ampersand)#xhhhh;, with the corresponding * characters
  • *
  • Replaces characters that are represented in decimal format, * (ampersand)#nnnn;, with the corresponding characters *
  • *
*

* LOWERCASE *

*

* Use this option to convert uppercase letters (A-Z) to lowercase * (a-z). *

*

* URL_DECODE *

*

* Use this option to decode a URL-encoded value. *

*

* NONE *

*

* Specify NONE if you don't want to perform any text * transformations. * @see TextTransformation */ public String getTextTransformation() { return this.textTransformation; } /** *

* Text transformations eliminate some of the unusual formatting that * attackers use in web requests in an effort to bypass AWS WAF. If you * specify a transformation, AWS WAF performs the transformation on * TargetString before inspecting a request for a match. *

*

* CMD_LINE *

*

* When you're concerned that attackers are injecting an operating system * commandline command and using unusual formatting to disguise some or all * of the command, use this option to perform the following transformations: *

*
    *
  • Delete the following characters: \ " ' ^
  • *
  • Delete spaces before the following characters: / (
  • *
  • Replace the following characters with a space: , ;
  • *
  • Replace multiple spaces with one space
  • *
  • Convert uppercase letters (A-Z) to lowercase (a-z)
  • *
*

* COMPRESS_WHITE_SPACE *

*

* Use this option to replace the following characters with a space * character (decimal 32): *

*
    *
  • \f, formfeed, decimal 12
  • *
  • \t, tab, decimal 9
  • *
  • \n, newline, decimal 10
  • *
  • \r, carriage return, decimal 13
  • *
  • \v, vertical tab, decimal 11
  • *
  • non-breaking space, decimal 160
  • *
*

* COMPRESS_WHITE_SPACE also replaces multiple spaces with one * space. *

*

* HTML_ENTITY_DECODE *

*

* Use this option to replace HTML-encoded characters with unencoded * characters. HTML_ENTITY_DECODE performs the following * operations: *

*
    *
  • Replaces (ampersand)quot; with "
  • *
  • Replaces (ampersand)nbsp; with a non-breaking space, * decimal 160
  • *
  • Replaces (ampersand)lt; with a "less than" symbol
  • *
  • Replaces (ampersand)gt; with >
  • *
  • Replaces characters that are represented in hexadecimal format, * (ampersand)#xhhhh;, with the corresponding characters
  • *
  • Replaces characters that are represented in decimal format, * (ampersand)#nnnn;, with the corresponding characters
  • *
*

* LOWERCASE *

*

* Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *

*

* URL_DECODE *

*

* Use this option to decode a URL-encoded value. *

*

* NONE *

*

* Specify NONE if you don't want to perform any text * transformations. *

* * @param textTransformation * Text transformations eliminate some of the unusual formatting that * attackers use in web requests in an effort to bypass AWS WAF. If * you specify a transformation, AWS WAF performs the transformation * on TargetString before inspecting a request for a * match.

*

* CMD_LINE *

*

* When you're concerned that attackers are injecting an operating * system commandline command and using unusual formatting to * disguise some or all of the command, use this option to perform * the following transformations: *

*
    *
  • Delete the following characters: \ " ' ^
  • *
  • Delete spaces before the following characters: / (
  • *
  • Replace the following characters with a space: , ;
  • *
  • Replace multiple spaces with one space
  • *
  • Convert uppercase letters (A-Z) to lowercase (a-z)
  • *
*

* COMPRESS_WHITE_SPACE *

*

* Use this option to replace the following characters with a space * character (decimal 32): *

*
    *
  • \f, formfeed, decimal 12
  • *
  • \t, tab, decimal 9
  • *
  • \n, newline, decimal 10
  • *
  • \r, carriage return, decimal 13
  • *
  • \v, vertical tab, decimal 11
  • *
  • non-breaking space, decimal 160
  • *
*

* COMPRESS_WHITE_SPACE also replaces multiple spaces * with one space. *

*

* HTML_ENTITY_DECODE *

*

* Use this option to replace HTML-encoded characters with unencoded * characters. HTML_ENTITY_DECODE performs the following * operations: *

*
    *
  • Replaces (ampersand)quot; with "
  • *
  • Replaces (ampersand)nbsp; with a non-breaking * space, decimal 160
  • *
  • Replaces (ampersand)lt; with a "less than" symbol *
  • *
  • Replaces (ampersand)gt; with >
  • *
  • Replaces characters that are represented in hexadecimal * format, (ampersand)#xhhhh;, with the corresponding * characters
  • *
  • Replaces characters that are represented in decimal format, * (ampersand)#nnnn;, with the corresponding characters
  • *
*

* LOWERCASE *

*

* Use this option to convert uppercase letters (A-Z) to lowercase * (a-z). *

*

* URL_DECODE *

*

* Use this option to decode a URL-encoded value. *

*

* NONE *

*

* Specify NONE if you don't want to perform any text * transformations. * @return Returns a reference to this object so that method calls can be * chained together. * @see TextTransformation */ public ByteMatchTuple withTextTransformation(String textTransformation) { setTextTransformation(textTransformation); return this; } /** *

* Text transformations eliminate some of the unusual formatting that * attackers use in web requests in an effort to bypass AWS WAF. If you * specify a transformation, AWS WAF performs the transformation on * TargetString before inspecting a request for a match. *

*

* CMD_LINE *

*

* When you're concerned that attackers are injecting an operating system * commandline command and using unusual formatting to disguise some or all * of the command, use this option to perform the following transformations: *

*
    *
  • Delete the following characters: \ " ' ^
  • *
  • Delete spaces before the following characters: / (
  • *
  • Replace the following characters with a space: , ;
  • *
  • Replace multiple spaces with one space
  • *
  • Convert uppercase letters (A-Z) to lowercase (a-z)
  • *
*

* COMPRESS_WHITE_SPACE *

*

* Use this option to replace the following characters with a space * character (decimal 32): *

*
    *
  • \f, formfeed, decimal 12
  • *
  • \t, tab, decimal 9
  • *
  • \n, newline, decimal 10
  • *
  • \r, carriage return, decimal 13
  • *
  • \v, vertical tab, decimal 11
  • *
  • non-breaking space, decimal 160
  • *
*

* COMPRESS_WHITE_SPACE also replaces multiple spaces with one * space. *

*

* HTML_ENTITY_DECODE *

*

* Use this option to replace HTML-encoded characters with unencoded * characters. HTML_ENTITY_DECODE performs the following * operations: *

*
    *
  • Replaces (ampersand)quot; with "
  • *
  • Replaces (ampersand)nbsp; with a non-breaking space, * decimal 160
  • *
  • Replaces (ampersand)lt; with a "less than" symbol
  • *
  • Replaces (ampersand)gt; with >
  • *
  • Replaces characters that are represented in hexadecimal format, * (ampersand)#xhhhh;, with the corresponding characters
  • *
  • Replaces characters that are represented in decimal format, * (ampersand)#nnnn;, with the corresponding characters
  • *
*

* LOWERCASE *

*

* Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *

*

* URL_DECODE *

*

* Use this option to decode a URL-encoded value. *

*

* NONE *

*

* Specify NONE if you don't want to perform any text * transformations. *

* * @param textTransformation * Text transformations eliminate some of the unusual formatting that * attackers use in web requests in an effort to bypass AWS WAF. If * you specify a transformation, AWS WAF performs the transformation * on TargetString before inspecting a request for a * match.

*

* CMD_LINE *

*

* When you're concerned that attackers are injecting an operating * system commandline command and using unusual formatting to * disguise some or all of the command, use this option to perform * the following transformations: *

*
    *
  • Delete the following characters: \ " ' ^
  • *
  • Delete spaces before the following characters: / (
  • *
  • Replace the following characters with a space: , ;
  • *
  • Replace multiple spaces with one space
  • *
  • Convert uppercase letters (A-Z) to lowercase (a-z)
  • *
*

* COMPRESS_WHITE_SPACE *

*

* Use this option to replace the following characters with a space * character (decimal 32): *

*
    *
  • \f, formfeed, decimal 12
  • *
  • \t, tab, decimal 9
  • *
  • \n, newline, decimal 10
  • *
  • \r, carriage return, decimal 13
  • *
  • \v, vertical tab, decimal 11
  • *
  • non-breaking space, decimal 160
  • *
*

* COMPRESS_WHITE_SPACE also replaces multiple spaces * with one space. *

*

* HTML_ENTITY_DECODE *

*

* Use this option to replace HTML-encoded characters with unencoded * characters. HTML_ENTITY_DECODE performs the following * operations: *

*
    *
  • Replaces (ampersand)quot; with "
  • *
  • Replaces (ampersand)nbsp; with a non-breaking * space, decimal 160
  • *
  • Replaces (ampersand)lt; with a "less than" symbol *
  • *
  • Replaces (ampersand)gt; with >
  • *
  • Replaces characters that are represented in hexadecimal * format, (ampersand)#xhhhh;, with the corresponding * characters
  • *
  • Replaces characters that are represented in decimal format, * (ampersand)#nnnn;, with the corresponding characters
  • *
*

* LOWERCASE *

*

* Use this option to convert uppercase letters (A-Z) to lowercase * (a-z). *

*

* URL_DECODE *

*

* Use this option to decode a URL-encoded value. *

*

* NONE *

*

* Specify NONE if you don't want to perform any text * transformations. * @see TextTransformation */ public void setTextTransformation(TextTransformation textTransformation) { this.textTransformation = textTransformation.toString(); } /** *

* Text transformations eliminate some of the unusual formatting that * attackers use in web requests in an effort to bypass AWS WAF. If you * specify a transformation, AWS WAF performs the transformation on * TargetString before inspecting a request for a match. *

*

* CMD_LINE *

*

* When you're concerned that attackers are injecting an operating system * commandline command and using unusual formatting to disguise some or all * of the command, use this option to perform the following transformations: *

*
    *
  • Delete the following characters: \ " ' ^
  • *
  • Delete spaces before the following characters: / (
  • *
  • Replace the following characters with a space: , ;
  • *
  • Replace multiple spaces with one space
  • *
  • Convert uppercase letters (A-Z) to lowercase (a-z)
  • *
*

* COMPRESS_WHITE_SPACE *

*

* Use this option to replace the following characters with a space * character (decimal 32): *

*
    *
  • \f, formfeed, decimal 12
  • *
  • \t, tab, decimal 9
  • *
  • \n, newline, decimal 10
  • *
  • \r, carriage return, decimal 13
  • *
  • \v, vertical tab, decimal 11
  • *
  • non-breaking space, decimal 160
  • *
*

* COMPRESS_WHITE_SPACE also replaces multiple spaces with one * space. *

*

* HTML_ENTITY_DECODE *

*

* Use this option to replace HTML-encoded characters with unencoded * characters. HTML_ENTITY_DECODE performs the following * operations: *

*
    *
  • Replaces (ampersand)quot; with "
  • *
  • Replaces (ampersand)nbsp; with a non-breaking space, * decimal 160
  • *
  • Replaces (ampersand)lt; with a "less than" symbol
  • *
  • Replaces (ampersand)gt; with >
  • *
  • Replaces characters that are represented in hexadecimal format, * (ampersand)#xhhhh;, with the corresponding characters
  • *
  • Replaces characters that are represented in decimal format, * (ampersand)#nnnn;, with the corresponding characters
  • *
*

* LOWERCASE *

*

* Use this option to convert uppercase letters (A-Z) to lowercase (a-z). *

*

* URL_DECODE *

*

* Use this option to decode a URL-encoded value. *

*

* NONE *

*

* Specify NONE if you don't want to perform any text * transformations. *

* * @param textTransformation * Text transformations eliminate some of the unusual formatting that * attackers use in web requests in an effort to bypass AWS WAF. If * you specify a transformation, AWS WAF performs the transformation * on TargetString before inspecting a request for a * match.

*

* CMD_LINE *

*

* When you're concerned that attackers are injecting an operating * system commandline command and using unusual formatting to * disguise some or all of the command, use this option to perform * the following transformations: *

*
    *
  • Delete the following characters: \ " ' ^
  • *
  • Delete spaces before the following characters: / (
  • *
  • Replace the following characters with a space: , ;
  • *
  • Replace multiple spaces with one space
  • *
  • Convert uppercase letters (A-Z) to lowercase (a-z)
  • *
*

* COMPRESS_WHITE_SPACE *

*

* Use this option to replace the following characters with a space * character (decimal 32): *

*
    *
  • \f, formfeed, decimal 12
  • *
  • \t, tab, decimal 9
  • *
  • \n, newline, decimal 10
  • *
  • \r, carriage return, decimal 13
  • *
  • \v, vertical tab, decimal 11
  • *
  • non-breaking space, decimal 160
  • *
*

* COMPRESS_WHITE_SPACE also replaces multiple spaces * with one space. *

*

* HTML_ENTITY_DECODE *

*

* Use this option to replace HTML-encoded characters with unencoded * characters. HTML_ENTITY_DECODE performs the following * operations: *

*
    *
  • Replaces (ampersand)quot; with "
  • *
  • Replaces (ampersand)nbsp; with a non-breaking * space, decimal 160
  • *
  • Replaces (ampersand)lt; with a "less than" symbol *
  • *
  • Replaces (ampersand)gt; with >
  • *
  • Replaces characters that are represented in hexadecimal * format, (ampersand)#xhhhh;, with the corresponding * characters
  • *
  • Replaces characters that are represented in decimal format, * (ampersand)#nnnn;, with the corresponding characters
  • *
*

* LOWERCASE *

*

* Use this option to convert uppercase letters (A-Z) to lowercase * (a-z). *

*

* URL_DECODE *

*

* Use this option to decode a URL-encoded value. *

*

* NONE *

*

* Specify NONE if you don't want to perform any text * transformations. * @return Returns a reference to this object so that method calls can be * chained together. * @see TextTransformation */ public ByteMatchTuple withTextTransformation( TextTransformation textTransformation) { setTextTransformation(textTransformation); return this; } /** *

* Within the portion of a web request that you want to search (for example, * in the query string, if any), specify where you want AWS WAF to search. * Valid values include the following: *

*

* CONTAINS *

*

* The specified part of the web request must include the value of * TargetString, but the location doesn't matter. *

*

* CONTAINS_WORD *

*

* The specified part of the web request must include the value of * TargetString, and TargetString must contain * only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In * addition, TargetString must be a word, which means one of * the following: *

*
    *
  • TargetString exactly matches the value of the specified * part of the web request, such as the value of a header.
  • *
  • TargetString is at the beginning of the specified part * of the web request and is followed by a character other than an * alphanumeric character or underscore (_), for example, * BadBot;.
  • *
  • TargetString is at the end of the specified part of the * web request and is preceded by a character other than an alphanumeric * character or underscore (_), for example, ;BadBot.
  • *
  • TargetString is in the middle of the specified part of * the web request and is preceded and followed by characters other than * alphanumeric characters or underscore (_), for example, * -BadBot;.
  • *
*

* EXACTLY *

*

* The value of the specified part of the web request must exactly match the * value of TargetString. *

*

* STARTS_WITH *

*

* The value of TargetString must appear at the beginning of * the specified part of the web request. *

*

* ENDS_WITH *

*

* The value of TargetString must appear at the end of the * specified part of the web request. *

* * @param positionalConstraint * Within the portion of a web request that you want to search (for * example, in the query string, if any), specify where you want AWS * WAF to search. Valid values include the following:

*

* CONTAINS *

*

* The specified part of the web request must include the value of * TargetString, but the location doesn't matter. *

*

* CONTAINS_WORD *

*

* The specified part of the web request must include the value of * TargetString, and TargetString must * contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, * or _). In addition, TargetString must be a word, * which means one of the following: *

*
    *
  • TargetString exactly matches the value of the * specified part of the web request, such as the value of a header.
  • *
  • TargetString is at the beginning of the specified * part of the web request and is followed by a character other than * an alphanumeric character or underscore (_), for example, * BadBot;.
  • *
  • TargetString is at the end of the specified part * of the web request and is preceded by a character other than an * alphanumeric character or underscore (_), for example, * ;BadBot.
  • *
  • TargetString is in the middle of the specified * part of the web request and is preceded and followed by characters * other than alphanumeric characters or underscore (_), for example, * -BadBot;.
  • *
*

* EXACTLY *

*

* The value of the specified part of the web request must exactly * match the value of TargetString. *

*

* STARTS_WITH *

*

* The value of TargetString must appear at the * beginning of the specified part of the web request. *

*

* ENDS_WITH *

*

* The value of TargetString must appear at the end of * the specified part of the web request. * @see PositionalConstraint */ public void setPositionalConstraint(String positionalConstraint) { this.positionalConstraint = positionalConstraint; } /** *

* Within the portion of a web request that you want to search (for example, * in the query string, if any), specify where you want AWS WAF to search. * Valid values include the following: *

*

* CONTAINS *

*

* The specified part of the web request must include the value of * TargetString, but the location doesn't matter. *

*

* CONTAINS_WORD *

*

* The specified part of the web request must include the value of * TargetString, and TargetString must contain * only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In * addition, TargetString must be a word, which means one of * the following: *

*
    *
  • TargetString exactly matches the value of the specified * part of the web request, such as the value of a header.
  • *
  • TargetString is at the beginning of the specified part * of the web request and is followed by a character other than an * alphanumeric character or underscore (_), for example, * BadBot;.
  • *
  • TargetString is at the end of the specified part of the * web request and is preceded by a character other than an alphanumeric * character or underscore (_), for example, ;BadBot.
  • *
  • TargetString is in the middle of the specified part of * the web request and is preceded and followed by characters other than * alphanumeric characters or underscore (_), for example, * -BadBot;.
  • *
*

* EXACTLY *

*

* The value of the specified part of the web request must exactly match the * value of TargetString. *

*

* STARTS_WITH *

*

* The value of TargetString must appear at the beginning of * the specified part of the web request. *

*

* ENDS_WITH *

*

* The value of TargetString must appear at the end of the * specified part of the web request. *

* * @return Within the portion of a web request that you want to search (for * example, in the query string, if any), specify where you want AWS * WAF to search. Valid values include the following:

*

* CONTAINS *

*

* The specified part of the web request must include the value of * TargetString, but the location doesn't matter. *

*

* CONTAINS_WORD *

*

* The specified part of the web request must include the value of * TargetString, and TargetString must * contain only alphanumeric characters or underscore (A-Z, a-z, * 0-9, or _). In addition, TargetString must be a * word, which means one of the following: *

*
    *
  • TargetString exactly matches the value of the * specified part of the web request, such as the value of a header. *
  • *
  • TargetString is at the beginning of the * specified part of the web request and is followed by a character * other than an alphanumeric character or underscore (_), for * example, BadBot;.
  • *
  • TargetString is at the end of the specified part * of the web request and is preceded by a character other than an * alphanumeric character or underscore (_), for example, * ;BadBot.
  • *
  • TargetString is in the middle of the specified * part of the web request and is preceded and followed by * characters other than alphanumeric characters or underscore (_), * for example, -BadBot;.
  • *
*

* EXACTLY *

*

* The value of the specified part of the web request must exactly * match the value of TargetString. *

*

* STARTS_WITH *

*

* The value of TargetString must appear at the * beginning of the specified part of the web request. *

*

* ENDS_WITH *

*

* The value of TargetString must appear at the end of * the specified part of the web request. * @see PositionalConstraint */ public String getPositionalConstraint() { return this.positionalConstraint; } /** *

* Within the portion of a web request that you want to search (for example, * in the query string, if any), specify where you want AWS WAF to search. * Valid values include the following: *

*

* CONTAINS *

*

* The specified part of the web request must include the value of * TargetString, but the location doesn't matter. *

*

* CONTAINS_WORD *

*

* The specified part of the web request must include the value of * TargetString, and TargetString must contain * only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In * addition, TargetString must be a word, which means one of * the following: *

*
    *
  • TargetString exactly matches the value of the specified * part of the web request, such as the value of a header.
  • *
  • TargetString is at the beginning of the specified part * of the web request and is followed by a character other than an * alphanumeric character or underscore (_), for example, * BadBot;.
  • *
  • TargetString is at the end of the specified part of the * web request and is preceded by a character other than an alphanumeric * character or underscore (_), for example, ;BadBot.
  • *
  • TargetString is in the middle of the specified part of * the web request and is preceded and followed by characters other than * alphanumeric characters or underscore (_), for example, * -BadBot;.
  • *
*

* EXACTLY *

*

* The value of the specified part of the web request must exactly match the * value of TargetString. *

*

* STARTS_WITH *

*

* The value of TargetString must appear at the beginning of * the specified part of the web request. *

*

* ENDS_WITH *

*

* The value of TargetString must appear at the end of the * specified part of the web request. *

* * @param positionalConstraint * Within the portion of a web request that you want to search (for * example, in the query string, if any), specify where you want AWS * WAF to search. Valid values include the following:

*

* CONTAINS *

*

* The specified part of the web request must include the value of * TargetString, but the location doesn't matter. *

*

* CONTAINS_WORD *

*

* The specified part of the web request must include the value of * TargetString, and TargetString must * contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, * or _). In addition, TargetString must be a word, * which means one of the following: *

*
    *
  • TargetString exactly matches the value of the * specified part of the web request, such as the value of a header.
  • *
  • TargetString is at the beginning of the specified * part of the web request and is followed by a character other than * an alphanumeric character or underscore (_), for example, * BadBot;.
  • *
  • TargetString is at the end of the specified part * of the web request and is preceded by a character other than an * alphanumeric character or underscore (_), for example, * ;BadBot.
  • *
  • TargetString is in the middle of the specified * part of the web request and is preceded and followed by characters * other than alphanumeric characters or underscore (_), for example, * -BadBot;.
  • *
*

* EXACTLY *

*

* The value of the specified part of the web request must exactly * match the value of TargetString. *

*

* STARTS_WITH *

*

* The value of TargetString must appear at the * beginning of the specified part of the web request. *

*

* ENDS_WITH *

*

* The value of TargetString must appear at the end of * the specified part of the web request. * @return Returns a reference to this object so that method calls can be * chained together. * @see PositionalConstraint */ public ByteMatchTuple withPositionalConstraint(String positionalConstraint) { setPositionalConstraint(positionalConstraint); return this; } /** *

* Within the portion of a web request that you want to search (for example, * in the query string, if any), specify where you want AWS WAF to search. * Valid values include the following: *

*

* CONTAINS *

*

* The specified part of the web request must include the value of * TargetString, but the location doesn't matter. *

*

* CONTAINS_WORD *

*

* The specified part of the web request must include the value of * TargetString, and TargetString must contain * only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In * addition, TargetString must be a word, which means one of * the following: *

*
    *
  • TargetString exactly matches the value of the specified * part of the web request, such as the value of a header.
  • *
  • TargetString is at the beginning of the specified part * of the web request and is followed by a character other than an * alphanumeric character or underscore (_), for example, * BadBot;.
  • *
  • TargetString is at the end of the specified part of the * web request and is preceded by a character other than an alphanumeric * character or underscore (_), for example, ;BadBot.
  • *
  • TargetString is in the middle of the specified part of * the web request and is preceded and followed by characters other than * alphanumeric characters or underscore (_), for example, * -BadBot;.
  • *
*

* EXACTLY *

*

* The value of the specified part of the web request must exactly match the * value of TargetString. *

*

* STARTS_WITH *

*

* The value of TargetString must appear at the beginning of * the specified part of the web request. *

*

* ENDS_WITH *

*

* The value of TargetString must appear at the end of the * specified part of the web request. *

* * @param positionalConstraint * Within the portion of a web request that you want to search (for * example, in the query string, if any), specify where you want AWS * WAF to search. Valid values include the following:

*

* CONTAINS *

*

* The specified part of the web request must include the value of * TargetString, but the location doesn't matter. *

*

* CONTAINS_WORD *

*

* The specified part of the web request must include the value of * TargetString, and TargetString must * contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, * or _). In addition, TargetString must be a word, * which means one of the following: *

*
    *
  • TargetString exactly matches the value of the * specified part of the web request, such as the value of a header.
  • *
  • TargetString is at the beginning of the specified * part of the web request and is followed by a character other than * an alphanumeric character or underscore (_), for example, * BadBot;.
  • *
  • TargetString is at the end of the specified part * of the web request and is preceded by a character other than an * alphanumeric character or underscore (_), for example, * ;BadBot.
  • *
  • TargetString is in the middle of the specified * part of the web request and is preceded and followed by characters * other than alphanumeric characters or underscore (_), for example, * -BadBot;.
  • *
*

* EXACTLY *

*

* The value of the specified part of the web request must exactly * match the value of TargetString. *

*

* STARTS_WITH *

*

* The value of TargetString must appear at the * beginning of the specified part of the web request. *

*

* ENDS_WITH *

*

* The value of TargetString must appear at the end of * the specified part of the web request. * @see PositionalConstraint */ public void setPositionalConstraint( PositionalConstraint positionalConstraint) { this.positionalConstraint = positionalConstraint.toString(); } /** *

* Within the portion of a web request that you want to search (for example, * in the query string, if any), specify where you want AWS WAF to search. * Valid values include the following: *

*

* CONTAINS *

*

* The specified part of the web request must include the value of * TargetString, but the location doesn't matter. *

*

* CONTAINS_WORD *

*

* The specified part of the web request must include the value of * TargetString, and TargetString must contain * only alphanumeric characters or underscore (A-Z, a-z, 0-9, or _). In * addition, TargetString must be a word, which means one of * the following: *

*
    *
  • TargetString exactly matches the value of the specified * part of the web request, such as the value of a header.
  • *
  • TargetString is at the beginning of the specified part * of the web request and is followed by a character other than an * alphanumeric character or underscore (_), for example, * BadBot;.
  • *
  • TargetString is at the end of the specified part of the * web request and is preceded by a character other than an alphanumeric * character or underscore (_), for example, ;BadBot.
  • *
  • TargetString is in the middle of the specified part of * the web request and is preceded and followed by characters other than * alphanumeric characters or underscore (_), for example, * -BadBot;.
  • *
*

* EXACTLY *

*

* The value of the specified part of the web request must exactly match the * value of TargetString. *

*

* STARTS_WITH *

*

* The value of TargetString must appear at the beginning of * the specified part of the web request. *

*

* ENDS_WITH *

*

* The value of TargetString must appear at the end of the * specified part of the web request. *

* * @param positionalConstraint * Within the portion of a web request that you want to search (for * example, in the query string, if any), specify where you want AWS * WAF to search. Valid values include the following:

*

* CONTAINS *

*

* The specified part of the web request must include the value of * TargetString, but the location doesn't matter. *

*

* CONTAINS_WORD *

*

* The specified part of the web request must include the value of * TargetString, and TargetString must * contain only alphanumeric characters or underscore (A-Z, a-z, 0-9, * or _). In addition, TargetString must be a word, * which means one of the following: *

*
    *
  • TargetString exactly matches the value of the * specified part of the web request, such as the value of a header.
  • *
  • TargetString is at the beginning of the specified * part of the web request and is followed by a character other than * an alphanumeric character or underscore (_), for example, * BadBot;.
  • *
  • TargetString is at the end of the specified part * of the web request and is preceded by a character other than an * alphanumeric character or underscore (_), for example, * ;BadBot.
  • *
  • TargetString is in the middle of the specified * part of the web request and is preceded and followed by characters * other than alphanumeric characters or underscore (_), for example, * -BadBot;.
  • *
*

* EXACTLY *

*

* The value of the specified part of the web request must exactly * match the value of TargetString. *

*

* STARTS_WITH *

*

* The value of TargetString must appear at the * beginning of the specified part of the web request. *

*

* ENDS_WITH *

*

* The value of TargetString must appear at the end of * the specified part of the web request. * @return Returns a reference to this object so that method calls can be * chained together. * @see PositionalConstraint */ public ByteMatchTuple withPositionalConstraint( PositionalConstraint positionalConstraint) { setPositionalConstraint(positionalConstraint); return this; } /** * Returns a string representation of this object; useful for testing and * debugging. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getFieldToMatch() != null) sb.append("FieldToMatch: " + getFieldToMatch() + ","); if (getTargetString() != null) sb.append("TargetString: " + getTargetString() + ","); if (getTextTransformation() != null) sb.append("TextTransformation: " + getTextTransformation() + ","); if (getPositionalConstraint() != null) sb.append("PositionalConstraint: " + getPositionalConstraint()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ByteMatchTuple == false) return false; ByteMatchTuple other = (ByteMatchTuple) obj; if (other.getFieldToMatch() == null ^ this.getFieldToMatch() == null) return false; if (other.getFieldToMatch() != null && other.getFieldToMatch().equals(this.getFieldToMatch()) == false) return false; if (other.getTargetString() == null ^ this.getTargetString() == null) return false; if (other.getTargetString() != null && other.getTargetString().equals(this.getTargetString()) == false) return false; if (other.getTextTransformation() == null ^ this.getTextTransformation() == null) return false; if (other.getTextTransformation() != null && other.getTextTransformation().equals( this.getTextTransformation()) == false) return false; if (other.getPositionalConstraint() == null ^ this.getPositionalConstraint() == null) return false; if (other.getPositionalConstraint() != null && other.getPositionalConstraint().equals( this.getPositionalConstraint()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getFieldToMatch() == null) ? 0 : getFieldToMatch() .hashCode()); hashCode = prime * hashCode + ((getTargetString() == null) ? 0 : getTargetString() .hashCode()); hashCode = prime * hashCode + ((getTextTransformation() == null) ? 0 : getTextTransformation().hashCode()); hashCode = prime * hashCode + ((getPositionalConstraint() == null) ? 0 : getPositionalConstraint().hashCode()); return hashCode; } @Override public ByteMatchTuple clone() { try { return (ByteMatchTuple) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException( "Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy