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 11.1.0
2 2     2   1539 use Moose::Util::TypeConstraints;
  2         7  
  2         21  
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   4856 use Moose;
  2         5  
  2         18  
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 5 [ ]
15             }
16             sub supported_regions {
17 1     1 0 1145 [ '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-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::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupTupleValue->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupTupleValue {
59 2     2   15425 use Moose;
  2         9  
  2         13  
60 2     2   13180 use MooseX::StrictConstructor;
  2         5  
  2         22  
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::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupStickinessConfigValue->new( %$_ );
77             }
78             };
79              
80             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::TargetGroupStickinessConfigValue {
81 2     2   7244 use Moose;
  2         6  
  2         15  
82 2     2   12988 use MooseX::StrictConstructor;
  2         4  
  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::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValueValue->new( %$_ );
121             }
122             };
123              
124             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValueValue {
125 2     2   7074 use Moose;
  2         7  
  2         14  
126 2     2   13242 use MooseX::StrictConstructor;
  2         8  
  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::AWS::ElasticLoadBalancingV2::ListenerRule::SourceIpConfigValue->new( %$_ );
143             }
144             };
145              
146             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::SourceIpConfigValue {
147 2     2   6991 use Moose;
  2         7  
  2         13  
148 2     2   13341 use MooseX::StrictConstructor;
  2         5  
  2         11  
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::AWS::ElasticLoadBalancingV2::ListenerRule::RedirectConfigValue->new( %$_ );
164             }
165             };
166              
167             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RedirectConfigValue {
168 2     2   6764 use Moose;
  2         9  
  2         18  
169 2     2   12988 use MooseX::StrictConstructor;
  2         6  
  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::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfigValue->new( %$_ );
190             }
191             };
192              
193             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfigValue {
194 2     2   6912 use Moose;
  2         9  
  2         14  
195 2     2   13343 use MooseX::StrictConstructor;
  2         5  
  2         12  
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::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfigValue->new( %$_ );
211             }
212             };
213              
214             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfigValue {
215 2     2   6599 use Moose;
  2         6  
  2         13  
216 2     2   13011 use MooseX::StrictConstructor;
  2         12  
  2         13  
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::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfigValue->new( %$_ );
232             }
233             };
234              
235             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfigValue {
236 2     2   6587 use Moose;
  2         8  
  2         14  
237 2     2   13044 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::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfigValue->new( %$_ );
253             }
254             };
255              
256             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfigValue {
257 2     2   6964 use Moose;
  2         8  
  2         10  
258 2     2   12985 use MooseX::StrictConstructor;
  2         8  
  2         22  
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::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfigValue->new( %$_ );
275             }
276             };
277              
278             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfigValue {
279 2     2   6727 use Moose;
  2         8  
  2         10  
280 2     2   12999 use MooseX::StrictConstructor;
  2         7  
  2         11  
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::AWS::ElasticLoadBalancingV2::ListenerRule::ForwardConfigValue->new( %$_ );
296             }
297             };
298              
299             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::ForwardConfigValue {
300 2     2   6527 use Moose;
  2         7  
  2         12  
301 2     2   12900 use MooseX::StrictConstructor;
  2         7  
  2         10  
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::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfigValue->new( %$_ );
318             }
319             };
320              
321             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfigValue {
322 2     2   6659 use Moose;
  2         10  
  2         20  
323 2     2   13299 use MooseX::StrictConstructor;
  2         6  
  2         10  
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::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateOidcConfigValue->new( %$_ );
341             }
342             };
343              
344             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateOidcConfigValue {
345 2     2   6759 use Moose;
  2         8  
  2         11  
346 2     2   12884 use MooseX::StrictConstructor;
  2         6  
  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::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfigValue->new( %$_ );
372             }
373             };
374              
375             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfigValue {
376 2     2   7054 use Moose;
  2         8  
  2         16  
377 2     2   12981 use MooseX::StrictConstructor;
  2         5  
  2         13  
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::AWS::ElasticLoadBalancingV2::ListenerRule::RuleConditionValue->new( %$_ );
422             }
423             };
424              
425             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleConditionValue {
426 2     2   7538 use Moose;
  2         7  
  2         12  
427 2     2   12950 use MooseX::StrictConstructor;
  2         6  
  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::AWS::ElasticLoadBalancingV2::ListenerRule::ActionValue->new( %$_ );
472             }
473             };
474              
475             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::ActionValue {
476 2     2   7278 use Moose;
  2         9  
  2         10  
477 2     2   12911 use MooseX::StrictConstructor;
  2         6  
  2         13  
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   6732 use Moose;
  2         17  
  2         18  
492 2     2   12906 use MooseX::StrictConstructor;
  2         8  
  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;