File Coverage

blib/lib/Cfn/Resource/AWS/AppMesh/Route.pm
Criterion Covered Total %
statement 140 140 100.0
branch n/a
condition n/a
subroutine 48 48 100.0
pod 0 2 0.0
total 188 190 98.9


line stmt bran cond sub pod time code
1             # AWS::AppMesh::Route generated from spec 18.4.0
2 1     1   905 use Moose::Util::TypeConstraints;
  1         6  
  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   2399 use Moose;
  1         9  
  1         12  
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 8 [ 'Arn','MeshName','MeshOwner','ResourceOwner','RouteName','Uid','VirtualRouterName' ]
15             }
16             sub supported_regions {
17 1     1 0 1215 [ '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::Object::AWS::AppMesh::Route::MatchRange->new( %$_ );
33             }
34             };
35              
36             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::MatchRange {
37 1     1   7549 use Moose;
  1         4  
  1         7  
38 1     1   7102 use MooseX::StrictConstructor;
  1         6  
  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::Object::AWS::AppMesh::Route::HeaderMatchMethod->new( %$_ );
55             }
56             };
57              
58             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HeaderMatchMethod {
59 1     1   3668 use Moose;
  1         4  
  1         4  
60 1     1   6822 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::Object::AWS::AppMesh::Route::GrpcRouteMetadataMatchMethod->new( %$_ );
80             }
81             };
82              
83             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcRouteMetadataMatchMethod {
84 1     1   3513 use Moose;
  1         3  
  1         6  
85 1     1   6937 use MooseX::StrictConstructor;
  1         4  
  1         8  
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::Object::AWS::AppMesh::Route::WeightedTarget->new( %$_ );
127             }
128             };
129              
130             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::WeightedTarget {
131 1     1   3793 use Moose;
  1         3  
  1         6  
132 1     1   6889 use MooseX::StrictConstructor;
  1         2  
  1         6  
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::Object::AWS::AppMesh::Route::HttpRouteHeader->new( %$_ );
171             }
172             };
173              
174             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HttpRouteHeader {
175 1     1   3714 use Moose;
  1         2  
  1         6  
176 1     1   6930 use MooseX::StrictConstructor;
  1         2  
  1         6  
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::Object::AWS::AppMesh::Route::GrpcRouteMetadata->new( %$_ );
216             }
217             };
218              
219             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcRouteMetadata {
220 1     1   3942 use Moose;
  1         4  
  1         6  
221 1     1   6953 use MooseX::StrictConstructor;
  1         4  
  1         7  
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::Object::AWS::AppMesh::Route::Duration->new( %$_ );
239             }
240             };
241              
242             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::Duration {
243 1     1   3503 use Moose;
  1         4  
  1         5  
244 1     1   6944 use MooseX::StrictConstructor;
  1         2  
  1         6  
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::TcpTimeout',
252             as 'Cfn::Value';
253              
254             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpTimeout',
255             from 'HashRef',
256             via {
257             if (my $f = Cfn::TypeLibrary::try_function($_)) {
258             return $f
259             } else {
260             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::TcpTimeout->new( %$_ );
261             }
262             };
263              
264             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::TcpTimeout {
265 1     1   3422 use Moose;
  1         3  
  1         6  
266 1     1   6695 use MooseX::StrictConstructor;
  1         3  
  1         5  
267             extends 'Cfn::Value::TypedValue';
268            
269             has Idle => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::Duration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
270             }
271              
272             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRouteAction',
273             as 'Cfn::Value';
274              
275             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRouteAction',
276             from 'HashRef',
277             via {
278             if (my $f = Cfn::TypeLibrary::try_function($_)) {
279             return $f
280             } else {
281             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::TcpRouteAction->new( %$_ );
282             }
283             };
284              
285             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::TcpRouteAction {
286 1     1   3477 use Moose;
  1         3  
  1         9  
287 1     1   6894 use MooseX::StrictConstructor;
  1         3  
  1         6  
288             extends 'Cfn::Value::TypedValue';
289            
290             has WeightedTargets => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::WeightedTarget', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
291             }
292              
293             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpTimeout',
294             as 'Cfn::Value';
295              
296             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpTimeout',
297             from 'HashRef',
298             via {
299             if (my $f = Cfn::TypeLibrary::try_function($_)) {
300             return $f
301             } else {
302             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HttpTimeout->new( %$_ );
303             }
304             };
305              
306             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HttpTimeout {
307 1     1   3620 use Moose;
  1         2  
  1         6  
308 1     1   6914 use MooseX::StrictConstructor;
  1         4  
  1         5  
309             extends 'Cfn::Value::TypedValue';
310            
311             has Idle => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::Duration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
312             has PerRequest => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::Duration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
313             }
314              
315             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteMatch',
316             as 'Cfn::Value';
317              
318             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteMatch',
319             from 'HashRef',
320             via {
321             if (my $f = Cfn::TypeLibrary::try_function($_)) {
322             return $f
323             } else {
324             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HttpRouteMatch->new( %$_ );
325             }
326             };
327              
328             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HttpRouteMatch {
329 1     1   3649 use Moose;
  1         2  
  1         5  
330 1     1   7018 use MooseX::StrictConstructor;
  1         3  
  1         6  
331             extends 'Cfn::Value::TypedValue';
332            
333             has Headers => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteHeader', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
334             has Method => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
335             has Prefix => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
336             has Scheme => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
337             }
338              
339             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteAction',
340             as 'Cfn::Value';
341              
342             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteAction',
343             from 'HashRef',
344             via {
345             if (my $f = Cfn::TypeLibrary::try_function($_)) {
346             return $f
347             } else {
348             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HttpRouteAction->new( %$_ );
349             }
350             };
351              
352             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HttpRouteAction {
353 1     1   3670 use Moose;
  1         3  
  1         6  
354 1     1   6858 use MooseX::StrictConstructor;
  1         3  
  1         7  
355             extends 'Cfn::Value::TypedValue';
356            
357             has WeightedTargets => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::WeightedTarget', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
358             }
359              
360             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRetryPolicy',
361             as 'Cfn::Value';
362              
363             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRetryPolicy',
364             from 'HashRef',
365             via {
366             if (my $f = Cfn::TypeLibrary::try_function($_)) {
367             return $f
368             } else {
369             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HttpRetryPolicy->new( %$_ );
370             }
371             };
372              
373             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HttpRetryPolicy {
374 1     1   3461 use Moose;
  1         4  
  1         7  
375 1     1   7421 use MooseX::StrictConstructor;
  1         2  
  1         6  
376             extends 'Cfn::Value::TypedValue';
377            
378             has HttpRetryEvents => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
379             has MaxRetries => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
380             has PerRetryTimeout => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::Duration', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
381             has TcpRetryEvents => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
382             }
383              
384             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcTimeout',
385             as 'Cfn::Value';
386              
387             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcTimeout',
388             from 'HashRef',
389             via {
390             if (my $f = Cfn::TypeLibrary::try_function($_)) {
391             return $f
392             } else {
393             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcTimeout->new( %$_ );
394             }
395             };
396              
397             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcTimeout {
398 1     1   3642 use Moose;
  1         4  
  1         7  
399 1     1   6871 use MooseX::StrictConstructor;
  1         4  
  1         5  
400             extends 'Cfn::Value::TypedValue';
401            
402             has Idle => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::Duration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
403             has PerRequest => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::Duration', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
404             }
405              
406             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMatch',
407             as 'Cfn::Value';
408              
409             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMatch',
410             from 'HashRef',
411             via {
412             if (my $f = Cfn::TypeLibrary::try_function($_)) {
413             return $f
414             } else {
415             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcRouteMatch->new( %$_ );
416             }
417             };
418              
419             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcRouteMatch {
420 1     1   3505 use Moose;
  1         4  
  1         5  
421 1     1   6681 use MooseX::StrictConstructor;
  1         4  
  1         4  
422             extends 'Cfn::Value::TypedValue';
423            
424             has Metadata => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMetadata', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
425             has MethodName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
426             has ServiceName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
427             }
428              
429             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteAction',
430             as 'Cfn::Value';
431              
432             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteAction',
433             from 'HashRef',
434             via {
435             if (my $f = Cfn::TypeLibrary::try_function($_)) {
436             return $f
437             } else {
438             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcRouteAction->new( %$_ );
439             }
440             };
441              
442             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcRouteAction {
443 1     1   3518 use Moose;
  1         2  
  1         6  
444 1     1   7163 use MooseX::StrictConstructor;
  1         2  
  1         6  
445             extends 'Cfn::Value::TypedValue';
446            
447             has WeightedTargets => (isa => 'ArrayOfCfn::Resource::Properties::AWS::AppMesh::Route::WeightedTarget', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
448             }
449              
450             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRetryPolicy',
451             as 'Cfn::Value';
452              
453             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRetryPolicy',
454             from 'HashRef',
455             via {
456             if (my $f = Cfn::TypeLibrary::try_function($_)) {
457             return $f
458             } else {
459             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcRetryPolicy->new( %$_ );
460             }
461             };
462              
463             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcRetryPolicy {
464 1     1   3502 use Moose;
  1         3  
  1         6  
465 1     1   6702 use MooseX::StrictConstructor;
  1         3  
  1         7  
466             extends 'Cfn::Value::TypedValue';
467            
468             has GrpcRetryEvents => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
469             has HttpRetryEvents => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
470             has MaxRetries => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
471             has PerRetryTimeout => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::Duration', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
472             has TcpRetryEvents => (isa => 'Cfn::Value::Array|Cfn::Value::Function|Cfn::DynamicValue', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
473             }
474              
475             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRoute',
476             as 'Cfn::Value';
477              
478             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRoute',
479             from 'HashRef',
480             via {
481             if (my $f = Cfn::TypeLibrary::try_function($_)) {
482             return $f
483             } else {
484             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::TcpRoute->new( %$_ );
485             }
486             };
487              
488             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::TcpRoute {
489 1     1   3497 use Moose;
  1         4  
  1         6  
490 1     1   6944 use MooseX::StrictConstructor;
  1         5  
  1         7  
491             extends 'Cfn::Value::TypedValue';
492            
493             has Action => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRouteAction', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
494             has Timeout => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpTimeout', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
495             }
496              
497             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRoute',
498             as 'Cfn::Value';
499              
500             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRoute',
501             from 'HashRef',
502             via {
503             if (my $f = Cfn::TypeLibrary::try_function($_)) {
504             return $f
505             } else {
506             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HttpRoute->new( %$_ );
507             }
508             };
509              
510             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::HttpRoute {
511 1     1   3553 use Moose;
  1         6  
  1         16  
512 1     1   6714 use MooseX::StrictConstructor;
  1         3  
  1         5  
513             extends 'Cfn::Value::TypedValue';
514            
515             has Action => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteAction', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
516             has Match => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRouteMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
517             has RetryPolicy => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRetryPolicy', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
518             has Timeout => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpTimeout', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
519             }
520              
521             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRoute',
522             as 'Cfn::Value';
523              
524             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRoute',
525             from 'HashRef',
526             via {
527             if (my $f = Cfn::TypeLibrary::try_function($_)) {
528             return $f
529             } else {
530             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcRoute->new( %$_ );
531             }
532             };
533              
534             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::GrpcRoute {
535 1     1   3462 use Moose;
  1         4  
  1         6  
536 1     1   6665 use MooseX::StrictConstructor;
  1         3  
  1         5  
537             extends 'Cfn::Value::TypedValue';
538            
539             has Action => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteAction', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
540             has Match => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRouteMatch', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
541             has RetryPolicy => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRetryPolicy', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
542             has Timeout => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcTimeout', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
543             }
544              
545             subtype 'Cfn::Resource::Properties::AWS::AppMesh::Route::RouteSpec',
546             as 'Cfn::Value';
547              
548             coerce 'Cfn::Resource::Properties::AWS::AppMesh::Route::RouteSpec',
549             from 'HashRef',
550             via {
551             if (my $f = Cfn::TypeLibrary::try_function($_)) {
552             return $f
553             } else {
554             return Cfn::Resource::Properties::Object::AWS::AppMesh::Route::RouteSpec->new( %$_ );
555             }
556             };
557              
558             package Cfn::Resource::Properties::Object::AWS::AppMesh::Route::RouteSpec {
559 1     1   3505 use Moose;
  1         7  
  1         5  
560 1     1   6851 use MooseX::StrictConstructor;
  1         2  
  1         7  
561             extends 'Cfn::Value::TypedValue';
562            
563             has GrpcRoute => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::GrpcRoute', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
564             has Http2Route => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRoute', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
565             has HttpRoute => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::HttpRoute', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
566             has Priority => (isa => 'Cfn::Value::Integer', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
567             has TcpRoute => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::TcpRoute', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
568             }
569              
570             package Cfn::Resource::Properties::AWS::AppMesh::Route {
571 1     1   3444 use Moose;
  1         8  
  1         9  
572 1     1   6709 use MooseX::StrictConstructor;
  1         3  
  1         7  
573             extends 'Cfn::Resource::Properties';
574            
575             has MeshName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
576             has MeshOwner => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
577             has RouteName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
578             has Spec => (isa => 'Cfn::Resource::Properties::AWS::AppMesh::Route::RouteSpec', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
579             has Tags => (isa => 'ArrayOfCfn::Resource::Properties::TagType', is => 'rw', coerce => 1, traits => [ 'CfnMutability' ], mutability => 'Mutable');
580             has VirtualRouterName => (isa => 'Cfn::Value::String', is => 'rw', coerce => 1, required => 1, traits => [ 'CfnMutability' ], mutability => 'Immutable');
581             }
582              
583             1;
584             ### main pod documentation begin ###
585              
586             =encoding UTF-8
587              
588             =head1 NAME
589              
590             Cfn::Resource::AWS::AppMesh::Route - Cfn resource for AWS::AppMesh::Route
591              
592             =head1 DESCRIPTION
593              
594             This module implements a Perl module that represents the CloudFormation object AWS::AppMesh::Route.
595              
596             See L<Cfn> for more information on how to use it.
597              
598             =head1 AUTHOR
599              
600             Jose Luis Martinez
601             CAPSiDE
602             jlmartinez@capside.com
603              
604             =head1 COPYRIGHT and LICENSE
605              
606             Copyright (c) 2013 by CAPSiDE
607             This code is distributed under the Apache 2 License. The full text of the
608             license can be found in the LICENSE file included with this module.
609              
610             =cut