File Coverage

blib/lib/Cfn/Resource/AWS/ElasticLoadBalancingV2/ListenerRule.pm
Criterion Covered Total %
statement 110 110 100.0
branch n/a
condition n/a
subroutine 38 38 100.0
pod 0 2 0.0
total 148 150 98.6


line stmt bran cond sub pod time code
1             # AWS::ElasticLoadBalancingV2::ListenerRule generated from spec 18.4.0
2 2     2   1698 use Moose::Util::TypeConstraints;
  2         5  
  2         23  
3              
4             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::ElasticLoadBalancingV2::ListenerRule {
9 2     2   4479 use Moose;
  2         6  
  2         17  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 4 [ ]
15             }
16             sub supported_regions {
17 1     1 0 1130 [ 'af-south-1','ap-east-1','ap-northeast-1','ap-northeast-2','ap-northeast-3','ap-south-1','ap-southeast-1','ap-southeast-2','ca-central-1','cn-north-1','cn-northwest-1','eu-central-1','eu-north-1','eu-south-1','eu-west-1','eu-west-2','eu-west-3','me-south-1','sa-east-1','us-east-1','us-east-2','us-gov-east-1','us-gov-west-1','us-west-1','us-west-2' ]
18             }
19             }
20              
21              
22             subtype 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupTuple',
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::ElasticLoadBalancingV2::ListenerRule::TargetGroupTuple',
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::ElasticLoadBalancingV2::ListenerRule::TargetGroupTuple')->coerce($_)
41             } @$_
42             ]);
43             };
44              
45             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupTuple',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupTuple',
49             from 'HashRef',
50             via {
51             if (my $f = Cfn::TypeLibrary::try_function($_)) {
52             return $f
53             } else {
54             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupTuple->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupTuple {
59 2     2   15641 use Moose;
  2         6  
  2         11  
60 2     2   13350 use MooseX::StrictConstructor;
  2         9  
  2         21  
61             extends 'Cfn::Value::TypedValue';
62            
63             has TargetGroupArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
64             has Weight => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
65             }
66              
67             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupStickinessConfig',
68             as 'Cfn::Value';
69              
70             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupStickinessConfig',
71             from 'HashRef',
72             via {
73             if (my $f = Cfn::TypeLibrary::try_function($_)) {
74             return $f
75             } else {
76             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupStickinessConfig->new( %$_ );
77             }
78             };
79              
80             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupStickinessConfig {
81 2     2   7398 use Moose;
  2         6  
  2         11  
82 2     2   13555 use MooseX::StrictConstructor;
  2         6  
  2         12  
83             extends 'Cfn::Value::TypedValue';
84            
85             has DurationSeconds => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
86             has Enabled => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
87             }
88             subtype 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValue',
89             as 'Cfn::Value',
90             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
91             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
92              
93             coerce 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValue',
94             from 'HashRef',
95             via {
96             if (my $f = Cfn::TypeLibrary::try_function($_)) {
97             return $f
98             } else {
99             die 'Only accepts functions';
100             }
101             },
102             from 'ArrayRef',
103             via {
104             Cfn::Value::Array->new(Value => [
105             map {
106             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValue')->coerce($_)
107             } @$_
108             ]);
109             };
110              
111             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValue',
112             as 'Cfn::Value';
113              
114             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValue',
115             from 'HashRef',
116             via {
117             if (my $f = Cfn::TypeLibrary::try_function($_)) {
118             return $f
119             } else {
120             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValue->new( %$_ );
121             }
122             };
123              
124             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValue {
125 2     2   7079 use Moose;
  2         17  
  2         19  
126 2     2   13302 use MooseX::StrictConstructor;
  2         5  
  2         15  
127             extends 'Cfn::Value::TypedValue';
128            
129             has Key => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
130             has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
131             }
132              
133             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::SourceIpConfig',
134             as 'Cfn::Value';
135              
136             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::SourceIpConfig',
137             from 'HashRef',
138             via {
139             if (my $f = Cfn::TypeLibrary::try_function($_)) {
140             return $f
141             } else {
142             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::SourceIpConfig->new( %$_ );
143             }
144             };
145              
146             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::SourceIpConfig {
147 2     2   6834 use Moose;
  2         7  
  2         15  
148 2     2   13445 use MooseX::StrictConstructor;
  2         5  
  2         12  
149             extends 'Cfn::Value::TypedValue';
150            
151             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
152             }
153              
154             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RedirectConfig',
155             as 'Cfn::Value';
156              
157             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RedirectConfig',
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::ElasticLoadBalancingV2::ListenerRule::RedirectConfig->new( %$_ );
164             }
165             };
166              
167             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::RedirectConfig {
168 2     2   6840 use Moose;
  2         5  
  2         14  
169 2     2   13203 use MooseX::StrictConstructor;
  2         5  
  2         11  
170             extends 'Cfn::Value::TypedValue';
171            
172             has Host => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
173             has Path => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
174             has Port => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
175             has Protocol => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
176             has Query => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
177             has StatusCode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
178             }
179              
180             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfig',
181             as 'Cfn::Value';
182              
183             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfig',
184             from 'HashRef',
185             via {
186             if (my $f = Cfn::TypeLibrary::try_function($_)) {
187             return $f
188             } else {
189             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfig->new( %$_ );
190             }
191             };
192              
193             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfig {
194 2     2   7569 use Moose;
  2         5  
  2         13  
195 2     2   13206 use MooseX::StrictConstructor;
  2         8  
  2         11  
196             extends 'Cfn::Value::TypedValue';
197            
198             has Values => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
199             }
200              
201             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfig',
202             as 'Cfn::Value';
203              
204             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfig',
205             from 'HashRef',
206             via {
207             if (my $f = Cfn::TypeLibrary::try_function($_)) {
208             return $f
209             } else {
210             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfig->new( %$_ );
211             }
212             };
213              
214             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfig {
215 2     2   6914 use Moose;
  2         17  
  2         11  
216 2     2   13755 use MooseX::StrictConstructor;
  2         9  
  2         12  
217             extends 'Cfn::Value::TypedValue';
218            
219             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
220             }
221              
222             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfig',
223             as 'Cfn::Value';
224              
225             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfig',
226             from 'HashRef',
227             via {
228             if (my $f = Cfn::TypeLibrary::try_function($_)) {
229             return $f
230             } else {
231             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfig->new( %$_ );
232             }
233             };
234              
235             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfig {
236 2     2   7056 use Moose;
  2         7  
  2         22  
237 2     2   13218 use MooseX::StrictConstructor;
  2         6  
  2         12  
238             extends 'Cfn::Value::TypedValue';
239            
240             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
241             }
242              
243             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfig',
244             as 'Cfn::Value';
245              
246             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfig',
247             from 'HashRef',
248             via {
249             if (my $f = Cfn::TypeLibrary::try_function($_)) {
250             return $f
251             } else {
252             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfig->new( %$_ );
253             }
254             };
255              
256             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfig {
257 2     2   6971 use Moose;
  2         7  
  2         12  
258 2     2   13493 use MooseX::StrictConstructor;
  2         7  
  2         14  
259             extends 'Cfn::Value::TypedValue';
260            
261             has HttpHeaderName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
262             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
263             }
264              
265             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfig',
266             as 'Cfn::Value';
267              
268             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfig',
269             from 'HashRef',
270             via {
271             if (my $f = Cfn::TypeLibrary::try_function($_)) {
272             return $f
273             } else {
274             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfig->new( %$_ );
275             }
276             };
277              
278             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfig {
279 2     2   6885 use Moose;
  2         7  
  2         13  
280 2     2   13322 use MooseX::StrictConstructor;
  2         8  
  2         12  
281             extends 'Cfn::Value::TypedValue';
282            
283             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
284             }
285              
286             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::ForwardConfig',
287             as 'Cfn::Value';
288              
289             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::ForwardConfig',
290             from 'HashRef',
291             via {
292             if (my $f = Cfn::TypeLibrary::try_function($_)) {
293             return $f
294             } else {
295             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::ForwardConfig->new( %$_ );
296             }
297             };
298              
299             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::ForwardConfig {
300 2     2   6663 use Moose;
  2         7  
  2         13  
301 2     2   13283 use MooseX::StrictConstructor;
  2         6  
  2         14  
302             extends 'Cfn::Value::TypedValue';
303            
304             has TargetGroups => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupTuple', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
305             has TargetGroupStickinessConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupStickinessConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
306             }
307              
308             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfig',
309             as 'Cfn::Value';
310              
311             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfig',
312             from 'HashRef',
313             via {
314             if (my $f = Cfn::TypeLibrary::try_function($_)) {
315             return $f
316             } else {
317             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfig->new( %$_ );
318             }
319             };
320              
321             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfig {
322 2     2   6795 use Moose;
  2         7  
  2         10  
323 2     2   13436 use MooseX::StrictConstructor;
  2         6  
  2         12  
324             extends 'Cfn::Value::TypedValue';
325            
326             has ContentType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
327             has MessageBody => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
328             has StatusCode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
329             }
330              
331             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateOidcConfig',
332             as 'Cfn::Value';
333              
334             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateOidcConfig',
335             from 'HashRef',
336             via {
337             if (my $f = Cfn::TypeLibrary::try_function($_)) {
338             return $f
339             } else {
340             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateOidcConfig->new( %$_ );
341             }
342             };
343              
344             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateOidcConfig {
345 2     2   7025 use Moose;
  2         6  
  2         10  
346 2     2   13535 use MooseX::StrictConstructor;
  2         8  
  2         13  
347             extends 'Cfn::Value::TypedValue';
348            
349             has AuthenticationRequestExtraParams => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
350             has AuthorizationEndpoint => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
351             has ClientId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
352             has ClientSecret => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
353             has Issuer => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
354             has OnUnauthenticatedRequest => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
355             has Scope => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
356             has SessionCookieName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
357             has SessionTimeout => (isa => 'Cfn::Value::Long', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
358             has TokenEndpoint => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
359             has UserInfoEndpoint => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
360             }
361              
362             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfig',
363             as 'Cfn::Value';
364              
365             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfig',
366             from 'HashRef',
367             via {
368             if (my $f = Cfn::TypeLibrary::try_function($_)) {
369             return $f
370             } else {
371             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfig->new( %$_ );
372             }
373             };
374              
375             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfig {
376 2     2   7269 use Moose;
  2         6  
  2         13  
377 2     2   14550 use MooseX::StrictConstructor;
  2         6  
  2         14  
378             extends 'Cfn::Value::TypedValue';
379            
380             has AuthenticationRequestExtraParams => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
381             has OnUnauthenticatedRequest => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
382             has Scope => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
383             has SessionCookieName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
384             has SessionTimeout => (isa => 'Cfn::Value::Long', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
385             has UserPoolArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
386             has UserPoolClientId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
387             has UserPoolDomain => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
388             }
389             subtype 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition',
390             as 'Cfn::Value',
391             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
392             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
393              
394             coerce 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition',
395             from 'HashRef',
396             via {
397             if (my $f = Cfn::TypeLibrary::try_function($_)) {
398             return $f
399             } else {
400             die 'Only accepts functions';
401             }
402             },
403             from 'ArrayRef',
404             via {
405             Cfn::Value::Array->new(Value => [
406             map {
407             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition')->coerce($_)
408             } @$_
409             ]);
410             };
411              
412             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition',
413             as 'Cfn::Value';
414              
415             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition',
416             from 'HashRef',
417             via {
418             if (my $f = Cfn::TypeLibrary::try_function($_)) {
419             return $f
420             } else {
421             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition->new( %$_ );
422             }
423             };
424              
425             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition {
426 2     2   8262 use Moose;
  2         8  
  2         14  
427 2     2   14318 use MooseX::StrictConstructor;
  2         7  
  2         13  
428             extends 'Cfn::Value::TypedValue';
429            
430             has Field => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
431             has HostHeaderConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
432             has HttpHeaderConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
433             has HttpRequestMethodConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
434             has PathPatternConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
435             has QueryStringConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
436             has SourceIpConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::SourceIpConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
437             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
438             }
439             subtype 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action',
440             as 'Cfn::Value',
441             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
442             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
443              
444             coerce 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action',
445             from 'HashRef',
446             via {
447             if (my $f = Cfn::TypeLibrary::try_function($_)) {
448             return $f
449             } else {
450             die 'Only accepts functions';
451             }
452             },
453             from 'ArrayRef',
454             via {
455             Cfn::Value::Array->new(Value => [
456             map {
457             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action')->coerce($_)
458             } @$_
459             ]);
460             };
461              
462             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action',
463             as 'Cfn::Value';
464              
465             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action',
466             from 'HashRef',
467             via {
468             if (my $f = Cfn::TypeLibrary::try_function($_)) {
469             return $f
470             } else {
471             return Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::Action->new( %$_ );
472             }
473             };
474              
475             package Cfn::Resource::Properties::Object::AWS::ElasticLoadBalancingV2::ListenerRule::Action {
476 2     2   7932 use Moose;
  2         7  
  2         16  
477 2     2   13799 use MooseX::StrictConstructor;
  2         6  
  2         14  
478             extends 'Cfn::Value::TypedValue';
479            
480             has AuthenticateCognitoConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
481             has AuthenticateOidcConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateOidcConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
482             has FixedResponseConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
483             has ForwardConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::ForwardConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
484             has Order => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
485             has RedirectConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RedirectConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
486             has TargetGroupArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
487             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
488             }
489              
490             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule {
491 2     2   7248 use Moose;
  2         7  
  2         24  
492 2     2   14014 use MooseX::StrictConstructor;
  2         6  
  2         11  
493             extends 'Cfn::Resource::Properties';
494            
495             has Actions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
496             has Conditions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
497             has ListenerArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
498             has Priority => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
499             }
500              
501             1;
502             ### main pod documentation begin ###
503              
504             =encoding UTF-8
505              
506             =head1 NAME
507              
508             Cfn::Resource::AWS::ElasticLoadBalancingV2::ListenerRule - Cfn resource for AWS::ElasticLoadBalancingV2::ListenerRule
509              
510             =head1 DESCRIPTION
511              
512             This module implements a Perl module that represents the CloudFormation object AWS::ElasticLoadBalancingV2::ListenerRule.
513              
514             See L<Cfn> for more information on how to use it.
515              
516             =head1 AUTHOR
517              
518             Jose Luis Martinez
519             CAPSiDE
520             jlmartinez@capside.com
521              
522             =head1 COPYRIGHT and LICENSE
523              
524             Copyright (c) 2013 by CAPSiDE
525             This code is distributed under the Apache 2 License. The full text of the
526             license can be found in the LICENSE file included with this module.
527              
528             =cut