File Coverage

blib/lib/Cfn/Resource/AWS/ElasticLoadBalancingV2/ListenerRule.pm
Criterion Covered Total %
statement 92 92 100.0
branch n/a
condition n/a
subroutine 32 32 100.0
pod 0 2 0.0
total 124 126 98.4


line stmt bran cond sub pod time code
1             # AWS::ElasticLoadBalancingV2::ListenerRule generated from spec 5.3.0
2 2     2   1433 use Moose::Util::TypeConstraints;
  2         6  
  2         26  
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   4045 use Moose;
  2         7  
  2         15  
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 3 [ ]
15             }
16             sub supported_regions {
17 1     1 0 1552 [ '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::QueryStringKeyValue',
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::QueryStringKeyValue',
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::QueryStringKeyValue')->coerce($_)
41             } @$_
42             ]);
43             };
44              
45             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValue',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValue',
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::QueryStringKeyValueValue->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValueValue {
59 2     2   14175 use Moose;
  2         4  
  2         12  
60 2     2   11996 use MooseX::StrictConstructor;
  2         7  
  2         21  
61             extends 'Cfn::Value::TypedValue';
62            
63             has Key => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
64             has Value => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
65             }
66              
67             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::SourceIpConfig',
68             as 'Cfn::Value';
69              
70             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::SourceIpConfig',
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::SourceIpConfigValue->new( %$_ );
77             }
78             };
79              
80             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::SourceIpConfigValue {
81 2     2   6531 use Moose;
  2         6  
  2         12  
82 2     2   11990 use MooseX::StrictConstructor;
  2         6  
  2         12  
83             extends 'Cfn::Value::TypedValue';
84            
85             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
86             }
87              
88             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RedirectConfig',
89             as 'Cfn::Value';
90              
91             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RedirectConfig',
92             from 'HashRef',
93             via {
94             if (my $f = Cfn::TypeLibrary::try_function($_)) {
95             return $f
96             } else {
97             return Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RedirectConfigValue->new( %$_ );
98             }
99             };
100              
101             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RedirectConfigValue {
102 2     2   6509 use Moose;
  2         5  
  2         11  
103 2     2   12122 use MooseX::StrictConstructor;
  2         6  
  2         12  
104             extends 'Cfn::Value::TypedValue';
105            
106             has Host => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
107             has Path => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
108             has Port => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
109             has Protocol => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
110             has Query => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
111             has StatusCode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
112             }
113              
114             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfig',
115             as 'Cfn::Value';
116              
117             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfig',
118             from 'HashRef',
119             via {
120             if (my $f = Cfn::TypeLibrary::try_function($_)) {
121             return $f
122             } else {
123             return Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfigValue->new( %$_ );
124             }
125             };
126              
127             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfigValue {
128 2     2   6212 use Moose;
  2         6  
  2         16  
129 2     2   12245 use MooseX::StrictConstructor;
  2         5  
  2         9  
130             extends 'Cfn::Value::TypedValue';
131            
132             has Values => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringKeyValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
133             }
134              
135             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfig',
136             as 'Cfn::Value';
137              
138             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfig',
139             from 'HashRef',
140             via {
141             if (my $f = Cfn::TypeLibrary::try_function($_)) {
142             return $f
143             } else {
144             return Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfigValue->new( %$_ );
145             }
146             };
147              
148             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfigValue {
149 2     2   6201 use Moose;
  2         5  
  2         12  
150 2     2   12041 use MooseX::StrictConstructor;
  2         6  
  2         9  
151             extends 'Cfn::Value::TypedValue';
152            
153             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
154             }
155              
156             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfig',
157             as 'Cfn::Value';
158              
159             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfig',
160             from 'HashRef',
161             via {
162             if (my $f = Cfn::TypeLibrary::try_function($_)) {
163             return $f
164             } else {
165             return Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfigValue->new( %$_ );
166             }
167             };
168              
169             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfigValue {
170 2     2   6087 use Moose;
  2         5  
  2         10  
171 2     2   11917 use MooseX::StrictConstructor;
  2         7  
  2         11  
172             extends 'Cfn::Value::TypedValue';
173            
174             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
175             }
176              
177             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfig',
178             as 'Cfn::Value';
179              
180             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfig',
181             from 'HashRef',
182             via {
183             if (my $f = Cfn::TypeLibrary::try_function($_)) {
184             return $f
185             } else {
186             return Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfigValue->new( %$_ );
187             }
188             };
189              
190             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfigValue {
191 2     2   6121 use Moose;
  2         5  
  2         10  
192 2     2   12071 use MooseX::StrictConstructor;
  2         5  
  2         10  
193             extends 'Cfn::Value::TypedValue';
194            
195             has HttpHeaderName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
196             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
197             }
198              
199             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfig',
200             as 'Cfn::Value';
201              
202             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfig',
203             from 'HashRef',
204             via {
205             if (my $f = Cfn::TypeLibrary::try_function($_)) {
206             return $f
207             } else {
208             return Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfigValue->new( %$_ );
209             }
210             };
211              
212             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfigValue {
213 2     2   6280 use Moose;
  2         6  
  2         12  
214 2     2   11836 use MooseX::StrictConstructor;
  2         5  
  2         10  
215             extends 'Cfn::Value::TypedValue';
216            
217             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
218             }
219              
220             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfig',
221             as 'Cfn::Value';
222              
223             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfig',
224             from 'HashRef',
225             via {
226             if (my $f = Cfn::TypeLibrary::try_function($_)) {
227             return $f
228             } else {
229             return Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfigValue->new( %$_ );
230             }
231             };
232              
233             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfigValue {
234 2     2   6191 use Moose;
  2         7  
  2         13  
235 2     2   12173 use MooseX::StrictConstructor;
  2         6  
  2         13  
236             extends 'Cfn::Value::TypedValue';
237            
238             has ContentType => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
239             has MessageBody => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
240             has StatusCode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
241             }
242              
243             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateOidcConfig',
244             as 'Cfn::Value';
245              
246             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateOidcConfig',
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::AuthenticateOidcConfigValue->new( %$_ );
253             }
254             };
255              
256             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateOidcConfigValue {
257 2     2   6237 use Moose;
  2         6  
  2         12  
258 2     2   12071 use MooseX::StrictConstructor;
  2         6  
  2         12  
259             extends 'Cfn::Value::TypedValue';
260            
261             has AuthenticationRequestExtraParams => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
262             has AuthorizationEndpoint => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
263             has ClientId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
264             has ClientSecret => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
265             has Issuer => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
266             has OnUnauthenticatedRequest => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
267             has Scope => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
268             has SessionCookieName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
269             has SessionTimeout => (isa => 'Cfn::Value::Long', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
270             has TokenEndpoint => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
271             has UserInfoEndpoint => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
272             }
273              
274             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfig',
275             as 'Cfn::Value';
276              
277             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfig',
278             from 'HashRef',
279             via {
280             if (my $f = Cfn::TypeLibrary::try_function($_)) {
281             return $f
282             } else {
283             return Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfigValue->new( %$_ );
284             }
285             };
286              
287             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfigValue {
288 2     2   6538 use Moose;
  2         8  
  2         11  
289 2     2   11950 use MooseX::StrictConstructor;
  2         7  
  2         12  
290             extends 'Cfn::Value::TypedValue';
291            
292             has AuthenticationRequestExtraParams => (isa => 'Cfn::Value::Hash|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
293             has OnUnauthenticatedRequest => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
294             has Scope => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
295             has SessionCookieName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
296             has SessionTimeout => (isa => 'Cfn::Value::Long', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
297             has UserPoolArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
298             has UserPoolClientId => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
299             has UserPoolDomain => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
300             }
301             subtype 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition',
302             as 'Cfn::Value',
303             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
304             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
305              
306             coerce 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition',
307             from 'HashRef',
308             via {
309             if (my $f = Cfn::TypeLibrary::try_function($_)) {
310             return $f
311             } else {
312             die 'Only accepts functions';
313             }
314             },
315             from 'ArrayRef',
316             via {
317             Cfn::Value::Array->new(Value => [
318             map {
319             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition')->coerce($_)
320             } @$_
321             ]);
322             };
323              
324             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition',
325             as 'Cfn::Value';
326              
327             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition',
328             from 'HashRef',
329             via {
330             if (my $f = Cfn::TypeLibrary::try_function($_)) {
331             return $f
332             } else {
333             return Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleConditionValue->new( %$_ );
334             }
335             };
336              
337             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleConditionValue {
338 2     2   6719 use Moose;
  2         6  
  2         13  
339 2     2   12331 use MooseX::StrictConstructor;
  2         5  
  2         10  
340             extends 'Cfn::Value::TypedValue';
341            
342             has Field => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
343             has HostHeaderConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HostHeaderConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
344             has HttpHeaderConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpHeaderConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
345             has HttpRequestMethodConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::HttpRequestMethodConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
346             has PathPatternConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::PathPatternConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
347             has QueryStringConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::QueryStringConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
348             has SourceIpConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::SourceIpConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
349             has Values => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
350             }
351             subtype 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action',
352             as 'Cfn::Value',
353             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
354             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
355              
356             coerce 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action',
357             from 'HashRef',
358             via {
359             if (my $f = Cfn::TypeLibrary::try_function($_)) {
360             return $f
361             } else {
362             die 'Only accepts functions';
363             }
364             },
365             from 'ArrayRef',
366             via {
367             Cfn::Value::Array->new(Value => [
368             map {
369             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action')->coerce($_)
370             } @$_
371             ]);
372             };
373              
374             subtype 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action',
375             as 'Cfn::Value';
376              
377             coerce 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action',
378             from 'HashRef',
379             via {
380             if (my $f = Cfn::TypeLibrary::try_function($_)) {
381             return $f
382             } else {
383             return Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::ActionValue->new( %$_ );
384             }
385             };
386              
387             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::ActionValue {
388 2     2   6732 use Moose;
  2         7  
  2         11  
389 2     2   11885 use MooseX::StrictConstructor;
  2         6  
  2         11  
390             extends 'Cfn::Value::TypedValue';
391            
392             has AuthenticateCognitoConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateCognitoConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
393             has AuthenticateOidcConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::AuthenticateOidcConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
394             has FixedResponseConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::FixedResponseConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
395             has Order => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
396             has RedirectConfig => (isa => 'Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RedirectConfig', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
397             has TargetGroupArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
398             has Type => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
399             }
400              
401             package Cfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule {
402 2     2   6163 use Moose;
  2         9  
  2         12  
403 2     2   11880 use MooseX::StrictConstructor;
  2         6  
  2         10  
404             extends 'Cfn::Resource::Properties';
405            
406             has Actions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::Action', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
407             has Conditions => (isa => 'ArrayOfCfn::Resource::Properties::AWS::ElasticLoadBalancingV2::ListenerRule::RuleCondition', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
408             has ListenerArn => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
409             has Priority => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
410             }
411              
412             1;