import { Value } from '../../../cloudformation/Value';
import { FieldToMatchProps } from './FieldToMatchProps';
/**
  <strong>Note</strong><br />
This is ** AWS WAF Classic** documentation. For more information, see <a href="https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html">AWS WAF Classic</a> in the developer guide.<br />
**For the latest version of AWS WAF **, use the AWS WAFV2 API and see the <a href="https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html">the AWS Docs</a>
*/
export interface SizeConstraintProps {
    /** <code>ComparisonOperator</code>  <a name="cfn-wafregional-sizeconstraintset-sizeconstraint-comparisonoperator"></a>
  The type of comparison you want AWS WAF to perform. AWS WAF uses this in combination with the provided <code>Size</code> and <code>FieldToMatch</code> to build an expression in the form of “<code>Size</code> <code>ComparisonOperator</code> size in bytes of <code>FieldToMatch</code>”. If that expression is true, the <code>SizeConstraint</code> is considered to match.<br />
  <strong>EQ</strong>: Used to test if the <code>Size</code> is equal to the size of the <code>FieldToMatch</code><br />
  <strong>NE</strong>: Used to test if the <code>Size</code> is not equal to the size of the <code>FieldToMatch</code><br />
  <strong>LE</strong>: Used to test if the <code>Size</code> is less than or equal to the size of the <code>FieldToMatch</code><br />
  <strong>LT</strong>: Used to test if the <code>Size</code> is strictly less than the size of the <code>FieldToMatch</code><br />
  <strong>GE</strong>: Used to test if the <code>Size</code> is greater than or equal to the size of the <code>FieldToMatch</code><br />
  <strong>GT</strong>: Used to test if the <code>Size</code> is strictly greater than the size of the <code>FieldToMatch</code><br />
  
  Required: Yes<br />
  
  Allowed values: <code>EQ | GE | GT | LE | LT | NE</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    comparisonOperator: Value<'EQ' | 'GE' | 'GT' | 'LE' | 'LT' | 'NE'>;
    /** <code>Size</code>  <a name="cfn-wafregional-sizeconstraintset-sizeconstraint-size"></a>
  The size in bytes that you want AWS WAF to compare against the size of the specified <code>FieldToMatch</code>. AWS WAF uses this in combination with <code>ComparisonOperator</code> and <code>FieldToMatch</code> to build an expression in the form of “<code>Size</code> <code>ComparisonOperator</code> size in bytes of <code>FieldToMatch</code>”. If that expression is true, the <code>SizeConstraint</code> is considered to match.<br />
  Valid values for size are 0 - 21474836480 bytes (0 - 20 GB).<br />
  If you specify <code>URI</code> for the value of <code>Type</code>, the / in the URI path that you specify counts as one character. For example, the URI <code>/logo.jpg</code> is nine characters long.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    size: Value<number>;
    /** <p> */
    textTransformation: Value<string>;
    /** <code>FieldToMatch</code>  <a name="cfn-wafregional-sizeconstraintset-sizeconstraint-fieldtomatch"></a>
  The part of a web request that you want AWS WAF to inspect, such as a specific header or a query string.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    fieldToMatch: FieldToMatchProps;
}
