File Coverage

blib/lib/Paws/WAF/SizeConstraint.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Paws::WAF::SizeConstraint;
2 1     1   334 use Moose;
  1         3  
  1         5  
3             has ComparisonOperator => (is => 'ro', isa => 'Str', required => 1);
4             has FieldToMatch => (is => 'ro', isa => 'Paws::WAF::FieldToMatch', required => 1);
5             has Size => (is => 'ro', isa => 'Int', required => 1);
6             has TextTransformation => (is => 'ro', isa => 'Str', required => 1);
7             1;
8              
9             ### main pod documentation begin ###
10              
11             =head1 NAME
12              
13             Paws::WAF::SizeConstraint
14              
15             =head1 USAGE
16              
17             This class represents one of two things:
18              
19             =head3 Arguments in a call to a service
20              
21             Use the attributes of this class as arguments to methods. You shouldn't make instances of this class.
22             Each attribute should be used as a named argument in the calls that expect this type of object.
23              
24             As an example, if Att1 is expected to be a Paws::WAF::SizeConstraint object:
25              
26             $service_obj->Method(Att1 => { ComparisonOperator => $value, ..., TextTransformation => $value });
27              
28             =head3 Results returned from an API call
29              
30             Use accessors for each attribute. If Att1 is expected to be an Paws::WAF::SizeConstraint object:
31              
32             $result = $service_obj->Method(...);
33             $result->Att1->ComparisonOperator
34              
35             =head1 DESCRIPTION
36              
37             Specifies a constraint on the size of a part of the web request. AWS
38             WAF uses the C<Size>, C<ComparisonOperator>, and C<FieldToMatch> to
39             build an expression in the form of "C<Size> C<ComparisonOperator> size
40             in bytes of C<FieldToMatch>". If that expression is true, the
41             C<SizeConstraint> is considered to match.
42              
43             =head1 ATTRIBUTES
44              
45              
46             =head2 B<REQUIRED> ComparisonOperator => Str
47              
48             The type of comparison you want AWS WAF to perform. AWS WAF uses this
49             in combination with the provided C<Size> and C<FieldToMatch> to build
50             an expression in the form of "C<Size> C<ComparisonOperator> size in
51             bytes of C<FieldToMatch>". If that expression is true, the
52             C<SizeConstraint> is considered to match.
53              
54             B<EQ>: Used to test if the C<Size> is equal to the size of the
55             C<FieldToMatch>
56              
57             B<NE>: Used to test if the C<Size> is not equal to the size of the
58             C<FieldToMatch>
59              
60             B<LE>: Used to test if the C<Size> is less than or equal to the size of
61             the C<FieldToMatch>
62              
63             B<LT>: Used to test if the C<Size> is strictly less than the size of
64             the C<FieldToMatch>
65              
66             B<GE>: Used to test if the C<Size> is greater than or equal to the size
67             of the C<FieldToMatch>
68              
69             B<GT>: Used to test if the C<Size> is strictly greater than the size of
70             the C<FieldToMatch>
71              
72              
73             =head2 B<REQUIRED> FieldToMatch => L<Paws::WAF::FieldToMatch>
74              
75             Specifies where in a web request to look for the size constraint.
76              
77              
78             =head2 B<REQUIRED> Size => Int
79              
80             The size in bytes that you want AWS WAF to compare against the size of
81             the specified C<FieldToMatch>. AWS WAF uses this in combination with
82             C<ComparisonOperator> and C<FieldToMatch> to build an expression in the
83             form of "C<Size> C<ComparisonOperator> size in bytes of
84             C<FieldToMatch>". If that expression is true, the C<SizeConstraint> is
85             considered to match.
86              
87             Valid values for size are 0 - 21474836480 bytes (0 - 20 GB).
88              
89             If you specify C<URI> for the value of C<Type>, the / in the URI counts
90             as one character. For example, the URI C</logo.jpg> is nine characters
91             long.
92              
93              
94             =head2 B<REQUIRED> TextTransformation => Str
95              
96             Text transformations eliminate some of the unusual formatting that
97             attackers use in web requests in an effort to bypass AWS WAF. If you
98             specify a transformation, AWS WAF performs the transformation on
99             C<FieldToMatch> before inspecting a request for a match.
100              
101             Note that if you choose C<BODY> for the value of C<Type>, you must
102             choose C<NONE> for C<TextTransformation> because CloudFront forwards
103             only the first 8192 bytes for inspection.
104              
105             B<NONE>
106              
107             Specify C<NONE> if you don't want to perform any text transformations.
108              
109             B<CMD_LINE>
110              
111             When you're concerned that attackers are injecting an operating system
112             command line command and using unusual formatting to disguise some or
113             all of the command, use this option to perform the following
114             transformations:
115              
116             =over
117              
118             =item *
119              
120             Delete the following characters: \ " ' ^
121              
122             =item *
123              
124             Delete spaces before the following characters: / (
125              
126             =item *
127              
128             Replace the following characters with a space: , ;
129              
130             =item *
131              
132             Replace multiple spaces with one space
133              
134             =item *
135              
136             Convert uppercase letters (A-Z) to lowercase (a-z)
137              
138             =back
139              
140             B<COMPRESS_WHITE_SPACE>
141              
142             Use this option to replace the following characters with a space
143             character (decimal 32):
144              
145             =over
146              
147             =item *
148              
149             \f, formfeed, decimal 12
150              
151             =item *
152              
153             \t, tab, decimal 9
154              
155             =item *
156              
157             \n, newline, decimal 10
158              
159             =item *
160              
161             \r, carriage return, decimal 13
162              
163             =item *
164              
165             \v, vertical tab, decimal 11
166              
167             =item *
168              
169             non-breaking space, decimal 160
170              
171             =back
172              
173             C<COMPRESS_WHITE_SPACE> also replaces multiple spaces with one space.
174              
175             B<HTML_ENTITY_DECODE>
176              
177             Use this option to replace HTML-encoded characters with unencoded
178             characters. C<HTML_ENTITY_DECODE> performs the following operations:
179              
180             =over
181              
182             =item *
183              
184             Replaces C<(ampersand)quot;> with C<">
185              
186             =item *
187              
188             Replaces C<(ampersand)nbsp;> with a non-breaking space, decimal 160
189              
190             =item *
191              
192             Replaces C<(ampersand)lt;> with a "less than" symbol
193              
194             =item *
195              
196             Replaces C<(ampersand)gt;> with C<E<gt>>
197              
198             =item *
199              
200             Replaces characters that are represented in hexadecimal format,
201             C<(ampersand)(hash)xhhhh;>, with the corresponding characters
202              
203             =item *
204              
205             Replaces characters that are represented in decimal format,
206             C<(ampersand)(hash)nnnn;>, with the corresponding characters
207              
208             =back
209              
210             B<LOWERCASE>
211              
212             Use this option to convert uppercase letters (A-Z) to lowercase (a-z).
213              
214             B<URL_DECODE>
215              
216             Use this option to decode a URL-encoded value.
217              
218              
219              
220             =head1 SEE ALSO
221              
222             This class forms part of L<Paws>, describing an object used in L<Paws::WAF>
223              
224             =head1 BUGS and CONTRIBUTIONS
225              
226             The source code is located here: https://github.com/pplu/aws-sdk-perl
227              
228             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
229              
230             =cut
231