File Coverage

blib/lib/Cfn/Resource/AWS/AppMesh/Route.pm
Criterion Covered Total %
statement 122 122 100.0
branch n/a
condition n/a
subroutine 42 42 100.0
pod 0 2 0.0
total 164 166 98.8


line stmt bran cond sub pod time code
1             # AWS::AppMesh::Route generated from spec 7.4.0
2 1     1   789 use Moose::Util::TypeConstraints;
  1         3  
  1         11  
3              
4             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route',
5             from 'HashRef',
6             via { Cfn::Resource::Properties::AWS::AppMesh::Route->new( %$_ ) };
7              
8             package Cfn::Resource::AWS::AppMesh::Route {
9 1     1   2159 use Moose;
  1         3  
  1         7  
10             extends 'Cfn::Resource';
11             has Properties => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route', is => 'rw', coerce => 1);
12            
13             sub AttributeList {
14 1     1 0 21 [ 'Arn','MeshName','RouteName','Uid','VirtualRouterName' ]
15             }
16             sub supported_regions {
17 1     1 0 1144 [ 'ap-northeast-1','ap-northeast-2','ap-south-1','ap-southeast-1','ap-southeast-2','ca-central-1','eu-central-1','eu-west-1','eu-west-2','us-east-1','us-east-2','us-west-1','us-west-2' ]
18             }
19             }
20              
21              
22              
23             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::MatchRange',
24             as 'Cfn::Value';
25              
26             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::MatchRange',
27             from 'HashRef',
28             via {
29             if (my $f = Cfn::TypeLibrary::try_function($_)) {
30             return $f
31             } else {
32             return Cfn::Resource::Properties::AWS::AppMesh::Route::MatchRangeValue->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::AWS::AppMesh::Route::MatchRangeValue {
37 1     1   7546 use Moose;
  1         12  
  1         6  
38 1     1   6778 use MooseX::StrictConstructor;
  1         3  
  1         10  
39             extends 'Cfn::Value::TypedValue';
40            
41             has End => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
42             has Start => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
43             }
44              
45             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::HeaderMatchMethod',
46             as 'Cfn::Value';
47              
48             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::HeaderMatchMethod',
49             from 'HashRef',
50             via {
51             if (my $f = Cfn::TypeLibrary::try_function($_)) {
52             return $f
53             } else {
54             return Cfn::Resource::Properties::AWS::AppMesh::Route::HeaderMatchMethodValue->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::AWS::AppMesh::Route::HeaderMatchMethodValue {
59 1     1   3615 use Moose;
  1         3  
  1         5  
60 1     1   6542 use MooseX::StrictConstructor;
  1         4  
  1         5  
61             extends 'Cfn::Value::TypedValue';
62            
63             has Exact => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
64             has Prefix => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
65             has Range => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::MatchRange', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
66             has Regex => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
67             has Suffix => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
68             }
69              
70             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadataMatchMethod',
71             as 'Cfn::Value';
72              
73             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadataMatchMethod',
74             from 'HashRef',
75             via {
76             if (my $f = Cfn::TypeLibrary::try_function($_)) {
77             return $f
78             } else {
79             return Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadataMatchMethodValue->new( %$_ );
80             }
81             };
82              
83             package Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadataMatchMethodValue {
84 1     1   3366 use Moose;
  1         4  
  1         4  
85 1     1   6957 use MooseX::StrictConstructor;
  1         2  
  1         5  
86             extends 'Cfn::Value::TypedValue';
87            
88             has Exact => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
89             has Prefix => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
90             has Range => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::MatchRange', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
91             has Regex => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
92             has Suffix => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
93             }
94             subtype 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::WeightedTarget',
95             as 'Cfn::Value',
96             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
97             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
98              
99             coerce 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::WeightedTarget',
100             from 'HashRef',
101             via {
102             if (my $f = Cfn::TypeLibrary::try_function($_)) {
103             return $f
104             } else {
105             die 'Only accepts functions';
106             }
107             },
108             from 'ArrayRef',
109             via {
110             Cfn::Value::Array->new(Value => [
111             map {
112             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::AppMesh::Route::WeightedTarget')->coerce($_)
113             } @$_
114             ]);
115             };
116              
117             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::WeightedTarget',
118             as 'Cfn::Value';
119              
120             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::WeightedTarget',
121             from 'HashRef',
122             via {
123             if (my $f = Cfn::TypeLibrary::try_function($_)) {
124             return $f
125             } else {
126             return Cfn::Resource::Properties::AWS::AppMesh::Route::WeightedTargetValue->new( %$_ );
127             }
128             };
129              
130             package Cfn::Resource::Properties::AWS::AppMesh::Route::WeightedTargetValue {
131 1     1   3636 use Moose;
  1         4  
  1         4  
132 1     1   6571 use MooseX::StrictConstructor;
  1         3  
  1         5  
133             extends 'Cfn::Value::TypedValue';
134            
135             has VirtualNode => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
136             has Weight => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
137             }
138             subtype 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteHeader',
139             as 'Cfn::Value',
140             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
141             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
142              
143             coerce 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteHeader',
144             from 'HashRef',
145             via {
146             if (my $f = Cfn::TypeLibrary::try_function($_)) {
147             return $f
148             } else {
149             die 'Only accepts functions';
150             }
151             },
152             from 'ArrayRef',
153             via {
154             Cfn::Value::Array->new(Value => [
155             map {
156             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteHeader')->coerce($_)
157             } @$_
158             ]);
159             };
160              
161             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteHeader',
162             as 'Cfn::Value';
163              
164             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteHeader',
165             from 'HashRef',
166             via {
167             if (my $f = Cfn::TypeLibrary::try_function($_)) {
168             return $f
169             } else {
170             return Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteHeaderValue->new( %$_ );
171             }
172             };
173              
174             package Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteHeaderValue {
175 1     1   3471 use Moose;
  1         3  
  1         5  
176 1     1   6482 use MooseX::StrictConstructor;
  1         6  
  1         5  
177             extends 'Cfn::Value::TypedValue';
178            
179             has Invert => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
180             has Match => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HeaderMatchMethod', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
181             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
182             }
183             subtype 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadata',
184             as 'Cfn::Value',
185             where { $_->isa('Cfn::Value::Array') or $_->isa('Cfn::Value::Function') },
186             message { "$_ is not a Cfn::Value or a Cfn::Value::Function" };
187              
188             coerce 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadata',
189             from 'HashRef',
190             via {
191             if (my $f = Cfn::TypeLibrary::try_function($_)) {
192             return $f
193             } else {
194             die 'Only accepts functions';
195             }
196             },
197             from 'ArrayRef',
198             via {
199             Cfn::Value::Array->new(Value => [
200             map {
201             Moose::Util::TypeConstraints::find_type_constraint('Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadata')->coerce($_)
202             } @$_
203             ]);
204             };
205              
206             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadata',
207             as 'Cfn::Value';
208              
209             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadata',
210             from 'HashRef',
211             via {
212             if (my $f = Cfn::TypeLibrary::try_function($_)) {
213             return $f
214             } else {
215             return Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadataValue->new( %$_ );
216             }
217             };
218              
219             package Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadataValue {
220 1     1   3622 use Moose;
  1         2  
  1         5  
221 1     1   6671 use MooseX::StrictConstructor;
  1         3  
  1         5  
222             extends 'Cfn::Value::TypedValue';
223            
224             has Invert => (isa => 'Cfn::Value::Boolean', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
225             has Match => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadataMatchMethod', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
226             has Name => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
227             }
228              
229             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::Duration',
230             as 'Cfn::Value';
231              
232             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::Duration',
233             from 'HashRef',
234             via {
235             if (my $f = Cfn::TypeLibrary::try_function($_)) {
236             return $f
237             } else {
238             return Cfn::Resource::Properties::AWS::AppMesh::Route::DurationValue->new( %$_ );
239             }
240             };
241              
242             package Cfn::Resource::Properties::AWS::AppMesh::Route::DurationValue {
243 1     1   3647 use Moose;
  1         4  
  1         15  
244 1     1   6665 use MooseX::StrictConstructor;
  1         3  
  1         7  
245             extends 'Cfn::Value::TypedValue';
246            
247             has Unit => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
248             has Value => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
249             }
250              
251             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRouteAction',
252             as 'Cfn::Value';
253              
254             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRouteAction',
255             from 'HashRef',
256             via {
257             if (my $f = Cfn::TypeLibrary::try_function($_)) {
258             return $f
259             } else {
260             return Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRouteActionValue->new( %$_ );
261             }
262             };
263              
264             package Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRouteActionValue {
265 1     1   4179 use Moose;
  1         4  
  1         4  
266 1     1   7269 use MooseX::StrictConstructor;
  1         3  
  1         5  
267             extends 'Cfn::Value::TypedValue';
268            
269             has WeightedTargets => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::WeightedTarget', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
270             }
271              
272             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteMatch',
273             as 'Cfn::Value';
274              
275             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteMatch',
276             from 'HashRef',
277             via {
278             if (my $f = Cfn::TypeLibrary::try_function($_)) {
279             return $f
280             } else {
281             return Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteMatchValue->new( %$_ );
282             }
283             };
284              
285             package Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteMatchValue {
286 1     1   3346 use Moose;
  1         2  
  1         6  
287 1     1   6520 use MooseX::StrictConstructor;
  1         3  
  1         5  
288             extends 'Cfn::Value::TypedValue';
289            
290             has Headers => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteHeader', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
291             has Method => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
292             has Prefix => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
293             has Scheme => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
294             }
295              
296             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteAction',
297             as 'Cfn::Value';
298              
299             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteAction',
300             from 'HashRef',
301             via {
302             if (my $f = Cfn::TypeLibrary::try_function($_)) {
303             return $f
304             } else {
305             return Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteActionValue->new( %$_ );
306             }
307             };
308              
309             package Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteActionValue {
310 1     1   3366 use Moose;
  1         4  
  1         5  
311 1     1   6516 use MooseX::StrictConstructor;
  1         4  
  1         4  
312             extends 'Cfn::Value::TypedValue';
313            
314             has WeightedTargets => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::WeightedTarget', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
315             }
316              
317             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRetryPolicy',
318             as 'Cfn::Value';
319              
320             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRetryPolicy',
321             from 'HashRef',
322             via {
323             if (my $f = Cfn::TypeLibrary::try_function($_)) {
324             return $f
325             } else {
326             return Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRetryPolicyValue->new( %$_ );
327             }
328             };
329              
330             package Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRetryPolicyValue {
331 1     1   3348 use Moose;
  1         3  
  1         5  
332 1     1   6477 use MooseX::StrictConstructor;
  1         3  
  1         6  
333             extends 'Cfn::Value::TypedValue';
334            
335             has HttpRetryEvents => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
336             has MaxRetries => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
337             has PerRetryTimeout => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::Duration', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
338             has TcpRetryEvents => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
339             }
340              
341             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMatch',
342             as 'Cfn::Value';
343              
344             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMatch',
345             from 'HashRef',
346             via {
347             if (my $f = Cfn::TypeLibrary::try_function($_)) {
348             return $f
349             } else {
350             return Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMatchValue->new( %$_ );
351             }
352             };
353              
354             package Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMatchValue {
355 1     1   3403 use Moose;
  1         3  
  1         5  
356 1     1   6548 use MooseX::StrictConstructor;
  1         3  
  1         5  
357             extends 'Cfn::Value::TypedValue';
358            
359             has Metadata => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadata', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
360             has MethodName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
361             has ServiceName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
362             }
363              
364             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteAction',
365             as 'Cfn::Value';
366              
367             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteAction',
368             from 'HashRef',
369             via {
370             if (my $f = Cfn::TypeLibrary::try_function($_)) {
371             return $f
372             } else {
373             return Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteActionValue->new( %$_ );
374             }
375             };
376              
377             package Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteActionValue {
378 1     1   3662 use Moose;
  1         3  
  1         6  
379 1     1   6475 use MooseX::StrictConstructor;
  1         4  
  1         6  
380             extends 'Cfn::Value::TypedValue';
381            
382             has WeightedTargets => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::WeightedTarget', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
383             }
384              
385             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRetryPolicy',
386             as 'Cfn::Value';
387              
388             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRetryPolicy',
389             from 'HashRef',
390             via {
391             if (my $f = Cfn::TypeLibrary::try_function($_)) {
392             return $f
393             } else {
394             return Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRetryPolicyValue->new( %$_ );
395             }
396             };
397              
398             package Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRetryPolicyValue {
399 1     1   3332 use Moose;
  1         2  
  1         4  
400 1     1   6491 use MooseX::StrictConstructor;
  1         3  
  1         5  
401             extends 'Cfn::Value::TypedValue';
402            
403             has GrpcRetryEvents => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
404             has HttpRetryEvents => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
405             has MaxRetries => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
406             has PerRetryTimeout => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::Duration', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
407             has TcpRetryEvents => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
408             }
409              
410             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRoute',
411             as 'Cfn::Value';
412              
413             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRoute',
414             from 'HashRef',
415             via {
416             if (my $f = Cfn::TypeLibrary::try_function($_)) {
417             return $f
418             } else {
419             return Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRouteValue->new( %$_ );
420             }
421             };
422              
423             package Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRouteValue {
424 1     1   3403 use Moose;
  1         2  
  1         8  
425 1     1   6726 use MooseX::StrictConstructor;
  1         3  
  1         5  
426             extends 'Cfn::Value::TypedValue';
427            
428             has Action => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRouteAction', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
429             }
430              
431             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRoute',
432             as 'Cfn::Value';
433              
434             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRoute',
435             from 'HashRef',
436             via {
437             if (my $f = Cfn::TypeLibrary::try_function($_)) {
438             return $f
439             } else {
440             return Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteValue->new( %$_ );
441             }
442             };
443              
444             package Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteValue {
445 1     1   3461 use Moose;
  1         3  
  1         5  
446 1     1   6772 use MooseX::StrictConstructor;
  1         2  
  1         5  
447             extends 'Cfn::Value::TypedValue';
448            
449             has Action => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteAction', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
450             has Match => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
451             has RetryPolicy => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRetryPolicy', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
452             }
453              
454             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRoute',
455             as 'Cfn::Value';
456              
457             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRoute',
458             from 'HashRef',
459             via {
460             if (my $f = Cfn::TypeLibrary::try_function($_)) {
461             return $f
462             } else {
463             return Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteValue->new( %$_ );
464             }
465             };
466              
467             package Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteValue {
468 1     1   3405 use Moose;
  1         2  
  1         5  
469 1     1   6704 use MooseX::StrictConstructor;
  1         5  
  1         5  
470             extends 'Cfn::Value::TypedValue';
471            
472             has Action => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteAction', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
473             has Match => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
474             has RetryPolicy => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRetryPolicy', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
475             }
476              
477             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::RouteSpec',
478             as 'Cfn::Value';
479              
480             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::RouteSpec',
481             from 'HashRef',
482             via {
483             if (my $f = Cfn::TypeLibrary::try_function($_)) {
484             return $f
485             } else {
486             return Cfn::Resource::Properties::AWS::AppMesh::Route::RouteSpecValue->new( %$_ );
487             }
488             };
489              
490             package Cfn::Resource::Properties::AWS::AppMesh::Route::RouteSpecValue {
491 1     1   3438 use Moose;
  1         2  
  1         7  
492 1     1   6856 use MooseX::StrictConstructor;
  1         3  
  1         5  
493             extends 'Cfn::Value::TypedValue';
494            
495             has GrpcRoute => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRoute', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
496             has Http2Route => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRoute', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
497             has HttpRoute => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRoute', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
498             has Priority => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
499             has TcpRoute => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRoute', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
500             }
501              
502             package Cfn::Resource::Properties::AWS::AppMesh::Route {
503 1     1   3379 use Moose;
  1         3  
  1         5  
504 1     1   7217 use MooseX::StrictConstructor;
  1         4  
  1         9  
505             extends 'Cfn::Resource::Properties';
506            
507             has MeshName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
508             has RouteName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
509             has Spec => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::RouteSpec', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
510             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
511             has VirtualRouterName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
512             }
513              
514             1;