File Coverage

blib/lib/Cfn/Resource/AWS/WAFv2/RuleGroup.pm
Criterion Covered Total %
statement 164 164 100.0
branch n/a
condition n/a
subroutine 56 56 100.0
pod 0 2 0.0
total 220 222 99.1


line stmt bran cond sub pod time code
1             # AWS::WAFv2::RuleGroup generated from spec 20.1.0
2 1     1   783 use Moose::Util::TypeConstraints;
  1         4  
  1         11  
3              
4             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::WAFv2::RuleGroup->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::WAFv2::RuleGroup {
9 1     1   2162 use Moose;
  1         4  
  1         7  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 5 [ 'Arn','Id' ]
15             }
16             sub supported_regions {
17 1     1 0 1305 [ 'af-south-1','ap-east-1','ap-northeast-1','ap-northeast-2','ap-south-1','ap-southeast-1','ap-southeast-2','ca-central-1','eu-central-1','eu-north-1','eu-south-1','eu-west-1','eu-west-2','eu-west-3','me-south-1','sa-east-1','us-east-1','us-east-2','us-gov-west-1','us-west-1','us-west-2' ]
18             }
19             }
20              
21              
22             subtype 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::TextTransformation',
23             as 'Cfn::Value',
24             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
25             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
26              
27             coerce 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::TextTransformation',
28             from 'HashRef',
29             via {
30             if (my $f = Cfn::TypeLibrary::try_function($_)) {
31             return $f
32             } else {
33             die 'Only accepts functions';
34             }
35             },
36             from 'ArrayRef',
37             via {
38             Cfn::Value::Array->new(Value => [
39             map {
40             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::TextTransformation')->coerce($_)
41             } @$_
42             ]);
43             };
44              
45             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::TextTransformation',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::TextTransformation',
49             from 'HashRef',
50             via {
51             if (my $f = Cfn::TypeLibrary::try_function($_)) {
52             return $f
53             } else {
54             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::TextTransformation->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::TextTransformation {
59 1     1   7544 use Moose;
  1         4  
  1         7  
60 1     1   6676 use MooseX::StrictConstructor;
  1         4  
  1         9  
61             extends 'Cfn::Value::TypedValue';
62            
63             has Priority => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
64             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
65             }
66              
67             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::IPSetForwardedIPConfiguration',
68             as 'Cfn::Value';
69              
70             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::IPSetForwardedIPConfiguration',
71             from 'HashRef',
72             via {
73             if (my $f = Cfn::TypeLibrary::try_function($_)) {
74             return $f
75             } else {
76             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::IPSetForwardedIPConfiguration->new( %$_ );
77             }
78             };
79              
80             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::IPSetForwardedIPConfiguration {
81 1     1   3947 use Moose;
  1         4  
  1         5  
82 1     1   6602 use MooseX::StrictConstructor;
  1         2  
  1         5  
83             extends 'Cfn::Value::TypedValue';
84            
85             has FallbackBehavior => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
86             has HeaderName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
87             has Position => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
88             }
89              
90             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::ForwardedIPConfiguration',
91             as 'Cfn::Value';
92              
93             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::ForwardedIPConfiguration',
94             from 'HashRef',
95             via {
96             if (my $f = Cfn::TypeLibrary::try_function($_)) {
97             return $f
98             } else {
99             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::ForwardedIPConfiguration->new( %$_ );
100             }
101             };
102              
103             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::ForwardedIPConfiguration {
104 1     1   3401 use Moose;
  1         6  
  1         7  
105 1     1   6614 use MooseX::StrictConstructor;
  1         2  
  1         6  
106             extends 'Cfn::Value::TypedValue';
107            
108             has FallbackBehavior => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
109             has HeaderName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
110             }
111              
112             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::FieldToMatch',
113             as 'Cfn::Value';
114              
115             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::FieldToMatch',
116             from 'HashRef',
117             via {
118             if (my $f = Cfn::TypeLibrary::try_function($_)) {
119             return $f
120             } else {
121             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::FieldToMatch->new( %$_ );
122             }
123             };
124              
125             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::FieldToMatch {
126 1     1   3420 use Moose;
  1         9  
  1         6  
127 1     1   6535 use MooseX::StrictConstructor;
  1         5  
  1         7  
128             extends 'Cfn::Value::TypedValue';
129            
130             has AllQueryArguments => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
131             has Body => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
132             has Method => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
133             has QueryString => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
134             has SingleHeader => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
135             has SingleQueryArgument => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
136             has UriPath => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
137             }
138              
139             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::XssMatchStatement',
140             as 'Cfn::Value';
141              
142             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::XssMatchStatement',
143             from 'HashRef',
144             via {
145             if (my $f = Cfn::TypeLibrary::try_function($_)) {
146             return $f
147             } else {
148             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::XssMatchStatement->new( %$_ );
149             }
150             };
151              
152             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::XssMatchStatement {
153 1     1   3517 use Moose;
  1         10  
  1         10  
154 1     1   6705 use MooseX::StrictConstructor;
  1         4  
  1         5  
155             extends 'Cfn::Value::TypedValue';
156            
157             has FieldToMatch => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::FieldToMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
158             has TextTransformations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::TextTransformation', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
159             }
160              
161             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::SqliMatchStatement',
162             as 'Cfn::Value';
163              
164             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::SqliMatchStatement',
165             from 'HashRef',
166             via {
167             if (my $f = Cfn::TypeLibrary::try_function($_)) {
168             return $f
169             } else {
170             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::SqliMatchStatement->new( %$_ );
171             }
172             };
173              
174             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::SqliMatchStatement {
175 1     1   3430 use Moose;
  1         3  
  1         7  
176 1     1   6605 use MooseX::StrictConstructor;
  1         3  
  1         14  
177             extends 'Cfn::Value::TypedValue';
178            
179             has FieldToMatch => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::FieldToMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
180             has TextTransformations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::TextTransformation', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
181             }
182              
183             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::SizeConstraintStatement',
184             as 'Cfn::Value';
185              
186             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::SizeConstraintStatement',
187             from 'HashRef',
188             via {
189             if (my $f = Cfn::TypeLibrary::try_function($_)) {
190             return $f
191             } else {
192             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::SizeConstraintStatement->new( %$_ );
193             }
194             };
195              
196             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::SizeConstraintStatement {
197 1     1   3540 use Moose;
  1         5  
  1         7  
198 1     1   6840 use MooseX::StrictConstructor;
  1         8  
  1         6  
199             extends 'Cfn::Value::TypedValue';
200            
201             has ComparisonOperator => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
202             has FieldToMatch => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::FieldToMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
203             has Size => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
204             has TextTransformations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::TextTransformation', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
205             }
206              
207             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RegexPatternSetReferenceStatement',
208             as 'Cfn::Value';
209              
210             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RegexPatternSetReferenceStatement',
211             from 'HashRef',
212             via {
213             if (my $f = Cfn::TypeLibrary::try_function($_)) {
214             return $f
215             } else {
216             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::RegexPatternSetReferenceStatement->new( %$_ );
217             }
218             };
219              
220             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::RegexPatternSetReferenceStatement {
221 1     1   3622 use Moose;
  1         3  
  1         6  
222 1     1   6632 use MooseX::StrictConstructor;
  1         3  
  1         6  
223             extends 'Cfn::Value::TypedValue';
224            
225             has Arn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
226             has FieldToMatch => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::FieldToMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
227             has TextTransformations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::TextTransformation', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
228             }
229              
230             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::IPSetReferenceStatement',
231             as 'Cfn::Value';
232              
233             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::IPSetReferenceStatement',
234             from 'HashRef',
235             via {
236             if (my $f = Cfn::TypeLibrary::try_function($_)) {
237             return $f
238             } else {
239             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::IPSetReferenceStatement->new( %$_ );
240             }
241             };
242              
243             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::IPSetReferenceStatement {
244 1     1   3414 use Moose;
  1         3  
  1         9  
245 1     1   6585 use MooseX::StrictConstructor;
  1         2  
  1         5  
246             extends 'Cfn::Value::TypedValue';
247            
248             has Arn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
249             has IPSetForwardedIPConfig => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::IPSetForwardedIPConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
250             }
251              
252             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::GeoMatchStatement',
253             as 'Cfn::Value';
254              
255             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::GeoMatchStatement',
256             from 'HashRef',
257             via {
258             if (my $f = Cfn::TypeLibrary::try_function($_)) {
259             return $f
260             } else {
261             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::GeoMatchStatement->new( %$_ );
262             }
263             };
264              
265             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::GeoMatchStatement {
266 1     1   3427 use Moose;
  1         3  
  1         5  
267 1     1   6632 use MooseX::StrictConstructor;
  1         3  
  1         4  
268             extends 'Cfn::Value::TypedValue';
269            
270             has CountryCodes => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
271             has ForwardedIPConfig => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::ForwardedIPConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
272             }
273              
274             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::ByteMatchStatement',
275             as 'Cfn::Value';
276              
277             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::ByteMatchStatement',
278             from 'HashRef',
279             via {
280             if (my $f = Cfn::TypeLibrary::try_function($_)) {
281             return $f
282             } else {
283             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::ByteMatchStatement->new( %$_ );
284             }
285             };
286              
287             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::ByteMatchStatement {
288 1     1   3433 use Moose;
  1         3  
  1         5  
289 1     1   6651 use MooseX::StrictConstructor;
  1         3  
  1         6  
290             extends 'Cfn::Value::TypedValue';
291            
292             has FieldToMatch => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::FieldToMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
293             has PositionalConstraint => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
294             has SearchString => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
295             has SearchStringBase64 => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
296             has TextTransformations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::TextTransformation', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
297             }
298             subtype 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementThree',
299             as 'Cfn::Value',
300             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
301             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
302              
303             coerce 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementThree',
304             from 'HashRef',
305             via {
306             if (my $f = Cfn::TypeLibrary::try_function($_)) {
307             return $f
308             } else {
309             die 'Only accepts functions';
310             }
311             },
312             from 'ArrayRef',
313             via {
314             Cfn::Value::Array->new(Value => [
315             map {
316             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementThree')->coerce($_)
317             } @$_
318             ]);
319             };
320              
321             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementThree',
322             as 'Cfn::Value';
323              
324             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementThree',
325             from 'HashRef',
326             via {
327             if (my $f = Cfn::TypeLibrary::try_function($_)) {
328             return $f
329             } else {
330             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::StatementThree->new( %$_ );
331             }
332             };
333              
334             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::StatementThree {
335 1     1   3651 use Moose;
  1         4  
  1         6  
336 1     1   6949 use MooseX::StrictConstructor;
  1         4  
  1         9  
337             extends 'Cfn::Value::TypedValue';
338            
339             has ByteMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::ByteMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
340             has GeoMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::GeoMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
341             has IPSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::IPSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
342             has RegexPatternSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RegexPatternSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
343             has SizeConstraintStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::SizeConstraintStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
344             has SqliMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::SqliMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
345             has XssMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::XssMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
346             }
347              
348             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RateBasedStatementTwo',
349             as 'Cfn::Value';
350              
351             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RateBasedStatementTwo',
352             from 'HashRef',
353             via {
354             if (my $f = Cfn::TypeLibrary::try_function($_)) {
355             return $f
356             } else {
357             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::RateBasedStatementTwo->new( %$_ );
358             }
359             };
360              
361             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::RateBasedStatementTwo {
362 1     1   4009 use Moose;
  1         3  
  1         7  
363 1     1   7522 use MooseX::StrictConstructor;
  1         3  
  1         7  
364             extends 'Cfn::Value::TypedValue';
365            
366             has AggregateKeyType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
367             has ForwardedIPConfig => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::ForwardedIPConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
368             has Limit => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
369             has ScopeDownStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementThree', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
370             }
371              
372             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::OrStatementTwo',
373             as 'Cfn::Value';
374              
375             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::OrStatementTwo',
376             from 'HashRef',
377             via {
378             if (my $f = Cfn::TypeLibrary::try_function($_)) {
379             return $f
380             } else {
381             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::OrStatementTwo->new( %$_ );
382             }
383             };
384              
385             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::OrStatementTwo {
386 1     1   4020 use Moose;
  1         4  
  1         7  
387 1     1   6576 use MooseX::StrictConstructor;
  1         3  
  1         8  
388             extends 'Cfn::Value::TypedValue';
389            
390             has Statements => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementThree', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
391             }
392              
393             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::NotStatementTwo',
394             as 'Cfn::Value';
395              
396             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::NotStatementTwo',
397             from 'HashRef',
398             via {
399             if (my $f = Cfn::TypeLibrary::try_function($_)) {
400             return $f
401             } else {
402             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::NotStatementTwo->new( %$_ );
403             }
404             };
405              
406             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::NotStatementTwo {
407 1     1   3443 use Moose;
  1         3  
  1         8  
408 1     1   6690 use MooseX::StrictConstructor;
  1         9  
  1         5  
409             extends 'Cfn::Value::TypedValue';
410            
411             has Statement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementThree', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
412             }
413              
414             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::AndStatementTwo',
415             as 'Cfn::Value';
416              
417             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::AndStatementTwo',
418             from 'HashRef',
419             via {
420             if (my $f = Cfn::TypeLibrary::try_function($_)) {
421             return $f
422             } else {
423             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::AndStatementTwo->new( %$_ );
424             }
425             };
426              
427             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::AndStatementTwo {
428 1     1   3471 use Moose;
  1         2  
  1         10  
429 1     1   6638 use MooseX::StrictConstructor;
  1         3  
  1         6  
430             extends 'Cfn::Value::TypedValue';
431            
432             has Statements => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementThree', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
433             }
434             subtype 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementTwo',
435             as 'Cfn::Value',
436             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
437             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
438              
439             coerce 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementTwo',
440             from 'HashRef',
441             via {
442             if (my $f = Cfn::TypeLibrary::try_function($_)) {
443             return $f
444             } else {
445             die 'Only accepts functions';
446             }
447             },
448             from 'ArrayRef',
449             via {
450             Cfn::Value::Array->new(Value => [
451             map {
452             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementTwo')->coerce($_)
453             } @$_
454             ]);
455             };
456              
457             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementTwo',
458             as 'Cfn::Value';
459              
460             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementTwo',
461             from 'HashRef',
462             via {
463             if (my $f = Cfn::TypeLibrary::try_function($_)) {
464             return $f
465             } else {
466             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::StatementTwo->new( %$_ );
467             }
468             };
469              
470             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::StatementTwo {
471 1     1   3648 use Moose;
  1         3  
  1         5  
472 1     1   6854 use MooseX::StrictConstructor;
  1         7  
  1         10  
473             extends 'Cfn::Value::TypedValue';
474            
475             has AndStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::AndStatementTwo', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
476             has ByteMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::ByteMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
477             has GeoMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::GeoMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
478             has IPSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::IPSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
479             has NotStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::NotStatementTwo', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
480             has OrStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::OrStatementTwo', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
481             has RateBasedStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RateBasedStatementTwo', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
482             has RegexPatternSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RegexPatternSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
483             has SizeConstraintStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::SizeConstraintStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
484             has SqliMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::SqliMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
485             has XssMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::XssMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
486             }
487              
488             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RateBasedStatementOne',
489             as 'Cfn::Value';
490              
491             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RateBasedStatementOne',
492             from 'HashRef',
493             via {
494             if (my $f = Cfn::TypeLibrary::try_function($_)) {
495             return $f
496             } else {
497             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::RateBasedStatementOne->new( %$_ );
498             }
499             };
500              
501             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::RateBasedStatementOne {
502 1     1   3707 use Moose;
  1         3  
  1         6  
503 1     1   6733 use MooseX::StrictConstructor;
  1         5  
  1         7  
504             extends 'Cfn::Value::TypedValue';
505            
506             has AggregateKeyType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
507             has ForwardedIPConfig => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::ForwardedIPConfiguration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
508             has Limit => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
509             has ScopeDownStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementTwo', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
510             }
511              
512             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::OrStatementOne',
513             as 'Cfn::Value';
514              
515             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::OrStatementOne',
516             from 'HashRef',
517             via {
518             if (my $f = Cfn::TypeLibrary::try_function($_)) {
519             return $f
520             } else {
521             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::OrStatementOne->new( %$_ );
522             }
523             };
524              
525             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::OrStatementOne {
526 1     1   3436 use Moose;
  1         3  
  1         6  
527 1     1   6616 use MooseX::StrictConstructor;
  1         3  
  1         6  
528             extends 'Cfn::Value::TypedValue';
529            
530             has Statements => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementTwo', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
531             }
532              
533             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::NotStatementOne',
534             as 'Cfn::Value';
535              
536             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::NotStatementOne',
537             from 'HashRef',
538             via {
539             if (my $f = Cfn::TypeLibrary::try_function($_)) {
540             return $f
541             } else {
542             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::NotStatementOne->new( %$_ );
543             }
544             };
545              
546             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::NotStatementOne {
547 1     1   3396 use Moose;
  1         4  
  1         5  
548 1     1   6663 use MooseX::StrictConstructor;
  1         3  
  1         6  
549             extends 'Cfn::Value::TypedValue';
550            
551             has Statement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementTwo', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
552             }
553              
554             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::AndStatementOne',
555             as 'Cfn::Value';
556              
557             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::AndStatementOne',
558             from 'HashRef',
559             via {
560             if (my $f = Cfn::TypeLibrary::try_function($_)) {
561             return $f
562             } else {
563             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::AndStatementOne->new( %$_ );
564             }
565             };
566              
567             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::AndStatementOne {
568 1     1   3351 use Moose;
  1         7  
  1         5  
569 1     1   6664 use MooseX::StrictConstructor;
  1         2  
  1         8  
570             extends 'Cfn::Value::TypedValue';
571            
572             has Statements => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementTwo', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
573             }
574              
575             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::VisibilityConfig',
576             as 'Cfn::Value';
577              
578             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::VisibilityConfig',
579             from 'HashRef',
580             via {
581             if (my $f = Cfn::TypeLibrary::try_function($_)) {
582             return $f
583             } else {
584             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::VisibilityConfig->new( %$_ );
585             }
586             };
587              
588             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::VisibilityConfig {
589 1     1   3431 use Moose;
  1         5  
  1         6  
590 1     1   6646 use MooseX::StrictConstructor;
  1         6  
  1         7  
591             extends 'Cfn::Value::TypedValue';
592            
593             has CloudWatchMetricsEnabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
594             has MetricName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
595             has SampledRequestsEnabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
596             }
597              
598             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementOne',
599             as 'Cfn::Value';
600              
601             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementOne',
602             from 'HashRef',
603             via {
604             if (my $f = Cfn::TypeLibrary::try_function($_)) {
605             return $f
606             } else {
607             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::StatementOne->new( %$_ );
608             }
609             };
610              
611             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::StatementOne {
612 1     1   3388 use Moose;
  1         3  
  1         8  
613 1     1   6620 use MooseX::StrictConstructor;
  1         3  
  1         5  
614             extends 'Cfn::Value::TypedValue';
615            
616             has AndStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::AndStatementOne', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
617             has ByteMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::ByteMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
618             has GeoMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::GeoMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
619             has IPSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::IPSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
620             has NotStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::NotStatementOne', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
621             has OrStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::OrStatementOne', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
622             has RateBasedStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RateBasedStatementOne', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
623             has RegexPatternSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RegexPatternSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
624             has SizeConstraintStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::SizeConstraintStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
625             has SqliMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::SqliMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
626             has XssMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::XssMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
627             }
628              
629             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RuleAction',
630             as 'Cfn::Value';
631              
632             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RuleAction',
633             from 'HashRef',
634             via {
635             if (my $f = Cfn::TypeLibrary::try_function($_)) {
636             return $f
637             } else {
638             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::RuleAction->new( %$_ );
639             }
640             };
641              
642             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::RuleAction {
643 1     1   3505 use Moose;
  1         3  
  1         5  
644 1     1   6649 use MooseX::StrictConstructor;
  1         3  
  1         6  
645             extends 'Cfn::Value::TypedValue';
646            
647             has Allow => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
648             has Block => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
649             has Count => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
650             }
651             subtype 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::Rule',
652             as 'Cfn::Value',
653             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
654             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
655              
656             coerce 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::Rule',
657             from 'HashRef',
658             via {
659             if (my $f = Cfn::TypeLibrary::try_function($_)) {
660             return $f
661             } else {
662             die 'Only accepts functions';
663             }
664             },
665             from 'ArrayRef',
666             via {
667             Cfn::Value::Array->new(Value => [
668             map {
669             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::Rule')->coerce($_)
670             } @$_
671             ]);
672             };
673              
674             subtype 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::Rule',
675             as 'Cfn::Value';
676              
677             coerce 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::Rule',
678             from 'HashRef',
679             via {
680             if (my $f = Cfn::TypeLibrary::try_function($_)) {
681             return $f
682             } else {
683             return Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::Rule->new( %$_ );
684             }
685             };
686              
687             package Cfn::Resource::Properties::Object::AWS::WAFv2::RuleGroup::Rule {
688 1     1   3640 use Moose;
  1         4  
  1         6  
689 1     1   6535 use MooseX::StrictConstructor;
  1         3  
  1         5  
690             extends 'Cfn::Value::TypedValue';
691            
692             has Action => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::RuleAction', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
693             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
694             has Priority => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
695             has Statement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::StatementOne', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
696             has VisibilityConfig => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::VisibilityConfig', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
697             }
698              
699             package Cfn::Resource::Properties::AWS::WAFv2::RuleGroup {
700 1     1   3347 use Moose;
  1         4  
  1         7  
701 1     1   6963 use MooseX::StrictConstructor;
  1         3  
  1         6  
702             extends 'Cfn::Resource::Properties';
703            
704             has Capacity => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
705             has Description => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
706             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
707             has Rules => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::RuleGroup::Rule', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
708             has Scope => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
709             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
710             has VisibilityConfig => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::RuleGroup::VisibilityConfig', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
711             }
712              
713             1;
714             ### main pod documentation begin ###
715              
716             =encoding UTF-8
717              
718             =head1 NAME
719              
720             Cfn::Resource::AWS::WAFv2::RuleGroup - Cfn resource for AWS::WAFv2::RuleGroup
721              
722             =head1 DESCRIPTION
723              
724             This module implements a Perl module that represents the CloudFormation object AWS::WAFv2::RuleGroup.
725              
726             See L<Cfn> for more information on how to use it.
727              
728             =head1 AUTHOR
729              
730             Jose Luis Martinez
731             CAPSiDE
732             jlmartinez@capside.com
733              
734             =head1 COPYRIGHT and LICENSE
735              
736             Copyright (c) 2013 by CAPSiDE
737             This code is distributed under the Apache 2 License. The full text of the
738             license can be found in the LICENSE file included with this module.
739              
740             =cut