File Coverage

blib/lib/Cfn/Resource/AWS/WAFv2/WebACL.pm
Criterion Covered Total %
statement 182 182 100.0
branch n/a
condition n/a
subroutine 62 62 100.0
pod 0 2 0.0
total 244 246 99.1


line stmt bran cond sub pod time code
1             # AWS::WAFv2::WebACL generated from spec 11.1.0
2 1     1   758 use Moose::Util::TypeConstraints;
  1         3  
  1         7  
3              
4             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::WAFv2::WebACL->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::WAFv2::WebACL {
9 1     1   2070 use Moose;
  1         3  
  1         7  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 5 [ 'Arn','Capacity','Id' ]
15             }
16             sub supported_regions {
17 1     1 0 1139 [ '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-west-1','eu-west-2','eu-west-3','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::WebACL::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::WebACL::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::WebACL::TextTransformation')->coerce($_)
41             } @$_
42             ]);
43             };
44              
45             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::TextTransformation',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::TextTransformation',
49             from 'HashRef',
50             via {
51             if (my $f = Cfn::TypeLibrary::try_function($_)) {
52             return $f
53             } else {
54             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::TextTransformationValue->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::TextTransformationValue {
59 1     1   7095 use Moose;
  1         4  
  1         5  
60 1     1   6459 use MooseX::StrictConstructor;
  1         2  
  1         8  
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::WebACL::FieldToMatch',
68             as 'Cfn::Value';
69              
70             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::FieldToMatch',
71             from 'HashRef',
72             via {
73             if (my $f = Cfn::TypeLibrary::try_function($_)) {
74             return $f
75             } else {
76             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::FieldToMatchValue->new( %$_ );
77             }
78             };
79              
80             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::FieldToMatchValue {
81 1     1   3497 use Moose;
  1         3  
  1         4  
82 1     1   6498 use MooseX::StrictConstructor;
  1         3  
  1         5  
83             extends 'Cfn::Value::TypedValue';
84            
85             has AllQueryArguments => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
86             has Body => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
87             has Method => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
88             has QueryString => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
89             has SingleHeader => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
90             has SingleQueryArgument => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
91             has UriPath => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
92             }
93             subtype 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::ExcludedRule',
94             as 'Cfn::Value',
95             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
96             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
97              
98             coerce 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::ExcludedRule',
99             from 'HashRef',
100             via {
101             if (my $f = Cfn::TypeLibrary::try_function($_)) {
102             return $f
103             } else {
104             die 'Only accepts functions';
105             }
106             },
107             from 'ArrayRef',
108             via {
109             Cfn::Value::Array->new(Value => [
110             map {
111             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::WAFv2::WebACL::ExcludedRule')->coerce($_)
112             } @$_
113             ]);
114             };
115              
116             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ExcludedRule',
117             as 'Cfn::Value';
118              
119             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ExcludedRule',
120             from 'HashRef',
121             via {
122             if (my $f = Cfn::TypeLibrary::try_function($_)) {
123             return $f
124             } else {
125             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::ExcludedRuleValue->new( %$_ );
126             }
127             };
128              
129             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::ExcludedRuleValue {
130 1     1   3560 use Moose;
  1         2  
  1         4  
131 1     1   6420 use MooseX::StrictConstructor;
  1         2  
  1         4  
132             extends 'Cfn::Value::TypedValue';
133            
134             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
135             }
136              
137             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::XssMatchStatement',
138             as 'Cfn::Value';
139              
140             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::XssMatchStatement',
141             from 'HashRef',
142             via {
143             if (my $f = Cfn::TypeLibrary::try_function($_)) {
144             return $f
145             } else {
146             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::XssMatchStatementValue->new( %$_ );
147             }
148             };
149              
150             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::XssMatchStatementValue {
151 1     1   3336 use Moose;
  1         3  
  1         4  
152 1     1   6437 use MooseX::StrictConstructor;
  1         2  
  1         4  
153             extends 'Cfn::Value::TypedValue';
154            
155             has FieldToMatch => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::FieldToMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
156             has TextTransformations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::TextTransformation', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
157             }
158              
159             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::SqliMatchStatement',
160             as 'Cfn::Value';
161              
162             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::SqliMatchStatement',
163             from 'HashRef',
164             via {
165             if (my $f = Cfn::TypeLibrary::try_function($_)) {
166             return $f
167             } else {
168             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::SqliMatchStatementValue->new( %$_ );
169             }
170             };
171              
172             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::SqliMatchStatementValue {
173 1     1   3314 use Moose;
  1         3  
  1         5  
174 1     1   6480 use MooseX::StrictConstructor;
  1         3  
  1         4  
175             extends 'Cfn::Value::TypedValue';
176            
177             has FieldToMatch => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::FieldToMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
178             has TextTransformations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::TextTransformation', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
179             }
180              
181             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::SizeConstraintStatement',
182             as 'Cfn::Value';
183              
184             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::SizeConstraintStatement',
185             from 'HashRef',
186             via {
187             if (my $f = Cfn::TypeLibrary::try_function($_)) {
188             return $f
189             } else {
190             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::SizeConstraintStatementValue->new( %$_ );
191             }
192             };
193              
194             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::SizeConstraintStatementValue {
195 1     1   3354 use Moose;
  1         3  
  1         6  
196 1     1   6778 use MooseX::StrictConstructor;
  1         2  
  1         5  
197             extends 'Cfn::Value::TypedValue';
198            
199             has ComparisonOperator => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
200             has FieldToMatch => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::FieldToMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
201             has Size => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
202             has TextTransformations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::TextTransformation', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
203             }
204              
205             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleGroupReferenceStatement',
206             as 'Cfn::Value';
207              
208             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleGroupReferenceStatement',
209             from 'HashRef',
210             via {
211             if (my $f = Cfn::TypeLibrary::try_function($_)) {
212             return $f
213             } else {
214             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleGroupReferenceStatementValue->new( %$_ );
215             }
216             };
217              
218             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleGroupReferenceStatementValue {
219 1     1   3368 use Moose;
  1         2  
  1         4  
220 1     1   6452 use MooseX::StrictConstructor;
  1         3  
  1         4  
221             extends 'Cfn::Value::TypedValue';
222            
223             has Arn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
224             has ExcludedRules => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::ExcludedRule', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
225             }
226              
227             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RegexPatternSetReferenceStatement',
228             as 'Cfn::Value';
229              
230             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RegexPatternSetReferenceStatement',
231             from 'HashRef',
232             via {
233             if (my $f = Cfn::TypeLibrary::try_function($_)) {
234             return $f
235             } else {
236             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::RegexPatternSetReferenceStatementValue->new( %$_ );
237             }
238             };
239              
240             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::RegexPatternSetReferenceStatementValue {
241 1     1   3469 use Moose;
  1         3  
  1         5  
242 1     1   6502 use MooseX::StrictConstructor;
  1         3  
  1         4  
243             extends 'Cfn::Value::TypedValue';
244            
245             has Arn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
246             has FieldToMatch => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::FieldToMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
247             has TextTransformations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::TextTransformation', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
248             }
249              
250             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ManagedRuleGroupStatement',
251             as 'Cfn::Value';
252              
253             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ManagedRuleGroupStatement',
254             from 'HashRef',
255             via {
256             if (my $f = Cfn::TypeLibrary::try_function($_)) {
257             return $f
258             } else {
259             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::ManagedRuleGroupStatementValue->new( %$_ );
260             }
261             };
262              
263             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::ManagedRuleGroupStatementValue {
264 1     1   3350 use Moose;
  1         3  
  1         5  
265 1     1   6475 use MooseX::StrictConstructor;
  1         3  
  1         5  
266             extends 'Cfn::Value::TypedValue';
267            
268             has ExcludedRules => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::ExcludedRule', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
269             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
270             has VendorName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
271             }
272              
273             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::IPSetReferenceStatement',
274             as 'Cfn::Value';
275              
276             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::IPSetReferenceStatement',
277             from 'HashRef',
278             via {
279             if (my $f = Cfn::TypeLibrary::try_function($_)) {
280             return $f
281             } else {
282             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::IPSetReferenceStatementValue->new( %$_ );
283             }
284             };
285              
286             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::IPSetReferenceStatementValue {
287 1     1   3345 use Moose;
  1         2  
  1         5  
288 1     1   6499 use MooseX::StrictConstructor;
  1         3  
  1         6  
289             extends 'Cfn::Value::TypedValue';
290            
291             has Arn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
292             }
293              
294             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::GeoMatchStatement',
295             as 'Cfn::Value';
296              
297             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::GeoMatchStatement',
298             from 'HashRef',
299             via {
300             if (my $f = Cfn::TypeLibrary::try_function($_)) {
301             return $f
302             } else {
303             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::GeoMatchStatementValue->new( %$_ );
304             }
305             };
306              
307             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::GeoMatchStatementValue {
308 1     1   3287 use Moose;
  1         3  
  1         5  
309 1     1   6536 use MooseX::StrictConstructor;
  1         2  
  1         5  
310             extends 'Cfn::Value::TypedValue';
311            
312             has CountryCodes => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
313             }
314              
315             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ByteMatchStatement',
316             as 'Cfn::Value';
317              
318             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ByteMatchStatement',
319             from 'HashRef',
320             via {
321             if (my $f = Cfn::TypeLibrary::try_function($_)) {
322             return $f
323             } else {
324             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::ByteMatchStatementValue->new( %$_ );
325             }
326             };
327              
328             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::ByteMatchStatementValue {
329 1     1   3321 use Moose;
  1         3  
  1         5  
330 1     1   6504 use MooseX::StrictConstructor;
  1         3  
  1         5  
331             extends 'Cfn::Value::TypedValue';
332            
333             has FieldToMatch => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::FieldToMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
334             has PositionalConstraint => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
335             has SearchString => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
336             has SearchStringBase64 => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
337             has TextTransformations => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::TextTransformation', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
338             }
339             subtype 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::StatementThree',
340             as 'Cfn::Value',
341             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
342             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
343              
344             coerce 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::StatementThree',
345             from 'HashRef',
346             via {
347             if (my $f = Cfn::TypeLibrary::try_function($_)) {
348             return $f
349             } else {
350             die 'Only accepts functions';
351             }
352             },
353             from 'ArrayRef',
354             via {
355             Cfn::Value::Array->new(Value => [
356             map {
357             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementThree')->coerce($_)
358             } @$_
359             ]);
360             };
361              
362             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementThree',
363             as 'Cfn::Value';
364              
365             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementThree',
366             from 'HashRef',
367             via {
368             if (my $f = Cfn::TypeLibrary::try_function($_)) {
369             return $f
370             } else {
371             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementThreeValue->new( %$_ );
372             }
373             };
374              
375             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementThreeValue {
376 1     1   3532 use Moose;
  1         3  
  1         9  
377 1     1   6541 use MooseX::StrictConstructor;
  1         3  
  1         5  
378             extends 'Cfn::Value::TypedValue';
379            
380             has ByteMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ByteMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
381             has GeoMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::GeoMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
382             has IPSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::IPSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
383             has ManagedRuleGroupStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ManagedRuleGroupStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
384             has RegexPatternSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RegexPatternSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
385             has RuleGroupReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleGroupReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
386             has SizeConstraintStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::SizeConstraintStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
387             has SqliMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::SqliMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
388             has XssMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::XssMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
389             }
390              
391             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RateBasedStatementTwo',
392             as 'Cfn::Value';
393              
394             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RateBasedStatementTwo',
395             from 'HashRef',
396             via {
397             if (my $f = Cfn::TypeLibrary::try_function($_)) {
398             return $f
399             } else {
400             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::RateBasedStatementTwoValue->new( %$_ );
401             }
402             };
403              
404             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::RateBasedStatementTwoValue {
405 1     1   3437 use Moose;
  1         3  
  1         5  
406 1     1   6503 use MooseX::StrictConstructor;
  1         3  
  1         5  
407             extends 'Cfn::Value::TypedValue';
408            
409             has AggregateKeyType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
410             has Limit => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
411             has ScopeDownStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementThree', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
412             }
413              
414             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::OrStatementTwo',
415             as 'Cfn::Value';
416              
417             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::OrStatementTwo',
418             from 'HashRef',
419             via {
420             if (my $f = Cfn::TypeLibrary::try_function($_)) {
421             return $f
422             } else {
423             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::OrStatementTwoValue->new( %$_ );
424             }
425             };
426              
427             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::OrStatementTwoValue {
428 1     1   3265 use Moose;
  1         3  
  1         5  
429 1     1   6480 use MooseX::StrictConstructor;
  1         2  
  1         6  
430             extends 'Cfn::Value::TypedValue';
431            
432             has Statements => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::StatementThree', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
433             }
434              
435             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::NotStatementTwo',
436             as 'Cfn::Value';
437              
438             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::NotStatementTwo',
439             from 'HashRef',
440             via {
441             if (my $f = Cfn::TypeLibrary::try_function($_)) {
442             return $f
443             } else {
444             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::NotStatementTwoValue->new( %$_ );
445             }
446             };
447              
448             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::NotStatementTwoValue {
449 1     1   3377 use Moose;
  1         2  
  1         5  
450 1     1   6476 use MooseX::StrictConstructor;
  1         2  
  1         4  
451             extends 'Cfn::Value::TypedValue';
452            
453             has Statement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementThree', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
454             }
455              
456             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::AndStatementTwo',
457             as 'Cfn::Value';
458              
459             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::AndStatementTwo',
460             from 'HashRef',
461             via {
462             if (my $f = Cfn::TypeLibrary::try_function($_)) {
463             return $f
464             } else {
465             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::AndStatementTwoValue->new( %$_ );
466             }
467             };
468              
469             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::AndStatementTwoValue {
470 1     1   3291 use Moose;
  1         2  
  1         6  
471 1     1   6503 use MooseX::StrictConstructor;
  1         3  
  1         7  
472             extends 'Cfn::Value::TypedValue';
473            
474             has Statements => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::StatementThree', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
475             }
476             subtype 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::StatementTwo',
477             as 'Cfn::Value',
478             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
479             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
480              
481             coerce 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::StatementTwo',
482             from 'HashRef',
483             via {
484             if (my $f = Cfn::TypeLibrary::try_function($_)) {
485             return $f
486             } else {
487             die 'Only accepts functions';
488             }
489             },
490             from 'ArrayRef',
491             via {
492             Cfn::Value::Array->new(Value => [
493             map {
494             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementTwo')->coerce($_)
495             } @$_
496             ]);
497             };
498              
499             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementTwo',
500             as 'Cfn::Value';
501              
502             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementTwo',
503             from 'HashRef',
504             via {
505             if (my $f = Cfn::TypeLibrary::try_function($_)) {
506             return $f
507             } else {
508             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementTwoValue->new( %$_ );
509             }
510             };
511              
512             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementTwoValue {
513 1     1   3499 use Moose;
  1         2  
  1         6  
514 1     1   6446 use MooseX::StrictConstructor;
  1         3  
  1         6  
515             extends 'Cfn::Value::TypedValue';
516            
517             has AndStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::AndStatementTwo', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
518             has ByteMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ByteMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
519             has GeoMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::GeoMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
520             has IPSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::IPSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
521             has ManagedRuleGroupStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ManagedRuleGroupStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
522             has NotStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::NotStatementTwo', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
523             has OrStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::OrStatementTwo', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
524             has RateBasedStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RateBasedStatementTwo', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
525             has RegexPatternSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RegexPatternSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
526             has RuleGroupReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleGroupReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
527             has SizeConstraintStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::SizeConstraintStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
528             has SqliMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::SqliMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
529             has XssMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::XssMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
530             }
531              
532             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RateBasedStatementOne',
533             as 'Cfn::Value';
534              
535             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RateBasedStatementOne',
536             from 'HashRef',
537             via {
538             if (my $f = Cfn::TypeLibrary::try_function($_)) {
539             return $f
540             } else {
541             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::RateBasedStatementOneValue->new( %$_ );
542             }
543             };
544              
545             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::RateBasedStatementOneValue {
546 1     1   3498 use Moose;
  1         3  
  1         6  
547 1     1   6871 use MooseX::StrictConstructor;
  1         3  
  1         4  
548             extends 'Cfn::Value::TypedValue';
549            
550             has AggregateKeyType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
551             has Limit => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
552             has ScopeDownStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementTwo', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
553             }
554              
555             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::OrStatementOne',
556             as 'Cfn::Value';
557              
558             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::OrStatementOne',
559             from 'HashRef',
560             via {
561             if (my $f = Cfn::TypeLibrary::try_function($_)) {
562             return $f
563             } else {
564             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::OrStatementOneValue->new( %$_ );
565             }
566             };
567              
568             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::OrStatementOneValue {
569 1     1   3375 use Moose;
  1         3  
  1         6  
570 1     1   6455 use MooseX::StrictConstructor;
  1         3  
  1         5  
571             extends 'Cfn::Value::TypedValue';
572            
573             has Statements => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::StatementTwo', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
574             }
575              
576             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::NotStatementOne',
577             as 'Cfn::Value';
578              
579             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::NotStatementOne',
580             from 'HashRef',
581             via {
582             if (my $f = Cfn::TypeLibrary::try_function($_)) {
583             return $f
584             } else {
585             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::NotStatementOneValue->new( %$_ );
586             }
587             };
588              
589             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::NotStatementOneValue {
590 1     1   3364 use Moose;
  1         3  
  1         5  
591 1     1   6533 use MooseX::StrictConstructor;
  1         3  
  1         5  
592             extends 'Cfn::Value::TypedValue';
593            
594             has Statement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementTwo', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
595             }
596              
597             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::AndStatementOne',
598             as 'Cfn::Value';
599              
600             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::AndStatementOne',
601             from 'HashRef',
602             via {
603             if (my $f = Cfn::TypeLibrary::try_function($_)) {
604             return $f
605             } else {
606             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::AndStatementOneValue->new( %$_ );
607             }
608             };
609              
610             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::AndStatementOneValue {
611 1     1   3299 use Moose;
  1         2  
  1         5  
612 1     1   6459 use MooseX::StrictConstructor;
  1         4  
  1         4  
613             extends 'Cfn::Value::TypedValue';
614            
615             has Statements => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::StatementTwo', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
616             }
617              
618             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::VisibilityConfig',
619             as 'Cfn::Value';
620              
621             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::VisibilityConfig',
622             from 'HashRef',
623             via {
624             if (my $f = Cfn::TypeLibrary::try_function($_)) {
625             return $f
626             } else {
627             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::VisibilityConfigValue->new( %$_ );
628             }
629             };
630              
631             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::VisibilityConfigValue {
632 1     1   3363 use Moose;
  1         3  
  1         5  
633 1     1   6461 use MooseX::StrictConstructor;
  1         2  
  1         7  
634             extends 'Cfn::Value::TypedValue';
635            
636             has CloudWatchMetricsEnabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
637             has MetricName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
638             has SampledRequestsEnabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
639             }
640              
641             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementOne',
642             as 'Cfn::Value';
643              
644             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementOne',
645             from 'HashRef',
646             via {
647             if (my $f = Cfn::TypeLibrary::try_function($_)) {
648             return $f
649             } else {
650             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementOneValue->new( %$_ );
651             }
652             };
653              
654             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementOneValue {
655 1     1   3374 use Moose;
  1         10  
  1         14  
656 1     1   6486 use MooseX::StrictConstructor;
  1         3  
  1         5  
657             extends 'Cfn::Value::TypedValue';
658            
659             has AndStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::AndStatementOne', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
660             has ByteMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ByteMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
661             has GeoMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::GeoMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
662             has IPSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::IPSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
663             has ManagedRuleGroupStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::ManagedRuleGroupStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
664             has NotStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::NotStatementOne', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
665             has OrStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::OrStatementOne', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
666             has RateBasedStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RateBasedStatementOne', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
667             has RegexPatternSetReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RegexPatternSetReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
668             has RuleGroupReferenceStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleGroupReferenceStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
669             has SizeConstraintStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::SizeConstraintStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
670             has SqliMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::SqliMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
671             has XssMatchStatement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::XssMatchStatement', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
672             }
673              
674             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleAction',
675             as 'Cfn::Value';
676              
677             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleAction',
678             from 'HashRef',
679             via {
680             if (my $f = Cfn::TypeLibrary::try_function($_)) {
681             return $f
682             } else {
683             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleActionValue->new( %$_ );
684             }
685             };
686              
687             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleActionValue {
688 1     1   3499 use Moose;
  1         3  
  1         5  
689 1     1   6481 use MooseX::StrictConstructor;
  1         4  
  1         5  
690             extends 'Cfn::Value::TypedValue';
691            
692             has Allow => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
693             has Block => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
694             has Count => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
695             }
696              
697             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::OverrideAction',
698             as 'Cfn::Value';
699              
700             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::OverrideAction',
701             from 'HashRef',
702             via {
703             if (my $f = Cfn::TypeLibrary::try_function($_)) {
704             return $f
705             } else {
706             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::OverrideActionValue->new( %$_ );
707             }
708             };
709              
710             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::OverrideActionValue {
711 1     1   3331 use Moose;
  1         2  
  1         6  
712 1     1   6414 use MooseX::StrictConstructor;
  1         3  
  1         5  
713             extends 'Cfn::Value::TypedValue';
714            
715             has Count => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
716             has None => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
717             }
718             subtype 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::Rule',
719             as 'Cfn::Value',
720             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
721             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
722              
723             coerce 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::Rule',
724             from 'HashRef',
725             via {
726             if (my $f = Cfn::TypeLibrary::try_function($_)) {
727             return $f
728             } else {
729             die 'Only accepts functions';
730             }
731             },
732             from 'ArrayRef',
733             via {
734             Cfn::Value::Array->new(Value => [
735             map {
736             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::WAFv2::WebACL::Rule')->coerce($_)
737             } @$_
738             ]);
739             };
740              
741             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::Rule',
742             as 'Cfn::Value';
743              
744             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::Rule',
745             from 'HashRef',
746             via {
747             if (my $f = Cfn::TypeLibrary::try_function($_)) {
748             return $f
749             } else {
750             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleValue->new( %$_ );
751             }
752             };
753              
754             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleValue {
755 1     1   3542 use Moose;
  1         4  
  1         5  
756 1     1   6491 use MooseX::StrictConstructor;
  1         3  
  1         4  
757             extends 'Cfn::Value::TypedValue';
758            
759             has Action => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::RuleAction', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
760             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
761             has OverrideAction => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::OverrideAction', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
762             has Priority => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
763             has Statement => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::StatementOne', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
764             has VisibilityConfig => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::VisibilityConfig', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
765             }
766              
767             subtype 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::DefaultAction',
768             as 'Cfn::Value';
769              
770             coerce 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::DefaultAction',
771             from 'HashRef',
772             via {
773             if (my $f = Cfn::TypeLibrary::try_function($_)) {
774             return $f
775             } else {
776             return Cfn::Resource::Properties::AWS::WAFv2::WebACL::DefaultActionValue->new( %$_ );
777             }
778             };
779              
780             package Cfn::Resource::Properties::AWS::WAFv2::WebACL::DefaultActionValue {
781 1     1   3399 use Moose;
  1         3  
  1         5  
782 1     1   6411 use MooseX::StrictConstructor;
  1         2  
  1         5  
783             extends 'Cfn::Value::TypedValue';
784            
785             has Allow => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
786             has Block => (isa => 'Cfn::Value::Json|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
787             }
788              
789             package Cfn::Resource::Properties::AWS::WAFv2::WebACL {
790 1     1   3240 use Moose;
  1         2  
  1         5  
791 1     1   6464 use MooseX::StrictConstructor;
  1         3  
  1         5  
792             extends 'Cfn::Resource::Properties';
793            
794             has DefaultAction => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::DefaultAction', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
795             has Description => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
796             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
797             has Rules => (isa => 'ArrayOfCfn::Resource::Properties::AWS::WAFv2::WebACL::Rule', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
798             has Scope => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
799             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
800             has VisibilityConfig => (isa => 'Cfn::Resource::Properties::AWS::WAFv2::WebACL::VisibilityConfig', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
801             }
802              
803             1;