File Coverage

blib/lib/Cfn/Resource/AWS/NetworkFirewall/RuleGroup.pm
Criterion Covered Total %
statement 212 212 100.0
branch n/a
condition n/a
subroutine 72 72 100.0
pod 0 2 0.0
total 284 286 99.3


line stmt bran cond sub pod time code
1             # AWS::NetworkFirewall::RuleGroup generated from spec 21.0.0
2 1     1   832 use Moose::Util::TypeConstraints;
  1         3  
  1         12  
3              
4             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::NetworkFirewall::RuleGroup {
9 1     1   2244 use Moose;
  1         3  
  1         8  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 4 [ 'RuleGroupArn' ]
15             }
16             sub supported_regions {
17 1     1 0 1193 [ 'eu-west-1','us-east-1','us-west-2' ]
18             }
19             }
20              
21              
22              
23             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Flags',
24             as 'Cfn::Value';
25              
26             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Flags',
27             from 'HashRef',
28             via {
29             if (my $f = Cfn::TypeLibrary::try_function($_)) {
30             return $f
31             } else {
32             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Flags->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Flags {
37 1     1   7263 use Moose;
  1         4  
  1         4  
38 1     1   6679 use MooseX::StrictConstructor;
  1         4  
  1         10  
39             extends 'Cfn::Value::TypedValue';
40            
41             has Flags => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
42             }
43             subtype 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TCPFlagField',
44             as 'Cfn::Value',
45             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
46             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
47              
48             coerce 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TCPFlagField',
49             from 'HashRef',
50             via {
51             if (my $f = Cfn::TypeLibrary::try_function($_)) {
52             return $f
53             } else {
54             die 'Only accepts functions';
55             }
56             },
57             from 'ArrayRef',
58             via {
59             Cfn::Value::Array->new(Value => [
60             map {
61             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TCPFlagField')->coerce($_)
62             } @$_
63             ]);
64             };
65              
66             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TCPFlagField',
67             as 'Cfn::Value';
68              
69             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TCPFlagField',
70             from 'HashRef',
71             via {
72             if (my $f = Cfn::TypeLibrary::try_function($_)) {
73             return $f
74             } else {
75             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::TCPFlagField->new( %$_ );
76             }
77             };
78              
79             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::TCPFlagField {
80 1     1   3834 use Moose;
  1         3  
  1         5  
81 1     1   6714 use MooseX::StrictConstructor;
  1         3  
  1         7  
82             extends 'Cfn::Value::TypedValue';
83            
84             has Flags => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Flags', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
85             has Masks => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Flags', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
86             }
87             subtype 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortRange',
88             as 'Cfn::Value',
89             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
90             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
91              
92             coerce 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortRange',
93             from 'HashRef',
94             via {
95             if (my $f = Cfn::TypeLibrary::try_function($_)) {
96             return $f
97             } else {
98             die 'Only accepts functions';
99             }
100             },
101             from 'ArrayRef',
102             via {
103             Cfn::Value::Array->new(Value => [
104             map {
105             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortRange')->coerce($_)
106             } @$_
107             ]);
108             };
109              
110             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortRange',
111             as 'Cfn::Value';
112              
113             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortRange',
114             from 'HashRef',
115             via {
116             if (my $f = Cfn::TypeLibrary::try_function($_)) {
117             return $f
118             } else {
119             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::PortRange->new( %$_ );
120             }
121             };
122              
123             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::PortRange {
124 1     1   3653 use Moose;
  1         4  
  1         6  
125 1     1   6680 use MooseX::StrictConstructor;
  1         2  
  1         8  
126             extends 'Cfn::Value::TypedValue';
127            
128             has FromPort => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
129             has ToPort => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
130             }
131             subtype 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Dimension',
132             as 'Cfn::Value',
133             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
134             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
135              
136             coerce 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Dimension',
137             from 'HashRef',
138             via {
139             if (my $f = Cfn::TypeLibrary::try_function($_)) {
140             return $f
141             } else {
142             die 'Only accepts functions';
143             }
144             },
145             from 'ArrayRef',
146             via {
147             Cfn::Value::Array->new(Value => [
148             map {
149             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Dimension')->coerce($_)
150             } @$_
151             ]);
152             };
153              
154             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Dimension',
155             as 'Cfn::Value';
156              
157             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Dimension',
158             from 'HashRef',
159             via {
160             if (my $f = Cfn::TypeLibrary::try_function($_)) {
161             return $f
162             } else {
163             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Dimension->new( %$_ );
164             }
165             };
166              
167             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Dimension {
168 1     1   3679 use Moose;
  1         4  
  1         5  
169 1     1   6699 use MooseX::StrictConstructor;
  1         4  
  1         7  
170             extends 'Cfn::Value::TypedValue';
171            
172             has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
173             }
174             subtype 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Address',
175             as 'Cfn::Value',
176             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
177             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
178              
179             coerce 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Address',
180             from 'HashRef',
181             via {
182             if (my $f = Cfn::TypeLibrary::try_function($_)) {
183             return $f
184             } else {
185             die 'Only accepts functions';
186             }
187             },
188             from 'ArrayRef',
189             via {
190             Cfn::Value::Array->new(Value => [
191             map {
192             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Address')->coerce($_)
193             } @$_
194             ]);
195             };
196              
197             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Address',
198             as 'Cfn::Value';
199              
200             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Address',
201             from 'HashRef',
202             via {
203             if (my $f = Cfn::TypeLibrary::try_function($_)) {
204             return $f
205             } else {
206             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Address->new( %$_ );
207             }
208             };
209              
210             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Address {
211 1     1   3653 use Moose;
  1         2  
  1         15  
212 1     1   6834 use MooseX::StrictConstructor;
  1         3  
  1         6  
213             extends 'Cfn::Value::TypedValue';
214            
215             has AddressDefinition => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
216             }
217              
218             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TCPFlags',
219             as 'Cfn::Value';
220              
221             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TCPFlags',
222             from 'HashRef',
223             via {
224             if (my $f = Cfn::TypeLibrary::try_function($_)) {
225             return $f
226             } else {
227             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::TCPFlags->new( %$_ );
228             }
229             };
230              
231             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::TCPFlags {
232 1     1   3537 use Moose;
  1         4  
  1         7  
233 1     1   6635 use MooseX::StrictConstructor;
  1         3  
  1         5  
234             extends 'Cfn::Value::TypedValue';
235            
236             has TCPFlags => (isa => 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TCPFlagField', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
237             }
238              
239             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::ProtocolNumbers',
240             as 'Cfn::Value';
241              
242             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::ProtocolNumbers',
243             from 'HashRef',
244             via {
245             if (my $f = Cfn::TypeLibrary::try_function($_)) {
246             return $f
247             } else {
248             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::ProtocolNumbers->new( %$_ );
249             }
250             };
251              
252             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::ProtocolNumbers {
253 1     1   3387 use Moose;
  1         4  
  1         7  
254 1     1   6638 use MooseX::StrictConstructor;
  1         3  
  1         6  
255             extends 'Cfn::Value::TypedValue';
256            
257             has ProtocolNumbers => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
258             }
259              
260             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortRanges',
261             as 'Cfn::Value';
262              
263             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortRanges',
264             from 'HashRef',
265             via {
266             if (my $f = Cfn::TypeLibrary::try_function($_)) {
267             return $f
268             } else {
269             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::PortRanges->new( %$_ );
270             }
271             };
272              
273             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::PortRanges {
274 1     1   3386 use Moose;
  1         3  
  1         6  
275 1     1   6621 use MooseX::StrictConstructor;
  1         2  
  1         6  
276             extends 'Cfn::Value::TypedValue';
277            
278             has PortRanges => (isa => 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortRange', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
279             }
280              
281             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Dimensions',
282             as 'Cfn::Value';
283              
284             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Dimensions',
285             from 'HashRef',
286             via {
287             if (my $f = Cfn::TypeLibrary::try_function($_)) {
288             return $f
289             } else {
290             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Dimensions->new( %$_ );
291             }
292             };
293              
294             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Dimensions {
295 1     1   3397 use Moose;
  1         3  
  1         6  
296 1     1   6681 use MooseX::StrictConstructor;
  1         2  
  1         6  
297             extends 'Cfn::Value::TypedValue';
298            
299             has Dimensions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Dimension', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
300             }
301              
302             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Addresses',
303             as 'Cfn::Value';
304              
305             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Addresses',
306             from 'HashRef',
307             via {
308             if (my $f = Cfn::TypeLibrary::try_function($_)) {
309             return $f
310             } else {
311             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Addresses->new( %$_ );
312             }
313             };
314              
315             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Addresses {
316 1     1   3442 use Moose;
  1         4  
  1         6  
317 1     1   6619 use MooseX::StrictConstructor;
  1         4  
  1         6  
318             extends 'Cfn::Value::TypedValue';
319            
320             has Addresses => (isa => 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Address', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
321             }
322              
323             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PublishMetricAction',
324             as 'Cfn::Value';
325              
326             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PublishMetricAction',
327             from 'HashRef',
328             via {
329             if (my $f = Cfn::TypeLibrary::try_function($_)) {
330             return $f
331             } else {
332             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::PublishMetricAction->new( %$_ );
333             }
334             };
335              
336             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::PublishMetricAction {
337 1     1   3407 use Moose;
  1         4  
  1         4  
338 1     1   6622 use MooseX::StrictConstructor;
  1         3  
  1         4  
339             extends 'Cfn::Value::TypedValue';
340            
341             has Dimensions => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Dimensions', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
342             }
343              
344             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::MatchAttributes',
345             as 'Cfn::Value';
346              
347             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::MatchAttributes',
348             from 'HashRef',
349             via {
350             if (my $f = Cfn::TypeLibrary::try_function($_)) {
351             return $f
352             } else {
353             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::MatchAttributes->new( %$_ );
354             }
355             };
356              
357             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::MatchAttributes {
358 1     1   3712 use Moose;
  1         2  
  1         6  
359 1     1   6589 use MooseX::StrictConstructor;
  1         2  
  1         8  
360             extends 'Cfn::Value::TypedValue';
361            
362             has DestinationPorts => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortRanges', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
363             has Destinations => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Addresses', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
364             has Protocols => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::ProtocolNumbers', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
365             has SourcePorts => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortRanges', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
366             has Sources => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Addresses', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
367             has TCPFlags => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TCPFlags', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
368             }
369             subtype 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleOption',
370             as 'Cfn::Value',
371             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
372             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
373              
374             coerce 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleOption',
375             from 'HashRef',
376             via {
377             if (my $f = Cfn::TypeLibrary::try_function($_)) {
378             return $f
379             } else {
380             die 'Only accepts functions';
381             }
382             },
383             from 'ArrayRef',
384             via {
385             Cfn::Value::Array->new(Value => [
386             map {
387             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleOption')->coerce($_)
388             } @$_
389             ]);
390             };
391              
392             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleOption',
393             as 'Cfn::Value';
394              
395             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleOption',
396             from 'HashRef',
397             via {
398             if (my $f = Cfn::TypeLibrary::try_function($_)) {
399             return $f
400             } else {
401             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RuleOption->new( %$_ );
402             }
403             };
404              
405             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RuleOption {
406 1     1   3720 use Moose;
  1         4  
  1         6  
407 1     1   6697 use MooseX::StrictConstructor;
  1         3  
  1         5  
408             extends 'Cfn::Value::TypedValue';
409            
410             has Keyword => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
411             has Settings => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
412             }
413              
414             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleDefinition',
415             as 'Cfn::Value';
416              
417             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleDefinition',
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::NetworkFirewall::RuleGroup::RuleDefinition->new( %$_ );
424             }
425             };
426              
427             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RuleDefinition {
428 1     1   3428 use Moose;
  1         3  
  1         5  
429 1     1   6631 use MooseX::StrictConstructor;
  1         4  
  1         5  
430             extends 'Cfn::Value::TypedValue';
431            
432             has Actions => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
433             has MatchAttributes => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::MatchAttributes', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
434             }
435              
436             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::ActionDefinition',
437             as 'Cfn::Value';
438              
439             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::ActionDefinition',
440             from 'HashRef',
441             via {
442             if (my $f = Cfn::TypeLibrary::try_function($_)) {
443             return $f
444             } else {
445             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::ActionDefinition->new( %$_ );
446             }
447             };
448              
449             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::ActionDefinition {
450 1     1   3399 use Moose;
  1         6  
  1         6  
451 1     1   6685 use MooseX::StrictConstructor;
  1         2  
  1         7  
452             extends 'Cfn::Value::TypedValue';
453            
454             has PublishMetricAction => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PublishMetricAction', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
455             }
456             subtype 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRule',
457             as 'Cfn::Value',
458             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
459             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
460              
461             coerce 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRule',
462             from 'HashRef',
463             via {
464             if (my $f = Cfn::TypeLibrary::try_function($_)) {
465             return $f
466             } else {
467             die 'Only accepts functions';
468             }
469             },
470             from 'ArrayRef',
471             via {
472             Cfn::Value::Array->new(Value => [
473             map {
474             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRule')->coerce($_)
475             } @$_
476             ]);
477             };
478              
479             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRule',
480             as 'Cfn::Value';
481              
482             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRule',
483             from 'HashRef',
484             via {
485             if (my $f = Cfn::TypeLibrary::try_function($_)) {
486             return $f
487             } else {
488             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::StatelessRule->new( %$_ );
489             }
490             };
491              
492             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::StatelessRule {
493 1     1   3621 use Moose;
  1         3  
  1         14  
494 1     1   6682 use MooseX::StrictConstructor;
  1         2  
  1         6  
495             extends 'Cfn::Value::TypedValue';
496            
497             has Priority => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
498             has RuleDefinition => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleDefinition', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
499             }
500              
501             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleOptions',
502             as 'Cfn::Value';
503              
504             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleOptions',
505             from 'HashRef',
506             via {
507             if (my $f = Cfn::TypeLibrary::try_function($_)) {
508             return $f
509             } else {
510             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RuleOptions->new( %$_ );
511             }
512             };
513              
514             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RuleOptions {
515 1     1   3445 use Moose;
  1         4  
  1         5  
516 1     1   6635 use MooseX::StrictConstructor;
  1         3  
  1         7  
517             extends 'Cfn::Value::TypedValue';
518            
519             has RuleOptions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleOption', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
520             }
521              
522             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Header',
523             as 'Cfn::Value';
524              
525             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Header',
526             from 'HashRef',
527             via {
528             if (my $f = Cfn::TypeLibrary::try_function($_)) {
529             return $f
530             } else {
531             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Header->new( %$_ );
532             }
533             };
534              
535             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Header {
536 1     1   3361 use Moose;
  1         4  
  1         5  
537 1     1   6701 use MooseX::StrictConstructor;
  1         3  
  1         7  
538             extends 'Cfn::Value::TypedValue';
539            
540             has Destination => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
541             has DestinationPort => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
542             has Direction => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
543             has Protocol => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
544             has Source => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
545             has SourcePort => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
546             }
547             subtype 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::CustomAction',
548             as 'Cfn::Value',
549             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
550             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
551              
552             coerce 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::CustomAction',
553             from 'HashRef',
554             via {
555             if (my $f = Cfn::TypeLibrary::try_function($_)) {
556             return $f
557             } else {
558             die 'Only accepts functions';
559             }
560             },
561             from 'ArrayRef',
562             via {
563             Cfn::Value::Array->new(Value => [
564             map {
565             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::CustomAction')->coerce($_)
566             } @$_
567             ]);
568             };
569              
570             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::CustomAction',
571             as 'Cfn::Value';
572              
573             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::CustomAction',
574             from 'HashRef',
575             via {
576             if (my $f = Cfn::TypeLibrary::try_function($_)) {
577             return $f
578             } else {
579             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::CustomAction->new( %$_ );
580             }
581             };
582              
583             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::CustomAction {
584 1     1   3677 use Moose;
  1         3  
  1         7  
585 1     1   6619 use MooseX::StrictConstructor;
  1         2  
  1         6  
586             extends 'Cfn::Value::TypedValue';
587            
588             has ActionDefinition => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::ActionDefinition', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
589             has ActionName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
590             }
591              
592             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::VariableDefinitionList',
593             as 'Cfn::Value';
594              
595             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::VariableDefinitionList',
596             from 'HashRef',
597             via {
598             if (my $f = Cfn::TypeLibrary::try_function($_)) {
599             return $f
600             } else {
601             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::VariableDefinitionList->new( %$_ );
602             }
603             };
604              
605             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::VariableDefinitionList {
606 1     1   3425 use Moose;
  1         3  
  1         7  
607 1     1   6628 use MooseX::StrictConstructor;
  1         3  
  1         5  
608             extends 'Cfn::Value::TypedValue';
609            
610             has VariableDefinitionList => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
611             }
612              
613             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TargetTypes',
614             as 'Cfn::Value';
615              
616             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TargetTypes',
617             from 'HashRef',
618             via {
619             if (my $f = Cfn::TypeLibrary::try_function($_)) {
620             return $f
621             } else {
622             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::TargetTypes->new( %$_ );
623             }
624             };
625              
626             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::TargetTypes {
627 1     1   3420 use Moose;
  1         5  
  1         7  
628 1     1   6627 use MooseX::StrictConstructor;
  1         4  
  1         5  
629             extends 'Cfn::Value::TypedValue';
630            
631             has TargetTypes => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
632             }
633              
634             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRules',
635             as 'Cfn::Value';
636              
637             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRules',
638             from 'HashRef',
639             via {
640             if (my $f = Cfn::TypeLibrary::try_function($_)) {
641             return $f
642             } else {
643             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::StatelessRules->new( %$_ );
644             }
645             };
646              
647             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::StatelessRules {
648 1     1   3419 use Moose;
  1         3  
  1         7  
649 1     1   6641 use MooseX::StrictConstructor;
  1         2  
  1         6  
650             extends 'Cfn::Value::TypedValue';
651            
652             has StatelessRules => (isa => 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRule', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
653             }
654             subtype 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatefulRule',
655             as 'Cfn::Value',
656             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
657             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
658              
659             coerce 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatefulRule',
660             from 'HashRef',
661             via {
662             if (my $f = Cfn::TypeLibrary::try_function($_)) {
663             return $f
664             } else {
665             die 'Only accepts functions';
666             }
667             },
668             from 'ArrayRef',
669             via {
670             Cfn::Value::Array->new(Value => [
671             map {
672             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatefulRule')->coerce($_)
673             } @$_
674             ]);
675             };
676              
677             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatefulRule',
678             as 'Cfn::Value';
679              
680             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatefulRule',
681             from 'HashRef',
682             via {
683             if (my $f = Cfn::TypeLibrary::try_function($_)) {
684             return $f
685             } else {
686             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::StatefulRule->new( %$_ );
687             }
688             };
689              
690             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::StatefulRule {
691 1     1   3595 use Moose;
  1         5  
  1         6  
692 1     1   6634 use MooseX::StrictConstructor;
  1         5  
  1         6  
693             extends 'Cfn::Value::TypedValue';
694            
695             has Action => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
696             has Header => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Header', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
697             has RuleOptions => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleOptions', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
698             }
699              
700             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::CustomActions',
701             as 'Cfn::Value';
702              
703             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::CustomActions',
704             from 'HashRef',
705             via {
706             if (my $f = Cfn::TypeLibrary::try_function($_)) {
707             return $f
708             } else {
709             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::CustomActions->new( %$_ );
710             }
711             };
712              
713             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::CustomActions {
714 1     1   3423 use Moose;
  1         4  
  1         6  
715 1     1   6974 use MooseX::StrictConstructor;
  1         2  
  1         5  
716             extends 'Cfn::Value::TypedValue';
717            
718             has CustomActions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::CustomAction', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
719             }
720              
721             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRulesAndCustomActions',
722             as 'Cfn::Value';
723              
724             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRulesAndCustomActions',
725             from 'HashRef',
726             via {
727             if (my $f = Cfn::TypeLibrary::try_function($_)) {
728             return $f
729             } else {
730             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::StatelessRulesAndCustomActions->new( %$_ );
731             }
732             };
733              
734             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::StatelessRulesAndCustomActions {
735 1     1   3403 use Moose;
  1         3  
  1         8  
736 1     1   6615 use MooseX::StrictConstructor;
  1         2  
  1         6  
737             extends 'Cfn::Value::TypedValue';
738            
739             has CustomActions => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::CustomActions', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
740             has StatelessRules => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRules', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
741             }
742              
743             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatefulRules',
744             as 'Cfn::Value';
745              
746             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatefulRules',
747             from 'HashRef',
748             via {
749             if (my $f = Cfn::TypeLibrary::try_function($_)) {
750             return $f
751             } else {
752             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::StatefulRules->new( %$_ );
753             }
754             };
755              
756             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::StatefulRules {
757 1     1   3421 use Moose;
  1         2  
  1         6  
758 1     1   6948 use MooseX::StrictConstructor;
  1         18  
  1         7  
759             extends 'Cfn::Value::TypedValue';
760            
761             has StatefulRules => (isa => 'ArrayOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatefulRule', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
762             }
763              
764             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RulesSourceList',
765             as 'Cfn::Value';
766              
767             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RulesSourceList',
768             from 'HashRef',
769             via {
770             if (my $f = Cfn::TypeLibrary::try_function($_)) {
771             return $f
772             } else {
773             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RulesSourceList->new( %$_ );
774             }
775             };
776              
777             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RulesSourceList {
778 1     1   3590 use Moose;
  1         4  
  1         7  
779 1     1   6824 use MooseX::StrictConstructor;
  1         4  
  1         6  
780             extends 'Cfn::Value::TypedValue';
781            
782             has GeneratedRulesType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
783             has Targets => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
784             has TargetTypes => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::TargetTypes', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
785             }
786              
787             subtype 'MapOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortSet',
788             as 'Cfn::Value',
789             where { $_->isa('Cfn::Value::Hash') or $_->isa('Cfn::Value::Function') },
790             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
791              
792             coerce 'MapOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortSet',
793             from 'HashRef',
794             via {
795             my $arg = $_;
796             if (my $f = Cfn::TypeLibrary::try_function($arg)) {
797             return $f
798             } else {
799             Cfn::Value::Hash->new(Value => {
800             map { $_ => Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortSet')->coerce($arg->{$_}) } keys %$arg
801             });
802             }
803             };
804              
805             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortSet',
806             as 'Cfn::Value';
807              
808             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortSet',
809             from 'HashRef',
810             via {
811             if (my $f = Cfn::TypeLibrary::try_function($_)) {
812             return $f
813             } else {
814             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::PortSet->new( %$_ );
815             }
816             };
817              
818             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::PortSet {
819 1     1   3699 use Moose;
  1         3  
  1         5  
820 1     1   6630 use MooseX::StrictConstructor;
  1         3  
  1         5  
821             extends 'Cfn::Value::TypedValue';
822            
823             has Definition => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::VariableDefinitionList', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
824             }
825              
826             subtype 'MapOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::IPSet',
827             as 'Cfn::Value',
828             where { $_->isa('Cfn::Value::Hash') or $_->isa('Cfn::Value::Function') },
829             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
830              
831             coerce 'MapOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::IPSet',
832             from 'HashRef',
833             via {
834             my $arg = $_;
835             if (my $f = Cfn::TypeLibrary::try_function($arg)) {
836             return $f
837             } else {
838             Cfn::Value::Hash->new(Value => {
839             map { $_ => Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::IPSet')->coerce($arg->{$_}) } keys %$arg
840             });
841             }
842             };
843              
844             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::IPSet',
845             as 'Cfn::Value';
846              
847             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::IPSet',
848             from 'HashRef',
849             via {
850             if (my $f = Cfn::TypeLibrary::try_function($_)) {
851             return $f
852             } else {
853             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::IPSet->new( %$_ );
854             }
855             };
856              
857             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::IPSet {
858 1     1   3602 use Moose;
  1         3  
  1         5  
859 1     1   6626 use MooseX::StrictConstructor;
  1         5  
  1         6  
860             extends 'Cfn::Value::TypedValue';
861            
862             has Definition => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::VariableDefinitionList', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
863             }
864              
865             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RulesSource',
866             as 'Cfn::Value';
867              
868             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RulesSource',
869             from 'HashRef',
870             via {
871             if (my $f = Cfn::TypeLibrary::try_function($_)) {
872             return $f
873             } else {
874             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RulesSource->new( %$_ );
875             }
876             };
877              
878             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RulesSource {
879 1     1   3471 use Moose;
  1         4  
  1         6  
880 1     1   6578 use MooseX::StrictConstructor;
  1         4  
  1         7  
881             extends 'Cfn::Value::TypedValue';
882            
883             has RulesSourceList => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RulesSourceList', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
884             has RulesString => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
885             has StatefulRules => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatefulRules', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
886             has StatelessRulesAndCustomActions => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::StatelessRulesAndCustomActions', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
887             }
888              
889             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleVariables',
890             as 'Cfn::Value';
891              
892             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleVariables',
893             from 'HashRef',
894             via {
895             if (my $f = Cfn::TypeLibrary::try_function($_)) {
896             return $f
897             } else {
898             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RuleVariables->new( %$_ );
899             }
900             };
901              
902             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RuleVariables {
903 1     1   3430 use Moose;
  1         4  
  1         7  
904 1     1   6653 use MooseX::StrictConstructor;
  1         2  
  1         6  
905             extends 'Cfn::Value::TypedValue';
906            
907             has IPSets => (isa => 'MapOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::IPSet', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
908             has PortSets => (isa => 'MapOfCfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::PortSet', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
909             }
910              
911             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Tags',
912             as 'Cfn::Value';
913              
914             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Tags',
915             from 'HashRef',
916             via {
917             if (my $f = Cfn::TypeLibrary::try_function($_)) {
918             return $f
919             } else {
920             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Tags->new( %$_ );
921             }
922             };
923              
924             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::Tags {
925 1     1   3456 use Moose;
  1         4  
  1         7  
926 1     1   6684 use MooseX::StrictConstructor;
  1         2  
  1         7  
927             extends 'Cfn::Value::TypedValue';
928            
929             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
930             }
931              
932             subtype 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleGroup',
933             as 'Cfn::Value';
934              
935             coerce 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleGroup',
936             from 'HashRef',
937             via {
938             if (my $f = Cfn::TypeLibrary::try_function($_)) {
939             return $f
940             } else {
941             return Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RuleGroup->new( %$_ );
942             }
943             };
944              
945             package Cfn::Resource::Properties::Object::AWS::NetworkFirewall::RuleGroup::RuleGroup {
946 1     1   3447 use Moose;
  1         4  
  1         6  
947 1     1   6717 use MooseX::StrictConstructor;
  1         3  
  1         5  
948             extends 'Cfn::Value::TypedValue';
949            
950             has RulesSource => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RulesSource', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
951             has RuleVariables => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleVariables', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
952             }
953              
954             package Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup {
955 1     1   3381 use Moose;
  1         4  
  1         8  
956 1     1   6695 use MooseX::StrictConstructor;
  1         3  
  1         7  
957             extends 'Cfn::Resource::Properties';
958            
959             has Capacity => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
960             has Description => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
961             has RuleGroup => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::RuleGroup', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
962             has RuleGroupId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
963             has RuleGroupName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
964             has Tags => (isa => 'Cfn::Resource::Properties::AWS::NetworkFirewall::RuleGroup::Tags', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
965             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
966             }
967              
968             1;
969             ### main pod documentation begin ###
970              
971             =encoding UTF-8
972              
973             =head1 NAME
974              
975             Cfn::Resource::AWS::NetworkFirewall::RuleGroup - Cfn resource for AWS::NetworkFirewall::RuleGroup
976              
977             =head1 DESCRIPTION
978              
979             This module implements a Perl module that represents the CloudFormation object AWS::NetworkFirewall::RuleGroup.
980              
981             See L<Cfn> for more information on how to use it.
982              
983             =head1 AUTHOR
984              
985             Jose Luis Martinez
986             CAPSiDE
987             jlmartinez@capside.com
988              
989             =head1 COPYRIGHT and LICENSE
990              
991             Copyright (c) 2013 by CAPSiDE
992             This code is distributed under the Apache 2 License. The full text of the
993             license can be found in the LICENSE file included with this module.
994              
995             =cut